我正在使用 Lubuntu 11.10。每次我关闭时,我都可以看到红色字体的“FAIL”,但我无法阅读更多内容。
那么,如何读取日志消息并尝试解决问题呢?
答案1
似乎没有办法将此数据记录到文件中。对于启动过程,有bootlogd
创建文件的包/var/log/boot
,但没有用于关闭/重新启动过程的包。据我所知,两者都无法登录rsyslog
,即使有,也会在rsyslog
停止后打印消息。我的关闭/重新启动过程的一部分是以只读方式重新挂载 rootfs 并卸载其他所有内容,在此之后记录到下次启动时仍然存在的文件几乎是不可能的。
我可以看到查看消息的最简单方法是编辑/etc/init.d/halt
和/或/etc/init.d/reboot
脚本以在实际halt
/之前暂停reboot
。对于halt
脚本,运行命令sudoedit /etc/init.d/halt
(或使用 GUI 编辑器)并查找实际停止的行。对我来说这是一行:
halt -d -f $netdown $poweroff $hddown
否则,它应该位于函数的末尾do_stop
,并且是调用命令的唯一行halt
。找到该行后,只需在上面插入一个新行,其中包含以下内容:
read -p "Press enter to halt" reply
保存文件并退出。现在,当您关机时,系统将暂停,直到您按 Enter 键(或 CTRL-C、CTRL-D 等)。您可以阅读屏幕上打印的消息。如果文本超过一屏,您可以通过按 查看终端回滚Shift+PgUp
。如果这仍然不够,有一些方法可以增加回滚缓冲区的大小(尽管可能是一个不同的问题)。
要在系统重新启动时执行相同的操作,您必须编辑该/etc/init.d/reboot
文件。这里使用的命令当然是reboot
与函数相反的halt
,并且应该再次位于函数的末尾do_stop
。对我来说,这条线是:
reboot -d -f -i
再次在上面的新行中插入以下内容:
read -p "Press enter to reboot" reply
另请注意,这些文件被列为initscripts
包的配置文件。默认情况下,当软件包升级时,这些编辑不会被破坏,尽管它们会导致冲突。
更完整的解决方案是使用以下脚本:
#! /bin/sh
### BEGIN INIT INFO
# Provides: pause_hook
# Required-Start:
# Required-Stop: halt reboot
# Default-Start:
# Default-Stop: 0 6
# X-Stop-After: umountroot
# X-Interactive: true
# Short-Description: Pause before halt or reboot
# Description:
### END INIT INFO
do_stop () {
[ -r /etc/pause_hook.conf ] && . /etc/pause_hook.conf
[ "$PAUSE_HOOK_ENABLED" = true ] && read -p "Press enter to continue" reply
}
case "$1" in
start)
# No-op
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
do_stop
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
它应该被放置在/etc/init.d/pause_hook
并且可以使用以下命令在关闭/重新启动时运行:
sudo update-rc.d pause_hook defaults
/etc/pause_hook.conf
要启用实际的挂钩,请创建包含以下行的文件:
PAUSE_HOOK_ENABLED=true
关闭/重新启动过程现在应该在调用halt
或reboot
脚本之前暂停,以便有时间查看消息。还可以通过注释/取消注释 中的启用行轻松禁用/重新启用它/etc/pause_hook.conf
。dpkg
通过这种方式升级期间也不会出现配置文件冲突。
答案2
最简单的解决方案可能是尝试拍摄视频而不是照片。您可以稍后逐帧浏览它。
答案3
实时查看日志
我发现在关机期间通常会显示 Ubuntu 徽标和闪烁的灯光,而不是显示关机过程的日志。如果有错误,那么它们会被显示出来,但是很混乱。但是,在关闭时,如果我按 Windows 键和r
( Metar),那么我可以看到系统服务发生时的成功和失败。这样我就知道到底是什么坏了。不知道这个键盘快捷键是否特定于我的 Kubuntu 设置还是什么;我没有添加它..我偶然发现的其中之一,不知何故......
重启后查看日志
当系统重新启动时,错误消息应保存到日志文件中。哪个日志文件取决于哪个服务被破坏/配置错误。相关日志几乎肯定位于/var/log/
(或其子目录)中。ls
、less
、grep
和find
是我在日志中查找错误消息所需的唯一程序......
一旦找到错误和导致错误的服务,您就不需要重新启动来测试新配置;只需重新启动服务即可。希望您可以使用以下命令测试固定配置:
sudo service <service name> restart
答案4
对于我的笔记本电脑,sudo halt
将执行软件关闭而不是硬件关闭。即屏幕和其他硬件保持运行。屏幕上的最后一条消息将是
系统停止
此时我只需按下电源按钮一切都关闭了。你可以试试这个。您也可以尝试sudo halt --verbose