Нічого не відбувається, поки ви не спробуєте перезавантажити. Поки система працює, і ви не намагаєтесь перемикати рівні запуску, запустивши /sbin/init
n , ви навіть не зрозуміли б, що вона пропала.
Насправді, видалення цього /sbin/init
неможливо, якщо ви зрозумієте помилку рано та залишаєтесь спокійними. Системні адміністратори оговталися від набагато неприємних "лоботомій" , зберігаючи операційну систему.
Один із способів відновлення після видалення /sbin/init
- перевстановити upstart
пакет за допомогою APT.
Macho спосіб відновити - це використовувати лише ресурси на самій машині. Одним із факторів на вашу користь є те, що /sbin/init
завжди працює. Тому при запуску rm /sbin/init
файл просто від’єднується від файлової системи. Вміст inode та файлу залишається на диску та в пам'яті, поки PID 1 не вийде. Вам просто потрібно заново створити /sbin/init
з відповідного inode.
Самий простий спосіб для досягнення цієї мети є:
# cp /proc/1/exe /sbin/init
# chmod 755 /sbin/init
-L
- не вийде.cp /proc/fd/1/exe /sbin/init && chmod 755 /sbin/init
працює, хоча. Використання APT для повторної установки запуску не так очевидноdpkg
, як невідомо, що воно пройшло за замовчуванням. "Початковий пакет пакета вже в поточній версії." Ви моглиdpkg --force-depends --force-remove-essential -r upstart
першими.