Tin tức và phân tích của tất cả các thiết bị di động

Cách sửa lỗi “không nhận được khóa” trên Ubuntu

Đôi khi bạn thử cài đặt phần mềm trên Ubuntu trong thiết bị đầu cuối, bạn sẽ thấy lỗi không thể khóa. Lỗi này gây khó chịu vì nó khóa hệ thống của bạn và ngăn bạn cài đặt phần mềm cần thiết một cách hiệu quả.

Không nhận được lỗi khóa

Lý do cho lỗi này là người dùng Ubuntu thường đóng thiết bị đầu cuối cài đặt sớm thứ gì đó trong khi nó đang chạy. Khi họ mở thiết bị đầu cuối thứ hai và cố gắng sử dụng trình quản lý gói, họ gặp lỗi “không thể khóa” vì nó không cho phép nhiều phiên bản của hệ thống gói chạy cùng một lúc.

Mặc dù thật dễ hiểu tại sao trình quản lý gói bị kẹt, nhưng điều đó thật khó chịu. Thật không may, khi người dùng Ubuntu gặp sự cố này, họ hoang mang vì hệ điều hành không giải thích cách khắc phục.

Việc sửa lỗi “không thể khóa” khá dễ dàng, mặc dù lời nhắc của thiết bị đầu cuối khiến nó có vẻ đáng sợ và phức tạp. Trong bài đăng này, chúng tôi sẽ chỉ cho bạn chính xác những việc cần làm khi gặp phải, cách khắc phục và cách ngăn lỗi xảy ra lần nữa trong tương lai.

Lưu ý: Bạn có phải là người dùng Debian không? Xin mời các bạn theo dõi! Ubuntu được xây dựng trên hệ điều hành Debian, vì vậy các lệnh chúng tôi sử dụng trong bài đăng này sẽ hoàn toàn phù hợp! Phương pháp này cũng sẽ hoạt động với Linux Mint, Hệ điều hành cơ bản và các dẫn xuất Ubuntu khác.

Giết Apt/Apt-get

Như đã đề cập trong phần giới thiệu của bài đăng này: nguyên nhân của lỗi “không thể khóa” xảy ra khi trình quản lý gói Ubuntu đang chạy (trong nền) và người dùng cố chạy lần thứ hai.

Chừng nào sự cố với trình quản lý gói Ubuntu chạy ẩn, bạn sẽ không thể sử dụng trình cài đặt để cài đặt chương trình và lỗi khó chịu sẽ tiếp tục lặp lại.

May mắn thay, trình quản lý gói Ubuntu là một chương trình giống như bất kỳ chương trình nào khác và có thể được quản lý như một chương trình.

Có một số cách để giết các tiến trình trên Linux. Cách tốt nhất (và nhanh nhất) là sử dụng lệnh ps để lấy ID của tiến trình gây ra sự cố (Apt/Apt-get trong trường hợp này). Sau đó sử dụng lệnh kill để ngăn chặn nó.

Để bắt đầu, hãy khởi chạy một thiết bị đầu cuối và chạy lệnh ps aux với Apt ở cuối (hoặc Apt-get nếu đó là thứ bạn đang sử dụng).

ps aux | egrep 'apt'

Hoặc cho người dùng Apt-get:

ps aux | egrep 'apt-get'

Nhìn vào thiết bị đầu cuối và đọc các số xuất hiện trong đầu ra. Đây là số quy trình cho trình quản lý gói. Lấy số đó và cắm nó vào lệnh kill để ngăn chặn nó.

Lưu ý: Khi sử dụng lệnh kill trong các tiện ích hệ thống, hãy luôn sử dụng khóa chuyển “SIGTERM” hoặc “SIGKILL”. Nếu bạn không, quá trình có thể không dừng lại.

sudo kill -SIGKILL process-id-number

Hoặc

sudo kill -SIGTERM process-id-number

Chạy lệnh kill sẽ chấm dứt quá trình quản lý gói. Nếu bạn không chắc trình quản lý gói Ubuntu có thực sự dừng hay không, bạn có thể chạy lại lệnh ps aux ở trên. Nếu không có số nào quay lại, sự cố đã biến mất và bạn có thể sử dụng lại trình quản lý gói Ubuntu!

Xóa các tập tin khóa

Trong hầu hết các trường hợp, nếu trình quản lý gói Apt bị kẹt trong nền không phản hồi, quá trình có thể bị chấm dứt bằng lệnh kill. Tuy nhiên, đôi khi kết thúc quá trình là không đủ.

Nếu bạn gặp lỗi và việc tắt trình quản lý gói Ubuntu không giúp được gì, bạn có thể thử một phương pháp thay thế. Nó liên quan đến việc sửa đổi trực tiếp các “khối” mà công cụ đóng gói đặt trên máy tính của bạn.

Các tệp khóa nằm trong ba thư mục riêng biệt. Phiên cuối phải có đặc quyền siêu người dùng để truy cập các tệp. Quyền truy cập root trong Ubuntu có được bằng lệnh sudo.

sudo -s

Sau khi đạt được quyền root, CD vào thư mục đầu tiên.

cd /var/lib/dpkg/

rm lock

Bây giờ bạn đã xử lý tệp khóa đầu tiên, đã đến lúc xử lý tệp thứ hai.

cd /var/lib/apt/lists/

rm lock

Khi tệp khóa thứ hai bị chiếm dụng, hãy loại bỏ tệp khóa thứ ba và tệp khóa cuối cùng.

cd /var/cache/apt/archives/

rm lock

Sau khi tất cả ba tệp khóa được xóa bằng lệnh rm, bạn đã sẵn sàng và trình quản lý gói Ubuntu sẽ bắt đầu hoạt động trở lại. Để kiểm tra điều này, hãy chạy:

sudo apt update

Sửa chữa các gói bị hỏng

Khi bạn đóng thiết bị đầu cuối sớm trên Ubuntu trong khi cài đặt chương trình, các gói có xu hướng bị hỏng. Để khắc phục điều này, bạn cần chạy lệnh dpkg cùng với tùy chọn “cấu hình”.

dpkg --configure -a

Khi bạn thực hiện xong lệnh trên, mọi thứ sẽ được sửa và các gói bị hỏng sẽ sẵn sàng để sử dụng.