نادرًا ما تكون إعادةُ التشغيل هي المشكلة. الذي ينكسر هو الشيءُ الذي شغّله أحدهم باليد أثناء حادثةٍ ولم يفعّله، فيظلّ عائدًا ما دام لا أحد يعيد تشغيل الجهاز. اعثر على تلك الأشياء قبل أن تحتاج إعادةَ التشغيل لا بعدها.

قبلها: ما الذي يعمل وهو غير مفعَّل

systemctl list-units --type=service --state=running --no-pager \
  | awk '{print $1}' | grep '\.service$' \
  | xargs -I{} sh -c 'systemctl is-enabled {} >/dev/null 2>&1 || echo "NOT ENABLED: {}"'

كلُّ ما يُطبَع لن يعود. فعّله الآن: sudo systemctl enable name.

وافحص أيضًا

  • التركيباتِ التي صُنعت باليد — findmnt مقابل /etc/fstab. انظر إضافة قرصٍ ثانٍ.
  • قواعدَ الجدار الناريّ المضافة بـ iptables مباشرةً، فهي لا تُحفَظ ما لم يُثبّتها شيء.
  • وكلَّ ما شُغّل داخل جلسة tmux أو screen، فتلك لا تنجو.
  • وتحديثَ نواةٍ معلَّقًا، لتعرف أتغيّر هذه الإعادةُ النواةَ أيضًا.

أعد التشغيل

sudo shutdown -r +1 "maintenance reboot"   # a minute of warning
# or now:
sudo systemctl reboot

بعدها: أثبت ولا تفترض

systemctl --failed --no-pager
systemd-analyze blame | head
df -h
curl -sS -o /dev/null -w '%{http_code}\
' https://yourdomain.com
أفضلُ وقتٍ لاختبار إعادة التشغيل حين لا شيء معطوب. فخادمٌ يعمل منذ أربعمائة يومٍ فيه أربعمائة يومٍ من تغييراتٍ يدويّةٍ غير موثَّقة، وأوّلُ إعادةِ تشغيلٍ تجدها كلَّها دفعةً واحدة.
وإن لم يعد الجهاز فأنت محتاجٌ إلى وحدة تحكّمٍ من لوحة المزوّد لا إلى SSH. اعرف أين ذلك الزرّ قبل أن تحتاجه.