Я не пробував цю команду на Ubuntu (з очевидних причин), тому я не впевнений, чи дозволить Ubuntu її виконання.
Я робив. rm -rf / --no-preserve-root
працює під час кореневого сеансу, відкритого безпосередньо на машині, в той час як я також був підключений через ssh
іншу машину, використовуючи також root-акаунт.
Що стається, це те, що ви починаєте отримувати багато повідомлень на кшталт:
rm: не можна видалити '/ ...': Операція не дозволена
або:
rm: не можна видалити '/ ...': Пристрій чи ресурс зайнятий
Дивно, але ssh
з'єднання залишалося відкритим до кінця операції. Лише коли я закрив з'єднання і спробував його відновити, з’явилася помилка:
Не вдалося прочитати з розетки: з’єднання скидається одноранговим
На машині залишаються чотири каталоги:
/dev
. Тут зберігаються файли пристроїв.
/proc
- файлова система пам'яті, створена ядром.
/run
, стандартизоване розташування файлової системи для демонів.
/sys
. Це дозволяє отримати інформацію про систему та її компоненти.
Це означає, що там залишилося не так багато, і мало що робити. Ви не можете ls
(хоча під час використання Tabназви каталогів та файлів все ще відображаються). Ви можете cd
знаходитись у різних каталогах, а також echo
вміщувати файли, але такі команди, як такі, cat
більше не доступні.
Немає жодної sudo
.
shutdown -h now
і reboot
зник, а також ваш єдиний варіант, здається, повернути машину вручну. Вихід ( exit
) не працює, навіть якщо він показує гарний текст "виходу".
Коли ви спробуєте перезавантажити машину, вам з’явиться приємна помилка GRUB 15, і тоді нічого не станеться, і тоді ви можете почати думати, що ви rm
могли зробити щось погано для вашої системи.
Ви також можете це зробити
Ні, чекайте, не робіть цього на своїй машині!
Замість цього можна запустити віртуальну машину . Вигідні машини мають перевагу зробити експерименти по-справжньому просто. Оскільки ви використовуєте Ubuntu, вас може зацікавити vmbuilder . Це інструмент, який дозволяє розгорнути віртуальні машини за лічені хвилини (офіційна документація стверджує, що це можна зробити "приблизно за хвилину", але фактичний час, навіть на швидкому апаратному забезпеченні, становить приблизно дві-три хвилини .
Як тільки розгортання закінчиться, у вас з’явиться середовище, з яким можна грати. Якщо ви врешті-решт знищите його, не має значення: ви знову розгорнете машину, а через дві хвилини можете продовжити.
Якщо ви використовуєте програмне забезпечення, таке як VMWare, вас також можуть зацікавити знімки (зауважте, що у безкоштовного програвача VMWare немає цієї функції; вам потрібно придбати робочу станцію VMware). Зауважте, що Hyper-V безкоштовний і підтримує знімки (але вам потрібно запустити Windows).
Перевага знімків полягає в тому, що ви можете зробити їх за лічені мілісекунди. Відкат до знімка займає більше часу, але часто це за секунди. Це робить експерименти ще простішими та швидшими.
Цей експеримент не обмежується самою операційною системою. Ви можете робити все, що стосується програмного забезпечення. Отримали підозрілу заявку? Перевірте його у вітчизняній машині - якщо це вірус, він не принесе ніякої шкоди. Хочете перевірити роботу над базою даних, враховуючи, що це може вплинути на навколишнє середовище? Перевірте його в VM.
Що робити, якщо ви зробили це на справжній нетестовій машині?
Погані речі трапляються. Зауважте, що rm
захищає вас від себе: rm -rf /
не вийде: вам потрібно користуватися --no-preserve-root
. Але що робити, якщо ви насправді досягли помилки, щоб все зняти?
rm
лише видаляє файли , але дані все ще є на вашому жорсткому диску. Це дає можливість відновити його пізніше (саме тому не слід просто викидати жорсткі диски з конфіденційними даними, коли вони більше не працюють).
Це означає, що вам потрібно просто мати запасний ПК із корпусом жорсткого диска, щоб фактично відновити майже всі файли. Важливо - не уникати запису на жорсткий диск для відновлення: дані, які ви записуєте, перезаписують непов'язані файли.
Як зазначається у статті в коментарі 200_success , якщо ви працюєте спритно, ви можете повернути машину навіть без запасного ПК. Якщо ви дбаєте лише про дані, я б не переймався - відновити їх за допомогою запасного ПК набагато простіше.
rm -rf /
нічого не видаляє без--no-preserve-root
.