Что происходит, если я пытаюсь удалить саму Ubuntu, в то время как зарегистрированный?

Что произошло бы, если я удаляю / каталог, в то время как зарегистрировано как корень в Ubuntu?

Я получил бы своего рода ошибку к эффекту Error: unable to self-destruct? Или я на самом деле смог бы удалить каталог?

7
задан 29 June 2015 в 08:00

4 ответа

Я действительно пробовал это на живом USB для ответа на вопрос о Quora некоторое время назад (есть еще один отличный ответ Эрика Бауэрсокса).

Первая попытка на установленной системе, где я был уверен, что ничего не произойдет:

# cd /
# rm -rf /
rm: it is dangerous to operate recursively on `/'
rm: use --no-preserve-root to override this failsafe
# rm -rf .
rm: cannot remove directory: `.'
#

Итак, я попробовал это на живом USB (цитата из моего исходного поста):

[ 119] Эрик Бауэрсокс вдохновил меня попробовать его на живом USB (без настойчивости). Как он сказал, огромное количество ошибок об используемых в настоящее время файлах, плюс еще один огромный набор ошибок об используемой файловой системе, доступной только для чтения, в конечном итоге приводили к постепенному исчезновению частей графического интерфейса: сначала значки в панели запуска Unity, затем значок для HUD, затем значки в системном трее. Когда все закончилось (удивительно быстро), только терминал мог сосредоточиться, щелкнув где-либо еще, не сработало. Я мог открыть что-нибудь еще, даже не настройки терминала. Меню локализации и часовые апплеты открывались, но не работали.

Переключение на другие ttys работало один раз (я не удосужился попробовать какие-либо команды), но как только я переключился на GUI, ничего не получалось.

Вот как это выглядело тогда: enter image description here

На данный момент ничего не работает. За исключением кнопки питания и клавиш Magic SysRq.


Удаление разделяемых библиотек или самого rm не должно вызывать каких-либо проблем, поскольку обе они были бы загружены в память при запуске rm.

9
ответ дан 23 November 2019 в 06:16

Таким образом, я сделал это в выполнении Ubuntu 14.10 VM в Virtualbox. Я не потрудился устанавливать его сам, но загрузил тот непосредственно от osboxes.org

, Выполнение sudo rm -rf --no-preserve-root / в терминале вызвало это:

  • кнопки Some начали исчезать в средстве запуска
  • Затем, средство запуска увели
  • , И наконец весь рабочий стол с выполнением терминала исчез
  • Левый с общим "синим" экраном (так) bsod

, Который был только видимой частью. Я не позволял ему работать очень долго и закрываю машину.

Так rm не был полностью succesfull, потому что были некоторые файлы, лежащие вокруг все еще: / мусорное ведро, / выполненный, некоторая часть / lib, и/var

, Но никакой / загружаются и никакое ядро, оставленное, таким образом, это было не загрузочным снова даже при том, что модули были все еще там.

Редактирование : Выполнение его от консоль (Ctrl-Alt-F1 или Правильный-Ctrl F1 в vbox) является намного большим количеством sucessfull, хотя менее захватывающий.

Это выкладывает ошибки о/sys файле, который это не может удалить, то же в/proc. Но нет ничего после того, как это завершится. Только некоторые устройства под/dev и некоторые файлы в выполненном/.

5
ответ дан 23 November 2019 в 06:16

НИКОГДА не делайте ЭТОГО, но если бы Вы сделали sudo rm -rf / эти rm, то команда, работая как root, счастливо начала бы удалять. Если бы это нашло файл, это удалило бы его. Если бы rm нашел каталог, он ввел бы каталог, удалил бы все файлы, то удалил бы каталог. В конечном счете, rm исчерпает файлы для удаления или удалит потребности файла rm (как динамическая библиотека):

$ ldd $( type -p rm)
linux-vdso.so.1 =>  (0x00007ffd4a978000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f905b7be000)
/lib64/ld-linux-x86-64.so.2 (0x00007f905bbcc000)

, Когда rm удалит /lib/x86_64-linux-gnu/libc.so.6 или /lib64/ld-linux-x86-64.so.2, это, вероятно, повредится.

Linux берет свою философию от Unix: "Мощные инструменты мощны, не допускают пальцы в оборудование".

1
ответ дан 23 November 2019 в 06:16

Если ваша цель - удалить папку / и все подпапки, вы можете загрузить Live PenDrive и использовать Gparted, чтобы удалить раздел /, который включен, и перестроить его, если вы этого хотите. Если вы хотите, чтобы все другие папки в корневом каталоге находились в отдельных разделах, вы можете сделать то же самое с другими разделами. Вы просто не можете сделать это специально из командной строки, когда вы загрузились.

0
ответ дан 23 November 2019 в 06:16

Другие вопросы по тегам:

Похожие вопросы: