Giới thiệu

Trong Ubuntu, đôi khi bạn có thể gặp lỗi khi cố gắng chạy một lệnh apt:

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?

Thông báo này cho bạn biết rằng dpkg, dịch vụ Trình quản lý gói không khả dụng.

Sử dụng các tùy chọn trong hướng dẫn này để giải quyết lỗi này của Ubuntu.

Điều kiện tiên quyết

  • Bạn đã biết cách truy cập vào terminal
  • Tài khoản người dùng có đặc quyền sudo hoặc root

5 Tùy chọn để Sửa Lỗi Ubuntu “Could not get lock”

Theo mặc định, dịch vụ cập nhật khởi chạy khi Ubuntu khởi động. Trình cập nhật tự động sử dụng dpkg để kiểm tra và cài đặt các bản cập nhật.

Các dpkg dịch vụ tự khóa để hai quá trình không cập nhật nội dung cùng một lúc. Dịch vụ bị khóa để tránh các lỗi tiềm ẩn trong hệ thống. Tuy nhiên, điều đó cũng có nghĩa là người dùng không thể chạy một lệnh apt đơn giản khác.

1: Chờ nó hết hoặc khởi động lại

Cho hệ thống tối đa 10 phút sau khi bạn thấy lỗi để cho process đang chạy hoàn thành, sau đó thử cài đặt lại phần mềm của bạn.

Nếu bạn chắc chắn rằng không có gì đang được cài đặt, bạn có thể khởi động lại máy và thử lại.

Để điều chỉnh cài đặt cho cập nhật tự động:

1. Nhấp vào Activites > Search .

2. Nhập Updates .

3. Nhấp vào biểu tượng cho Software & Updates .

4. Sử dụng các hộp kiểm và menu thả xuống để tùy chọn lịch trình cập nhật ưa thích của bạn.


Lưu ý: Tôi khuyên bạn nên bật cập nhật tự động. Theo tùy chọn, bạn có thể đặt chúng thành ít thường xuyên hơn hoặc thông báo cho bạn thay vì tải xuống tự động.


2: Kiểm tra các process đang chạy

1. Nếu bạn đã thử đợi và khởi động lại hệ thống mà vẫn gặp lỗi, hãy sử dụng lệnh sau để xem dịch vụ cài đặt nào đang chạy:

ps aux | grep -i apt

2. Nếu có bất kỳ ứng dụng nào sử dụng apt , chúng sẽ xuất hiện trong danh sách. Tìm một mục tương tự như:

/usr/lib/apt/apt.systemd.daily update

3. daily update Thông báo có nghĩa là hệ thống của bạn đang chạy các bản cập nhật bình thường. Bạn phải đợi quá trình này kết thúc, nhưng không cần thực hiện hành động nào khác.

Bạn có thể có một process apt khác đang chạy:

root    2810  0.0    0.0    72948 4312  pts/0  S+    15:03  0:00   sudo apt-get remove logstash

Các cột quan trọng nhất là cột thứ hai, liệt kê PID (ID process) và cột cuối cùng hiển thị dịch vụ đang sử dụng apt.

4. Ngoài ra, bạn có thể có một dịch vụ dpkg vẫn đang chạy. Để tìm nó, hãy sử dụng lệnh sau:

ps aux | grep -i dpkg

Đầu ra dpkg sẽ giống với đầu ra apt.

3: Giải quyết process Apt đang bị mắc kẹt

1. Nếu bạn có một dịch vụ apt hoặc dpkg bí ẩn đang chạy, hãy chấm dứt dịch vụ đó và xem điều đó có giải quyết được lỗi của bạn hay không. Sử dụng lệnh sau:

sudo kill 8808

2. Thay thế 8808 bằng ID process bạn tìm được (PID) từ Bước 2. Nó sẽ hoàn tất và trở lại dòng nhắc lệnh mới. Nếu không, hãy buộc quá trình dừng lại bằng cách thêm tùy chọn -9:

sudo kill -9 8808

