Không thể khóa thư mục quản trị (/ var / lib / dpkg /) là một quá trình khác sử dụng nó?


1025

Tôi gặp lỗi này khi thử sử dụng apt-get:

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àm thế nào tôi có thể sửa lỗi này?


18
Điều này cũng đúng nếu bạn khởi động lại? Có thể một số luồng apt cũ đang khóa tệp, bạn cần tìm ra cái nào và giết nó hoặc chỉ cần khởi động lại sẽ làm được.
Bruno Pereira

4
Quy trình này hầu như luôn khắc phục vấn đề này và khi không, đầu ra của nó (văn bản từ Terminal) đôi khi hữu ích. Nếu bạn quyết định làm điều đó, bạn có thể thêm văn bản này vào câu hỏi của bạn.
Eliah Kagan

54
Bạn có thể sử dụng sudo lsof /var/lib/dpkg/lockđể tìm ra quá trình sở hữu tập tin khóa (nếu có sản phẩm nào, giả sử các khóa còn sót lại từ một khởi động trước và có thể được sudo rmd), sau đó xem xét thực hiện một sudo kill -9 <PID>(lấy <PID> từ lsofđầu ra.
waltinator

11
Đây có thể là một dấu hiệu cho thấy một cái gì đó khác đang cài đặt hoặc gỡ bỏ phần mềm và đã khóa cơ sở dữ liệu apt trong khi nó thực hiện các hành động.
Trước

5
Trên máy ảo Ubuntu 18.04 của tôi có một quy trình gọi là cập nhật không giám sát, được chạy bởi một quy trình như thế root <pid> <ppid> 0 15:58 ? 00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install, dường như chạy cập nhật apt mỗi khi tôi bật máy. Tùy thuộc vào kích thước của bản cập nhật (thường tương ứng với khoảng thời gian trước kể từ khi tôi sử dụng máy đó lần trước), việc này có thể sử dụng từ 1-10 phút để hoàn thành. Sau đó, khóa được giải phóng để cài đặt và cập nhật apt thủ công. Hãy thử: sudo ps aux|grep apthoặc `sudo ps aux | grep không giám sát.
Kjetil S.

Câu trả lời:


872

Điều này nên được sử dụng như là phương sách cuối cùng. Nếu bạn sử dụng bất cẩn, bạn có thể kết thúc với một hệ thống bị hỏng. Vui lòng thử các khác câu trả lời đầu tiên trước khi làm điều này.

Bạn có thể xóa tệp khóa bằng lệnh sau:

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

Bạn cũng có thể cần xóa tệp khóa trong thư mục bộ đệm

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

Sau đó, thử mở Synaptic một lần nữa.


13
ok ... nhưng tại sao lại xảy ra chuyện này?
Jaime Hablutzel

40
@jaime: có lẽ apt-get (hoặc một số giao diện GUI cho nó) đã bị dừng trong khi thực thi, khiến apt ở trạng thái bị khóa.
bouke

10
Tôi sẽ chấp nhận đây là câu trả lời tốt nhất. đúng một.
Anwar

9
@AnwarShah không, có những cân nhắc khác trước khi đi xung quanh loại bỏ các tập tin của hệ thống.
Braiam

22
rm / var / lib / dpkg / khóa; dpkg - thông minh -a:
WitchCraft

664

Tôi thấy khá nhiều tất cả các câu trả lời đề nghị xóa khóa. Tôi không khuyên bạn nên làm điều đó như một biện pháp đầu tiên; có lẽ nếu không có sự thay thế Khóa được đặt khi một tiến trình apt đang chạy và được gỡ bỏ khi quá trình hoàn tất. Nếu có một khóa không có quy trình rõ ràng đang chạy, điều này có thể có nghĩa là quá trình bị kẹt vì một số lý do.

Nếu bạn cố gắng

ps aux | grep [a]pt

hoặc là

pgrep -a apt

aptít nhất sẽ bắt được các quá trình có chứa từ đó . Nếu bạn thấy một apt-getquy trình hoặc một aptitudequy trình có vẻ bị kẹt, bạn có thể thử

sudo kill processnumber

và nếu nó không hoạt động hãy thử

sudo kill -9 processnumber

Điều này sẽ giết quá trình và có thể loại bỏ khóa. Giết một apthoặc aptitudequá trình là vô hại trừ khi nó thực sự ở giữa cài đặt gói. Trong mọi trường hợp, nếu quá trình bị kẹt, có lẽ bạn không có lựa chọn nào khác ngoài việc giết nó.

Giết một dpkgquá trình trực tiếp, nếu có, không phải là một ý tưởng tốt, bởi vì nếu dpkgđang hoạt động, nó có thể đang thao túng cơ sở dữ liệu gói và giết nó có thể khiến cơ sở dữ liệu gói ở trạng thái không nhất quán; tức là hỏng.

Giết một apt-gethoặc aptitudequá trình nói chung là an toàn hơn nhiều.


18
@Link Tôi không nghĩ giết dpkglà một ý tưởng hay, bởi vì thường dpkgthao túng trực tiếp cơ sở dữ liệu gói và điều này có thể gây ra tham nhũng.
Faheem Mitha

18
Nếu giết dpkg có thể làm hỏng cơ sở dữ liệu của nó, thì dpkg được thiết kế tồi. Giai đoạn = Stage.
Jay Sullivan

10
Đối với tôi, điều này dẫn đến một lỗi dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.khi chạy sudo apt-get dist-upgradelại. Chạy lệnh sau đó giải quyết vấn đề. Tôi yêu Nix!
Wayne Phipps

5
Lưu ý, killall apt-getthực hiện tương tự như ps/ killcombo của bạn .
Cerin

3
Lưu ý rằng tôi thấy rằng tôi cần phải chạy sudo dkpg --configure -asau khi giết quá trình apt giả mạo để mọi thứ trở lại bình thường.
starbeamrainbowlabs

219

Loại bỏ /var/lib/dpkg/locktập tin của bạn và buộc cấu hình lại gói.

sudo rm /var/lib/dpkg/lock
sudo dpkg --configure -a

Nó sẽ hoạt động sau này.


các lệnh này đã giúp, nhưng bây giờ khi tôi cố gắng cài đặt lại, đã nhận được phản hồi này: Không thể nhận khóa / var / cache / apt / archives / lock - open. Tôi nghĩ rằng tôi sẽ phải làm như vấn đề mở khóa trước đó, nhưng xin vui lòng cho tôi biết các từ khóa chính xác cho lệnh. Tôi là người mới bắt đầu tuyệt đối.
kern

1
sudo- thực thi lệnh dưới quyền root, rm- xóa tập tin. Có thể thửsudo rm /var/cache/apt/archives/lock
kubahaha

5
Đây không phải là một gợi ý hay: loại bỏ một cách mù quáng sự may mắn có thể làm hỏng trạng thái của dpkg.
poolie 2/2/2015

5
Tại sao hôm nay wont nó lại tự sửa?
Marian Klühspies

2
Điều này làm việc cho tôi. Aws ở trên không.
1rq3fea324wre

108

Bạn sẽ nhận được thông báo này nếu bạn quên sử dụng sudokhi thực hiện lệnh apt.

Mặt khác, đây là dấu hiệu cho thấy một cái gì đó khác đang cài đặt hoặc gỡ bỏ phần mềm và đã khóa cơ sở dữ liệu apt trong khi nó thực hiện các hành động. Các chương trình có thể làm điều này là:

  • Trung tâm phần mềm
  • Trình quản lý cập nhật
  • Trình cài đặt liên kết apt (tôi nghĩ rằng điều này bây giờ đi qua SC)
  • Các tiện ích dòng lệnh apt-get hoặc aptitude.
  • Trình quản lý gói Synaptic

QUAN TRỌNG: chỉ thử dưới đây như là phương sách cuối cùng vì nó có thể làm sập hệ thống của bạn. Trước tiên hãy thử giết bất kỳ ví dụ đang chạy apthoặc aptitudenhư được mô tả trong câu trả lời của Faheem .

Bạn có thể buộc khóa bằng cách xóa tệp, nhưng không nên đóng chương trình trước khi giữ khóa an toàn , vì bạn có thể gây ra tham nhũng hoặc làm gián đoạn cài đặt (xấu). Lệnh do João cung cấp sẽ đóng chương trình giữ khóa và sau đó gỡ khóa nhưng sẽ không bảo vệ bạn khỏi sự gián đoạn cài đặt:

sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock   

Và lệnh tương tự có thể được sử dụng cho khóa bộ đệm apt:

sudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock

5
Tôi đang cập nhật phần mềm khi nhận được thông báo lỗi.
hạt mưa

20
Điều này đã sụp đổ cho tôi-
umpirsky

5
sudo fuser -cuk /var/cache/apt/archives/locktrực tiếp khởi động lại máy tính của tôi. apt-gethiện đã được mở khóa.
Maxime R.

15
Điều này đã đánh sập toàn bộ máy chủ của tôi.
에 ảnh

5
Giết apt hoặc dpkg nửa chừng không phải là một ý tưởng tuyệt vời.
poolie

99

Cách dễ nhất để đạt được điều này là:

  • khởi động Ubuntu
  • bắt đầu một thiết bị đầu cuối
  • thể loại sudo apt-get install whatever

và dòng lệnh aptchồng lấp với update-managertự động bỏ phiếu.

Vì vậy, nếu bạn thử lại trong một vài phút mà nên sửa nó.


21
Gợi ý tuyệt vời trái ngược với nửa tá câu trả lời đề nghị xóa tệp ;-) Tôi ngẫu nhiên chạy trong vấn đề và rất có thể đây là nó!
Alex

2
Đủ an toàn, phải chờ một chút trước khi sudo apt-get installcó thể làm việc.
sargas

Vâng, điều này không phải lúc nào cũng hoạt động, vâng tôi đã sử dụng khởi động lại nhiều lần. Nếu nó không phù hợp, hãy thử hỏi này Ubuntu / a315791 / 378845 trước khi bạn xóa khóa
Menuka Ishan

@menuka, tại sao không để nó kết thúc.
poolie

@poolie Bởi vì có những ràng buộc khác đang ngăn quá trình kết thúc
Menuka Ishan

52

Chỉ có một chương trình có thể giữ khóa. Hãy chắc chắn rằng bạn không chạy năng khiếu, khớp thần kinh hoặc lão luyện. Đóng chương trình và chạy lại nó sẽ hoạt động. Bạn có thể mở synap hoặc mở một cửa sổ đầu cuối khác đang chạy apt-get hoặc có trình quản lý cập nhật đang chạy. Hãy kiểm tra và xem có ai đang chạy không, nếu có Họ đang chạy gần nó và thử lại.

Hãy thử lệnh này trong terminal để tìm những gì đang chạy

ps -e | grep -e apt -e adept | grep -v grep

Lưu ý:
Nếu điều đó không in bất cứ điều gì, hãy nhập thông tin sau vào thiết bị đầu cuối để loại bỏ khóa

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

Bây giờ bạn có thể cài đặt bất kỳ Gói.


9
Xóa các tập tin khóa là, những gì tôi sẽ xem xét, một điều nguy hiểm để làm. Nếu một quy trình khác bị khóa vì một lý do hợp lệ - và bạn xóa tệp khóa đó và buộc cài đặt với những gì bạn đang làm trước đó - bạn có thể nghiêm trọng, theo cách tiêu cực, ảnh hưởng đến hệ thống của bạn.
Marco Ceppi

5
Đó là lý do tại sao tôi đã đưa ra điều đó trong Note. Nếu tất cả các cách trên đều thất bại, cách duy nhất là gỡ bỏ khóa. Nó sẽ không gây ra bất kỳ vấn đề nào miễn là các quá trình dpkg và apt-get / aptitude không chạy
karthick87

pgrep -f 'apt|adept|dpkg'ngắn hơn rất nhiều
dhchdhd

Cám ơn! những công việc này. pgrep -f 'apt | adept | dpkg' và sau đó sudo skill (số), giết tất cả số rồi cài đặt công trình!
người tạo

@Barry sẽ phù hợp với toàn bộ quá trình + quá trình. Tôi nghĩ pgrep -a 'apt|adept|dpkg'là một tương đương ngắn tốt hơn.
Pablo A

46

Cho đến nay, cách tốt nhất để làm cho nó hoạt động mà không phá vỡ cài đặt chạy nền có thể xảy ra (như có thể xảy ra bằng cách xóa tệp khóa), là dừng dịch vụ bằng apt:

Lỗi:

# sudo apt-get upgrade
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?`

Giải pháp:

sudo systemctl stop apt-daily.timer

Sau khi nâng cấp hệ thống, tôi khuyên bạn nên bật lại hệ thống, vì lỗi khóa có thể được sửa bằng bản nâng cấp.

sudo systemctl start apt-daily.timer

Tôi chưa xác minh lỗi này được sửa sau khi nâng cấp. Tôi sẽ thêm một nhận xét mới khi tôi đã xác minh


Sau khi nâng cấp hệ thống và khởi động lại dịch vụ apt-Daily.timer, tôi không gặp phải vấn đề này cho đến nay.
Jairelee

Đây có lẽ là phương pháp sạch nhất so với tất cả những câu trả lời được bình chọn cao hơn ở trên. Nó hoạt động trong trường hợp của tôi hoàn hảo, cảm ơn bạn!
CygnusX1

Điều này cũng hoạt động hoàn hảo vào ngày 17.10
Elder Geek

Làm việc vào ngày 17.10 +1
Tiếng Anh.

2
Làm việc tốt trong 18.04. :)
Naveen Kumar V

