Випадково видалили папку / bin?


-8

Я вкручувався в кореневий термінал, і я випадково видалив всю свою /binпапку. Це небезпечно? Що мені робити, щоб це виправити?

root@laptop:/# ls -l /
total 80
drwxr-xr-x   3 root root  4096 Oct 11 19:10 boot
drwxr-xr-x  16 root root  3360 Oct 11 20:21 dev
drwxr-xr-x 123 root root  4096 Oct 12 10:08 etc
drwxr-xr-x   3 root root  4096 Dec 14  2012 home
lrwxrwxrwx   1 root root    29 Oct 11 19:10 initrd.img -> boot/initrd.img-3.2.0-4-amd64
lrwxrwxrwx   1 root root    30 Oct 11 18:48 initrd.img.old -> /boot/initrd.img-3.2.0-4-amd64
drwxr-xr-x  15 root root  4096 Oct 11 18:54 lib
drwxr-xr-x   2 root root  4096 Oct 11 18:48 lib64
drwx------   2 root root 16384 Oct 11 18:47 lost+found
drwxr-xr-x   3 root root  4096 Oct 11 20:21 media
drwxr-xr-x   2 root root  4096 Dec 14  2012 mnt
drwxr-xr-x   2 root root  4096 May  6 05:27 opt
dr-xr-xr-x 150 root root     0 Oct 11 18:54 proc
drwx------   4 root root  4096 Oct 11 20:40 root
drwxr-xr-x  17 root root   680 Oct 12 10:06 run
drwxr-xr-x   2 root root  4096 Oct 11 19:09 sbin
drwxr-xr-x   2 root root  4096 Jun 10  2012 selinux
drwxr-xr-x   2 root root  4096 May  6 05:27 srv
drwxr-xr-x  13 root root     0 Oct 11 18:54 sys
drwxrwxrwt  11 root root  4096 Oct 12 11:31 tmp
drwxr-xr-x  10 root root  4096 Oct 11 18:51 usr
drwxr-xr-x  11 root root  4096 Oct 11 18:55 var
lrwxrwxrwx   1 root root    26 Oct 11 19:10 vmlinuz -> boot/vmlinuz-3.2.0-4-amd64
lrwxrwxrwx   1 root root    26 Oct 11 18:51 vmlinuz.old -> boot/vmlinuz-3.2.0-4-amd64

3
що ви випадково отримали у вашій папці?
Подорожник Geek

2
О, Боже! Ти що робив?
Маленький помічник

ви в основному видалили систему32. чудовий.
Зареєстрований користувач

Відповіді:


6

Небезпечні? Більше не - ви вже зробили небезпечну справу.

Ви щойно видалили ту частину системи, яка містить основні речі, які належать кожній системі. Згідно зі статтею Вікіпедії про FHS / bin міститься "Основні бінарні команди команд, які повинні бути доступні в режимі одного користувача; для всіх користувачів, наприклад, cat, ls, cp." Вони є МАСИВІЛЬНО важливими в деяких контекстах.

Припускаючи, що ви хочете це виправити, можливо , ви зможете скопіювати над / бін із запущеної системи - можливо, з livecd тієї ж версії вашого дистрибутива. Я не зовсім впевнений, що це спрацює.

Тим не менш, поки ви намагаєтесь зробити це, створіть резервні копії будь-яких важливих файлів у випадку, якщо щось піде не так. / etc / / home та / var можуть бути хорошими ідеями, як і srv в дистрибутивах, які ним користуються


3

Так, те, що ви щойно зробили, є суттєвою помилкою, можливо порівнянною зі видаленням програмних файлів в Windows (якщо це можливо).

Якщо у вас є інша (віртуальна) машина, ви можете спробувати це цілком пристойне і швидке рішення цієї поширеної проблеми:

Що нам потрібно?

  • ssh, rsync, sudo все ще мають бути доступними
  • у вас повинна бути подібна система, доступна у вашій мережі (з coreutils)

Процес:

  1. Скопіюйте довідник:

Знак "#" означає, що ви повинні мати корінь. Заміна "#" на "sudo" буде зроблено в більшості систем. На інших використовуйте "су".

# rsync -rv <remote-login>@<remote-server>:/bin /

або

# scp -rv <remote-login>@<remote-server>:/bin /
  1. Потім 'cd' до каталогу / bin (який повинен працювати знову)
# ln -s bash sh

Це важливо, оскільки більшість програм насправді посилаються на / bin / sh і багато сценаріїв містять його в рядку shebang (#!). Ви повинні посилатися на bash (для більшості людей) або оболонку, яку ви використовуєте (для тих, хто, ймовірно, не видалив каталог / bin).

  1. Оновлення та оновлення з вашого сховища (на Ubuntu та Debian)
# aptitude update && sudo aptitude upgrade

або

# apt-get update && sudo apt-get upgrade

Це, принаймні, має надати вам робочу систему. Можливо, вам слід перевстановити coreutils і взагалі мати різні проблеми. Вам слід створити резервну копію даних і бути обережними.


Подумайте про те, щоб просто опублікувати відповідь на U&L тут. З мертвим посиланням ця відповідь є начебто марною. Коли у вас ще є кілька представників, ви можете опублікувати цей тип відповіді на інше запитання і зв’язати його з повною відповіддю тут.
fixer1234

0

Я зробив наступне і зміг відновити свою повністю функціональну Ubuntu протягом 5 хвилин.

  1. Встановіть копію вашого Ubuntu (тієї ж версії, яка вийшла з ладу) на диск-ручку.

  2. Запустіть режим Ubuntu в реальному часі з pendrive на вашій хворій машині

  3. Знайдіть збійний накопичувач і встановіть його на вкладці "місця" в самому верхньому лівому куті вашої машини.

  4. Відкрийте термінал за допомогою Ctrl+ Alt+ T"та створіть папку бін у змонтований накопичувач, використовуючи sudo, тобтоsudo mkdir /media/bin

  5. Скопіюйте всі файли бін зі свого прямого сеансу на пристрій жертви sudo, тобто, тобтоsudo cp /bin/* /media/bin

  6. Перезавантажте, воно може відображати якесь повідомлення для оновлення прошивки (або інших повідомлень) просто ігнорувати на час і входити в систему.

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