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

Cách khắc phục lỗi 'Bạn đã giữ các gói bị hỏng' trên Linux (Apt)

Bạn có thể nhận thấy rằng khi cố gắng cài đặt một gói trên Linux, bạn thấy một dòng đáng sợ có nội dung E:Không thể khắc phục sự cố, bạn đã giữ các gói bị hỏng. Quá trình cài đặt sau đó từ chối tiến triển ngoài thời điểm này. Bạn có thể tìm thấy tính năng này trên bất kỳ bản phân phối Linux nào sử dụng apt-get để quản lý các gói, bao gồm Debian cũng như các phiên bản phụ của Linux Mint và Ubuntu.

Nguyên nhân là do các phần phụ thuộc bị hỏng, là tác dụng phụ của việc cài đặt các gói phụ thuộc vào các gói khác chưa được cài đặt. Khi apt-get cài đặt thứ gì đó, nó sẽ thông báo rằng nó không có quyền truy cập vào thứ nó cần và do đó không thể tiếp tục. Một vài thủ thuật dòng lệnh cơ bản cũng như công cụ đồ họa có thể khắc phục mọi thứ một cách nhanh chóng.

Phương pháp 1:Sử dụng dpkg –configure để sửa các gói bị hỏng bị giữ lại

Trong khi làm việc tại terminal, thử chạy sudo dpkg –configure -a để bắt đầu quá trình cập nhật tự động nhằm tìm kiếm mọi phần phụ thuộc bị hỏng trên hệ thống của bạn do các gói chưa được cài đặt gây ra. Công cụ này sẽ tự động cài đặt bất kỳ gói nào mà bạn cảm thấy còn thiếu mà không cần sự can thiệp của người dùng, tuy nhiên, nếu được yêu cầu cài đặt thứ gì đó thì bạn nên nhấn phím y để phản hồi lời nhắc.

Nếu nó không tìm thấy bất kỳ gói bị hỏng nào thì bạn sẽ không thấy bất kỳ kết quả đầu ra nào. Chúng tôi đã chạy ứng dụng này trên một máy thử nghiệm sạch chạy Xubfox, vì vậy nó không tìm thấy bất kỳ lỗi nào, nhưng nếu bạn gặp phải sự cố "Không thể khắc phục sự cố, Bạn đã giữ các gói bị hỏng" thì điều này có thể tìm thấy một số gói bạn cần cài đặt. Sau khi bạn chạy xong, hãy thử sudo apt-get install -f từ dòng lệnh.

Chương trình này sẽ xem xét và xây dựng danh sách phụ thuộc sau đó đọc thông tin trạng thái. Nếu bạn nhận được thông báo cho biết có các gói “0 đã nâng cấp, 0 mới cài đặt, 0 để xóa và 0 chưa được nâng cấp”, thì có nghĩa là bạn đang làm việc mà không có phần phụ thuộc nào bị hỏng hoặc lệnh trước đó đã sửa mọi thứ. Tại thời điểm này, bạn có thể chạy sudo apt-get clean &&sudo apt-get update theo sau là sudo apt-get nâng cấp để cập nhật mọi gói trên hệ thống của bạn. Quá trình này có thể mất một lúc tùy thuộc vào thời gian hệ thống của bạn gặp các sự cố về gói này.

Phương pháp 2:Sử dụng lệnh dist-upgrade

Nếu bạn nhận được thông báo cho biết “một số gói đã bị giữ lại” nên bạn không thể hoàn thành lệnh trước đó thành công thì bạn nên chạy sudo apt-get dist-upgrade để cài đặt phần còn lại của các gói này. Cùng với việc thực hiện chức năng nâng cấp thông thường, tùy chọn nâng cấp dist xử lý các phần phụ thuộc đã thay đổi với các phiên bản gói mới hơn. Vì apt-get có một hệ thống xung đột đặc biệt nên nó thường cố gắng nâng cấp các gói quan trọng nhất với cái giá là không làm gì đối với những gói ít quan trọng hơn đối với hệ thống của bạn. Việc sử dụng lệnh này buộc ngay cả những lệnh đó cũng phải cập nhật.