33

Trước hết chúng ta nên kiểm tra quá trình tạo tập tin khóa bằng cách sử dụng lsof:

sudo lsof /var/lib/dpkg/lock

hoặc trong một tình huống khác /var/lib/apt/lists/lockcó vấn đề:

sudo lsof /var/lib/apt/lists/lock

Đầu ra sẽ gần với một cái gì đó như:

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
apt-get   12127 root   4uW  REG  252,1        0    86   /var/lib/apt/lists/lock

Sau đó, chúng ta nên kiểm tra xem commad đang làm gì, chúng ta có thể tìm ra nó bằng cách sử dụng ps, pgrepv.v; Lệnh này apt-getđể tôi chạy:

pgrep apt-get -a

Công -atắc liệt kê toàn bộ lệnh cho tôi, trong trường hợp của tôi là:

 pgrep -a apt-get
 12127 apt-get update

chúng ta có thể thấy rằng nó đang chạy updatetiểu ban, tôi cũng có thể chạy một cái gì đó như thế này:

ps -f 12127

sản xuất:

UID        PID  PPID  C STIME TTY      STAT   TIME CMD
root     12127 12126  0 09:39 pts/0    S+     0:00 apt-get update

Trong trường hợp này tôi sẽ chờ đợi một phút cho tài nguyên được trả tự do và nếu sau khi vấn đề 2 hoặc 3 phút vẫn còn tồn tại hoặc lệnh là một cái gì đó mà tôi không quan tâm đến hoặc là không có hại cho hệ thống (như thế này apt-get update) tôi gửi SIGTERMđến quá trình:

