很好的unix故障排除书籍

很好的unix故障排除书籍

我一直在尝试学习 *nix,我认为就基本命令而言我做得很好,并且我认为我理解很多“监视”类型命令等......总之,我认为我是语法类型的东西做得很好。

做诸如设置 xyz 之类的事情或多或少是直接的……但我真的想开始学习如何解决/诊断问题并能够解决它们。例如,如果我访问我的网站,但它没有加载……我应该检查的第一件事是什么?之类的东西。

所以我想可能有一些好书关于出现问题时该怎么办、开始寻找什么、如何识别出了什么问题以及如何修复它等等......所以我正在寻找一些关于哪里的建议我应该求助于那个?

有什么好书吗?在在这里发帖之前,我确实做了一些研究...似乎到目前为止我看过的大多数书籍都专注于安装、备份和一般语法...但是这些东西很容易直接消化...我我正在寻找能够帮助我成为一名更好的侦探和 *nix 问题解决者的东西......

ps - 我目前正在使用 centOS 5.3,但据我所知,很多东西都是通用的,可以从 *nix 系统到 *nix 系统工作,所以我认为我不一定需要它特定于 centOS...

编辑:

我最终得到了三本书:

Linux 故障排除圣经

Linux 服务器黑客

Linux 服务器黑客,第 2 卷(由于发布限制,无法发布链接,但您可以从第一个链接找到它很容易)

答案1

据我所知,没有关于这个主题的书,您可以通过这样做获得故障排除的经验。当您了解系统的所有不同组件如何协同工作时,您将能够更好地进行故障排除。

在您提供的网站未加载的示例中,我发现发生这种情况的原因如下(列表并非唯一):

  • DNS 无法解析
  • 域名已过期
  • 分区空间不足
  • apache 正在尝试写入不存在或没有权限的日志文件
  • 服务器内存不足
  • 阿帕奇没有运行
  • 内存缓存已关闭
  • mysql 宕机了
  • mysql 已启动,但超载
  • apache 正在达到 MaxClients
  • 有人更改了代码中的某些内容,导致代码损坏
  • 有人升级了 CMS,但它坏了
  • 文件权限错误
  • .htaccess 已更改
  • 某些进程占用了服务器的所有资源
  • 网站所需的系统上的某些软件包已更改、升级或删除

在上面,您可以使用dig和whois检查DNS和域名过期问题。当您通过 ssh 连接到服务器时,是否感觉速度缓慢且滞后?可能有什么东西正在使用系统资源。

阿帕奇正在运行吗?您可以查看它是否达到了 MaxClients,pgrep httpd | wc -l但为什么现在却达到了 MaxClients? MySQL 是否正在运行?正在运行多少个查询?他们需要很长时间吗?

有人更改了文件吗? cd 到网站主页并运行find . -mtime -2以查看过去两天发生的变化。查看站点的错误日志以查找问题。查看 /var/log/messages 中的问题。

正如您所看到的,有很多组件需要协同工作才能加载网站,您需要了解它们如何交互以及如何知道消除每个组件作为问题的可能罪魁祸首。知道如何做到这一点来自于经验。在解决一个问题时,你可能最终会迷失方向,但这将为你提供解决下一个问题的经验。虽然转移注意力不是导致您问题的原因,但您现在至少了解系统的该组件。

相关内容