我刚刚尝试在 gedit 中加载一个 2MB 的文件,结果它默默地死掉了。我想知道日志文件中是否有可以帮助我诊断这个问题的东西:我检查了一下,syslog
发现它出现了段错误。在这样做的时候,我意识到我对 *nix 机器上的日志记录组织方式一无所知。
我现在只知道
日志通常存储在
/var/log/
...还有其他地方我需要了解吗?我熟悉特定应用程序的日志,例如 apache 的日志。
我理解那
dmesg
是启动日志,并且syslog
是一般的系统日志...对吗?编辑:Bobby 说dmesg
这也是通用的……两者有什么区别?
那么有人能帮我看一下最有用的日志吗?我在最后一点提到的两个日志是唯一的一般的日志?在 中每行开头的奇怪数字是什么dmesg
?自启动以来的秒数是多少?
请在您的答案中包含任何您认为可以提高我的理解并帮助我追踪异常的内容!
短暂性脑缺血发作
安迪
答案1
LinuxHomeNetworking 上有一个入门指南:快速指南:第 05 章:使用 syslog 排除 Linux 故障。
你可能还喜欢Ubuntu 技巧:如何在 GUI 中查看系统日志文件。
这Ubuntu Linux日志文件页面也是一个很好的参考
(发布在这里的另一个答案的评论中Pulse
)。
答案2
非常感谢 Pulse 的推荐https://help.ubuntu.com/community/LinuxLogFiles。我删去了一些内容,并省略了如何使用syslogd
和其他基本命令,以留下这个小指南以供将来参考。这是来自 Ubuntu 网站的信息,我不知道其他发行版也有多少内容。
系统日志
系统日志主要处理 Ubuntu 系统的运行,不一定处理用户添加的其他应用程序。示例包括授权机制、系统守护程序、系统消息以及包罗万象的系统日志本身 syslog。
授权日志:
/var/log/auth.log
授权日志跟踪授权系统的使用情况、授权用户的机制(提示用户密码),例如可插入身份验证模块 (PAM) 系统、命令
sudo
、远程登录sshd
等。守护进程日志:
/var/log/daemon.log
守护进程日志包含有关正在运行的系统和应用程序守护进程(例如 Gnome 显示管理器守护进程
gdm
、蓝牙 HCI 守护进程hcid
或 MySQL 数据库守护进程)的信息mysqld
。调试日志:
/var/log/debug
调试日志提供来自 Ubuntu 系统和应用程序的详细调试消息,这些消息
syslogd
以 DEBUG 级别记录。内核日志:
/var/log/kern.log
内核日志提供了来自 Ubuntu Linux 内核的详细消息日志。例如,这些消息可能对解决新内核或定制内核的问题有用。
内核环缓冲区:
dmesg
内核环形缓冲区实际上并不是一个日志文件,而是正在运行的内核中的一个区域,您可以通过该
dmesg
实用程序查询内核启动消息。要查看消息,请使用以下命令:
dmesg | less
默认情况下,系统初始化脚本也会
/etc/init.d/bootmisc.sh
将所有启动消息发送到该文件/var/log/dmesg
。消息日志:
/var/log/messages
消息日志包含来自应用程序和系统设施的信息性消息。此日志可用于检查来自应用程序和系统设施的消息输出,这些消息以 INFO 级别记录到
syslog
/守护程序。sysklog
系统日志:
/var/log/syslog
系统日志通常默认包含有关 Ubuntu 系统的最多信息。它可能包含其他日志不包含的信息。当您无法在其他日志中找到所需的日志信息时,请查阅系统日志。
应用程序日志
许多应用程序还会在 中创建日志
/var/log
。如果列出子目录的内容/var/log
,您将看到熟悉的名称,例如/var/log/apache2
代表 Apache 2 Web 服务器的日志,或/var/log/samba
,其中包含 Samba 服务器的日志。Apache HTTP 服务器日志:
/var/log/apache2
Ubuntu 上 Apache2 的默认安装会创建一个日志子目录。此子目录中有两个日志文件,它们有两个不同的用途:
/var/log/apache2/access.log
- 网络服务器提供的每个页面和加载的每个文件的记录。/var/log/apache2/error.log
- HTTP 服务器报告的所有错误情况的记录CUPS 打印系统日志:
/var/log/cups/error_log
通用 Unix 打印系统 (CUPS) 使用默认日志文件
/var/log/cups/error_log
来存储信息和错误消息。Rootkit Hunter 日志:
/var/log/rkhunter.log
Rootkit Hunter 实用程序 (
rkhunter
) 检查您的 Ubuntu 系统是否存在后门、嗅探器和 rootkit,这些都是您的系统受到损害的迹象。Samba SMB 服务器日志:
/var/log/samba
Samba 是服务器消息块协议 (SMB) 服务器,常用于在 Ubuntu 计算机与支持 SMB 协议的其他计算机之间共享文件。Samba 在子目录中保存三种不同类型的日志:
log.nmbd
- 与 Samba 的 NETBIOS over IP 功能相关的消息(网络内容)log.smbd
- 与 Samba 的 SMB/CIFS 功能(文件和打印共享)相关的消息log.[IP_ADDRESS]
- 与日志文件名中包含的 IP 地址的服务请求相关的消息。X11 服务器日志:
/var/log/Xorg.0.log
Ubuntu 使用的默认 X11 窗口服务器是 Xorg X11 服务器。此日志有助于诊断 X11 环境的问题。
非人类可读的日志
子目录中的某些日志文件
/var/log
旨在供应用程序读取,而不一定供人类读取。以下是一些示例。登录失败日志:
faillog
位于的登录失败日志
/var/log/faillog
实际上是设计用于由faillog
命令解析和显示的。上次登录日志:
lastlog
/var/log/lastlog
通常,不应由人类解析和检查上次登录的日志,而应与lastlog
命令结合使用。登录记录日志:
who
该文件
/var/log/wtmp
包含登录记录,但与/var/log/lastlog
上面的不同,/var/log/wtmp
它不用于显示最近登录的列表,而是由其他实用程序(如命令)用来who
显示当前登录用户的列表。
答案3
答案4
你没有说你住在哪里,但是Linux 格式在第 132 期中有一篇关于日志文件的文章。不过,您要么需要找到有副本的人,要么购买旧刊才能获得它。