所有主要的日志文件都存放在哪里?

如果我的电脑出现问题,无论是硬件还是软件方面的,主要的日志文件都在哪里?此外,其他软件包的日志文件是否有通用的存放位置?

可能相关:http://askubuntu.com/questions/5868/which-logs-should-i-pay-attention-to - Jeremy Stein
3个回答

所有日志文件都位于/var/log目录中。在该目录中,每种类型的日志都有特定的文件。例如,系统日志,如内核活动,记录在syslog文件中。
该目录中一些最常见的日志文件包括:
  • 在目录apt中有一个文件history.log,它保存了所有软件包的安装和卸载信息,甚至包括初始系统构建时的Live CD。您可以打开此文件查看这个非常有趣的文件。

  • 在目录dist-upgrade中有一个文件apt.log,它记录了分发升级期间的信息。

  • 在目录installer中可以找到安装过程中创建的日志文件。

  • 有一个apport.log文件,它保存了关于系统崩溃的信息并进行报告。

  • auth.log文件包含有关身份验证活动的信息,例如当您通过sudo身份验证为root用户时。

  • dpkg.log文件保存了与dpkg相关的软件包安装和卸载的低级细节。您可能知道apt系统依赖于dpkg进行软件包的安装和卸载。

  • boot.log包含每次启动的信息。

  • kern.log保存内核信息,如警告、错误等。

  • alternatives.log包含各种软件包设置的所有备选项及其通过update-alternatives命令进行的删除的历史记录。

  • 另一个重要的日志文件是Xorg.log,它包含有关图形驱动程序、其故障、警告等的信息。

根据您安装的软件包,可能会有其他类型的日志文件存在。例如,我的系统还包括一个名为epoptes.log的日志文件,只有在安装了epoptes软件包时才会存在。

systemd之后的变化

随着systemd的出现,大部分日志记录由journalctl工具处理,并将日志以二进制格式存储在/var/lib/systemd/catalog/database文件中。该文件列举了所有的日志,包括内核、启动和应用程序日志,并通过journalctl工具提供所需的日志。

以下是一篇关于如何使用journalctl获取所需日志信息的好文章。

https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs#setting-the-system-time


syslog和kern.log可能是最重要的两个。 - JohnMerlino

在下面的截图中显示了来自/var/log的大部分重要日志。在该位置通常会有其他应用程序的文件夹,比如samba或者如果您安装了apache2的话。
要实时查看日志,您可以使用gnome-system-log,或者例如使用
 tail -f /var/log/kern.log

所有日志都可以通过在gnome-system-log中使用过滤选项或使用grep搜索特定术语来更容易地进行分析。例如,如果我想要找到与我的SiS硬件相关的引用,我可以输入:
grep -i SiS /var/log/kern.log

大部分截图中的日志都是不言自明的,但是这里有一些快速说明:
- `auth.log` 处理所有特权操作,例如在终端中使用 sudo 或运行诸如 synaptic 的图形界面程序。 - `kern.log` 记录所有内核活动,对于诊断硬件错误非常有用。 - `dpkg.log` 是一个非常详细的已安装软件包记录。 - `syslog` 包含来自内核和操作系统的信息。 - `xorg.log` 包含有关显示设置(主要是自动设置)的信息。 - `udev` 特别有用,因为它包含一些关于硬件设置的细节,这些细节对于将来记录可能很有用。 - `history.log`(如截图所示)来自 `/var/log/apt`,包含了您的更新和安装历史记录。

enter image description here


1我的系统日志查看器只显示了Xorg.0.log、auth.log、dpkg.log、mail.log和syslog。我该如何查看剩下的日志? - green
2@green7 你可以添加任何日志- 前往文件 > 打开,然后在文件系统中导航到 /var/log,并选择要打开的日志,然后重复此步骤以添加其他日志。 - user76204