Когда я пытаюсь установить любое программное обеспечение, я сталкиваюсь с этой ошибкой, и поэтому я не могу обновить.
Preconfiguring packages ...
dpkg: error: parsing file '/var/lib/dpkg/status' near line 51245 package 'oracle-xe':
mixed non-coinstallable and coinstallable package instances present
N: Ignoring file 'gcl' in directory '/etc/apt/sources.list.d/' as it has no filename extension
N: Ignoring file 'gcl' in directory '/etc/apt/sources.list.d/' as it has no filename extension
E: Sub-process /usr/bin/dpkg returned an error code (2)
Счастливчик! У вас есть резервные копии! И даже больше, они делаются ежедневно без вашего ведома! Итак, чтобы восстановить файлы, просто запустите:
sudo rm /var/lib/dpkg/status
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status
sudo apt-get update
Готово!
Если вам нужны еще более старые файлы, есть из чего выбрать:
ls /var/backups/dpkg.status*
/var/backups/dpkg.status.0 /var/backups/dpkg.status.4.gz
/var/backups/dpkg.status.1.gz /var/backups/dpkg.status.5.gz
/var/backups/dpkg.status.2.gz /var/backups/dpkg.status.6.gz
/var/backups/dpkg.status.3.gz
Просто распакуйте используя gunzip
:
gunzip -c /var/backups/dpkg.status.6.gz > /var/lib/dpkg/status
Если резервные копии не годятся, другой способ - сделать список содержимого каталога doc
:
sudo -i
ls /usr/share/doc | \
grep -v [A-Z] | \
grep -v '^texmf | \
grep -v '^debian | \
awk '{print $1 " install"}' | \
dpkg --set-selections