Hướng Dẫn Sửa Lỗi “Could not get lock /var/lib/dpkg/lock” Trên Ubuntu
Giới Thiệu Về Lỗi
Khi sử dụng lệnh apt-get hoặc apt để cài đặt hay cập nhật gói phần mềm trên Ubuntu, bạn có thể gặp lỗi sau:
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
Lỗi này xảy ra khi hệ thống đang chạy các tiến trình dùng dpkg hoặc apt, ngăn chặn các tiến trình khác truy cập cùng lúc. Trong bài viết này, chúng ta sẽ tìm hiểu cách khắc phục lỗi một cách an toàn.
Cách 1: Tìm và Kết Thúc Tiến Trình apt-get/apt
Trước tiên, bạn cần kiểm tra xem Ubuntu có đang chạy tiến trình apt hay dpkg nào không bằng lệnh:
ps -A | grep apt
Nếu danh sách hiện các tiến trình, hãy ghi lại PID (Process ID) của chúng và dùng lệnh sau để kết thúc:
sudo kill PID
Thay PID bằng số PID hiện trong danh sách. Nếu lệnh trên không hiệu quả, bạn có thể dùng tham số -9 để cưỡng bắt dừng:
sudo kill -9 PID
Sau khi kết thúc các tiến trình, hãy thử cấp nhật lại gói:
sudo apt update
sudo apt upgrade
Cách 2: Xóa Tệp Khóa (Lock Files)
Nếu không có tiến trình apt đang chạy mà vẫn gặp lỗi, có thể do tệp khóa vẫn tồn tại. Bạn có thể xóa chúng bằng lệnh sau:
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
Sau khi xóa, hãy chạy lệnh sau để khởi phục dữ liệu dpkg:
sudo dpkg --configure -a
Cuối cùng, hãy thử cấp nhật và nâng cấp gói phần mềm:
sudo apt update
sudo apt upgrade
Kết Luận
Trong bài viết này, chúng ta đã đi qua hai cách hiệu quả nhất để sửa lỗi “Could not get lock /var/lib/dpkg/lock” trên Ubuntu:
- Tìm và kết thúc các tiến trình apt-get/apt đang chạy.
- Xóa các tệp khóa để giải phóng khả năng cập nhật phần mềm.
Nếu bạn vẫn gặp lỗi, hãy kiểm tra xem hệ thống có bất kì trì hoãn cập nhật nào không bằng lệnh ps hoặc top. Chúc bạn thành công!