Система не запускается. Сделал это с помощью rm - R
случайно. Как я могу восстановить систему?
Краткий ответ: вы не можете и вам нужно переустанавливать приложения, как было предложено в предыдущем ответе.
Однако до этого я подключал диск к другому компьютеру и проверял утилиты восстановления, доступные для 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/
и т. д.
Вам необходимо переустановить все приложения, у которых есть файлы в /usr/share
.
Загрузите систему из режима восстановления с приглашением root .
Переустановить rootfs в режим чтения-записи с помощью mount -o rw,remount /
.
Поднять интерфейс Ethernet и получить IP-адрес от DHCP-сервера: dhclient enp0s3
(проверьте правильное имя интерфейса в ip a
или ifconfig -a
).
Укажите DNS-сервер с помощью
rm /etc/resolv.conf
echo "nameserver 192.168.1.1" > /etc/resolv.conf
(измените 192.168.1.1
на ваш шлюз / маршрутизатор)
Вам необходимо исправить 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
обновить кеш пакета:
apt-get update
переустановить необходимые компоненты
apt-get install --reinstall debconf linux-base
mkdir /usr/share/python
apt-get install --reinstall python2.7-minimal python3-minimal
и затем использовать однострочник ниже:
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
, а затем снова перешел на одну строчку выше.
исправляют поврежденные пакеты
dpkg --configure -a
apt-get install -f
окончательно исправляют ссылку /etc/resolv.conf
путем перезагрузки
rm /etc/resolv.conf
ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
.
Примечание: результирующая фиксированная система не показывает никаких проблем при выполнении sudo apt-get check
или sudo debsums --all --changed
.