所有 Debian 启动信息

所有 Debian 启动信息

如何稍后查看启动 Debian 系统时滚动的消息?

换句话说,我如何才能绝对地全部方便地使用它们?这是问题的重点;仅仅使用其中的一部分是不够的。

一些启动时间消息仅写入/var/log/daemon.log/var/log/syslog,其中我看到过类似以下消息:udevd[240]: SYSFS{}= will be removed in a future udev version

在 squeeze 中,这些不在 中/var/log/dmesg。它们也不在/var/log/boot设置和 安装包BOOTLOGD_ENABLE=yes中。/etc/default/bootlogdbootlogd

rsyslogd欲了解各种伐木地点的详情,请参阅/etc/rsyslog.conf

答案1

启动信息分为两部分:一部分来自内核(加载驱动程序、检测分区等),另一部分来自服务启动([ OK ] Starting Apache...)。内核信息存储在/var/log/kern.log内核自己的日志缓冲区中,也可以通过程序从中访问dmesg

除非你安装bootlogd包。它将记录服务启动消息,/var/log/boot 注意,如果您有“花哨”的启动消息(彩色[ OK ] [FAIL]等消息),它将在文件中记录终端转义代码。您可以通过创建/etc/lsb-base-logging.shFANCYTTY=0其中定义的shell脚本。

答案2

启动消息转瞬即逝,有些人可能不确定它们说了什么。除了通常的(众所周知的)日志文件之外,您可能希望检查可能记录它们的所有文件,以便(至少)进行验证。

在 Debian 中,日志通常保存在目录中/var/log

启动后,可以通过以下方式在 Bash shell 中查看今天发生了哪些变化(哪些文件):

sudo ls -ld --sort=time `sudo find /var/log -type f -daystart -ctime 0 | sed -r 's/^.*\.([0-9]+|old|gz)$//g'`

滚动输出可能包含有趣的字符串,如“将被删除”。以下是如何找到它们:

sudo grep -ilF 'will be removed' `sudo find /var/log -type f -daystart -ctime 0 | sed -r 's/^.*\.([0-9]+|old|gz)$//g' | sort` > log-list; sudo nano `cat log-list`

启动时日志记录可以已启用经过:

apt-get install bootlogd

并编辑/etc/default/bootlogd以包含

BOOTLOGD_ENABLE=yes

不幸的是,bootlogd 似乎不可用挤压。

有关颜色信息,请参阅这里

答案3

2021 年,我无法bootlogd在 Debian Buster 中按预期工作。我安装了它,启用了服务(遇到了一些与所述类似的困难这里),重启了好几次,但仍然没有任何内容/var/log/boot(除了提示尚未记录任何内容)。

事实证明,它bootlogd与 不兼容systemd。但它systemd本身可以解决问题:journalctl --list-boots列出它知道的启动过程,而journalctl -b N输出启动过程的日志N。要输出上次启动过程的日志,请使用N=0,即journalctl -b 0。据我所知,这些日志包括内核消息以及来自 init 系统的消息。

journalctl -b列出了所有启动过程的所有详细信息,但在我的系统上,它只知道最后一个启动过程,所以没什么区别。说实话,我不知道如何使启动日志永久存在,以便它可以输出所有启动日志,而不是只输出最后一个启动日志。但我通常只对最后一个启动过程感兴趣,所以这对我来说不是问题。

我非常确信这journalctl -b不仅适用于 Debian,而且适用于几乎所有使用 的发行版systemd

答案4

我知道这听起来很傻,但是当其他选择都不起作用而你又绝望的时候,你可以拿起手机并在启动时录制屏幕,然后以较低的速度播放视频来查看它们。

如果您想以编程方式检查启动消息,这不是一个好的解决方案,但如果您在启动期间看到错误并想要对其进行诊断,则此解决方案可以正常工作。

相关内容