Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Linux

Khắc Phục Lỗi "Unmet Dependencies" Trên Ubuntu: Hướng Dẫn Bước Đi

Lỗi "The following packages have unmet dependencies" xuất hiện khi apt-get không thể giải quyết phụ thuộc gói tin — thường do trộn PPA bên thứ ba, cài gói .deb thủ công, hoặc cơ sở dữ liệu gói bị hỏng. Dưới đây là 6 phương pháp từ dễ đến khó.

Sao Lưu Trước Khi Sửa (Khuyến Nghị)

  1. Mở terminal: Ctrl+Alt+T.
  2. Sao lưu trạng thái dpkg:
    sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.original

Phương Pháp 1: Dùng Tham Số -f (Fix Broken)

Cách dễ nhất — chỉ thêm 2 chữ cái:

sudo apt-get install -f

Sau đó:

sudo dpkg --configure -a
sudo apt-get install -f

Chạy lần 2 để đảm bảo sạch.

Phương Pháp 2: Dùng Aptitude (Trình Quản Lý Gói Cao Cấp)

  1. Cài aptitude: sudo apt-get install aptitude
  2. Cài gói bị lỗi qua aptitude: sudo aptitude install TÊN_GÓI

Aptitude thường giải quyết xung đột phụ thuộc tốt hơn apt-get.

Phương Pháp 3: Bật Kho main/universe/restricted/multiverse & Chọn Server Tốt Nhất

  1. Mở Software & Updates: Alt+F2 → software-properties-gtk.
  2. Tab Ubuntu Software: tích tất cả 4 kho (main, universe, restricted, multiverse).
  3. Tab Download from → Select Best Server.
  4. Cập nhật: sudo apt-get update → thử cài lại.

Phương Pháp 4: Dọn Dẹp Cơ Sở Dữ Liệu Gói

sudo apt-get clean      # xóa file .deb trong cache
sudo apt-get autoclean  # xóa file .deb không còn tải được (phiên bản cũ)

Phương Pháp 5: Xóa Gói Bị "Held" (Giữ Lại Do Xung Đột)

  1. Kiểm tra: sudo apt-get -u dist-upgrade — sẽ liệt kê gói held.
  2. Thử sửa tự động: sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade.
  3. Nếu vẫn còn held (thông báo "X not upgraded"), gỡ từng gói:
    sudo apt-get remove --dry-run TÊN_GÓI  # xem trước
    sudo apt-get remove TÊN_GÓI             # gỡ thật
    
  4. Sau khi gỡ xong, thử cài gói ban đầu.

Phương Pháp 6: Vô Hiệu/Hủy/Gỡ PPA Gây Xung Đột

PPA (Personal Package Archives) là nguyên nhân hàng đầu.

Vô Hiệu PPA

  1. Alt+F2 → software-properties-gtk.
  2. Tab Other Software: bỏ tích 2 dòng của PPA (source + binary).

Gỡ Sạch PPA (ppa-purge)

Nếu apt bị lỗi, cài ppa-purge thủ công:

mkdir ppa-purge && cd ppa-purge && \
wget https://old-releases.ubuntu.com/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && \
wget https://ftp.u-picardie.fr/mirror/ubuntu/ubuntu/pool/main/a/aptitude/aptitude_0.8.10-6ubuntu1_i386.deb && \
sudo dpkg -i ./*.deb

Sau đó: sudo ppa-purge ppa:tên/ppa.

Gỡ Hoàn Toàn PPA

  1. sudo apt-get autoremove --purge TÊN_GÓI (bỏ qua nếu muốn giữ gói).
  2. sudo add-apt-repository --remove ppa:tên/ppa.
  3. sudo apt-get autoclean.

Phòng Tránh

  • Luôn cập nhật hệ thống: sudo apt-get update && sudo apt-get upgrade.
  • Chỉ dùng PPA uy tín, cần thiết.
  • Sao lưu khi hệ thống ổn định (Timeshift, Clonezilla, v.v.).