/var/log/dmesg 的功能在 xenial 16.04 中去哪儿了?

/var/log/dmesg 的功能在 xenial 16.04 中去哪儿了?

/var/log/dmesg是一个有用的启动时dmesg转储。我在 Ubuntu 16.04 中再也找不到它了。它在别的地方吗?

/var/log/kern.log*是有限的;它只在日志守护进程运行后捕获内核消息。此外,找到上次启动发生的正确的 kern.log.X.gz 文件也很麻烦。(它也可能已经被旋转掉了。))

答案1

要显示上次启动的输出,您仍然可以使用该命令dmesg

但是,Ubuntu 16.04(实际上所有 Ubuntu >=15.04)使用systemd具有日志守护进程journald和一个可以高度灵活地访问记录数据的接口:journalctl。您可以看到上次启动的日志,相当于dmesg

journalctl -k

journalctl手册页

-k, --dmesg仅显示内核消息。这意味着 -b 并添加匹配“_TRANSPORT=kernel”

dmesg过去 2 小时内的所有输出

journalctl -k --since "2 hours ago"

自上次启动以来的所有日志

journalctl -b

在日记中列出靴子

journalctl --list-boots

要设置持久日志记录,您需要配置journald- 默认情况下,其日志会非持久地写入/run/systemd/journal(二进制文件 - 尝试读取它没有用)并且在当前启动之前没有可用数据。要设置持久日志记录,请编辑文件/etc/systemd/journald.conf并取消注释该行#Storage=auto并更改autopersistent。使用您最喜欢的文本编辑器或

sudo sed -i.bak 's/#Storage=auto/Storage=persistent/' /etc/systemd/journald.conf

然后你必须重新启动服务(或重启)

sudo systemctl restart systemd-journald

启用持久日志记录后,您将来可以使用所有功能,journalctl例如,查看当前启动之前的启动信息

journalctl -b -2

相关页面精彩的<3 Arch Wiki <3 提供了更多使用技巧和窍门journalctl

相关内容