вихід dpkg з файлом розбору помилок `/ var / lib / dpkg / status`, що робити?


12

Коли я намагаюся встановити будь-яке програмне забезпечення, я стикаюся з цією помилкою, тому не можу оновити.

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)

Відповіді:


27

Щасливчик! У вас є резервні копії! І навіть більше, вони робляться щодня, не знаючи вас! Отже, для відновлення файлів просто запустіть:

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

http://www.debianhelp.co.uk/debianproblem.htm


2
слава богу, я маю ще один статус-старий, щоб зробити відновлення. Після cp його праворуч, введіть sudo dpkg --configure - виправте всю проблему! Спасибі!
Роберт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.