rm /*
следует удалить очень мало. Там нет -r
флага, который бы рекурсивно удалял что-либо, и без этого каталоги не будут удалены (и даже если каталоги были удалены, могут быть удалены только пустые). Этот ответ основан на предположении, что вы не работали rm -rf /*
.
В качестве единственных файлов в корневой файловой системе могут быть символические /lib64
ссылки на ядро и initrd (хотя в одной из систем Ubuntu, на которые я смотрю, их нет) или символическая ссылка на 64-битных системах.
Проблема может быть просто в том, что /lib64 -> /lib
символическая ссылка была удалена. Это довольно неприятно, поскольку почти каждая программа будет полагаться на эту символическую ссылку:
$ ldd /bin/bash
...
/lib64/ld-linux-x86-64.so.2 (0x00007f8946ab7000)
Это ld-linux
динамический загрузчик, и если он недоступен, вы не можете запускать динамические исполняемые файлы. Это очень усложнит вход в систему, а вы вообще не сможете.
Один спаситель может быть busybox
. Запустите это, чтобы проверить:
$ ldd /bin/busybox
not a dynamic executable
В этом случае busybox должен быть запущен, но вопрос в том, как его запустить?
Если у вас есть доступ к приглашению загрузчика, возможно, вы сможете выполнить загрузку init=/bin/static-sh
, где static-sh является символической ссылкой busybox
(проверка /bin/static-sh
существует - она существует в моей системе, но это не стандартная версия Ubuntu. Эта ошибка предполагает, что она доступна .)
Получив корневую оболочку, вы можете заново создать /lib64
символическую ссылку. Возможно, вам придется сначала перемонтировать корневую файловую систему как чтение / запись. В busybox должны быть встроены эти инструменты, которые вы можете запустить следующим образом:
# busybox mount -o remount,rw /
# busybox ln -s /lib /lib64
# /bin/bash
bash#
Если bash работает, проблема должна быть исправлена.
-r
аргументrm
или просто выполняли указанную вами команду. Предоставляет ли ваш хостинг-провайдер какой-либо способ доступа к образам дисков вне этой конкретной машины?