लगता है कि इस डेटा को किसी फ़ाइल में लॉग इन करने का कोई तरीका नहीं है। बूट प्रक्रिया के लिए, bootlogdपैकेज है जो फ़ाइल बनाता है /var/log/boot, लेकिन शटडाउन / रिबूट प्रक्रिया के लिए कुछ भी नहीं है। जहां तक मैं देख सकता हूं कि rsyslogया तो लॉग इन करने का कोई तरीका नहीं है , और यहां तक कि अगर वहाँ था, तो संदेश rsyslogरोक दिए जाने के बाद मुद्रित होते हैं । मेरे शटडाउन / रिबूट प्रक्रिया का एक हिस्सा रूटफुट को आसानी से रिमूव करना है और बाकी सब कुछ umount करना है, इस फाइल के लिए लॉगिंग के बाद जो अगले बूट में अभी भी वहां होगा लगभग असंभव है।
संदेशों को देखने का सबसे आसान तरीका वास्तविक / से पहले रुकने के लिए /etc/init.d/haltऔर / या /etc/init.d/rebootस्क्रिप्ट को संपादित करना है । के लिए स्क्रिप्ट, कमांड चलाएँ (या एक जीयूआई संपादक का उपयोग) और लाइन है कि वास्तविक पड़ाव करता है के लिए देखो। मेरे लिए यह पंक्ति है:haltreboothaltsudoedit /etc/init.d/halt
halt -d -f $netdown $poweroff $hddown
अन्यथा यह do_stopफ़ंक्शन के अंत में और haltकमांड को कॉल करने वाली एकमात्र लाइन होनी चाहिए । एक बार लाइन मिल जाने के बाद, बस निम्नलिखित के साथ एक नई लाइन डालें:
read -p "Press enter to halt" reply
फ़ाइल सहेजें और बाहर निकलें। अब जब आप शटडाउन करते हैं, तो जब तक आप एंटर (या 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
यह भी ध्यान दें कि इन फ़ाइलों को conffiles के रूप में सूचीबद्ध किया गया है 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इस तरह से अपग्रेड करने के दौरान कोई कंफ्यूजन नहीं होगा ।