Articles of linux

debugging一个完整的崩溃/挂起?

我们正在Amazon EC2上运行一个Ubuntu实例,最近我们发生了一个意外的(当前无法解释的)崩溃(与最近的停机无关)。 问题基本上是机器不会对任何事情(SSH / HTTP)做出响应,尽pipeAWS控制台中的所有内容都表明实例运行正常(CloudWatch中的CPU使用率为0)。 最终,我们已经采取了重启这个似乎已经恢复的事例。 我有: 检查了我所能想到的所有日志( dmesg , syslog等),并找不到任何错误-y; 在重新启动机器之前从aws控制台检查系统日志,没有任何错误-y; 看着CloudWatch,我看不到任何不合适的地方,CPU利用率似乎突然下降到0,没有出现任何尖峰。 所有其他指标也稳定; 确保实例上有足够的存储空间(因此不会出现硬盘内存错误)。 我不知道还有什么要做/检查。 有什么我可以做,以防止这种情况再次发生? 它造成了我们相当多的停机时间。 如果不是,如果再次发生,我该怎么办? 除了重启之外,还有其他的东西 更新 这是做了一遍。 这个实例几个星期前刚装好(在亚马逊停电之后不久)。 它运行得很好,直到它刚刚没有反应的时刻。 再次,有人在10分钟前login,运行htop ,一切都很好。 更新#2 它再次坠毁。 以下是AWS CloudWatch的一些图表(我们有EBS卷,一个用于启动,一个用于数据): 1. DiskReadBytes(实例度量) 注意:挂起发生在接近19:00的峰值之后 2. VolumeReadBytes(EBS度量,数据EBS) 3. VolumeReadBytes(EBS度量,引导EBS) 我不知道中断的行是什么意思。

如何从命令行发送电子邮件与收件人制表符完成和适当的文件附件?

一年前,我尝试了几个不同的电子邮件发件人,因为我想简化从命令行发送电子邮件。 有几个工具,我试过了(我不记得了): sendmail mail xmail ssmtp uuencode 我使用mail在networking上find了一些处理附件的MIME脚本。 echo body text | mutt -s subject -a /etc/resolv.conf [other files] — [email protected] 附加文件的问题很困难,因为 编码问题 MIMEtypes的二进制文件 附加多个文件失败(它们之间没有明确的界限) 发送文本文件作为附件,而不是在电子邮件正文 但最终它与mutt (使用上面的命令)一起工作。 我本来希望没有调用一个大程序的方法,但是我很好。 在某个时候,我停止使用它,因为我总是不得不手动input电子邮件地址,我从来不记得它们。 为了进一步方便命令行发送, 有没有简单的方法来启用电子邮件地址的标签填写? 我想有一些手动的工作,因为我没有在网上find任何东西。 build立电子邮件索引(从Gmail导出的CVS)似乎很容易,但如果John Jerry使用[email protected]作为他的电子邮件地址呢? 这将是必要的完成 Jo <tab> Je <tab> 前 <tab>和 jj <tab> 。 这必须以某种方式喂入readline工具 – 我不知道这是否困难,但是我正在寻找一个简单的方法,如果有的话!

后缀失败的传递问题

我收到我的系统上的一个邮件帐户的消息: 诊断代码:X-Postfix; 不能附加邮件到文件/用户名:不能 独占创build文件:权限被拒绝 我之前删除了/var/spool/mail/username.lock这个用户,也可能暂时移动了/ var / spool / mail / username。 / var / spool / mail / username的权限是: -rw-r–r– 1 username mail 0 May 6 00:08 /var/spool/mail/username 我不知道为什么这个邮件帐户得到消息返回。 什么可能导致这个错误讯息?

从32位Linux转换为64位LInux – Amazon Web Services EC2云服务器 – 导入AMI

我的客户希望从我们当前的开发32位服务器升级到在64位平台上运行的更大的服务器。 我非常喜欢导入当前服务器的AMI(32位)的快照,但我想我不能这样做,当移动到64位实例可以吗? 如果可以的话,那么我的库呢? 我是否需要重新安装大量已经安装和configuration的服务?

Linux磁盘调整帮助

我有一个软件RAID1磁盘是随机遇到非常慢的阅读时间。 hdparm -t /dev/md0 /dev/md0: Timing buffered disk reads: 2 MB in 12.43 seconds = 164.80 kB/sec 它看起来是在RAID集中的一个磁盘比另一个慢。 他们都是相同的1.5TB SATA驱动器。 我已经阅读了一些使用hdparm的调整build议,但似乎并不适用于SATA驱动器,而且我对在生产系统上进行实验犹豫不决。 任何意见,将不胜感激。

