Tiếng Việt
Fix APT Lock
Triệu chứng
Một thao tác cài đặt hoặc cập nhật trên máy chủ bị lỗi, và phần Kết quả của sự kiện có một trong các dòng sau:
text
E: Could not get lock /var/lib/dpkg/lock-frontend
E: Unable to acquire the dpkg frontend lock
E: Could not get lock /var/lib/apt/lists/lock
E: Unable to lock directory /var/lib/apt/lists/Với lỗi Unable to acquire the dpkg frontend lock, mục Giải pháp trong chi tiết sự kiện sẽ dẫn tới trang này.
Nguyên nhân
Ubuntu chỉ cho phép một chương trình cài gói (apt, apt-get, dpkg) chạy tại một thời điểm. Chương trình đang chạy sẽ "khóa" trình quản lý gói cho đến khi xong. Lỗi xảy ra khi:
- Máy chủ đang tự cập nhật bảo mật ở chế độ nền (thường gặp ngay sau khi máy chủ mới khởi động).
- Một lần cài đặt trước đó bị gián đoạn (mất kết nối, khởi động lại máy chủ…) và để lại khóa.
Nếu máy chủ chỉ đang tự cập nhật, thường bạn chỉ cần chờ vài phút rồi thực hiện lại thao tác.
Sửa bằng nút Fix APT Lock
- Mở máy chủ, tìm nhóm Tiện ích trên trang tổng quan.
- Bấm Fix APT Lock.
- Đọc mô tả rồi bấm Đồng ý.
- Theo dõi sự kiện Fix APT Lock trong trang Sự kiện. Khi sự kiện thành công, thực hiện lại thao tác bị lỗi lúc trước.
Tiện ích này sẽ lần lượt:
- Dừng mọi tiến trình
aptvàapt-getđang chạy. - Xóa các tệp khóa của trình quản lý gói.
- Hoàn tất cấu hình các gói bị cài dở (
dpkg --configure -a). - Cập nhật lại danh sách gói.
Nút bị vô hiệu hóa khi máy chủ đang chạy một thao tác khác của FlashPanel; hãy chờ thao tác đó xong.
Cảnh báo
Tiện ích dừng ngay các tiến trình apt đang chạy, kể cả khi chúng đang cài đặt hoặc cập nhật bình thường. Nếu ngắt giữa chừng, gói đang cài có thể bị lỗi. Chỉ dùng khi bạn chắc chắn không có cài đặt nào đang chạy (ví dụ lỗi vẫn còn sau khi đã chờ 10–15 phút).
Tự xử lý thủ công
Nếu nút không khắc phục được, hãy kết nối SSH vào máy chủ bằng người dùng root và làm như sau:
Xem chương trình nào đang giữ khóa:
bashsudo lsof /var/lib/dpkg/lock-frontend ps aux | grep -E 'apt|dpkg' | grep -v grepNếu thấy
unattended-upgradehoặc một lệnhaptđang chạy, hãy chờ nó kết thúc.Nếu tiến trình bị treo (không thay đổi sau thời gian dài), dừng nó bằng mã PID ở cột thứ hai:
bashsudo kill <PID>Sửa các gói bị cài dở rồi cập nhật lại:
bashsudo dpkg --configure -a sudo apt-get install -f sudo apt-get updateNếu vẫn lỗi, khởi động lại máy chủ rồi thử lại. Khi cần hỗ trợ, gửi kèm ID và phần Kết quả của sự kiện lỗi cho bộ phận hỗ trợ của FlashPanel.
Lỗi "dpkg was interrupted"
Thao tác thất bại với thông báo:
text
E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.Một lần cài đặt hoặc nâng cấp gói trước đó bị dừng giữa chừng (mất kết nối, khởi động lại máy chủ, ổ đĩa đầy…) và để lại một số gói chưa cấu hình xong. Mục Giải pháp trong chi tiết sự kiện sẽ dẫn tới phần này.
Đảm bảo không còn cài đặt hay cập nhật nào đang chạy (bước 1 của phần Tự xử lý thủ công).
Bấm Fix APT Lock như hướng dẫn ở trên, tiện ích này cũng hoàn tất cấu hình các gói bị cài dở. Hoặc chạy các lệnh sau bằng
root:bashsudo dpkg --configure -a sudo apt-get install -f sudo apt-get updateThực hiện lại thao tác bị lỗi.
Nếu các lệnh trên báo No space left on device, hãy giải phóng ổ đĩa trước, xem Ổ đĩa đầy.