服务器管理员

系统和网络管理员的问答

2
删除软件包时PREUN scriptlet中的yum错误
尝试卸载zarafa邮件服务器。 我yum list installed用来查看已经安装的软件包。 之后我用 yum erase zarafa* 它拾取所有包,但返回: Error in PREUN scriptlet in rpm package zarafa-dagent Error in PREUN scriptlet in rpm package zarafa-gateway Error in PREUN scriptlet in rpm package zarafa-monitor Error in PREUN scriptlet in rpm package zarafa-server Error in PREUN scriptlet in rpm package zarafa-spooler Error …
16 centos  yum  rpm 

2
服务器更新后,yum客户端看不到新软件包
我们有一个内部yum服务器,其中包含几个存储库(RHEL存储库的副本,内部创建的程序等)。我们的内部系统已从Internet进行防火墙保护,因此它们只能使用我们的内部服务器。 为了在将补丁全面投入生产之前测试补丁,我们stable默认启用了一个仓库。任何更新都会放入存储-latest库中。修补服务器时,我们将使用-latest-repo构建新的基准并在几台服务器上对其进行测试。经过测试后,我们将该基准设为新的基准stable。该-latest回购协议默认情况下禁用。 仓库之一用于我们从epel,rpmforge等中获取的一些软件包。我们有一个脚本,该脚本仅将所需的软件包与所需的任何依赖项同步下来。软件包同步后,每晚都会使用createrepo重建仓库。由于这些程序包未经测试,因此最终会出现在int-optional-latest通常被禁用的存储库中。如果服务器需要该存储库中的软件包,我们将使用安装它enable-repo=int-optional-latest。 今天,一位同事正在尝试在服务器上安装perl-Excel-Writer-XLSX。服务器找不到包。我尝试使用createrepo重建存储库,并greped repodata文件以确保该文件在那里。它是。我还使用以下方法验证了文件是否存在于存储库中 repoquery -q --repoid=int-optional-latest -l perl-Excel-Writer-XLSX 我还使用以下方法清除了客户端上的元数据缓存 sudo yum clean expire-cache 尽管如此,客户端仍然声称该软件包在服务器上不存在。 我不认为问题出在服务器端,因为当我尝试从另一台计算机进行搜索时,它找到了软件包。我验证了回购文件是正确的,并且名称yum.example.com在两台服务器上都解析为相同的IP地址-但是其中一个可以找到该程序包,而另一个则找不到。
16 redhat  yum 

3
将版本化的S3存储桶还原到特定的时间点
假设我已经为我的存储桶启用了S3版本控制:http : //docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html 然后,假设某人(例如,下级员工)弄乱了S3存储桶(意外删除了一些文件,等等)。 然后,如何将整个版本化存储桶还原到特定的时间点?我相信使用S3的API应该可以做到这一点,但是我宁愿不必自己编写这样的脚本,因为会丢失某些内容(我不是AWS专家)。 有解决这个问题的好方法吗?我将S3存储桶用作我的Rails应用程序的图像存储,因此可以用作rake任务的基于Ruby的东西是理想的。

