怎样通过日志文件学习Linux?

作者: meilin
位于: 数码电子

如果真的希望学习掌握Linux,就应该熟悉日志文件,它可以帮助你理解遇到的问题。这也是寻求其他人帮助时对方会要求你提供特定日志文件的原因所在。这些Log文件有助于提供解决问题的足够信息。日志文件在系统出现问题时尤其有帮助。然而,要了解的Log文件有很多,因此本文重点介绍的是与Linux系统有关的日志分析方法。

dmesg

在系统(或连接USB)出现问题时,dmesg命令是可以最先考虑的事情。这个命令能显示出与内核(kernel keyring buffer)有关的信息。通过它们可以看出所有系统启动时的信息。这也是了解硬件情况的好地方。在我的手提电脑上,运行dmesg命令可以看到:

Phoenix BIOS detected: BIOS may corrupt low RAM, working it around.
last_pfn = 0x7f6d0 max_arch_pfn = 0x100000
x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
kernel direct mapping tables up to 38000000 @ 10000-15000
Using x86 segment limits to approximate NX protection
RAMDISK: 37c6a000 – 37fef4a2

从这里可以看出我有一个Phoenix bios,之后可以看到:

Security Framework initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode

这些信息告诉我Linux安全加强已经启动,启动是许可模式。接下来还可以看到:

CPU1: Intel(R) Pentium(R) Dual  CPU  T2390  @ 1.86GHz stepping 0d
checking TSC synchronization [CPU#0 -> CPU#1]: passed.
Brought up 2 CPUs
Total of 2 processors activated (7447.76 BogoMIPS)

这些信息有助于你更好的了解电脑CPU的特性。

用dmesg命令获得的最重要信息之一就是连接USB设备的情况。只有在了解特定设备的情况下才能mount它。这些内容将会显示在输出信息的底部。dmesg命令的输出速度很快,因此可以用”dmesg | less“命令分页查看。

/var/log

在这个目录中可以看到以下日志:

boot.log – boot information
cron – cron logs
cups – directory of all printing logs
httpd – Apache logs
mail – Mail server logs
maillog – The mail log
messages – Post-boot kernel information
secure – Security log
Xorg.0.log – X Server log

但要看到这些Log信息,你需要是root用户。其中一个查看日志文件的方法是使用tail命令。tail可以跟踪运行的日志文件。例如,跟踪/var/log/secure日志就可以用”tail -f /var/log/secure“。f是告诉tail跟踪日志。如果没有这个f,命令只会输出一个列表。

总之,阅读日志文件可以获得很多信息。一旦了解基本原理,学习掌握阅读Linux日志就会变得很容易。