Случайно удалил & ldquo; / usr / share & rdquo; папка

Система не запускается. Сделал это с помощью rm - R случайно. Как я могу восстановить систему?

17
задан 29 April 2019 в 18:37

2 ответа

Краткий ответ: вы не можете и вам нужно переустанавливать приложения, как было предложено в предыдущем ответе.

Однако до этого я подключал диск к другому компьютеру и проверял утилиты восстановления, доступные для ext3 / ext4. Быстрый поиск в Google указывает на следующие:

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

easeus: 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/

и т. д.

0
ответ дан 29 April 2019 в 18:37

Вам необходимо переустановить все приложения, у которых есть файлы в /usr/share.

  1. Загрузите систему из режима восстановления с приглашением root .

  2. Переустановить rootfs в режим чтения-записи с помощью 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

    Эта часть может не работать с сообщениями о некоторых пакетах. Например, на моей виртуальной машине у меня возникла проблема с 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.

0
ответ дан 29 April 2019 в 18:37

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

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