5 lệnh sửa nhanh các gói bị lỗi trong Linux

Hầu hết người dùng Linux đều gặp phải các gói phần mềm bị lỗi. Một bản cập nhật bị gián đoạn, một quá trình cài đặt thất bại, hoặc một dependency bị mất tích đều là những vấn đề góp phần gây ra lỗi gói phần mềm. Mặc dù đôi khi có thể sử dụng giao diện đồ họa Linux như Synaptic để khắc phục nhiều sự cố, nhưng mọi người thường sử dụng các lệnh trong terminal trước.

Hãy bắt đầu với môi trường mà hầu hết mọi người sử dụng: Các bản phân phối dựa trên Debian như Linux Mint, Ubuntu và Pop!_OS. Đây là môi trường quen thuộc nhất và bài viết sẽ tập trung vào.

sudo apt --fix-broken install

Cho phép APT tự động giải quyết các vấn đề về dependency

Cửa sổ terminal hiển thị lệnh sudo apt --fix-broken-install
Cửa sổ terminal hiển thị lệnh sudo apt --fix-broken-install

Đây là lệnh đầu tiên cần sử dụng trên Ubuntu, Mint và hầu hết các bản phân phối dựa trên Debian khác vì nó yêu cầu APT thực hiện những gì nó vốn đã giỏi: Dọn dẹp những thứ không cần thiết.

Khi quá trình cài đặt gói phần mềm thất bại, APT thường biết chính xác điều gì đã xảy ra. Một dependency không được cài đặt, một gói bị cấu hình dở dang, hoặc một bản cập nhật bị gián đoạn và không bao giờ hoàn thành. Chạy lệnh này sẽ yêu cầu APT ngừng báo lỗi và chủ động giải quyết tình huống bằng cách sử dụng giải pháp tốt nhất mà nó có thể tính toán từ các kho lưu trữ đã được kích hoạt của bạn.

sudo apt --fix-broken install

Ẩn sau đó, APT quét hệ thống của bạn để tìm các dependency chưa được đáp ứng và trạng thái gói bị lỗi, sau đó cố gắng tự động sửa chữa chúng. Điều đó có nghĩa là cài đặt các gói bị thiếu, xóa những gói không thể giải quyết một cách an toàn hoặc hoàn thành quá trình cài đặt bị gián đoạn giữa chừng.

Lệnh này đặc biệt hiệu quả sau khi cập nhật hệ thống bị treo, gặp sự cố hoặc bị hủy bỏ. Trong nhiều trường hợp, nó khôi phục hệ thống gói về trạng thái hoạt động bình thường chỉ trong một lần, mà không cần can thiệp thủ công hoặc khắc phục sự cố từng gói một.

sudo dpkg --configure -a

Hoàn thành cài đặt gói chưa hoàn tất

Cửa sổ terminal hiển thị lệnh sudo dpkg --configure -a
Cửa sổ terminal hiển thị lệnh sudo dpkg --configure -a

Đôi khi các gói được tải xuống đúng cách, nhưng không bao giờ hoàn tất. Các file đã có trên hệ thống của bạn, nhưng bước cấu hình đã bị gián đoạn do sự cố, mất điện hoặc tắt máy đột ngột trong quá trình cập nhật. Khi điều đó xảy ra, APT không thể tiếp tục vì nó đang chờ các gói đó được cấu hình đúng cách.

Đó là lúc lệnh này phát huy tác dụng.

sudo dpkg --configure -a

Thay vì cài đặt bất kỳ thứ gì mới, lệnh này yêu cầu dpkg tiếp tục và hoàn tất cấu hình của mọi gói hiện đang ở trạng thái cài đặt dở dang. Nó chạy bất kỳ script sau cài đặt nào đang chờ xử lý, hoàn tất các bước thiết lập và xóa những lỗi "gói chưa được cài đặt hoặc gỡ bỏ hoàn toàn" ngăn chặn các hoạt động khác.

Đây thường là bước bị thiếu khi APT thất bại ngay lập tức mà không hề cố gắng giải quyết các dependency. Bằng cách hoàn thành những gì đã bị gián đoạn, bạn cung cấp cho APT một nền tảng sạch để làm việc. Nếu việc quản lý gói bị kẹt hoàn toàn, hãy chạy lệnh này trước khi thử bất kỳ thao tác nào mạnh mẽ hơn.

sudo apt clean && sudo apt update

Reset cache gói và làm mới nguồn

Cửa sổ terminal hiển thị lệnh sudo apt clean && sudo apt update
Cửa sổ terminal hiển thị lệnh sudo apt clean && sudo apt update

Việc tải xuống gói bị lỗi và siêu dữ liệu lỗi thời có thể gây ra lỗi cài đặt ngay cả khi kho lưu trữ của bạn hoàn toàn ổn. APT có thể tiếp tục cố gắng cài đặt một file bị lỗi hoặc dựa vào thông tin gói không còn khớp với những gì thực sự có sẵn. Khi điều đó xảy ra, quá trình cài đặt sẽ thất bại với các lỗi mơ hồ hoặc gây hiểu nhầm, hoặc không có bất kỳ lời giải thích rõ ràng nào.