sudo kill -15 12127

Nó sẽ thực hiện công việc, Nếu tôi không gửi SIGINTlần này (Nó giống như nhấn CTRL+ C):

sudo kill -2 12127

Nếu nó cũng không hoạt động, chúng ta nên gửi một SIGHUP( kill -1) và cuối cùng nếu không có gì hoạt động, tôi chỉ đơn giản là giết tiến trình:

sudo kill -9 12127

hoặc là

sudo pkill -9 apt-get

Sau đó, tôi loại bỏ các tài nguyên bận rộn:

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

Một điều nhỏ là /var/lib/dpkg/lockthay vì /var/lib/apt/lists/lockcác tập tin trong câu hỏi.
Chai T. Rex

1
Cảm ơn các vị thần gốc mà cuối cùng ai đó đề cập đến pgreppkill.
dhchdhd

1
Đây phải là câu trả lời được chấp nhận.
Marwan Nabil

nếu cài đặt hoặc nâng cấp gây ra điều này cũng dpkg --configure -acó thể cần thiết
LUXS

Điều này làm việc cho tôi
Sundeep

21

Lỗi này thể do Trình quản lý cập nhật cố gắng tự động làm mới danh sách các gói trong nền, thường là ngay sau khi bạn đăng nhập, do đó khóa thư mục.

