Thoát dpkg với tệp phân tích lỗi `/ var / lib / dpkg / status`, phải làm sao?


12

Khi tôi cố gắng cài đặt bất kỳ phần mềm nào, tôi gặp phải lỗi này và do đó tôi không thể cập nhật.

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)

Câu trả lời:


27

Bạn thật may mắn! Bạn có bản sao lưu! Và thậm chí nhiều hơn, chúng được thực hiện hàng ngày mà bạn không biết! Vì vậy, để khôi phục các tập tin chỉ cần chạy:

sudo rm /var/lib/dpkg/status
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status
sudo apt-get update

Làm xong!

Nếu bạn cần các tập tin cũ hơn, có nhiều lựa chọn hơn:

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

Chỉ cần giải nén chúng bằng cách sử dụng gunzip:

gunzip -c /var/backups/dpkg.status.6.gz > /var/lib/dpkg/status

Nếu các bản sao lưu không tốt, một cách khác là thực hiện một danh sách các docnội dung thư mục:

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/debianpropet.htmlm


2
cảm ơn chúa tôi có một địa vị cũ để phục hồi. Sau khi cp nó sang bên phải, nhập sudo dpkg - thông minh -a sửa tất cả vấn đề! Cảm ơn!
Robert
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.