Làm thế nào để sửa lỗi Gói Gói trong tình trạng lỗi không nhất quán ở trạng thái không ổn định?


93

Tôi không thể cập nhật hệ thống của mình vì hệ thống bị đóng băng trong khi cài đặt bản cập nhật của bên thứ ba (zramswap-enabler)!

Đôi khi tôi nhận được thông báo sau trong Trình quản lý cập nhật:

Không thể khởi tạo thông tin gói Một sự cố không thể giải quyết được xảy ra trong khi khởi tạo thông tin gói.

Vui lòng báo cáo lỗi này với gói 'trình quản lý cập nhật' và bao gồm thông báo lỗi sau:

E:The package zramswap-enabler needs to be reinstalled, but I can't find an archive for it.

Tôi đã cố gắng loại bỏ zramswap-enabler, nhưng không thể vì tôi nhận được thông báo sau:

dpkg: error processing zramswap-enabler (--remove):
 Package is in a very bad inconsistent state - you should
 reinstall it before attempting a removal.
Errors were encountered while processing:
 zramswap-enabler
E: Sub-process /usr/bin/dpkg returned an error code (1)

Trên thực tế tôi thực sự sẽ cài đặt lại gói đó, nhưng nó không thể làm được! Nếu tôi loại bỏ PPA của bên thứ ba này thì hệ thống sẽ cảnh báo tôi về một vấn đề rất nghiêm trọng.

Vậy tại sao tôi không thể cài đặt / cài đặt lại / gỡ bỏ / cập nhật gói này và tại sao lại đóng băng trình cập nhật nếu tôi cố cập nhật?


Câu trả lời:


117

Chỉnh sửa ra khỏi câu hỏi và thêm vào như một câu trả lời.

  1. Hãy chắc chắn rằng PPA của bạn được thiết lập.

  2. Loại bỏ gói bị hỏng thông qua lệnh sau:

    sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
    
  3. Cài đặt lại gói:

    sudo apt-get install zramswap-enabler
    
  4. Sau khi khởi động lại (không cần thiết), bạn có thể cài đặt các bản cập nhật chính xác!

Trên thực tế, bạn có thể khắc phục bất kỳ "Gói nào đang ở trong tình trạng rất không phù hợp với các vấn đề về tình trạng nghiêm trọng với giải pháp này!


1
@CharlesL Không thành vấn đề! Lưu ý rằng câu trả lời này là wiki cộng đồng và giải pháp ban đầu được tìm thấy bởi tác giả của câu hỏi, vì vậy tôi không thể tin tưởng vào nó. Tất cả những gì tôi làm là chỉnh sửa và sắp xếp lại để đưa nó vào câu trả lời.
ζ--

Tôi đã gặp một số rắc rối với cái này (14.04 đến 16.04). "gcc-doc" không hoạt động. Thông báo lỗi hiển thị /var/cache/apt/archives/gcc-doc_4%3a5.3.1-1ubuntu1_amd64.debvà các công cụ từ chối '%' trong tên, vì vậy tên đầy đủ cũng không hoạt động. Tôi đã kết thúc việc xóa các tập tin cho đến khi nó hạnh phúc - xem ubuntuforums.org/showthread.php?t=2321414&page=2 .
fadden

1
Tôi đã phải sử dụng kết hợp --force-remove-reinstreq--purge --force-dependskhi cpp-5bằng cách nào đó đã phá vỡ các vấn đề phụ thuộc.
bảnh bao

70

Điều này làm việc cho tôi sau khi quét sạch toàn bộ diễn đàn AskUb Ubuntu và Ubuntu! ( Nguồn ). Tôi đang chạy LubFi 14.04

sudo mv /var/lib/dpkg/info/<packagename>.* /tmp/
sudo dpkg --remove --force-remove-reinstreq <packagename>
sudo apt-get remove <packagename>
sudo apt-get autoremove && sudo apt-get autoclean

2
Cuối cùng! Điều này đã tạo ra mánh khóe khi dpkg và apt sẽ không gỡ bỏ hoặc cài đặt lại gói
abaelter

1
Cảm ơn. Điều này đã tiết kiệm cho tôi THỜI GIAN LỚN! Tôi đã thử bỏ qua dòng cuối cùng, theo sau là a apt-get install...và phải bắt đầu lại và thực hiện TẤT CẢ bốn dòng, cuối cùng tôi có thể thanh lọc gói hàng của mình. :)
Ryan H.

1
Câu trả lời đúng duy nhất hoạt động bất cứ lúc nào.
hai lần vào

1
Điều này giúp ích khi tôi gặp vấn đề với gcc-doc và cpp-doc sau khi nâng cấp từ 14.04. Tôi đã có nhiều công cụ gần đây cài đặt từ ppa: ubfox-toolchain-r / test và họ đã làm hỏng mọi thứ. Đạo đức của câu chuyện, thanh lọc ppas trước khi nâng cấp lên bản phát hành mới. Nhưng mẹo này đã giúp tôi sửa chữa mớ hỗn độn sau đó.
Từ thiện

