Linux Mint не завантажується після запуску команди "rm", яка мала встановити розділ swap


26

Коли я створював свій жорсткий диск Linux, я пропустив створення розділу swap, думаючи, що 4 ГБ буде достатньо оперативної пам’яті. Тепер я думаю, що мені потрібен розділ swap. Я запитав деяких людей у ​​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: Завжди є люди, які відтягнуть цю хитрість, нічого не можна зробити щодо цих ідіотів; в цьому випадку ОП навіть не переймався читанням команди, яка, очевидно, заявила / boot / bin / usr / bin and halt, які всі не мають відношення до заміни, і змусило б принаймні замислитися: "чому завантажувати і зупиняти ?!" навіть якщо ви не можете прочитати команду. Насправді добре, що він дізнався про це досить скоро, ніж пізніше, а також добре, що це лише бінарні файли, які витираються. Він міг би втратити набагато більше, радісно, ​​що цього не зробив ... Невже б ти зарізав себе, якби лікар попросив тебе це зробити? №
Тамара Війсман

4
@TomWijsman, ні я не хотів би, але тоді, я маю доктор біологічних наук, тому я знаю, що з моїми роками навчання і все, що вставляти гострі предмети в тіло ссавців рідко є доброю ідеєю :-).
тердон

Відповіді:


38

Команди, які ви виконували, виконують такі дії, жодна з яких навіть віддалено не пов'язана зі створенням розділу swap:

  1. Перейти до кореня ( 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 . Після завантаження в реальний сеанс ви можете gpartedзменшити один із наявних розділів, а потім створити новий у нерозподіленому просторі та призначити його для заміни. Нарешті, вам доведеться перезавантажитись у звичайній системі та оновити /etc/fstabфайл, щоб вказати на цей новий розділ swap. Щось на зразок:

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

1
Це смокче. Але як воно вимкнуло машину, якщо цю команду було видалено?
Alexis Stowe

4
@AlexisStowe, haltкоманда входить /sbin. Ваша дружня технічна підтримка IRC забула видалити цю.
тердон

1
Я б сказав, коли rmдесь побачиш відповідь, щоб щось створити - біжи.
Kitet

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

Але припустимо, ви хочете зберегти це. Якщо ви перезавантажите систему, вона забуде про ваш файл swap. Файл буде там, але система не буде його замінювати, оскільки ніхто не виконував swaponкоманди. Щоб записати файл swap так, щоб він використовувався під час завантаження, введіть його у /etc/fstabфайл, додавши рядок типу:

/var/swapfile swap swap defaults 0 0

Це воно.


1
Друкарська помилка? Ви поклали mkswapцю другу команду ...
Боб

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