이 데이터를 파일에 기록 할 방법이없는 것 같습니다. 부팅 프로세스 bootlogd
에는 파일을 생성하는 패키지가 /var/log/boot
있지만 종료 / 재부팅 프로세스에는 없습니다. 내가 볼 수있는 한 로그인 할 수있는 방법이 없습니다rsyslog
한, ,있는 경우에도 rsyslog
중지 후 인쇄 된 메시지 가 있습니다. 종료 / 재부팅 프로세스의 일부는 rootfs를 읽기 전용으로 다시 마운트하고 다른 모든 부트를 마운트 해제하는 것입니다. 다음 부팅시 여전히 존재하는 파일에 로깅 한 후에는 사실상 불가능합니다.
메시지를 보는 가장 쉬운 방법 은 실제 / 바로 전에 일시 중지하도록 스크립트 /etc/init.d/halt
및 / 또는 /etc/init.d/reboot
스크립트를 편집하는 것 입니다. 의 경우 스크립트 명령을 실행 (또는 GUI 편집기 사용) 실제 정지를 수행하는 라인과 모양을. 나를 위해 이것은 라인입니다 :halt
reboot
halt
sudoedit /etc/init.d/halt
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
패키지의 conffile로 나열됩니다 . 이러한 수정 사항은 패키지를 업그레이드 할 때 충돌을 일으키지 만 기본적으로 방해받지 않습니다.
보다 완벽한 해결책은 다음 스크립트를 사용하는 것입니다.
#! /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
이 방법으로 업그레이드하는 동안 conffile 충돌 도 없습니다 .