Việc xóa cache buộc APT phải loại bỏ mọi thứ nó đã tải xuống trước đó và bắt đầu lại từ đầu.

sudo apt clean 
sudo apt update

Lệnh đầu tiên xóa tất cả các file .deb được lưu trong cache, bao gồm cả những bản tải xuống không đầy đủ hoặc bị lỗi. Lệnh thứ hai làm mới danh sách gói từ các kho lưu trữ đã cấu hình của bạn, lấy siêu dữ liệu và thông tin dependency được cập nhật.

Sự kết hợp này đặc biệt hữu ích khi quá trình tải xuống thất bại liên tục, các gói không thể cài đặt mặc dù có vẻ hợp lệ hoặc những bản cập nhật hệ thống đột nhiên ngừng hoạt động sau khi trước đó hoạt động tốt. Nó không xóa bất kỳ phần mềm nào đã cài đặt, thay đổi cài đặt hệ thống hoặc ảnh hưởng đến cấu hình của bạn.

Vì nó an toàn, nhanh chóng và có thể đảo ngược, đây là một trong những bước khắc phục sự cố ít rủi ro nhất mà bạn có thể thực hiện trước khi chuyển sang các biện pháp khắc phục xâm nhập hơn.

sudo apt remove <package-name> --purge

Gỡ bỏ hoàn toàn một gói bị lỗi

Lệnh Terminal: sudo apt remove <package-name> --purge
Lệnh Terminal: sudo apt remove --purge

Đôi khi vấn đề không phải là toàn bộ hệ thống của bạn, mà là một gói cứng đầu không chịu hoạt động. Nó có thể bị cấu hình sai, không tương thích với các thư viện hiện tại, hoặc bị kẹt trong một vòng lặp dependency bị lỗi khiến mọi bản cập nhật bạn cố gắng chạy đều bị chặn.

Trong những trường hợp này, việc gỡ bỏ gói thông thường là không đủ. Việc xóa sạch sẽ giải quyết vấn đề.

sudo apt remove --purge

Lưu ý: Trong trường hợp này, <package-name> là một chỗ giữ chỗ. Hãy chắc chắn thay thế nó bằng tên thực của gói!

Lệnh này sẽ gỡ bỏ chính gói đó, cùng với tất cả các file cấu hình của nó. Điều đó rất quan trọng vì các cấu hình bị lỗi hoặc lỗi thời thường là nguyên nhân khiến những nỗ lực cài đặt lại thất bại ngay từ đầu. Bằng cách xóa sạch mọi thứ liên quan đến gói, bạn cung cấp cho APT một nền tảng sạch sẽ để làm việc.

Sử dụng phương pháp này khi một gói liên tục chặn các bản cập nhật hệ thống, lỗi dependency liên tục đề cập đến cùng một tên hoặc việc cài đặt lại phần mềm thất bại bất kể bạn thử bao nhiêu lần. Sau khi gỡ bỏ, bạn có thể cài đặt lại gói phần mềm hoặc để nguyên trạng thái gỡ bỏ hoàn toàn mà không làm cho trình quản lý gói của bạn bị lỗi.

sudo apt autoremove

Dọn dẹp các dependency còn sót lại

Lệnh terminal: sudo apt autoremove
Lệnh terminal: sudo apt autoremove

Khi quá trình cài đặt gói phần mềm thất bại hoặc phần mềm bị gỡ bỏ không đúng cách, các dependency của nó không phải lúc nào cũng biến mất cùng với nó. Những gói còn sót lại này, được gọi là các dependency mồ côi, có thể tồn tại trên hệ thống của bạn và âm thầm gây ra sự cố sau này. Chúng có thể xung đột với các phiên bản mới hơn, chặn nâng cấp hoặc đơn giản là làm lộn xộn cơ sở dữ liệu gói của bạn.

Đó là lúc lệnh này phát huy tác dụng. Nó quét hệ thống của bạn để tìm các gói được cài đặt tự động dưới dạng dependency nhưng không còn cần thiết cho bất kỳ thứ gì khác. Sau đó, nó xóa chúng một cách an toàn, mà không ảnh hưởng đến phần mềm bạn đã tự cài đặt.

sudo apt autoremove autoremove

Điều này giúp giảm xung đột dependency, giảm nguy cơ lỗi cài đặt trong tương lai và giải phóng dung lượng ổ đĩa mà lẽ ra sẽ bị lãng phí cho các thư viện không sử dụng. Mặc dù không thể tự khắc phục tình trạng gói phần mềm bị lỗi, nhưng đây là bước dọn dẹp thiết yếu sau khi vấn đề chính đã được giải quyết.

Hãy coi đó như việc dọn dẹp sau khi sửa chữa - đảm bảo hệ thống của bạn sạch sẽ, ổn định và ít có khả năng gặp lại các sự cố tương tự.

Thứ Sáu, 23/01/2026 17:31
31 👨 4
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
    ❖ Linux