Випадково видалили папку "/ usr / share"


16

Система не запускається. Зробив це, використовуючи rm - Rвипадково. Як я можу відновити систему?


ви впевнені, що ви видалили /usr/shareпапку ... спробуйте .. увійти в систему за допомогою сеансу в реальному часі .. скопіюйте та вставте /usr/shareпапку з прямого сеансу у ваші кореневі розділи/usr/share
YuganTej

1
Що запропонував @PRATAP, може отримати його, щоб ви могли увійти в систему, але багато програм користувача зберігають там дані додатків, щоб у кращому випадку виправити лише ті програми, які використовуються вашою системою "live" (встановити медіа). Тоді вам доведеться до install --reinstallінших програм; або ви можете просто перевстановити, використовуючи "щось інше", без формату, і це буде враховувати ваші встановлені програми, стерти системні каталоги, потім встановити, а потім перевстановити додаткові програми (якщо в репортах Ubuntu); але цей варіант у будь-якому випадку може бути резервним, оскільки ви, мабуть, дізнаєтесь більше, намагаючись виправити його спочатку самостійно. Завжди відновлюються резервні копії.
guiverc

-> з просто rm -R в / usr / share НІЧЕ не видаляється. Зміст належить корінню, тому звичайний користувач не може його видалити
Rinzwind

@Rinzwind І якщо так, то чому система не завантажується? Як я можу отримати корінь, щоб виправити його?
Мувр

ти, можливо, робив sudo rm -R? Відповідь n0rbert розміщена мені добре. Це шлях
Rinzwind

Відповіді:


48

Вам потрібно перевстановити всі програми, у яких є файли /usr/share.

  1. Система завантаження з режиму відновлення з кореневою підказкою .

  2. Перерахуйте корені в режимі читання-запису за допомогою mount -o rw,remount /.

  3. Підніміть інтерфейс Ethernet та отримайте IP-адресу від сервера DHCP: dhclient enp0s3(перевірте правильність імені інтерфейсу у ip aабо ifconfig -a).

  4. Вкажіть DNS-сервер за

    rm /etc/resolv.conf
    echo "nameserver 192.168.1.1" > /etc/resolv.conf
    

    (зміна 192.168.1.1вашого шлюзу / маршрутизатора)

  5. Вам потрібно виправити dpkgпакет, оскільки він пропустить /usr/share/dpkg/cputableфайл (інакше ви зіткнетесь "E: error reading the cpu table"з будь-якою командою apt / apt-get)

    wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.19.0.5ubuntu2.1_amd64.deb
    dpkg -i dpkg_1.19.0.5ubuntu2.1_amd64.deb
    

    або встановити його з кеша:

    dpkg -i /var/cache/apt/archives/dpkg_*.deb
    
  6. оновити кеш пакету:

    apt-get update
    
  7. перевстановити основні компоненти мережі

    apt-get install --reinstall debconf linux-base
    mkdir /usr/share/python
    apt-get install --reinstall python2.7-minimal python3-minimal
    
  8. а потім скористайтеся одним вкладишем нижче:

    apt-get install --reinstall $(dpkg -S /usr/share/ | sed 's/,//g' | sed 's/: \/usr\/share//g')
    

    Вище:

    • dpkg -S /usr/share/ показує список пакунків, розділених комами
    • sed 's/,//g' - видаляє коми
    • sed 's/: \/usr\/share//g'- видаляє : /usr/shareв підсумку

    Ця частина може не працювати з повідомленнями про деякі пакунки. Наприклад, у моєму VM у мене виникли проблеми bsdmainutils, тому я перевстановив їх із:

    dpkg -i /var/cache/apt/archives/bsdmainutils_*.deb
    

    а потім перекиньте однолінійку вище.

  9. виправити зламані пакети

    dpkg --configure -a
    apt-get install -f
    
  10. нарешті виправити /etc/resolv.confпосилання

    rm /etc/resolv.conf
    ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    
  11. перезавантажити.

Примітка: фіксована система, що виникла, не показує проблем під час роботи sudo apt-get checkабо sudo debsums --all --changed.


ця команда буде використовуватися в прямому сеансі?
YuganTej

@PRATAP з режиму відновлення достатньо.
N0rbert

Гаразд, це добре .. але навіть після видалення /usr/shareгруб працюватиме нормально та показувати меню грубу? Я думаю, що мені доведеться видалити його і побачити у своїй практичній відповіді на ПК .. дякую вам ..
YuganTej

1
Я щойно перевірив це на VM. Це майже робоче рішення.
N0rbert

1
@ N0rbert Дякую за допомогу, це дійсно працює!
Мувр

2

Коротка відповідь: ви не можете, і вам доведеться перевстановити програми, як це запропоновано в попередній відповіді.

Однак перед цим я би змонтував накопичувач на іншому комп’ютері та перевіряв утиліти, які можна відновити, доступні для ext3 / ext4. Швидкий пошук в Google вказує на ці:

extundelete: http://extundelete.sourceforge.net/

easyus: https://www.easeus.com/resource/drive/ext3.htm

TestDisk: https://www.cgsecurity.org/wiki/TestDisk

Як керуватися: http://translatedby.com/you/howto-recover-deleted-files-on-an-ext3-file-system/original/

тощо.


Я пропоную, testdeleteтому що я пережив один раз: p
αғsnιη
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.