Điều này nên đã giải quyết vấn đề.

4: Xóa tập tin khóa

Thông báo lỗi trong Ubuntu có thể xuất hiện tương tự như sau:

/var/lib/dpkg/lock

/var/lib/dpkg/lock-frontend

/var/lib/apt/lists/lock

/var/cache/apt/archives/lock

Đây là các tệp khóa , được tạo ra để ngăn hai trường hợp apt hoặc dpkg sử dụng các tệp giống nhau cùng một lúc. Điều này có thể xảy ra nếu quá trình cài đặt bị gián đoạn hoặc không hoàn tất. Loại bỏ các tệp khóa có nguy cơ của riêng bạn.

Để xóa các tệp khóa, hãy sử dụng lệnh rm:

sudo rm /var/lib/dpkg/lock

sudo rm /var/lib/apt/lists/lock

sudo rm /var/cache/apt/archives/lock

Xóa các tệp này sẽ khắc phục được lỗi.


5: Cấu hình lại dpkg

1. Chạy lệnh --configure nếu bạn vừa xóa các tệp khóa. Ngoài ra, lệnh này sẽ hữu ích nếu bạn nhận được lỗi sau:

“dpkg was interrupted, you must manually run ‘sudo dpkg –configure -a’ to correct the problem.”

2. Nhập lệnh như hiển thị ở trên:

sudo dpkg --configure -a

Đầu ra trả về một dòng mới và lệnh sẽ giải quyết sự cố.

Sửa lỗi Could not get lock /var/lib/dpkg/lock-frontend Error

Các bước để sửa lỗi này tuân theo các bước tương tự trong các phương pháp chúng ta đã mô tả ở trên. Toàn bộ lỗi là:

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)

E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

1. Không xóa các tập tin khóa ngay lập tức . Trước khi làm như vậy, hãy xác định vị trí và loại bỏ tất cả các process có thể đang sử dụng tệp.

sudo lsof /var/lib/dpkg/lock-frontend

2. Đầu ra trả về một kết quả tương tự như:

lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
lsof: WARNING: can't stat() fuse file system /run/user/1000/doc
      Output information may be incomplete.
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
unattende 1127 root    2oW  REG    7,2        0 165231 /var/lib/dpkg/lock-frontent

3. Nếu bạn thấy unattended bên dưới cột lệnh, hệ thống của bạn đang cài đặt bản cập nhật bảo mật. Chờ cho quá trình hoàn tất.

4. Nếu không, hãy ghi lại tất cả các ID process và kill chúng bằng tùy chọn force:

sudo kill -9 process_id

5. Sau khi làm điều đó, bạn có thể thử xóa các tệp lock-frontend.

sudo rm /var/lib/dpkg/lock-frontend

Điều này sẽ giúp bạn sửa lỗi.

6. Điều cuối cùng bạn có thể thử sau khi xóa các tệp khóa là cấu hình lại dpkg như tôi đã trình bày trong phần thứ năm.

sudo dpkg --configure -a

Để kiểm tra xem các bước này có khắc phục được lỗi hay không, hãy chạy lệnh cập nhật:

sudo apt update

Khi quá trình hoàn tất thành công, điều đó cho thấy bạn đã sửa lỗi “E: Could not get lock /var/lib/dpkg/lock”.


Lưu ý: Lỗi mà chúng ta đã khắc phục có nhiều dạng khác nhau, nhưng các phương pháp sửa lỗi đều tương tự nhau. Một số biến thể của lỗi “Could not get lock…” là:

E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)

E: Unable to lock directory /var/lib/apt/lists/

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?


Phần kết luận

Bài viết này giải thích năm tùy chọn để khắc phục lỗi “E: Unable to lock the administration directory (/var/lib/dpkg/) is another process using it?” trên Ubuntu.

Một trong các tùy chọn ở trên sẽ giải quyết được sự cố và rất có thể lỗi sẽ tự giải quyết khi khởi động lại hệ thống.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments