কোনও ফাইলটিতে এই ডেটা লগ করার কোনও উপায় নেই বলে মনে হয়। বুট প্রক্রিয়াটির জন্য, এমন bootlogd
প্যাকেজ রয়েছে যা ফাইল তৈরি করে /var/log/boot
, তবে শাটডাউন / রিবুট প্রক্রিয়াটির জন্য কিছুই নেই। আমি যতদূর দেখতে পাচ্ছি যে কোনওর সাথে লগ ইন করার কোনও উপায় নেই rsyslog
, এবং যদি সেখানেও ছিল তবে সেখানে বার্তা প্রিন্ট rsyslog
করা বন্ধ রয়েছে। আমার শাটডাউন / রিবুট প্রক্রিয়াটির অংশটি হ'ল রুটফগুলি কেবলমাত্র পঠনযোগ্যভাবে পুনরায় গণনা করা এবং অন্য সমস্ত কিছুকে সামঞ্জস্য করা, এরপরের বুটটিতে থাকা এমন কোনও ফাইলে লগ ইন করার পরে কার্যত অসম্ভব।
সবচেয়ে সহজ উপায় আমি বার্তা দেখতে দেখতে পারেন সম্পাদনা করা /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
ফাইল এবং সংরক্ষণ করে প্রস্থান করুন। এখন আপনি যখন শাটডাউন করবেন, আপনি প্রবেশ প্রবেশ না করা (বা সিটিআরএল-সি, সিটিআরএল-ডি, ইত্যাদি) না হওয়া পর্যন্ত সিস্টেমটি বিরতি দেবে। আপনি পর্দায় মুদ্রিত বার্তা পড়তে পারেন। যদি একক স্ক্রিনফুল পাঠ্যের চেয়ে বেশি কিছু থাকে তবে আপনি টিপে টার্মিনাল স্ক্রোলব্যাক দেখতে পারেন 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
এইভাবে আপগ্রেড করার সময় কোনও জটিল দ্বন্দ্বও থাকবে না ।