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