Điều đó đang được nói, nếu không phát hiện thấy bất kỳ gói bị hỏng nào, bạn sẽ chỉ nhận được thông báo thứ ba về việc không có gì được nâng cấp và không có gì được cài đặt mới. Nếu đúng như vậy thì bạn có thể thử sudo apt-get nâng cấp một lần nữa để nếu có bất kỳ thay đổi nào thì chương trình con nâng cấp tự động có thể được thực hiện. Mặt khác, nếu bạn biết tên cụ thể của gói mình cần thì bạn có thể cài đặt thủ công.

Ví dụ:giả sử rằng thành phần thời gian chạy GNUStep là thứ bạn đang thiếu vì bạn muốn sử dụng tính năng tổng hợp giọng nói. Bạn có thể chỉ cần gõ sudo apt-get install gnustep-gui-runtime để cài đặt gói quan trọng này. Hãy nhớ rằng đây chỉ là một ví dụ và bạn có thể thay thế gnustep-gui-runtime bằng tên của bất kỳ gói nào bạn cần cài đặt. Các bản phân phối hiện đại dựa trên tiêu chuẩn apt-get có hàng nghìn gói, nhưng miễn là bạn biết tên của gói bạn đang tìm kiếm thì điều này sẽ buộc nó phải cài đặt.

Phương pháp 3:Sửa các gói bị hỏng bằng Synaptic

Nếu bạn có trình quản lý gói đồ họa Synaptic thì bạn cũng có thể sử dụng công cụ này để sửa mọi gói bị hỏng mà bạn có thể có. Mở chương trình rồi chọn menu thả xuống Chỉnh sửa danh sách chọn. Bạn sẽ có tùy chọn “Khắc phục các gói bị hỏng” trong menu này, vì vậy hãy chọn nó nếu có. Quá trình chạy sẽ không mất nhiều thời gian nếu không có nhiều gói bị hỏng, nhưng nó có thể tìm thấy một số lỗi làm chậm quá trình thực thi.

Sau khi chạy xong mọi thứ, bạn sẽ thấy dòng chữ “Đã khắc phục thành công các vấn đề phụ thuộc” ở dòng trạng thái dưới cùng.

Bây giờ bạn có thể cập nhật và cài đặt các gói giống như bình thường. Hầu hết người dùng sẽ chỉ thực hiện mọi việc theo cách này nếu họ đã làm việc trong Synaptic, nhưng nó luôn ở đó bất cứ khi nào bạn cần. Sau khi chạy, bạn có thể đóng Synaptic và làm việc lại từ dấu nhắc lệnh hoặc tiếp tục thực hiện các thay đổi tại đây.

GIỚI THIỆU TÁC GIẢ

Cách khắc phục lỗi  Bạn đã giữ các gói bị hỏng  trên Linux (Apt)

Mũi tên Kevin

Kevin Arrows là một chuyên gia công nghệ giàu kinh nghiệm và hiểu biết với hơn một thập kỷ kinh nghiệm trong ngành. Anh có chứng chỉ Chuyên gia Công nghệ được Chứng nhận của Microsoft (MCTS) và có niềm đam mê sâu sắc trong việc cập nhật những phát triển công nghệ mới nhất. Kevin đã viết nhiều về nhiều chủ đề liên quan đến công nghệ, thể hiện chuyên môn và kiến ​​thức của mình trong các lĩnh vực như phát triển phần mềm, an ninh mạng và điện toán đám mây. Những đóng góp của ông cho lĩnh vực công nghệ đã được các đồng nghiệp công nhận và tôn trọng rộng rãi, đồng thời ông được đánh giá cao nhờ khả năng giải thích các khái niệm kỹ thuật phức tạp một cách rõ ràng và ngắn gọn.