К сожалению, я удалил каталог dpkg при снятии блокировки. По ошибке я набрал
root@sam:~$ rm -r /var/lib/dpkg
Теперь, когда я пытаюсь установить / удалить пакеты, он показывает мне следующую ошибку.
E: Could not open lock file /var/lib/dpkg/lock - open (2: No such file or directory)
Что мне теперь делать?
rm
+ -r
= бедствие Итак что вы приговорили к погибели?
ls -l /var/lib/dpkg/
total 9964
drwxr-xr-x 2 root root 4096 nov 28 11:18 alternatives
-rw-r--r-- 1 root root 11 sep 18 14:08 arch
-rw-r--r-- 1 root root 2573807 nov 28 11:18 available
-rw-r--r-- 1 root root 2561322 nov 28 10:25 available-old
-rw-r--r-- 1 root root 8 abr 24 2013 cmethopt
-rw-r--r-- 1 root root 538 sep 25 17:24 diversions
-rw-r--r-- 1 root root 457 sep 25 17:24 diversions-old
drwxr-xr-x 2 root root 483328 nov 28 11:17 info
-rw-r----- 1 root root 0 nov 28 11:18 lock
drwxr-xr-x 2 root root 4096 mar 22 2013 parts
-rw-r--r-- 1 root root 135 abr 24 2013 statoverride
-rw-r--r-- 1 root root 2269113 nov 28 11:18 status
-rw-r--r-- 1 root root 2268870 nov 28 11:18 status-old
drwxr-xr-x 2 root root 4096 nov 28 11:18 triggers
drwxr-xr-x 2 root root 4096 nov 28 11:18 updates
Вы удалили 5 каталогов, файл статуса и т. д. Итак, давайте попробуем исправить вещи. Сначала создайте каталог:
sudo mkdir -p /var/lib/dpkg/{alternatives,info,parts,triggers,updates}
Восстановите некоторые резервные копии:
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status
Теперь давайте посмотрим, работает ли ваш dpkg (начните молиться):
apt-get download dpkg
sudo dpkg -i dpkg*.deb
Если все в порядке, восстановите и ваши базовые файлы:
apt-get download base-files
sudo dpkg -i base-files*.deb
Теперь попробуйте обновить список пакетов и т. д.:
dpkg --audit
sudo apt-get update
sudo apt-get check
Теперь давайте сделаем глубокий вдох. Фух. Выполните ls -l / var / lib / dpkg
и сравните с приведенным выше списком. Если какой-то -старый
файл отсутствует, не беспокойтесь, он будет там завтра.
Ну пакет dpkg
(система управления пакетами Debian) обеспечивает низкоуровневую инфраструктуру для обработки установки и удаления пакетов программного обеспечения Debian. идея, и вы можете вернуть его, выполнив-
Загрузив файл с помощью wget
:
wget https://launchpad.net/ubuntu/+archive/primary/+files/dpkg_1.16.1.2ubuntu7.2.tar.bz2
Распакуйте его в папку xxx.
tar -xvf dpkg_1.16*
cd dpkg-1.16*
./configure
make
sudo make install
надеюсь, что это сработает.
Восстановить вашу систему из резервной копии . Вы ведь делали бэкапы? Резервное копирование системы и данных имеет решающее значение при возникновении непредвиденных ситуаций, таких как эта (ошибка пользователя) и сбой оборудования. Если вам не удалось создать резервные копии, как описано здесь , вы можете попытаться восстановить данные.
В будущем я предлагаю вам резервное копирование на регулярной основе, чтобы избежать катастрофической потери данных . И я сомневаюсь, что вы забудете, что, как сказал @Braiam: « root + rm + -r = бедствие »
Просто выполните следующие шаги, убедитесь, что вы можете восстановить файлы, по крайней мере, apt-get
или dpkg
будет работать.
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/
sudo mv /var/backups/dpkg.status.0 /var/backups/status
sudo mkdir /var/lib/dpkg/updates
После этого теста, будет ли это работать или нет.
sudo apt-get install {Package-name}
sudo dpkg -i {package_name}
Надеюсь, это сработало. Если не комментарий ниже. Имейте в виду, будьте предельно осторожны, играя с sudo + rm -rf
.