Hướng dẫn sửa lỗi broken packages trên Ubuntu 16.04 và Debian 9

0

Ubuntu và Debian đều sử dụng các package để thêm các khả năng vào hệ thống, cho phép người dùng làm nhiều được nhiều việchơn với các máy của họ. Tuy nhiên, không có gì hoàn hảo, mọi thứ vẫn có thể phá vỡ. Cho dù đó là một cài đặt kém, cấu hình không đúng hoặc nếu một cái gì đó bên ngoài sửa đổi các tệp sau khi cài đặt, các gói đôi khi có thể bị lỗi và không hoạt động nữa, khiến chúng bị ‘hỏng’. Điều này cũng có thể ảnh hưởng đến apt-get, trình quản lý gói có sẵn, có thể dẫn đến việc bạn không thể cài đặt bất kỳ gói bổ sung nào, cập nhật chúng hoặc thậm chí loại bỏ hoàn toàn bất kỳ gói nào.

Trong hướng dẫn này, chúng tôi sẽ giới thiệu một số phương pháp để sửa các gói bị hỏng trên cả Ubuntu 16.04 và Debian 9. Vì vấn đề này có thể xảy ra do một số lý do, một số giải pháp tồn tại, một số giải pháp có thể hoặc không hoạt động trên máy của bạn . Do đó, tốt nhất là nên xem gói cụ thể nào đã bị hỏng và tại sao, điều này sẽ giúp bạn quyết định nên thực hiện theo phương pháp nào trước tiên.

PHƯƠNG PHÁP 1: SỬ DỤNG APT-GET

Một gói bị hỏng sau khi nó đã được cài đặt có thể tương đối dễ sửa chữa, nhờ có một công cụ tích hợp bên trong apt-get. Thực hiện các lệnh sau sẽ thử và sửa bất kỳ gói bị hỏng nào hiện được cài đặt trên hệ thống của bạn:

sudo apt-get update --fix-missing
sudo apt-get install -f

(tùy chọn -f là viết tắt của sửa lỗi.)

Hãy thử và xem nếu lệnh đầu tiên sửa chữa vấn đề của bạn trước khi thực hiện lệnh thứ hai. Hãy dành một chút thời gian để thử và sửa bất kỳ lỗi nào mà nó có thể tìm thấy. Nếu nó hoạt động, sau đó thử và sử dụng các gói đã bị hỏng – nó có thể sẽ được khắc phục ngay bây giờ. Trong trường hợp nó vẫn không cố định, hãy chuyển sang giải pháp tiếp theo bên dưới.

PHƯƠNG PHÁP 2: SỬ DỤNG DPKG VÀ APT-GET

Giải pháp này sẽ giúp ích nếu gói phần mềm bị hỏng khi được cài đặt. Bạn có thể thử sử dụng phương pháp trước đó trước khi tiếp tục, vì nó có thể hữu ích. Đầu tiên, chúng ta làm sạch apt-get và thử sử dụng dpkg để cấu hình bất kỳ gói nào cần nó:

sudo dpkg --configure -a

sudo apt-get clean

sudo apt-get update

Sau đó, xem gói đã được sửa chưa. Nếu không, bạn có thể cần xóa các tệp khóa. Khóa tập tin được sử dụng để giữ tài nguyên cho các chương trình nhất định – nó giúp ngăn chặn các chương trình khác truy cập các tập tin cùng một lúc. Điều này có thể được thực hiện bằng cách xóa danh sách lockfile:

sudo rm /var/lib/apt/lists/lock

Sau đó, hãy thử và chạy các lệnh trên một lần nữa. Từ đó, hãy thử và cài đặt lại gói để xem liệu nó có thể được cài đặt thành công hay không.

PHƯƠNG PHÁP 3: SỬ DỤNG DPKG ĐỂ LOẠI BỎ

Đôi khi, trong những trường hợp hiếm hoi, các lệnh trên sẽ không hoạt động và gói bị hỏng sẽ không thể khắc phục được. Trong trường hợp này, bạn sẽ cần phải loại bỏ các gói bằng tay . Phương pháp này yêu cầu bạn đã biết gói nào bị hỏng.

Trước tiên, bạn có thể thử và loại bỏ gói có vấn đề thông thường thông qua apt-get bằng cách nhập lệnh sau:

sudo apt-get remove <package name>

Nó có thể sẽ không thành công, nhưng nó là giá trị cố gắng trước khi loại bỏ nó một cách mạnh mẽ.

Tùy thuộc vào lỗi bạn nhận được khi cố gắng xóa gói, bạn có thể xác định gói bị hỏng bằng dpkg và grep:

dpkg -l | grep ^ .. r

Lệnh này liệt kê tất cả các gói, sau đó grep liệt kê bất kỳ kết quả nào có chứa cờ ‘r’ trong trường thứ ba, có nghĩa là “yêu cầu phục hồi” (yêu cầu cài đặt lại). Nếu gói bị hỏng hiển thị, bạn sẽ có thể xóa gói đó.

Thực hiện lệnh sau để gỡ bỏ gói khỏi máy của bạn. Đừng quên nhập mật khẩu của bạn để cho phép xóa. Thay thế <package name> bằng tên của gói bị hỏng.

sudo dpkg --remove --force-remove-reinstreq <package name>

Khi đã xong, hãy dọn dẹp và cập nhật apt-get:

sudo apt-get clean

sudo apt-get update

Sau đó, hãy thử cài đặt gói từ đầu. Nó sẽ cài đặt bình thường ngay bây giờ.

CÁC GIẢI PHÁP KHÁC

Những phương pháp này là cách tốt nhất để sửa chữa hoặc loại bỏ package bị hỏng khỏi hệ thống của bạn – nhưng đôi khi sẽ không đủ. Trong một số ít trường hợp, hệ thống sẽ không thấy package bị hỏng, nhưng nó vẫn sẽ ngăn chặn hoạt động bình thường của bạn hoạt động bình thường. Trong những trường hợp này, việc xóa và xóa thủ công thường là giải pháp tốt nhất. Tuy nhiên, quá trình xóa các tệp này thay đổi từ package thành package và có thể gây rủi ro. Vì vậy, hãy thử các giải pháp này trước khi cố xóa các tệp khỏi hệ thống của bạn.

PS . Nếu bạn thích bài viết này về cách sửa chữa các package bị hỏng trên Ubuntu 16.04 và Debian 9, hãy chia sẻ nó với bạn bè của bạn trên các mạng xã hội bằng cách sử dụng các nút bên dưới hoặc đơn giản là để lại nhận xét. Cảm ơn.

Leave a Reply

Your email address will not be published. Required fields are marked *