Trong trường hợp này, chỉ cần đợi vài giây (hoặc hơn, nếu bản cập nhật cuối cùng của bạn đã có từ lâu) để nó hoàn thành hoặc khởi chạy Trình quản lý cập nhật để kiểm tra trạng thái.


Tôi đã có điều này ngay sau khi cài đặt Ubuntu 16.04. Hóa ra, có một quy trình nền trong Trung tâm phần mềm Ubuntu đang chờ tôi cài đặt thủ công một số cập nhật.
jvriesem

Ditto sau khi cài đặt mới 16.04. Nó quá dài hơn "một vài giây" trong trường hợp của tôi (tôi đã có thời gian để đọc toàn bộ trang Hỏi & Đáp này!) Nhưng sau khi làm mới psmột vài lần tôi có thể thấy dpkgđã cập nhật toàn bộ nội dung và tôi kiên nhẫn chờ đợi nó hoàn thành . Sau đó tôi đã chạy Software Updater cho đến khi mọi thứ được cập nhật trước khi thử cài đặt bất cứ thứ gì mới.
Charlie Joynt

16

Điều này sẽ xảy ra nếu bạn có 'Trình quản lý cập nhật' chạy song song cho bất kỳ kiểm tra cập nhật hoặc cài đặt nào khi quá trình cài đặt diễn ra Khóa. Nếu bạn gặp phải lỗi tương tự mà không có 'Trình quản lý cập nhật' đang chạy, bạn phải xóa nó khỏi /var/lib/dgkg/lock, điều này chắc chắn bạn không thể thực hiện thủ công

