Điểm:0

Làm cách nào để sửa apt-get check` không thành công, bạn có thể có các gói bị hỏng

lá cờ in

Tôi đã thử sửa lỗi cài đặt autodl irssi bị hỏng trên một máy chủ chuyên dụng đã thuê chạy Ubuntu 18.04.1 LTS (GNU/Linux 4.9.0-15-AMD64 x86_64) và Swizzin Box bằng cách gỡ bỏ và cài đặt lại gói autodl box.

xóa autodl đã cho: -

Đã xóa autodl THÀNH CÔNG 
LỖI cơ sở dữ liệu dpkg bị khóa bởi apt-get. Vui lòng thử lại sau

cố gắng cài đặt lại nó đã cho: -

THÔNG TIN Cài đặt autodl 
E: Không thể khắc phục sự cố, bạn đã giữ các gói hàng bị hỏng. 
LỖI Quá trình kiểm tra mô phỏng dẫn đến lỗi. Vui lòng tham khảo nhật ký.

nhật ký cho thấy

Đang đọc danh sách gói...
Xây dựng cây phụ thuộc...
Đang đọc thông tin trạng thái...
Bạn có thể muốn chạy 'apt --fix-broken install' để sửa lỗi này.
Các gói sau đây có các thuộc tính không được đáp ứng:
 pkg-config : Phụ thuộc: libdpkg-perl nhưng nó chưa được cài đặt

chạy 'apt --fix-broken install' mang lại: -

0 đã nâng cấp, 0 mới cài đặt, 1 cần xóa và 107 chưa nâng cấp.
Sau thao tác này, dung lượng đĩa 193 kB sẽ được giải phóng.
Bạn có muốn tiếp tục? [Y/n] y

(Đọc cơ sở dữ liệu ... 87206 tệp và thư mục hiện được cài đặt.)

Đang xóa pkg-config (0.29-4+b1) ...

Không thể định vị Dpkg/Arch.pm trong @INC (bạn có thể cần cài đặt mô-đun Dpkg::Arch) (@INC chứa: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26 .1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr /share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) tại /usr/share/pkg-config-dpkghook dòng 14.

BEGIN không thành công--quá trình biên dịch bị hủy bỏ tại /usr/share/pkg-config-dpkghook dòng 14.

dpkg: xử lý lỗi gói pkg-config (--remove):

 quy trình con đã cài đặt tập lệnh xóa trước đã trả về trạng thái thoát lỗi 2

Đã bắt gặp các lỗi trong quá trình xử lí thông tin:

 pkg-config

E: Tiến trình con /usr/bin/dpkg trả về mã lỗi (1)

Có ai có bất cứ đề nghị làm thế nào tôi có thể giải quyết vấn đề này?

EODCraft Staff avatar
lá cờ cn
Có vẻ như nó đang tìm kiếm một số thư viện Perl. Cài đặt Google Perl và xem cách cài đặt gói này. `Dpkg::Mô-đun Arch`
Paladinz avatar
lá cờ in
Cố gắng cài đặt perl mang lại
Paladinz avatar
lá cờ in
cố gắng cài đặt perl mang lại perl : Depends: perl-modules-5.26 (>= 5.26.1-6ubuntu0.5) nhưng nó sẽ không được cài đặt Phụ thuộc: lipperl5.26 (= 5.26.1-6ubuntu0.5) nhưng nó sẽ không được cài đặt pkg-config : Phụ thuộc: libdpkg-perl nhưng nó sẽ không được cài đặt Đang cố gắng cài đặt những thứ này mang lại Các gói sau có các phụ thuộc chưa được đáp ứng: pkg-config : Phụ thuộc: libdpkg-perl nhưng nó sẽ không được cài đặt
Điểm:-1
lá cờ in

Cố gắng Sudo apt --fix-broken cài đặt libdpkg-pearl. Ngoài ra, hãy xem liệu bạn có bất kỳ gói nào được ghim không: run chính sách phù hợp, và kiểm tra xem có điều gì thú vị không. Trong trường hợp này, 'thú vị' bao gồm mọi kho lưu trữ của bên thứ ba: nếu dòng không bao gồm "ubuntu.com", thì đó là điều đáng ngờ.

Có những trường hợp cần đến các kho lưu trữ của bên thứ ba (những kho lưu trữ không phải của Canonical), chẳng hạn như đối với phần mềm độc quyền không thể phân phối lại hoặc khi phiên bản phần mềm ngược dòng mới nhất là một yêu cầu khó khăn. Tuy nhiên, các kho lưu trữ này PHẢI được thiết kế đặc biệt để hoạt động với cài đặt cơ sở của bất kỳ hệ điều hành nào bạn có và không được chứa các gói không liên quan. Bạn tuyệt đối không bao giờ nên cố đạt được khả năng tương thích bằng cách thêm tham chiếu vào một hệ điều hành khác: chẳng hạn, bằng cách thêm Debian Stretch làm nguồn gói cho bản phát hành Ubuntu Bionic. Rất nhiều xung đột gói kỳ lạ và thay thế bất ngờ có thể xảy ra.

Tôi không thể tạo lại tình huống này trong chroot: cài đặt apt --fix-break làm việc ngay cả sau khi một số loại bỏ tích cực. Aptitude có thể cung cấp cho bạn thêm thông tin, nhưng tôi nghi ngờ bạn sẽ có thể chạy nó, do gói hiện tại của bạn lộn xộn. Một pastebin của dpkg --list sẽ là thông tin gỡ lỗi tiếp theo.

Paladinz avatar
lá cờ in
cảm ơn Calum, `Sudo apt --fix-broken install libdpkg-pearl` trả về `E: Không thể định vị gói libdpkg-pearl`. Tôi không biết đủ để nhận ra điều gì thú vị trong `chính sách apt` nhưng kết quả là [tại đây](https://pastebin.com/FkfuiQxd) nếu bạn có thời gian xem. đầu ra từ `dpkg --list` là [tại đây](https://pastebin.com/StY6AGkk)
Paladinz avatar
lá cờ in
sau khi đọc lại nhận xét của bạn, tôi phát hiện ra tính năng tự động sửa lỗi và chạy lệnh với perl not Pearl. nó trở lại `Bạn có thể muốn chạy 'apt --fix-broken install' để sửa những lỗi này. Các gói sau đây có các thuộc tính không được đáp ứng: libdpkg-perl: Phụ thuộc: perl nhưng nó sẽ không được cài đặt Đề xuất: libfile-fcntllock-perl nhưng nó sẽ không được cài đặt Đề xuất: liblocale-gettext-perl nhưng nó sẽ không được cài đặt`
Calum McConnell avatar
lá cờ in
@Paladinz Xin lỗi vì phản hồi muộn. Lý do tôi quan tâm đến chính sách apt là vì các gói được ghim và những thứ kỳ lạ khác có thể cản trở hoạt động bình thường của APT. Có vẻ như đây là một phần trường hợp ở đây: bạn không chạy Ubuntu BONIC mà thay vào đó là sự pha trộn giữa Debian Stretch, Buster-Backports và Bonic. Đây là một vấn đề lớn: các kho lưu trữ này không nhằm mục đích sử dụng đồng thời. Vì các phiên bản tiến triển khác nhau nên bạn nhận được một số gói Ubuntu mới, một số gói Debian cũ và một số gói Debian siêu mới. Bạn sẽ muốn khắc phục điều đó.
Calum McConnell avatar
lá cờ in
@Paladinz giải pháp sẽ có một chút liên quan. Đi qua các tập tin sources.list và sources.list.d, và loại bỏ bất kỳ thứ gì bao gồm miền 'debian.org', cũng như các bản sao cho thuê web của các tập tin debian. Có vẻ như hai kho lưu trữ bên thứ ba duy nhất mà bạn cần là syncthing và nodesource. Nếu bạn thực sự cần phiên bản ngược dòng của phần mềm đó, hãy xem lại tài liệu cài đặt của họ. Tuy nhiên, Node.JS cũng như SyncThing có sẵn trong kho chính thức của Ubuntu, vì vậy bạn cũng có thể xóa những dòng đó. Sau đó, hãy thử khắc phục sự cố một lần nữa.
Paladinz avatar
lá cờ in
cảm ơn bạn, tất cả chúng ta đều có cuộc sống nên mọi phản hồi hữu ích đều được hoan nghênh ngay cả khi phải mất một thời gian :) Tôi sẽ xóa các nguồn và xem điều gì sẽ xảy ra.
Paladinz avatar
lá cờ in
Tôi đang gặp các lỗi tương tự, ngay cả với `sources.list` chỉ chứa `deb http://security.ubuntu.com/ubuntu bionic-security main multiverse universestricted` và `deb http://archive.ubuntu.com/ ubuntu vũ trụ bionic đa vũ trụ bị hạn chế`. Đầu ra từ `apt-get update && apt-get dist-upgrade` và `apt --fix-broken install` là [TẠI ĐÂY](https://pastebin.com/XedXXvqq). Tôi xin lỗi nếu tôi không biết các chi tiết cơ bản nhưng người bạn thiết lập hệ thống của tôi đã qua đời do Covid và Unix không phải là môi trường sống tự nhiên của tôi.
Calum McConnell avatar
lá cờ in
Được rồi, hãy thử `apt install --fix-broken perl pkg-config`. Có vẻ như vấn đề là ai đó đã cố gỡ bỏ rất nhiều gói theo cách thủ công, bao gồm cả Perl: vì Perl là một phần thiết yếu của hệ thống debian, điều này gây ra sự cố mà bạn thấy bây giờ. Việc cài đặt lại từ đầu có thể dễ dàng hơn: có rất nhiều gói đã bị xóa (bất kỳ gói nào được đánh dấu bằng 'r' trong đầu ra danh sách dpkg), nhiều gói trong số đó có thể cần thiết để máy chủ này hoạt động.
Paladinz avatar
lá cờ in
Vâng, đó là tôi khi hệ thống nói điều gì đó như không cần thiết và sử dụng tính năng tự động xóa. ** Nó đã không diễn ra tốt **. `apt install --fix-broken perl pkg-config` trả về `perl : Phụ thuộc: perl-modules-5.26 (>= 5.26.1-6ubuntu0.5) nhưng nó sẽ không được cài đặt | Phụ thuộc: lipperl5.26 (= 5.26.1-6ubuntu0.5) nhưng nó sẽ không được cài đặt | pkg-config : Phụ thuộc: libdpkg-perl nhưng không cài đặt được | E: Phụ thuộc chưa được đáp ứng. Hãy thử 'apt --fix-broken install'.`. Bắt đầu lại từ đầu có nghĩa là di chuyển 15tb dữ liệu, vì vậy tôi sẽ phải tìm một máy chủ mới để di chuyển dữ liệu đó đến, đó có thể là lựa chọn duy nhất.
Calum McConnell avatar
lá cờ in
Được rồi, vì vậy tôi mới nhận ra rằng tôi chưa bao giờ thực sự nói xóa bất kỳ gói đã ghim nào. Bạn sẽ muốn làm điều đó: có thể là chốt znc-perl đang cố giữ tất cả perl ở mức 5,22. Để xóa các ghim đó, hãy xóa mọi thứ trong /etc/apt/preferences.d và /etc/apt/preferences. Sau đó chạy chính sách apt để xác nhận rằng bạn trong sạch.
Calum McConnell avatar
lá cờ in
Ngoài ra, tôi đã sai lầm. `dpkg --list` không phải là thông tin cần thiết để gỡ lỗi những vấn đề này. Thay vào đó, bạn có thể cung cấp cho tôi nội dung của `/var/lib/dpkg/status` không? Tệp đó chứa đủ thông tin bổ sung để tôi mô phỏng chính xác hệ thống của bạn, điều này sẽ cho phép tôi ngừng đưa ra những phỏng đoán không hiệu quả về phía bạn.
Paladinz avatar
lá cờ in
cảm ơn Calum, `apt policy` có vẻ ổn, kết quả là [tại đây](https://pastebin.com/EZwfG2mc), kết quả của `/var/lib/dpkg/status` là [tại đây](https:// zerobin.net/?d3e9c1eb8fef7c7c#+wrxLlUwThDcR3nrwm8Tn7K6Mb6MljiEGBKHxM+2YAY=)
Calum McConnell avatar
lá cờ in
Được chứ. Tôi đã có thể có được một hệ thống ít hỏng hóc hơn với `Sudo apt install --fix-broken libjpeg-turbo8-` (dấu trừ sau tên gói chỉ thị loại bỏ nó, giúp apt tìm ra giải pháp). Gói này có vẻ dư thừa và xung đột với libturbojpeg0: vì vậy có thể xóa gói này một cách an toàn. Hệ thống vẫn bị hỏng sau đó, với rất nhiều gói bị giữ lại, nhưng nó chắc chắn khả thi hơn. Bạn có thể gửi lại cho tôi trạng thái sau khi chạy lệnh đó không?
Paladinz avatar
lá cờ in
Thật không may, điều đó không giúp được gì vì hệ thống cho biết `Gói 'libjpeg-turbo8' chưa được cài đặt, vì vậy không bị xóa` và đưa ra lỗi `pkg-config : Depends: libdpkg-perl but it is not installable` thông thường sau đó.
Calum McConnell avatar
lá cờ in
Tôi thấy vấn đề: các phiên bản apt của chúng tôi hoàn toàn khác nhau. Tôi đã thử nghiệm phiên bản apt mới hơn nhiều so với phiên bản bạn hiện đã cài đặt: có lẽ tùy chọn --fix-broken đã nhận được một số nâng cấp. Đây là một lệnh chức năng hơn: `apt install --fix-broken build-essential cpp cpp-7 dpkg-dev g++ g++-7 gcc gcc-7 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4 libdpkg-perl libfile-fcntllock-perl libgcc-7-dev libgdbm-compat4 libgdbm5 libisl19 liblocale-gettext-perl libmpc3 libmpfr6 libperl5.26 libstdc++-7-dev perl`.
Paladinz avatar
lá cờ in
đầu ra từ lệnh `apt install` là [TẠI ĐÂY](https://zerobin.net/?69bb6e9b1fd15353#7fgTcFeiPqnBvMWGNV0FNU+KLcC+OyC5TSUST5krFww=) và đầu ra của `/var/lib/dpkg/status` là [TẠI ĐÂY] (https://zerobin.net/?262213e20afc38f6#qEmqTEuAjHONr1C0QxqnMNGFKnTYnf9eARek3IO5RZo=)
Calum McConnell avatar
lá cờ in
Hãy xem lại đầu ra chính sách apt của bạn: có vẻ như bạn đang thiếu "chính" từ mục nhập nguồn.list cho archive.ubuntu.com. Tôi xin lỗi tôi đã không phát hiện ra nó trước đây: thêm "chính" vào tệp đó (bên cạnh nơi ghi "vũ trụ" và "đa vũ trụ", rồi thử lại.
Paladinz avatar
lá cờ in
Tôi chưa bao giờ phát hiện ra nó bị thiếu nên tất cả đều tốt! mục nguồn.list hiện có `deb http://archive.ubuntu.com/ubuntu bionic main universe multiversestricted` và lệnh `apt install` đã hoạt động, nội dung của `/var/lib/dpkg/status` là [ TẠI ĐÂY](https://zerobin.net/?d3778344ec7d302d#EJPGwsWwPBD91qiAipFV4VGLdRTfk7uidifE8ekNOYc=)
Calum McConnell avatar
lá cờ in
Được rồi, vậy là chúng ta hiện có bản cài đặt Debian *đang hoạt động*, hãy quay lại khắc phục sự cố ban đầu về việc IRSSI-autodl bị hỏng. Điều này sẽ đòi hỏi một số nỗ lực sửa lỗi: Tôi sẵn sàng đặt cược rằng một phần lý do TẠI SAO ban đầu nó bị hỏng là do phiên bản funky không khớp. Chẳng hạn, bạn hiện đang chạy IRSSI từ Debian 9, khác với phiên bản từ Ubuntu Bionic. Điều này có thể được khắc phục bằng cách thực thi `apt install --reinstall irssi`: tuy nhiên, có thể cần lặp lại thao tác này nhiều lần. Ngoài ra còn có rất nhiều gói (về mặt lý thuyết) không được sử dụng. Những vấn đề bạn đang nhìn thấy bây giờ?
Paladinz avatar
lá cờ in
Bây giờ tôi không thấy vấn đề gì cả, autodl được quản lý bởi giao diện Swizzin Box và được cài đặt lại thông qua đó (sau khi tôi cài đặt git và cập nhật), mọi thứ có vẻ hoạt động hoàn hảo! Cảm ơn Calum rất nhiều vì tất cả những nỗ lực bạn đã bỏ ra cho việc này, nó rất được đánh giá cao.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.