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