sudo fuser -cuk /var/lib/dpkg/lock
sudo rm -f /var/lib/dpkg/lock

hoạt động tốt Lấy từ: https://askubfox.com/a/15469/68707


1
Đây là vấn đề trong trường hợp của tôi!
LondonRob

1
Giải pháp tốt hơn kể từ khi lệnh fuser được sử dụng để theo dõi quá trình khác (nếu vẫn còn sống)
Lars Nordin

16

Đừng quá nhanh để loại bỏ một cái gì đó, nó hoàn toàn có thể làm hỏng hệ thống của bạn; thay vì đợi cho đến khi chương trình hiện đang cài đặt hoặc gỡ cài đặt hoàn thành nhiệm vụ và sau đó bạn sẽ có quyền truy cập. Nếu bạn nghĩ rằng không có gì hiện đang cài đặt hoặc gỡ cài đặt, thì chỉ cần khởi động lại hệ thống của bạn bằng lệnh sudo reboot.


1
Điều này trông giống như một bình luận hơn là một câu trả lời. Bạn có thể di chuyển điều này thay vì như một bình luận cho câu trả lời mà nó đang trả lời?
jvriesem

4
@jvriesem Tôi nghĩ rằng đây là một câu trả lời rất quan trọng, bởi vì điểm mà anh ấy đưa ra là điều còn thiếu từ nhiều câu trả lời khác!
Volker Siegel

@jvriesem Đây thường là câu trả lời đúng. Tôi gặp vấn đề này khá thường xuyên với các thùng chứa linux của mình khi tôi không sử dụng chúng trong một thời gian dài. Đợi đấy. Vâng, nó có thể là một thời gian. Nhưng hãy để nó làm công việc của nó trước khi đi vào và phá vỡ mọi thứ.
earth2jason

Đây nên là điều đầu tiên để thử. Câu trả lời này hầu hết thời gian khắc phục vấn đề. Tôi đã có nó khoảng 4-5 lần và khởi động lại luôn giải quyết nó.
Ngày

10

Nếu bạn có các cập nhật bảo mật được đặt thành tự động cài đặt, điều này sẽ xảy ra thường xuyên. Tôi thực sự chờ đợi 30 giây và nó đã khắc phục vấn đề. Chỉ cần ném nó ra khỏi đó trong trường hợp bất cứ ai khác gặp phải vấn đề này.


1
Tùy thuộc vào thời gian phân phối đã được khởi động, nó có thể dài đến nửa giờ. Nhưng có lẽ lý tưởng là để cho bản phân phối của bạn hoàn thành công việc trước khi phá vỡ mọi thứ.
earth2jason