1
Điều này làm việc cho tôi. Tôi đã xóa 1 tập tin để khắc phục vấn đề loại bỏ xương rồng của tôi. Đã xóa /var/lib/dpkg/info/cacti.list
Mad Man

12

Tôi đã có một tình huống tồi tệ hơn thế này. Tôi đã phải loại bỏ các gói được cài đặt một nửa bằng cách buộc các phụ thuộc.

sudo dpkg --remove --force-remove-reinstreq --force-depends <package-name>

Sau đó tôi phải cài đặt lại chúng

sudo apt-get -f install

Điều đó sẽ giải quyết bất kỳ vấn đề. Nhưng hãy chắc chắn rằng bạn có kết nối mạng khi bạn cố gắng làm điều này. Nếu không, bạn sẽ phải trải qua nhiều rắc rối hơn.


1
Tôi nhận được một lỗi: dpkg: gói xử lý lỗi debconf (--cool): gói ở trạng thái không nhất quán rất xấu; bạn nên cài đặt lại trước khi thử cấu hình Đã gặp lỗi trong khi xử lý: debconf
IgorGanapolsky

8

Các câu trả lời khác là chính xác để đề cập đến việc loại bỏ gói tiếp theo apt-get install -fđể cài đặt lại gói bị hỏng (và cài đặt đầy đủ các gói đã cài đặt một nửa khác). Tuy nhiên, điều này có thể được thực hiện trong một bước:

sudo apt-get install -f --reinstall zramswap-enabler

2

Tôi sẽ thử làm sạch trạng thái cài đặt của mình trước khi sử dụng để gỡ cài đặt mọi thứ gây ra sự cố:

apt-get autoclean
apt-get update
apt-get upgrade
apt-get install -f

Cách tốt hơn nhiều để giải quyết vấn đề này trong hầu hết các trường hợp và trong ít nhất một trường hợp đã giúp tôi khi cách khác không hiệu quả (vì phụ thuộc rất lớn vào gói phải được gỡ bỏ)


Điều này dẫn đến một lỗi:sh: 0: getcwd() failed: No such file or directory /bin/sh: 1: /usr/sbin/dpkg-preconfigure: Permission denied
IgorGanapolsky

1
Tôi đoán bạn đã làm điều này từ một tài khoản không phải quản trị viên. Hãy thử tiền tố mỗi dòng bằng sudo hoặc đăng nhập hoàn toàn bằng root (tức là với: "sudo su" và mật khẩu của bạn hoặc "su" và mật khẩu quản trị viên)
Tiến sĩ Azrael Tod

1

Tôi gặp vấn đề tương tự với quagga, daemon định tuyến. Chỉ cần khôi phục lại gói làm việc cho tôi:

# apt-get install -f  
<some output ommited>
dpkg: warning: overriding problem because --force enabled:
Package is in a very bad inconsistent state - you should
reinstall it before attempting a removal.

wget http://security.debian.org/debian-security/pool/updates/main/q/quagga/quagga_0.99.22.4-1+wheezy3_i386.deb
dpkg -i quagga_0.99.22.4-1+wheezy3_i386.deb

Bây giờ nó ổn trở lại:

#apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

1

Điều tương tự cũng xảy ra với tôi khi tôi bị ngắt kết nối internet trong khi tải xuống gói 'wireshark'. Sau đó, khi tôi cố cài đặt lại, nó đã phát ra lỗi tương tự 'gói ở trạng thái không nhất quán rất xấu'. Tôi đã thử tất cả các lệnh để cài đặt, thanh lọc, gỡ bỏ và cài đặt lại nhưng không có gì hoạt động. Sau một chút loay hoay, tôi vấp phải một mệnh lệnh

sudo dpkg -i --force-overwrite /var/cache/apt/archives/libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.deb

(thay đổi libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.debvới bất kỳ gói nào đang tạo ra vấn đề, trong thư mục /var/cache/apt/archives/).

Sau khi tất cả các vấn đề đã được giải quyết. Tôi đã gỡ bỏ gói một lần nữa bằng cách sử dụng

sudo apt --purge remove libwireshark8:amd64
sudo apt autoremove để loại bỏ hoàn toàn các gói.

Sau đó, tôi đã cài đặt lại wireshark bằng cách sử dụng : sudo apt-get install wireshark.
Mọi thứ hoạt động trơn tru ngay bây giờ!

Hội nghị:
Làm thế nào để giải quyết quy trình phụ usr bin dpkg trả về mã lỗi 1 ″ Lỗi?
Sửa lỗi dpkg

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.