4
使用IAM允许用户编辑AWS / EC2安全组?
我正在尝试向IAM组授予编辑我们的EC2安全组的能力,但是如果不授予对EC2中所有内容的访问权限,我将无法使其正常工作。 我已经尝试了几个版本: { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1392336685000", "Effect": "Allow", "Action": [ "ec2:*" ], "Resource": [ "arn:aws:ec2:us-east-1:<MYACCOUNTHERE>:security-group/*" ] } ] } 但是,当我使用IAM用户登录时,在“安全组”页面上会收到一条消息,提示“您无权执行此操作”。 我确实知道该用户/组正在工作,因为如果我为“ Amazon EC2完全访问”选择了IAM策略模板,则用户可以访问EC2中的所有内容。 我显然没有太多的IAM经验,将不胜感激。

3
nginx / php-fpm错误记录
我试图找出我的安装程序中的PHP错误所在。我将nginx作为PHP-FPM的反向代理运行,但没有看到我的应用程序正在生成的各种E_NOTICE或E_WARNING消息。我知道它们正在发生的唯一原因是响应失败和NewRelic捕获堆栈跟踪。 这是日志记录配置: nginx.conf proxy_intercept_errors on; fastcgi_intercept_errors on; php.ini error_reporting = E_ALL display_errors = Off display_startup_errors = Off log_errors = On log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On track_errors = On error_log = syslog php-fpm.conf [global] error_log = /var/log/php-fpm/fpm-error.log [www] access.log = /var/log/php-fpm/access.log access.format = "%t …
16 php  php-fpm  php5  logging 

3
SSH连接断开后无法重新连接到屏幕会话
我以前曾与进行长时间的屏幕对话screen -dr control。但是,有时此命令不会重新连接到屏幕,而是会永久挂起(在我终止后的10分钟以上)。仅当SSH连接意外断开时才会发生这种情况,而在用正确断开屏幕后则不会发生Ctrl-A d。其他开关,例如screen -x或screen -D -RR也不起作用。 这篇文章建议杀死举行屏幕会话的PTY,这将导致屏幕完成其断开连接。但是,它只是杀死了screen -dr control被调用的外壳。 例如: $ ps -ef | grep control | grep -v grep nomad 7387 7109 0 13:05 pts/50 00:00:00 screen -dr control nomad 15299 1 0 Nov27 ? 00:13:47 SCREEN -S control $ ps -ef | grep bash | grep 'pts/50' …
16 ssh  gnu-screen 

3
Apache proxy_http重定向到ip并设置主机名
希望你们能帮助我解决我遇到的代理问题。 我已经拥有的 我已经设置了一个Apache http反向代理,以将请求从* .proxy.domain代理到* .intern.domain。Apache是​​从外部网络访问我的内部Web应用程序的唯一方法。 例: app.proxy.domain -> app.intern.domain mail.proxy.domain -> mail.intern.domain 这一切都很好,但是我有以下问题。 问题 我想代理以下请求: app.proxy.domain -> app.internal.domain app-dev.proxy.domain -> app-dev.internal.domain 没问题,但是不幸的是,app-dev服务器运行的是应用服务器Web应用程序的精确副本,并且此Web应用程序仅响应其主机名(app.intern.domain) 所以我需要做的是代理以下内容 app.proxy.domain -> app.internal.domain (10.0.1.1) app-dev.proxy.domain -> app.internal.domain (10.0.1.2) 我可以做第二件事,在/ etc / hosts中添加“ 10.0.1.2 app.internal.domain”,但这也意味着app.proxy.domain将落在dev-server上。 我正在寻找一个选项,仅在app-dev.proxy.domain的vhost配置文件内设置/ etc / hosts条目,以便每个其他vhost配置都将DNS用于app.intern.domain。 想法... 有没有办法告诉apache配置,以 ProxyPass / http://10.0.1.2/ 但是发送app.intern.domain作为主机名? 编辑dev-servers网络应用程序以监听app-dev是没有选择的,因为它应该是精确的副本(不是我的决定...) 谢谢!

6
如何在SSH上找到我的TeamViewer ID?
当我尝试运行命令时,teamviewer --info我得到以下输出 root@vps [~]# /opt/teamviewer8/tv_bin/TeamViewer --info TeamViewer 8.0.20931 teamviewerd status teamviewerd start/running, process 9584 TeamViewer ID: not found Try restarting the TeamViewer daemon (e.g. teamviewer --daemon restart) 但找不到我的TeamViewer ID。在“配置”设置中还有其他可以找到TeamViewer ID的地方吗?
16 ssh  teamviewer 

1
ext4在一个特定的目录中列出文件的速度非常慢,该目录之前包含很多文件
背景 我遇到了一个小的logrotate不幸事件... Logrotate会由于错误拍摄而旋转已归档的日志,从而导致我的文件出现二次增长/var/log/。等到我风起云涌时,那/var/log/已经有些问题了,已经包含了几百万个文件 ... 我设法(经过一些脱发和查找/ sed / grep魔术之后)删除了所有有问题的文件并修复了我的logrotate配置。认为一切都很好... 问题 每当我ls(du -hs或以其他方式)列出其内容/var/log/(现在包含80mb的存档/日志以及最多几百个文件)的内容时,该过程将挂起一两分钟。我确实认为这与logrotate不幸事件有关,但我不确定,可能还有其他原因。无论如何,我无所适从在哪里开始调试或为此寻找解决方法。请帮忙:3 其他资讯 uname -a Linux xxx 3.3.8-gentoo #18 SMP Sat Sep 21 22:44:40 CEST 2013 x86_64 Intel(R) Core(TM)2 CPU 4400 @ 2.00GHz GenuineIntel GNU/Linux cat /proc/meminfo MemTotal: 2051552 kB MemFree: 75612 kB Buffers: 9016 kB Cached: 1740608 kB SwapCached: 0 …

3
是否可以在Amazon cloudformation中强制重新创建EC2 :: Instance或RDS :: DBInstance?
是否有可能使用cloudformation堆栈来强制重新创建EC2或RDS实例? 我的堆栈陷入了这样的境地:只需销毁和创建资源即可解决该问题,而不是必须删除整个堆栈才能继续工作。 编辑: 这个问题打了我两次。首先,我创建了具有一些默认值的AWS :: RDS :: Instance,然后尝试将其降级为“ EngineVersion”:“ 5.5”。更改它可能会发生一些中断,但是mysql实例不能从5.6降级到5.5,因此堆栈处于UPDATE_FAILED状态,并且我不能在没有麻烦的情况下重新创建RDS。 另一个情况是我有多个“ AWS :: EC2 :: Instance”,显然,如果Y更改了下载的脚本,则必须从其“ UserData”下载并执行脚本,我必须重写该实例,并且没有办法。我再次使用相同的技巧来重新创建计算机。 讨厌的把戏: 我没有使用一台机器的自动缩放组,而是解决了在属性中更改可用区的两个问题...但是让我觉得很不好

2
proxy:错误AH00898:与远程服务器进行SSL握手时出错
我有一台服务器,充当网络中cPanel邮件服务器的前端。前端服务器上的apache代理无故障运行了152天,然后突然发现使用它访问邮件服务器的Webmail客户端时出现500/502错误。 前端服务器使用已签名的SSL证书,cPanel服务器正在使用自签名的证书。这是前端服务器首次开始发生时的错误日志输出: [Tue Sep 10 18:22:52.959291 2013] [proxy:error] [pid 19531] (502)Unknown error 502: [client 173.xx.xx.xx:9558] AH01084: pass request body failed to 184.xx.xx.xx:2096 (184.xx.xx.xx), referer: https://domain.com:2096/cpsess12385596/3rdparty/roundcube/?_task=mail&_refresh=1&_mbox=INBOX [Tue Sep 10 18:22:52.959469 2013] [proxy:error] [pid 19531] [client 173.xx.xx.xx:9558] AH00898: Error during SSL Handshake with remote server returned by /cpsess12385596/3rdparty/roundcube/, referer: https://domain.com:2096/cpsess12385596/3rdparty/roundcube/?_task=mail&_refresh=1&_mbox=INBOX 前端服务器是一个EC2实例Apache/2.4.6 (Amazon) …

5
使用Nginx镜像流量
我需要复制/镜像来自服务器/资源的流量。 我的意思是,我有服务器A和B以及N(nginx)作为Web服务器。 来自N /资源的所有流量->重定向到A和B 可能吗?
16 nginx  traffic 

5
nc(netcat)在UDP模式下挂起,等待更多数据。
我正在尝试在读取块内通过nc向statsd发送一个小字符串: while read line; do printf "folder.counter:value|1c" | nc -q 0 -u $host $port done 不幸的是,在UDP模式下,即使我已指定nc,nc似乎也希望无限期等待-q 0,该手册页上的内容将使程序在EOF之后立即退出。 我尝试过传递-w 1,但是如果我发送的数据每秒以多于一行的速度输入,则数据会缓冲起来,并且我会丢失实时统计信息(更不用说冒着某种类型的缓冲区溢出的风险了)。 是否可以使用netcat进行我想做的事情,还是我需要用具有statsd库的语言编写某些内容?
16 shell  netcat  statsd 

2
漫游配置文件与文件夹重定向
我似乎无法就两者之间的差异达成共识。漫游配置文件,文件夹重定向或...都是一个示例。如果不使用漫游配置文件,则最重要的答案不会回答不共享哪些数据的问题。 漫游配置文件和文件夹重定向之间有什么区别? 哪些数据通过漫游配置文件“漫游”而不通过文件夹重定向漫游? 为什么重定向AppData是一个坏主意?如果用户使用其他计算机登录到域,不重定向此文件夹会有什么后果? 感谢您的任何见解。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.