6

Trong trường hợp của tôi, tôi đã phải chờ vài phút để khóa được phát hành (có vẻ như aptđược sử dụng để giữ nó). Tất cả điều này xảy ra ngay sau khi khởi động hệ thống.


4

Chỉ cần sudo rm -f /var/lib/apt/lists/lockthử lại.

apt-fast CÓ THỂ chịu trách nhiệm cho việc không mở khóa đúng cách; điều này đôi khi xảy ra khi bạn phá thai apt-gethoặc dpkgquá.


4

Tôi đã có vấn đề này nhiều lần. Đối với tôi, nó hầu như luôn luôn được gây ra bởi apt-get hoặc một số GUI gọi nó bị treo vì một số lý do. Tôi đã phải giết nó để lại nhiều ổ khóa khác nhau.

Các câu trả lời khác mang lại những điểm rất tốt về việc đảm bảo không có bản cập nhật nào đang chạy trước khi thực hiện bất kỳ điều gì quyết liệt như xóa các tệp khóa. Tuy nhiên, một khi bạn chắc chắn không phải vậy, những điều sau đây thường phù hợp với tôi. Tôi đã nhận được nó bằng cách đọc nhiều câu trả lời cho các câu hỏi như thế này.

Trong khi hầu hết hoặc tất cả những điều này được trình bày trong các câu trả lời khác, thì điều này sẽ chắt lọc sửa lỗi thành một vài lệnh.

sudo fuser -vki /var/lib/dpkg/lock
sudo fuser -vki /var/cache/apt/archives/lock
sudo fuser -vki /var/cache/debconf/config.dat
sudo dpkg --configure -a

Sử dụng để mở khóa hệ thống gói sau khi một bản cập nhật của một số loại bị hỏng hoặc chấm dứt mà không hoàn thành theo một cách khác. Các lệnh này nên được chạy theo thứ tự trình bày.


3

Tôi không thấy câu trả lời này ở bất cứ đâu ở trên nhưng trên Ubuntu 16.04, tôi cũng gặp phải vấn đề này. Nguyên nhân là thời gian trên máy tính của tôi được thiết lập trong tương lai . (Điều này là do tôi đang sử dụng hệ thống khởi động kép Windows + Ubuntu và tôi đoán rằng tôi đã làm rối tung giờ địa phương so với giờ UTC.)

Một điều kỳ lạ là ngày và giờ của tệp bị khóa là ngày và giờ chính xác mà tôi chạy chương trình.

Sau đó, tôi đã sử dụng "fuser" như được mô tả trong các bài viết trước đó và apt đã hoạt động, nhưng tôi đã nhận được khiếu nại về việc cần phải chạy dpkg -a -reconfigure. Khi tôi làm điều đó, tôi đã gặp lỗi như:

newline in field name #padding

trong các tệp như '/ var / lib / dpkg / update / 0003'.

Tất cả điều này rất kỳ lạ vì tôi chưa bao giờ nhìn thấy nó trước đây. Vì vậy, tôi nghĩ rằng đây là những triệu chứng và thay đổi dữ liệu và thời gian của tôi bằng tay. Tôi biết có một vấn đề với ngày / giờ khi tôi đăng nhập, nhưng đã bỏ qua nó. (Trước đây, nó được đặt tự động thông qua Internet và NTP).

Sau đó, tất cả các vấn đề trên đã được khắc phục ... Hy vọng, điều này sẽ giúp người khác! Triệu chứng đáng chú ý nhất có lẽ là ngày / giờ của tệp khóa là ngày / giờ chính xác mà bạn đang cố chạy lệnh.


3

Trong trường hợp của tôi, X bị hỏng trong khi apt-getvẫn đang loại bỏ các hạt nhân cũ. Tôi đã sử dụng System Monitor để xác nhận nó vẫn đang chạy và không bị kẹt. Mọi thứ đều ổn khi quá trình kết thúc.


3

