NỘI DUNG
Hướng dẫn sửa lỗi could not get lock /var/lib/dpkg/lock chi tiết cho người mới.
Trong quá trình quản trị server hoặc sử dụng Ubuntu để cài đặt phần mềm, nhiều người thường gặp lỗi:

Lỗi này khiến các lệnh như apt, apt-get hoặc dpkg không thể hoạt động, dẫn đến việc cài đặt hay cập nhật phần mềm bị gián đoạn. Đối với người mới sử dụng Linux, đây có thể là lỗi gây khá nhiều bối rối.
Trong bài viết này, bạn sẽ được hướng dẫn chi tiết từ nguyên nhân, cách kiểm tra cho đến từng bước xử lý an toàn để khắc phục lỗi Could not get lock /var/lib/dpkg/lock.
Lỗi Could not get lock /var/lib/dpkg/lock là gì?
Could not get lock /var/lib/dpkg/lock là lỗi xảy ra khi hệ thống quản lý gói của Ubuntu (APT hoặc DPKG) không thể truy cập tệp khóa quản trị vì đã có một tiến trình khác đang sử dụng nó.
Ubuntu sử dụng các lock file để đảm bảo chỉ có một tiến trình cài đặt hoặc cập nhật phần mềm chạy tại một thời điểm, tránh xung đột dữ liệu.
Khi gặp lỗi này, bạn thường thấy thông báo như:
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?Điều này có nghĩa là một tiến trình khác đang chiếm quyền quản lý hệ thống gói.
Nguyên nhân gây ra lỗi
Có nhiều nguyên nhân khiến Ubuntu xuất hiện lỗi này, phổ biến nhất gồm:
1. Đang có tiến trình apt hoặc dpkg chạy nền
Ubuntu có thể đang tự động cập nhật hệ thống hoặc cài đặt gói phần mềm, do đó tệp lock đã bị chiếm.
2. Chạy nhiều lệnh cài đặt cùng lúc
Nếu bạn mở nhiều cửa sổ Terminal và chạy các lệnh như:
apt update
apt upgrade
apt installcùng lúc thì rất dễ xảy ra xung đột.
3. Quá trình cập nhật bị dừng đột ngột
Ví dụ:
- Tắt máy giữa chừng
- Mất kết nối SSH
- Server bị restart
- Terminal bị đóng
Những tình huống này có thể khiến lock file vẫn tồn tại nhưng tiến trình đã dừng.
4. Tiến trình apt bị treo
Một số trường hợp tiến trình cài đặt bị treo nhưng chưa kết thúc hoàn toàn, khiến hệ thống vẫn giữ quyền khóa.
Cách sửa lỗi Could not get lock /var/lib/dpkg/lock
Dưới đây là các bước khắc phục an toàn, nên thực hiện theo thứ tự.
Bước 1: Kiểm tra tiến trình apt hoặc dpkg đang chạy
Trước tiên, cần kiểm tra xem hệ thống có đang chạy tiến trình quản lý gói hay không.
Thực hiện chạy lệnh sau
ps aux | grep -i apt
Hoặc chạy lệnh
ps aux | grep -i dpkgNếu thấy kết quả như
root 1421 ... apt-get updatethì số 1421 chính là PID (Process ID) của tiến trình. Bạn cần ghi lại số này để xử lý ở bước tiếp theo.
Bước 2: Kết thúc tiến trình gây xung đột
Nếu tiến trình bị treo hoặc không cần thiết, bạn có thể dừng nó bằng lệnh:
sudo kill PIDVí dụ
sudo kill 1421Nếu tiến trình vẫn chưa dừng, hãy dùng lệnh mạnh hơn:
sudo kill -9 PIDSau đó thử chạy lại.
sudo apt update
sudo apt upgradeBước 3: Xóa file khóa (lock file)
Trong trường hợp không còn tiến trình apt hoặc dpkg nào chạy, bạn có thể xóa file khóa để giải phóng hệ thống.
Chạy lần lượt các lệnh:
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/apt/lists/lockSau đó sửa lại trạng thái hệ thống bằng:
sudo dpkg --configure -aCuối cùng cập nhật lại hệ thống:
sudo apt updateBước 4: Khởi động lại hệ thống
Nếu vẫn gặp lỗi, cách đơn giản nhất là restart máy hoặc server.
Việc khởi động lại sẽ:
- giải phóng tiến trình bị treo
- xóa lock file còn sót lại
- đưa hệ thống trở về trạng thái ổn định
Lệnh restart:
sudo rebootBước 5: Kiểm tra cập nhật tự động của Ubuntu
Ubuntu thường có dịch vụ cập nhật tự động như:
unattended-upgradesDịch vụ này có thể chạy nền và gây xung đột khi bạn cài đặt thủ công. Bạn có thể kiểm tra bằng lệnh:
ps aux | grep unattendedNếu muốn kiểm soát tốt hơn, có thể cấu hình lại hệ thống cập nhật tự động.
Một số lưu ý quan trọng khi xử lý lỗi
Để tránh gây hỏng hệ thống, bạn cần lưu ý các điểm sau:
- Không xóa lock file khi tiến trình vẫn chạy
Nếu xóa khi tiến trình apt vẫn hoạt động, hệ thống quản lý gói có thể bị lỗi nghiêm trọng.
Không tắt máy giữa quá trình cài đặt. Việc tắt máy có thể khiến hệ thống bị lỗi dpkg.
Trong khi hệ thống đang:
update
upgrade
installTổng kết
Lỗi Could not get lock /var/lib/dpkg/lock là lỗi phổ biến khi sử dụng Ubuntu hoặc các hệ điều hành Linux dựa trên Debian. Tuy nhiên, đây không phải lỗi nghiêm trọng và hoàn toàn có thể xử lý nhanh nếu thực hiện đúng cách.
Với kinh nghiệm thực chiến từ việc tiếp xúc hàng ngày với vô vàn vấn đề về Website, Hosting, VPS, Server tại Phòng Kỹ thuật AZDIGI, mình luôn ấp ủ niềm đam mê chia sẻ kiến thức.
Mình xây dựng các blog không chỉ để tự trau dồi kỹ năng mà còn để cung cấp những tài liệu, hướng dẫn hữu ích nhất đến cộng đồng. Rất mong nhận được sự quan tâm của các bạn!
Để lại thông tin, mình sẽ phản hồi ngay.
