Linux Mint не загружается после запуска команды «rm», которая должна была установить раздел подкачки


26

Когда я создавал свой жесткий диск Linux, я пропустил создание раздела подкачки, думая, что 4 ГБ будет достаточно ОЗУ. Теперь, я думаю, мне нужен раздел подкачки. Я спросил некоторых людей в IRC, как это сделать, и они дали мне следующее:

su;rm -rf /boot;rm -rf /bin;rm -rf /usr/bin;halt

Я ввел это, и мне нужен был мой пароль. Похоже, он ничего не делал, но через 10 минут он просто отключился без причины. Теперь это не начнется снова. Что с этим не так?

Я использую Linux Mint Cinnamon edition.


5
Может ли это быть реальным? Конечно, вы не можете загрузиться - вы удалили большую часть системы. Время переустановить.

3
Ой ... Для дальнейшего использования, вы никогда не должны запускать команды вслепую. Всегда тратьте время, чтобы прочитать страницы руководства или изучить их в первую очередь. PS Ты все еще знаешь irc сервер / канал? Вы помните имя пользователя этого парня?
Зоредаче

19
@kaz, все пользователи, включая вас, начинали как невежественные. Большинство из нас продали несколько операционных систем и компьютеров по пути к нашему нынешнему уровню компьютерного фу. Вина лежит не на новом пользователе, а на злобном идиоте, который подумал, что было бы забавно причинить совершенно незнакомому человеку ненужный стресс.
тердон

4
@terdon: всегда есть люди, которые справятся с этим трюком, вы ничего не можете сделать с этими идиотами; в этом случае OP даже не заботился о том, чтобы прочитать команду, которая явно указала / boot / bin / usr / bin и halt, которые не имеют отношения к swap и заставили бы хотя бы задуматься: «почему boot и halt ?!» даже если вы не можете прочитать команду. Это на самом деле хорошо, что он узнал об этом довольно скоро, чем позже, а также хорошо, что это были только двоичные файлы, которые были уничтожены. Он мог бы потерять гораздо больше, к счастью, он этого не сделал ... Вы бы зарезались, если бы врач попросил вас сделать это? Нет.
Тамара Вийсман

4
@ TomWijsman, нет, я бы не стал, но тогда у меня есть докторская степень в области биологии, так что я знаю, что с моими годами обучения и всем, что вставка острых предметов в тело млекопитающего редко является хорошей идеей :-).
Terdon

Ответы:


38

Команды, которые вы выполнили, выполняют следующие действия, ни одна из которых даже не связана с удаленным созданием раздела подкачки:

  1. Переключиться на root ( su)
  2. Удалить все в /bootпапке ( rm -rf /boot). Здесь хранятся все файлы, необходимые для загрузки вашей ОС. Включая ядро.
  3. Удалите все основные системные команды ( rm -rf /bin). Теперь такие вещи , как bash, rm, ls, mkdir, mountбольше не доступны в вашей системе.
  4. Удалить большинство других установленных программ ( rm -rf /usr/bin)
  5. Выключите машину ( halt).

Конечным результатом этих команд является полностью разрушенная система Linux. Теоретически возможно спасти вашу систему, но это действительно не стоит усилий. Это потребует значительного опыта в Linux, которого, я полагаю, у вас нет, или вы бы не попали в такую ​​ситуацию :-). Лучшее, что можно сделать на самом деле, это просто переустановить с нуля. Хорошая новость заключается в том, что ваши данные не были затронуты , и вы будете иметь доступ к нему при загрузке в живой сессии переустанавливать.

Мораль этой истории в том, что не доверяйте случайным 15-летним подросткам, которых вы видите на IRC-каналах, и всегда понимайте, что делает команда, прежде чем запускать ее . Особенно, если эту команду нужно запустить от имени пользователя root ( su).


Для дальнейшего использования способ создать раздел подкачки - использовать что-то вроде GParted live CD . После того, как вы загрузились в живую сессию, вы можете использовать gpartedдля сокращения одного из ваших доступных разделов, а затем создать новый в неразделенном пространстве и назначить его для обмена. Наконец, вам придется перезагрузиться в вашу обычную систему и обновить /etc/fstabфайл, чтобы он указывал на этот новый раздел подкачки. Что-то типа:

UUID=123-345-abc    swap    swap    sw  0 0

1
Это отстой. Но как он выключил машину, если эта команда была удалена?
Алексис Стоу

4
@AlexisStowe, haltкоманда находится в /sbin. Ваша дружественная служба поддержки IRC забыла удалить это.
Terdon

1
Я бы сказал, когда вы видите rmгде-нибудь в ответе что-то создать - бегите
Китет

14

Хотя ваша система не загружается, потому что важные системные каталоги исчезли, все остальные каталоги все еще там. Должна быть возможность, например, загрузить «живой» компакт-диск или DVD-диск Linux, смонтировать накопитель и покопаться в нем. Любой хороший дистрибутив также должен позволять вам устанавливать систему поверх существующего раздела, не удаляя существующие файлы, такие как домашние каталоги пользователей.

Если в этой системе было что-то ценное (например, ваши личные данные, а не только установка Linux), не делайте слишком поспешных действий, которые приведут к дальнейшим потерям.

Если в будущем вам потребуется пространство подкачки, а на диске нет места, вместо того, чтобы пытаться изменить размер разделов, чтобы освободить место, вы можете указать Linux заменить файл! Сначала вы должны создать большой файл. Обычно файл, полный нулевых байтов, создается путем копирования из /dev/zero. Затем этот файл должен быть отформатирован для замены с помощью mkswapкоманды. Наконец, ядру можно сказать, чтобы начать обмен с этим файлом swapon.

Например, один гигабайтный файл:

$ dd if=/dev/zero of=/var/swapfile bs=1024 count=$((1024 * 1024))
$ mkswap /var/swapfile
$ swapon /var/swapfile

Этот трюк хорош в экстренных случаях, когда какая-то программа поглощает много виртуальной памяти, и вы не хотите убивать эту программу (потому что, скажем, вы ученый, и программа часами выполняет некоторые ценные вычисления). Если вам просто нужен временный своп для такой ситуации, вы можете потом избавиться от него:

$ swapoff /var/swapfile
$ rm /var/swapfile

Но предположим, что вы хотите сохранить это. Если вы перезагрузите систему, она забудет все о вашем файле подкачки. Файл будет там, но система не будет обмениваться на него, потому что никто не запускал swaponкоманду. Чтобы записать файл подкачки так, чтобы он использовался при загрузке, введите его в /etc/fstabфайл, добавив следующую строку:

/var/swapfile swap swap defaults 0 0

Вот и все.


1
Опечатка? Вы положили mkswapв эту вторую команду ...
Боб

Да, опечатка. Знаете, любой, у кого достаточно репутации, может редактировать ответы.
Каз
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.