Mandriva Directory Server 5.0的DNS设置

我只是inheritance了一个内部网, Mandriva Directory Server 5.0作为内部DNS和DHCP服务器,基于LDAP服务器进行configuration存储。 这个想法是,所有的内部网主机得到一个DNS条目名称-ipdaddres其中的IP地址在一个NAT专用空间10.0.*.* 其中一些主机也在真实的公共DNS(internet :-))上声明,指向我们的路由器公共IP地址; 它负责一些端口转发和httpredirect,以允许一些内部网服务在办公室外部可用,而不需要类似VPN或SSH的隧道访问。 因此,MDS DNS服务器只覆盖私有IP地址,其余依赖于公共DNS服务器。 现在我有几个关于这个设置的严格相关的问题。 我不习惯Mandriva的configuration文件,并且对这个“double”dns设置的正确做法有点困惑 在哪里可以修改MDS的“公共”名称服务器? 它在/etc/sysconfig/network-scripts/ifcfg-eth0 , DNS1和DNS2 ? 自那以后他们改变了。 让主机首先检查MDS DNS,然后使用公共DNS? 主机是否应该只使用MDS DNS,而MDS是否需要公有DNS来获取缺失的条目,或者…? 编辑 前进,但仍然是主要问题似乎是一样的。 请不要说,服务器目前正在工作,大部分域名已解决,但有些不是,可能是使用旧的,过时的公共DNS。 继@TiZonbuild议我编辑了/etc/resolvconf/resolv.conf.d/tail来添加公用名称服务器。 现在这是发生了什么。 当主名称服务器失败时,它不会回退到公共的名称: dig rueducommerce.com @10.0.0.10 ; <<>> DiG 9.5.0-P2 <<>> rueducommerce.com @10.0.0.10 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 55845 ;; […]

何时适当从应用程序中删除setuid / setgid权限?

我一直在浏览NSA关于强化Mac OS X和Linux的build议 ,并注意到这个小小的信息: Setuid程序以文件所有者(通常是root)的特权运行,不pipe用户执行哪个程序。 这些程序中的错误可能允许特权升级攻击。 要查找setuid和setgid程序,请使用以下命令: find / -perm -04000 -ls find / -perm -02000 -ls 在识别setuid和setgid二进制文件之后,在系统或任务操作不需要的那些位置上使用setuid和setgid位(使用chmod ug -s programname)。 我的问题是,如何确定哪些应用程序可以禁用setuid / setgid位? 例如,我假设一些像su,sudo和login这样的应用程序必须有setuid。 另一方面,像写的东西可能不需要setuid。 有没有一个很好的方法来找出一个应用程序是否真的需要它?

Sendmail:必须添加NAT IP才能访问列表中继,为什么?

我有sendmail设置与智能主机到谷歌应用程序(使用AuthInfo在/etc/mail/access进行身份validation)。 我昨天注意到电子邮件没有通过。 我发送这样的电子邮件: echo "I am testing this" | sendmail -f [email protected] [email protected] 日志看起来像这样: May 19 18:53:08 starks sendmail[1658]: p4JMr7mw001658: [email protected], size=157, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost May 19 18:53:08 starks sendmail[1658]: STARTTLS=client, relay=[127.0.0.1], version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256 May 19 18:53:08 starks sendmail[1665]: STARTTLS=server, relay=starks.example.lan [192.168.8.5] (may be forged), version=TLSv1/SSLv3, verify=NO, cipher=DHE-RSA-AES256-SHA, bits=256/256 May 19 18:53:08 […]

ProFTPd多个MySQL数据库

我需要ProFTPd连接到几个数据库/表,并通过他们的数据授权用户。 我有数据库/表中的ftplogin数据: db1 / ftp db2 / ftp db2 /用户 db2 / ftp_vip db3 / data 你能给我正确的proftp.conf和/或sql.conf吗? 我用SQLNamedQuery和SQLNamedConnectInfo尝试了多个解决scheme,但是它不能工作,或者只能用于db1 / ftp和igonres其他设置。 我只想通过ProFTPd模块做到这一点,而不需要任何外部软件。 PS。 Proftpd版本:1.3.3a或1.3.4rc2(不pipe我) / /编辑:db3是在另一台机器上,所以视图不会让它。

如何使phpize运行xampp而不是其他的php实例

我在我的Ubuntu有两个PHP的实例。 一个是xampp(/ opt / lampp / bin),另一个是在/ etc / php5中。 我想为xampp php安装pecl扩展,但是每个命令我都只对/ etc / php5有效 这是我input的内容: cd imagick-3.1.0b1 / /select/ LAMPP /斌/ phpize 。/configuration 使 进行安装 我究竟做错了什么?