Ничего не происходит, пока не попробуешь перезагрузиться. Пока система работает, и вы не пытаетесь переключать уровни выполнения с помощью /sbin/init
n , вы даже не поймете, что она исчезла.
На самом деле, удаление /sbin/init
невозможно отменить, если вы рано поймете ошибку и сохраните спокойствие. Системные администраторы оправились от гораздо более неприятных «лоботомий» при сохранении работоспособности операционной системы.
Один из способов восстановления после удаления /sbin/init
- переустановить upstart
пакет с помощью APT.
Мачо способ восстановления состоит в том, чтобы использовать только ресурсы на самой машине. Одним из факторов в вашу пользу является то, что /sbin/init
всегда работает. Поэтому, когда вы запускаете rm /sbin/init
, файл просто не связан с файловой системой. Содержимое индекса и файла остается на диске и в памяти до выхода 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 для переустановки upstart не так очевидноdpkg
, так как он не будет знать, что по умолчанию. «Пакет выскочил уже в текущей версии». Вы могли бы вdpkg --force-depends --force-remove-essential -r upstart
первую очередь.