Я случайно выполнил rm /*
вход в систему как пользователь root на удаленном сервере Ubuntu и удалил почти все двоичные файлы, и в настоящее время я не могу войти в систему через ssh или ftp для восстановления файлов (и надеюсь на лучшее).
Есть ли способ как-то исправить этот беспорядок, или я должен позвонить в центр обработки данных и попросить формат?
rm
data-recovery
Муравей
источник
источник
-r
аргументrm
или просто выполняли указанную вами команду. Предоставляет ли ваш хостинг-провайдер какой-либо способ доступа к образам дисков вне этой конкретной машины?Ответы:
rm /*
следует удалить очень мало. Там нет-r
флага, который бы рекурсивно удалял что-либо, и без этого каталоги не будут удалены (и даже если каталоги были удалены, могут быть удалены только пустые). Этот ответ основан на предположении, что вы не работалиrm -rf /*
.В качестве единственных файлов в корневой файловой системе могут быть символические
/lib64
ссылки на ядро и initrd (хотя в одной из систем Ubuntu, на которые я смотрю, их нет) или символическая ссылка на 64-битных системах.Проблема может быть просто в том, что
/lib64 -> /lib
символическая ссылка была удалена. Это довольно неприятно, поскольку почти каждая программа будет полагаться на эту символическую ссылку:Это
ld-linux
динамический загрузчик, и если он недоступен, вы не можете запускать динамические исполняемые файлы. Это очень усложнит вход в систему, а вы вообще не сможете.Один спаситель может быть
busybox
. Запустите это, чтобы проверить:В этом случае busybox должен быть запущен, но вопрос в том, как его запустить?
Если у вас есть доступ к приглашению загрузчика, возможно, вы сможете выполнить загрузку
init=/bin/static-sh
, где static-sh является символической ссылкойbusybox
(проверка/bin/static-sh
существует - она существует в моей системе, но это не стандартная версия Ubuntu. Эта ошибка предполагает, что она доступна .)Получив корневую оболочку, вы можете заново создать
/lib64
символическую ссылку. Возможно, вам придется сначала перемонтировать корневую файловую систему как чтение / запись. В busybox должны быть встроены эти инструменты, которые вы можете запустить следующим образом:Если bash работает, проблема должна быть исправлена.
источник
Если вам нужно восстановить файлы из текущей установки, попросите вашего хоста помочь вам. Предполагая, что это виртуальная машина, им требуется около пяти минут в день для создания образа вашего диска, переустановки хоста с нуля и выгрузки старого образа диска в новую файловую систему.
Если вам ничего не нужно, просто переустановите их. Почти всегда более быстрый вариант, когда вы сильно костей.
источник
Если вы только что удалили символическую ссылку / lib64 на / lib и у вас по-прежнему открыта консоль, просто выполните:
и вы сможете снова запускать команды в обычном режиме. Отрегулируйте путь к вашей фактической библиотеке ld. Вы также можете запустить любую другую команду, просто указав ей полный путь к библиотеке ld.
источник
Без доступа к физическому серверу мало что можно сделать.
источник