Ubuntu 19.10 中启动脚本的输出存储在哪里?

Ubuntu 19.10 中启动脚本的输出存储在哪里?

通过删除文件内的参数quietsplash行,我能够在 Ubuntu 启动期间将系统启动脚本(服务)显示的消息显示在屏幕上。GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grub

但是,这些消息滚动得非常快,几乎不可能捕捉到任何FAILED消息。用于保存这些消息的文件/var/log/boot.log。例如:

# grep -a FAILED /var/log/boot.log
[FAILED] Failed to start Raise network interfaces.
...

但是,我的系统上不再更新此文件(自 2019 年 4 月起),这表明从 Ubuntu 19.04 开始它已被弃用。我在 Ubuntu 19.10 上哪里可以找到该内容?有没有办法在启动期间将 init 脚本在控制台上显示的数据捕获到文件中?

笔记

相同的功能(即精确的控制台文本输出)是不是由 提供journalctl。例如:

# journalctl -b 0 | grep Raise
Jan 13 12:01:25 ... systemd[1]: Starting Raise network interfaces...
Jan 13 12:01:25 ... systemd[1]: Started Raise network interfaces.

答案1

经过一些测试,我最终得到以下结果:

  1. Bootlogd不再受支持。Plymouth服务接管。该文件/etc/default/bootlogd无关紧要。
  2. 要将plymouth.service消息记录到/var/log/boot.log文件,文件/etc/default/grub应包含以下行:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"。否则,普利茅斯服务将不会将任何内容记录到boot.log

因此,@WinEunuuchs2Unix 的答案或多或少是正确的。

答案2

可以查看来自启动

sudo journalctl -b 0

阅读man journalctl并查看我的 AskUbuntu 个人资料以获取journalctl提示。

答案3

该问题从 Ubuntu 16.04 开始就存在:

那里的答案也有推荐,journalctl但隐藏在评论中:

我确认在配置时GRUB_CMDLINE_LINUX_DEFAULT=""不会 /etc/default/grub写入boot.log。使用时 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"会再次写入 boot.log。我使用的是 Ubuntu 19.04。 – adrhc 2019 年 6 月 9 日 11:21

当我第一次开始使用16.04我记得/var/log/boot.log是空的,但我不太在意去调查。我读完这个问题后看了看,现在它已经满了。有一个错误已经修复了:

可能存在错误回归19.10或者sysvinit没有安装软件包。在我的16.04安装我有这个:

$ apt list | grep sysv | grep installed

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

    sysv-rc/xenial,xenial,now 2.88dsf-59.3ubuntu2 all [installed]
    sysvinit-utils/xenial,now 2.88dsf-59.3ubuntu2 amd64 [installed]

对于那些不知道的人来说, 的优势/var/log/boot.log在于journalctl -b镜像控制台启动消息的颜色格式:

启动日志.png

相关内容