Kiểm tra Trình khởi chạy để xem nếu Software Updaterđang chạy. Nếu vậy tối đa hóa nó và có một cái nhìn vào những gì nó đang làm. Nếu nó vẫn đang kiểm tra, thì hãy đợi nó hoàn thành. Khi hoàn tất, nó có thể cho bạn biết phần mềm đã được cập nhật để đóng ứng dụng. Nếu nó nói có bản cập nhật có sẵn, hãy thực hiện cập nhật hoặc nhấp vào "nhắc nhở tôi sau". Sau khi ứng dụng này đóng, bạn có thể quay lại sử dụng apt-gethoặc apt.

Nếu Software Updaterkhông chạy, chỉ cần sử dụng Dash để gọi nó và chờ hoàn thành và sau đó quyết định xem bạn có muốn cập nhật hoặc nhấp vào "nhắc nhở tôi sau". Sau khi ứng dụng này đóng, bạn có thể quay lại sử dụng apt-gethoặc apt.


2

Trong trường hợp của tôi, tôi đã nhận được thông báo tương tự bằng cách không nhận ra tôi đã chuyển sang người dùng root và đang thử sudo apt-get. Khi tôi nhận ra điều này, tôi chỉ chạy apt-get và nó đã hoạt động. Ngớ ngẩn, nhưng nó vẫn có thể giải thích lỗi cho một số.


2
Đó không phải là nguyên nhân của vấn đề, vì bạn có thể chạy sudobằng root (và ngay cả khi bạn không thể, nó sẽ không tạo ra thông báo lỗi này). Nhiều khả năng những gì đã xảy ra là quá trình khác kết thúc trong khi bạn đang viết lệnh tiếp theo.
wjandrea

Đôi khi nó tạo ra thông báo lỗi tương tự.
karel


1

trong trường hợp của tôi, sau:

  1. Mở Firefox.
  2. Thiết bị đầu cuối mở

Tôi đã gõ


sudo apt update
sudp apt upgrade
sau đó tôi gặp vấn đề đó

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?
Tôi đã sửa nó, chạy lệnh đã cho tôi thấy sau khi chạy sudo apt update

apt list --upgradable

Lệnh này sẽ hiển thị cho bạn một danh sách các chương trình trong trường hợp của tôi chỉ có Firefox, tôi đã đóng Firefox, sau đó có thể chạy lại lệnh mà không gặp vấn đề gì.

sudo apt upgrade

0

Đối với những người quan tâm đến việc chủ động ngăn chặn lỗi này trong tập lệnh của họ, tôi thấy rằng cờ -q trên apt upgrade -yqđã gây ra sự cố này cho tôi. Trong quá trình nâng cấp, tôi đoán đôi khi nó sẽ đưa ra các cảnh báo cho tôi (tôi sẽ tiếp tục cập nhật máy tính để bàn) và nếu những cảnh báo này bị chặn, thì tôi đoán đó là nguyên nhân khiến apt không mở khóa được các tệp mà nó đang bảo vệ và nó đã bị mắc kẹt.

Phải thừa nhận rằng tôi đã gặp sự cố khi tái tạo lỗi này 100%, nhưng loại bỏ tùy chọn -q đó đã khắc phục hoàn toàn vấn đề cho tôi .


0

Giống như hầu hết mọi người khác, tôi đã chờ khóa được gỡ bỏ. Sau 30 phút, tôi bỏ cuộc và khởi động mạnh vào một bản phân phối khác. Từ đó tôi sử dụng internet cho một số nghiên cứu đã đưa tôi đến đây.

Hóa ra unattended-upgrades.servicelà đang chạy. Tôi thấy rằng đang khởi động lại vào hệ thống bị hỏng và chạy:

sudo systemctl disable apt-daily.service
sudo systemctl disable unattended-upgrades.service
sudo systemctl disable apt-daily-upgrade.service
sudo systemctl disable apt-daily-upgrade.timer
sudo systemctl disable apt-daily.timer
sudo shutdown -r # Note it will take a couple minutes to reboot

cho phép tôi để hệ thống bị hỏng hoạt động trở lại:

sudo apt update
sudo apt upgrade
sudo apt install -f

Tuy nhiên, nó đã không sửa các gói giữ lại và tình huống không thể được báo cáo aptở nơi đầu tiên. Nó sẽ xuất hiện điều này gây ra aptkhóa khi khởi động ở nơi đầu tiên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.