jasmines Asked: 2016-04-28 01:06:06 +0800 CST2016-04-28 01:06:06 +0800 CST 2016-04-28 01:06:06 +0800 CST 自 16.04 以来不再有引导日志记录? 772 我注意到我的/var/log/boot.log文件的日期为 2016-04-22,上次我在 15.10 中启动。boot.logXenial文件在哪里? boot 3 个回答 Voted muru 2016-04-30T23:14:40+08:002016-04-30T23:14:40+08:00 利用journalctl 由于journald包含所有日志,您可以使用journalctl带有合适过滤器的命令。对于boot.log过去包含来自 init 系统的消息的 ,您可以执行以下操作: journalctl -b0 SYSLOG_PID=1 -b0显示来自当前引导、-b1来自先前引导等的消息。如果没有该-b选项,journalctl将从日志开头显示消息。 SYSLOG_PID过滤来自 PID 1 的消息,也就是 init。 或者: journalctl -b0 --system _COMM=systemd _COMM=systemd查找来自systemd命令的消息。由于systemd是 init,这是我们感兴趣的。 --system从系统日志而不是用户会话日志中过滤消息。 例子: muru@muru-vm:~$ journalctl -b0 SYSLOG_PID=1 Apr 30 12:29:18 muru-vm systemd[1]: systemd 229 running in system mode. (+PA Apr 30 12:29:18 muru-vm systemd[1]: Detected virtualization qemu. Apr 30 12:29:18 muru-vm systemd[1]: Detected architecture x86-64. Apr 30 12:29:18 muru-vm systemd[1]: Set hostname to <muru-vm>. Apr 30 12:29:18 muru-vm systemd[1]: Initializing machine ID from random gene Apr 30 12:29:18 muru-vm systemd[1]: Installed transient /etc/machine-id file Apr 30 12:29:18 muru-vm systemd[1]: Set up automount Arbitrary Executable Fi Apr 30 12:29:18 muru-vm systemd[1]: Listening on fsck to fsckd communication Apr 30 12:29:18 muru-vm systemd[1]: Reached target User and Group Name Looku Apr 30 12:29:18 muru-vm systemd[1]: Listening on udev Kernel Socket. Apr 30 12:29:18 muru-vm systemd[1]: Started Forward Password Requests to Wal Apr 30 12:29:18 muru-vm systemd[1]: Listening on /dev/initctl Compatibility Apr 30 12:29:18 muru-vm systemd[1]: Listening on Journal Socket. Apr 30 12:29:18 muru-vm systemd[1]: Created slice User and Session Slice. Apr 30 12:29:18 muru-vm systemd[1]: Created slice System Slice. Apr 30 12:29:18 muru-vm systemd[1]: Starting Braille Device Support... Apr 30 12:29:18 muru-vm systemd[1]: Mounting POSIX Message Queue File System Apr 30 12:29:18 muru-vm systemd[1]: Mounting Debug File System... Apr 30 12:29:18 muru-vm systemd[1]: Mounting Huge Pages File System... Apr 30 12:29:18 muru-vm systemd[1]: Starting Load Kernel Modules... Apr 30 12:29:18 muru-vm systemd[1]: Starting Uncomplicated firewall... Apr 30 12:29:18 muru-vm systemd[1]: Starting Create list of required static lines 1-23 journalctl默认情况下在寻呼机中打开日志,因此您无需通过管道传输到less. 持久记录 默认情况下,Ubuntu 不启用持久性日志日志。感谢@Auspex 的评论,您需要执行以下任一操作: 编辑/etc/systemd/journald.conf包括: Storage=persistent /var/log/journal手动创建目录: mkdir /var/log/journal systemd-tmpfiles --create --prefix /var/log/journal systemctl restart systemd-journald 有关的: 如何在 CentOS 7 下显示以前引导的日志消息? Best Answer octoquad 2016-05-13T08:45:04+08:002016-05-13T08:45:04+08:00 我正在查看一些错误报告并在此报告中注意到:https ://bugs.launchpad.net/ubuntu/+source/ubuntu-gnome-default-settings/+bug/1536771 普利茅斯实际上正在写入 boot.log。 如果您查看https://launchpadlibrarian.net/257898272/plymouth-debug.log并在浏览器中搜索“boot.log”,您会看到以下行: [main.c:821] on_system_initialized:system now initialized, opening log [main.c:742] get_log_file_for_state:returning log file '/var/log/boot.log' [main.c:805] prepare_logging:opening log '/var/log/boot.log' 我不了解普利茅斯的内部是如何工作的,但由于它负责在登录屏幕之前显示的启动屏幕,我只能假设在进入登录屏幕之前没有启动屏幕(黑屏) ,文件没有被修改。如果在登录屏幕之前确实显示了启动屏幕,则引导过程输出将重定向到 boot.log 文件。 cl-netbox 2016-04-30T02:53:10+08:002016-04-30T02:53:10+08:00 在 Ubuntu 16.04 中,该boot.log文件仍位于/var/log文件夹中,如您在此处看到的。启动日志文件来自今天 (2016-04-29)。当您安装 Ubuntu 16.04 或将操作系统从 Ubuntu 15.10 升级到 Ubuntu 16.04 LTS 时,可能出现了问题。 kern.log或者,您可以从综合文件中检查一般引导行为。另一种可能的替代方法是手动配置syslog 守护程序以生成引导日志文件,这里有一个教程如何准确地做到这一点:如何查看和配置 Linux 日志 附加信息 : 我调查了两台不同机器上的引导日志记录行为。在具有基于 UEFI 的 BIOS 的计算机上,该boot.log文件存在 - 但在具有基于旧版 BIOS 的计算机上,它似乎根本不存在。因此,如果系统以旧版 BIOS (MBR/msdos) 模式安装,这可能是您的boot.log文件日期为 2016-04-22 的解释,它是 Ubuntu 15.10 的遗留物。 更新信息 2016-05-02 : 我继续调查引导日志文件的行为,并观察到该boot.log文件仍然存在于基于 UEFI 的机器上,但几天后该文件为空。我尝试查看启动过程中发生的另一种选择是安装BootChart,但在重新启动系统后bootchart.png该文件夹中不存在/var/log预期的...只有一个空/var/log/bootchart文件夹,其中也不包含预期的bootchart.png文件。 2016-05-04 更新信息: 今天,该boot.log文件似乎再次具有“功能”,它充满了来自引导过程的部分信息。这似乎是一种随机变化的行为,我认为在 Ask Ubuntu 上无法解决 - 所以您应该考虑在 Launchpad 上提交错误报告来解决这个问题! 结论- 在对 Ubuntu 16.04 中的文件行为进行了一周的调查之后boot.log:你不应该再担心了/var/log/boot.log,只是习惯了journalctl。
利用
journalctl
由于
journald
包含所有日志,您可以使用journalctl
带有合适过滤器的命令。对于boot.log
过去包含来自 init 系统的消息的 ,您可以执行以下操作:-b0
显示来自当前引导、-b1
来自先前引导等的消息。如果没有该-b
选项,journalctl
将从日志开头显示消息。SYSLOG_PID
过滤来自 PID 1 的消息,也就是 init。或者:
_COMM=systemd
查找来自systemd
命令的消息。由于systemd
是 init,这是我们感兴趣的。--system
从系统日志而不是用户会话日志中过滤消息。例子:
journalctl
默认情况下在寻呼机中打开日志,因此您无需通过管道传输到less
.持久记录
默认情况下,Ubuntu 不启用持久性日志日志。感谢@Auspex 的评论,您需要执行以下任一操作:
编辑
/etc/systemd/journald.conf
包括:/var/log/journal
手动创建目录:有关的:
我正在查看一些错误报告并在此报告中注意到:https ://bugs.launchpad.net/ubuntu/+source/ubuntu-gnome-default-settings/+bug/1536771 普利茅斯实际上正在写入 boot.log。
如果您查看https://launchpadlibrarian.net/257898272/plymouth-debug.log并在浏览器中搜索“boot.log”,您会看到以下行:
我不了解普利茅斯的内部是如何工作的,但由于它负责在登录屏幕之前显示的启动屏幕,我只能假设在进入登录屏幕之前没有启动屏幕(黑屏) ,文件没有被修改。如果在登录屏幕之前确实显示了启动屏幕,则引导过程输出将重定向到 boot.log 文件。
在 Ubuntu 16.04 中,该
boot.log
文件仍位于/var/log
文件夹中,如您在此处看到的。启动日志文件来自今天 (2016-04-29)。当您安装 Ubuntu 16.04 或将操作系统从 Ubuntu 15.10 升级到 Ubuntu 16.04 LTS 时,可能出现了问题。kern.log
或者,您可以从综合文件中检查一般引导行为。另一种可能的替代方法是手动配置syslog 守护程序以生成引导日志文件,这里有一个教程如何准确地做到这一点:如何查看和配置 Linux 日志附加信息 :
我调查了两台不同机器上的引导日志记录行为。在具有基于 UEFI 的 BIOS 的计算机上,该
boot.log
文件存在 - 但在具有基于旧版 BIOS 的计算机上,它似乎根本不存在。因此,如果系统以旧版 BIOS (MBR/msdos) 模式安装,这可能是您的boot.log
文件日期为 2016-04-22 的解释,它是 Ubuntu 15.10 的遗留物。更新信息 2016-05-02 :
我继续调查引导日志文件的行为,并观察到该
boot.log
文件仍然存在于基于 UEFI 的机器上,但几天后该文件为空。我尝试查看启动过程中发生的另一种选择是安装BootChart,但在重新启动系统后bootchart.png
该文件夹中不存在/var/log
预期的...只有一个空/var/log/bootchart
文件夹,其中也不包含预期的bootchart.png
文件。2016-05-04 更新信息:
今天,该
boot.log
文件似乎再次具有“功能”,它充满了来自引导过程的部分信息。这似乎是一种随机变化的行为,我认为在 Ask Ubuntu 上无法解决 - 所以您应该考虑在 Launchpad 上提交错误报告来解决这个问题!结论- 在对 Ubuntu 16.04 中的文件行为进行了一周的调查之后
boot.log
:你不应该再担心了/var/log/boot.log
,只是习惯了journalctl
。