Làm thế nào để khắc phục lỗi phụ thuộc Unmet trên Ubuntu
Lỗi Các gói sau có các phụ thuộc chưa được đáp ứng đã làm cho người dùng Ubuntu gặp khó khăn trong một thời điểm hiện tại và ngày càng có nhiều lỗi trong các phiên bản khác nhau của Ubuntu. Hệ thống quản lý gói APT rất dễ sử dụng, nhưng trong một số trường hợp, chẳng hạn như khi bạn đang trộn trong các phụ thuộc của bên thứ ba, bạn có thể gặp lỗi này từ apt-get.
Điều này xảy ra khi bạn cố gắng cài đặt một cái gì đó với hệ thống apt thông qua một thiết bị đầu cuối, và cài đặt không thành công mà không có vấn đề rõ ràng nào. Vấn đề này không giới hạn ở bất kỳ một chương trình cụ thể nào, nhưng nó có thể xảy ra với một vài trong số đó. Điều này là do sự cố nằm trong hệ thống apt và không nằm trong chương trình bạn đang cài đặt.
Có rất may mắn là một vài giải pháp cho việc này, một số giải pháp dễ thực hiện hơn, và một số khác khó hơn, nhưng nếu bạn làm theo hướng dẫn trong các phương pháp dưới đây, bạn sẽ loại bỏ được lỗi trong thời gian không.
Lưu ý: Trước khi tiếp tục với bất kỳ phương pháp nào, bạn nên sao lưu các tệp cấu hình như để bạn có thể hoàn nguyên mọi thay đổi trong trường hợp có sự cố. Điều này được thực hiện bằng cách sử dụng các bước sau:
- Nhấn đồng thời phím Alt, Ctrl và T trên bàn phím để mở Terminal.
- Gõ vào và nhấn Enter.
- Khi lệnh trước đó kết thúc chạy, gõ sudo cp / var / lib / dpkg / status /var/lib/dpkg/status.original và nhấn Enter lần nữa.
Phương pháp 1: Sử dụng tham số -f
Đây là cách dễ nhất để thử và chỉ yêu cầu thêm hai chữ cái nữa vào lệnh mà bạn đang nhập. Thay vì sử dụng sudo apt-get install PACKAGENAME, trong đó PACKAGENAME là gói bạn đang cố cài đặt với hệ thống apt, sử dụng sudo apt-get install -f . Tham số -f sẽ cố gắng sửa chữa một hệ thống có phụ thuộc bị hỏng, sau đó bạn sẽ có thể cài đặt gói được đề cập.
- Mở một Terminal bằng cách nhấn đồng thời Ctrl, Alt và T trên bàn phím của bạn.
- Gõ vào sudo apt-get install -f và nhấn Enter để thực hiện nó.
- Khi đã xong, gõ sudo dpkg –configure -a, nhấn Enter để chạy nó và chạy lệnh từ bước 2 một lần nữa.
Phương pháp 2: Sử dụng Aptitude
Aptitude là một thay thế của apt-get mà bạn có thể sử dụng như một trình quản lý gói cấp cao hơn. Bạn có thể sử dụng nó để thử và cài đặt gói của bạn với nó, thay vì apt-get, nhưng trước tiên bạn cần cài đặt aptitude.
- Nhấn đồng thời các phím Ctrl, Alt và T trên bàn phím để mở
- Gõ lệnh sudo apt-get install aptitude và nhấn Enter để thực thi lệnh.
- Nhập sudo aptitude install PACKAGENAME, trong đó PACKAGENAME là gói bạn đang cài đặt và nhấn Enter để thực thi nó. Điều này sẽ cố gắng cài đặt gói thông qua aptitude thay vì apt-get, có khả năng sẽ khắc phục vấn đề phụ thuộc chưa được đáp ứng.
Phương pháp 3: Đảm bảo rằng kho lưu trữ bị hạn chế và vũ trụ được bật và thử một máy chủ tốt hơn
- Nhấn đồng thời Alt và F2 trên máy tính của bạn, nhập phần mềm-thuộc tính-gtk và nhấn
- Trong tab Phần mềm Ubuntu, đảm bảo rằng tất cả các kho lưu trữ (chính, vũ trụ, bị hạn chế, đa giác) đều được bật.
- Nhấp vào danh sách máy chủ có nội dung Tải xuống từ đó và chọn
- Nhấp vào Chọn máy chủ tốt nhất.
- Nhấn Alt, Ctrl và T đồng thời để mở một Thiết bị đầu cuối, và gõ vào sudo apt-get update, sau đó nhấn Khi nó đã hoàn tất, hãy thử cài đặt lại phần mềm.
Phương pháp 4: Làm sạch cơ sở dữ liệu gói
Cơ sở dữ liệu gói bị hỏng là nguyên nhân tiềm năng cho các phụ thuộc chưa được đáp ứng, cũng như các gói không được cài đặt đúng cách. Tuy nhiên, việc dọn dẹp cơ sở dữ liệu gói có thể sửa lỗi này và bạn có thể thực hiện nó bằng hai lệnh, mà tôi sẽ giải thích dưới đây. Trước hết, tuy nhiên, nhấn Ctrl, Alt và T để mở một Terminal, và đừng quên nhấn Enter sau khi lệnh để chạy nó.
Mẹo CHUYÊN NGHIỆP: Nếu vấn đề xảy ra với máy tính của bạn hoặc máy tính xách tay / máy tính xách tay, bạn nên thử sử dụng phần mềm Reimage Plus có thể quét các kho lưu trữ và thay thế các tệp bị hỏng và bị thiếu. Điều này làm việc trong hầu hết các trường hợp, nơi vấn đề được bắt nguồn do một tham nhũng hệ thống. Bạn có thể tải xuống Reimage Plus bằng cách nhấp vào đây- sudo apt-get clean sẽ làm sạch kho lưu trữ cục bộ từ tất cả các tệp gói đã truy xuất (.deb). Nó sẽ loại bỏ mọi thứ ngoại trừ các tệp khóa từ / var / cache / apt / archives và / var / cache / apt / archives / partial /.
- sudo apt-get autoclean cũng sẽ dọn dẹp các tập tin được lấy ra, nhưng không giống như lệnh trước, lệnh này chỉ loại bỏ các gói mà bạn không còn có thể tải xuống nữa và khá vô dụng.
Phương pháp 5: Loại bỏ mọi gói đã lưu giữ
Các gói được giữ thực sự được giữ bởi vì có các vấn đề phụ thuộc và các xung đột mà apt không thể giải quyết. Loại bỏ các gói như vậy có nghĩa là sẽ không có bất kỳ xung đột nào như vậy và do đó có thể khắc phục được sự cố của bạn.
- Mở một Terminal bằng cách nhấn Ctrl, Alt và T
- Gõ vào sudo apt-get -u dist-upgrade và nhấn Nếu có bất kỳ gói nào được giữ, nó sẽ hiển thị chúng, và nó là của bạn để loại bỏ chúng.
- Trước tiên hãy thử chạy
sudo apt-get -o Gỡ lỗi :: pkgProblemResolver = yes dist-upgrade
và xem liệu nó có khắc phục được sự cố không. Nếu nó thoát với X không được nâng cấp ở cuối, trong đó X là số lượng các gói được giữ, bạn sẽ cần phải xóa chúng từng cái một.
- Để xóa một gói đã lưu, sử dụng sudo apt-get remove –dry-run PACKAGENAME (PACKAGENAME là gói bạn đang cố xóa) . Tham số –dry-run đảm bảo bạn được thông báo về bất kỳ điều gì xảy ra tiếp theo. Khi bạn đã xóa tất cả các gói, hãy thử cài đặt gói đã gây ra sự cố ở địa điểm đầu tiên và xem điều gì sẽ xảy ra.
Phương pháp 6: Làm sạch / loại bỏ / vô hiệu hóa PPA
Gói lưu trữ cá nhân là kho lưu trữ được lưu trữ trên Launchpad và được sử dụng để nâng cấp hoặc cài đặt các gói không thường có sẵn trong kho lưu trữ chính thức của Ubuntu. Chúng thường là nguyên nhân của các phụ thuộc chưa được đáp ứng, đặc biệt khi chúng được sử dụng để nâng cấp một gói hiện có từ kho lưu trữ Ubuntu. Bạn có thể vô hiệu hóa, loại bỏ hoặc thanh lọc chúng.
Vô hiệu hóa có nghĩa là các gói được cài đặt từ PPA đó sẽ không còn nhận được cập nhật nữa.
- Nhấn đồng thời Alt và F2 và chạy phần mềm-thuộc tính-gtk.
- Từ tab Other Software, bạn sẽ tìm thấy hai dòng cho mỗi PPA, một dòng cho nguồn, và một cho gói được biên dịch. Để vô hiệu hóa PPA, bạn nên bỏ chọn cả hai dòng.
Thanh lọc có nghĩa là tất cả các gói trong PPA được chọn sẽ bị hạ cấp xuống phiên bản trong kho lưu trữ chính thức và cũng sẽ vô hiệu hóa PPA. Để cài đặt PPA Purge, bạn có thể sử dụng sudo apt-get install ppa-purge, nhưng xem xét apt bị hỏng, bạn nên sử dụng lệnh này trong Terminal ( Alt, Ctrl và T đồng thời, sau đó Enter để chạy):
mkdir ppa-purge & & nbsp; & nbsp; pnl.gov/ubuntu//pool/main/a/aptitude/aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb
Tiếp theo, chạy ppa-purge ppa-purpa: someppa / ppa để loại bỏ PPA đã chọn. Tuy nhiên, vì PPA Purge vẫn không loại bỏ PPA, bạn có thể sử dụng các lệnh bên dưới để loại bỏ PPA. Bỏ qua mục đầu tiên nếu ý định của bạn không bao gồm xóa gói đã cài đặt.
- sudo apt-get autoremove –purge PACKAGENAME
- sudo add-apt-repository –remove ppa: someppa / ppa
- sudo apt-get autoclean
Bạn sẽ có thể cài đặt gói cần thiết sau đó.
Mặc dù có một vài phương pháp ở trên, bạn cũng nên biết rằng luôn luôn tốt hơn để ngăn chặn các vấn đề như vậy. Bạn nên cập nhật hệ thống của mình, chỉ sử dụng PPA tin cậy và sao lưu khi mọi thứ hoạt động bình thường để bạn có thể khôi phục sau này. Tuy nhiên, nếu bạn đã quên làm những việc này, hãy sử dụng các phương pháp trên để khắc phục vấn đề của bạn và sử dụng các phương pháp phòng ngừa để đảm bảo bạn không '
Mẹo CHUYÊN NGHIỆP: Nếu vấn đề xảy ra với máy tính của bạn hoặc máy tính xách tay / máy tính xách tay, bạn nên thử sử dụng phần mềm Reimage Plus có thể quét các kho lưu trữ và thay thế các tệp bị hỏng và bị thiếu. Điều này làm việc trong hầu hết các trường hợp, nơi vấn đề được bắt nguồn do một tham nhũng hệ thống. Bạn có thể tải xuống Reimage Plus bằng cách nhấp vào đây