Hướng dẫn sửa lỗi package bị lỗi trên Ubuntu và Debian

Hướng dẫn sửa lỗi package bị lỗi trên Ubuntu và Debian

Ubuntu và Debian đều sử dụng các package để thêm vào các khả năng của hệ thống, cho phép người dùng làm nhiều hơn với các máy của họ. Tuy nhiên, hệ thống package có thể tuyệt vời đến đâu vẫn sinh ra lỗ hổng. Cho dù đó là một cài đặt xấu, 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 package đô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ý package có sẵn, có thể dẫn đến việc bạn không thể cài đặt bất kỳ package 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ỳ package 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 package bị hỏng trên cả Ubuntu 16.04 và Debian 9. Vì vấn đề này có thể xảy ra do nhiều 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 package 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

Thường xuyên hơn không, một package 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ỳ package 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 package đã bị hỏng – nó có thể sẽ được cố định 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 một package 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ỳ package nào cần nó:

sudo dpkg --configure -a

sudo apt-get clean

sudo apt-get update

Sau đó, xem package đã đượ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 có sẵ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 package để 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ỏ mạnh mẽ

Đô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à package 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 package bằng tay và với lực lượng. Phương pháp này yêu cầu bạn đã biết package nào bị hỏng.

Trước tiên, bạn có thể thử và loại bỏ package 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

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 package bình thường, bạn có thể xác định package bị hỏng bằng dpkg và grep:

dpkg -l | grep ^..r

Lệnh này liệt kê tất cả các package, 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 package bị hỏng hiển thị, bạn sẽ có thể xóa package đó.

Thực hiện lệnh sau để gỡ bỏ package 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ế bằng tên của package bị hỏng.

sudo dpkg --remove --force-remove-reinstreq

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 package 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 nó 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 khác 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.

Author Image
Hoàng Tùng

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *