Nie można zablokować katalogu administracyjnego (/ var / lib / dpkg /) czy używa go inny proces?


1023

Otrzymuję ten błąd podczas próby użycia 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?  

Jak mogę to naprawić?


18
Dotyczy to również ponownego uruchomienia? Być może jakiś stary wątek apt blokuje plik, musisz dowiedzieć się, który i zabić go lub po prostu zrestartuje się.
Bruno Pereira

4
Ta procedura prawie zawsze rozwiązuje ten problem, a gdy nie, jego dane wyjściowe (tekst z terminala) są czasem przydatne. Jeśli zdecydujesz się to zrobić, możesz dodać ten tekst do swojego pytania.
Eliah Kagan

54
Możesz użyć, sudo lsof /var/lib/dpkg/lockaby znaleźć proces, który jest właścicielem pliku blokady (jeśli jest pusty, załóż, że blokada pozostała z poprzedniego rozruchu i może być sudo rmd), a następnie rozważ wykonanie sudo kill -9 <PID>(get <PID> z lsofwyniku.
waltinator

11
Może to oznaczać, że coś innego instaluje lub usuwa oprogramowanie i zablokowało apt apt podczas wykonywania działań.
Forever

5
Na mojej maszynie Wirtualnej Ubuntu 18.04 jest proces o nazwie aktualizacja nienadzorowana, który jest uruchamiany przez podobny proces root <pid> <ppid> 0 15:58 ? 00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install, który wydaje się uruchamiać apt update przy każdym włączeniu komputera. W zależności od wielkości aktualizacji (która często odpowiada temu, jak dawno temu używałem tego komputera po raz ostatni), może to potrwać od 1 do 10 minut. Następnie blokada jest zwalniana do ręcznych instalacji i aktualizacji apt. Spróbuj: sudo ps aux|grep aptlub `sudo ps aux | grep bez nadzoru.
Kjetil S.

Odpowiedzi:


871

Powinno to być stosowane w ostateczności. Jeśli użyjesz tego niedbale, możesz skończyć z uszkodzonym systemem. Zanim to zrobisz, najpierw wypróbuj inne odpowiedzi .

Możesz usunąć plik blokady za pomocą następującego polecenia:

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

Może być również konieczne usunięcie pliku blokady w katalogu pamięci podręcznej

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

Następnie spróbuj ponownie otworzyć Synaptic.


13
ok ... ale dlaczego to się stało?
Jaime Hablutzel

40
@jaime: prawdopodobnie apt-get (lub jakiś interfejs GUI do niego) został zatrzymany podczas wykonywania, pozostawiając apt w stanie zablokowanym.
bouke,

10
Zaakceptowałbym to jako najlepszą odpowiedź. jeden poprawny.
Anwar,

9
@AnwarShah nie, istnieją inne względy przed usunięciem plików systemu.
Braiam

22
rm / var / lib / dpkg / lock; dpkg --configure -a:
WitchCraft

664

Widzę, że prawie wszystkie odpowiedzi zalecają usunięcie blokady. Nie polecam robienia tego jako pierwszego kroku; może jeśli nie ma alternatywy. Blokada jest umieszczana, gdy uruchomiony jest proces apt, i jest usuwana po zakończeniu procesu. Jeśli istnieje blokada bez widocznego procesu, może to oznaczać, że proces utknął z jakiegoś powodu.

Jeśli spróbujesz

ps aux | grep [a]pt

lub

pgrep -a apt

które wychwytują procesy zawierające aptprzynajmniej słowo . Jeśli zobaczysz apt-getproces lub aptitudeproces, który wygląda na zablokowany, możesz spróbować

sudo kill processnumber

a jeśli to nie zadziała spróbuj

sudo kill -9 processnumber

To powinno zakończyć proces i może usunąć blokadę. Zabicie aptlub aptitudeproces jest nieszkodliwe, chyba że faktycznie znajduje się w trakcie instalacji pakietu. W każdym razie, jeśli proces się zatrzyma, prawdopodobnie nie masz wyboru, ale go zabić.

dpkgBezpośrednie zabicie procesu, jeśli jest obecne, nie jest dobrym pomysłem, ponieważ jeśli dpkgjest aktywne, prawdopodobnie manipuluje pakietową bazą danych, a zabicie go może pozostawić bazę danych pakietu w niespójnym stanie; tj. zepsuty.

Zabicie apt-getlub aptitudeproces jest ogólnie znacznie bezpieczniejsze.


18
@Link Nie sądzę, aby zabijanie dpkgbyło dobrym pomysłem, ponieważ zwykle dpkgmanipuluje się bezpośrednio pakietową bazą danych, co może spowodować uszkodzenie.
Faheem Mitha,

18
Jeśli zabicie dpkg może uszkodzić jego bazę danych, dpkg został źle zaprojektowany. Kropka.
Jay Sullivan,

10
dla mnie spowodowało to błąd dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.przy sudo apt-get dist-upgradeponownym uruchomieniu . Uruchomienie polecenia rozwiązało problem. Kocham Nixa!
Wayne Phipps

5
Uwaga, killall apt-getrobi to samo co twoje ps/ killcombo.
Cerin

3
Zauważ, że odkryłem, że muszę biec sudo dkpg --configure -apo zabiciu nieuczciwego procesu apt, aby wszystko wróciło do normy.
starbeamrainbowlabs

219

Usuń /var/lib/dpkg/lockplik i wymuś rekonfigurację pakietu.

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

Po tym powinno działać.


te polecenia pomogły, ale teraz, gdy próbowałem ponownie zainstalować, otrzymałem odpowiedź: Nie można otworzyć lock / var / cache / apt / archives / lock - open. Myślę, że musiałbym zrobić jak poprzedni problem z odblokowaniem, ale proszę powiedz mi dokładne słowa kluczowe dla polecenia. Jestem absolutnym początkującym.
kern

1
sudo- wykonaj polecenie jako root, rm- usuń plik. Może spróbujsudo rm /var/cache/apt/archives/lock
kubahaha

5
To nie jest dobra sugestia: ślepe usunięcie szczęścia może zepsuć stan dpkg.
poolie

5
Dlaczego nie naprawi się teraz?
Marian Klühspies

2
To zadziałało dla mnie. Aws powyżej nie.
1rq3fea324wre

108

Otrzymasz tę wiadomość, jeśli zapomnisz użyć sudopodczas wykonywania polecenia apt.

W przeciwnym razie jest to znak, że coś innego instaluje lub usuwa oprogramowanie i zablokowało apt apt podczas wykonywania działań. Programy, które mogą to zrobić, to:

  • Centrum oprogramowania
  • Menedżer aktualizacji
  • Instalator apt link (myślę, że teraz przechodzi przez SC)
  • Narzędzia wiersza poleceń apt-get lub aptitude.
  • Menedżer pakietów Synaptic

WAŻNE: wypróbuj poniższe tylko w ostateczności, ponieważ może to spowodować awarię systemu. Najpierw spróbuj zabić dowolną działającą instancję aptlub aptitudezgodnie z opisem w odpowiedzi Faheema .

Możesz wymusić blokadę poprzez usunięcie pliku, ale nie jest to zalecane bez uprzedniego zamknięcia programu, który bezpiecznie trzyma blokadę , ponieważ możesz spowodować uszkodzenie lub przerwanie instalacji (źle). Polecenie dostarczone przez João powinno zamknąć program przechowujący blokadę, a następnie usunąć blokadę, ale nie ochroni cię przed przerwaniem instalacji:

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

I to samo polecenie może być użyte do blokady apt cache:

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

5
Aktualizowałem oprogramowanie, gdy otrzymałem komunikat o błędzie.
kropla deszczu

20
To rozbiło się dla mnie
umpirsky

5
sudo fuser -cuk /var/cache/apt/archives/lockbezpośrednio zrestartowałem komputer. apt-getjest teraz odblokowany.
Maxime R.,

15
To spowodowało awarię całego mojego serwera.
5 바

5
Zabicie apt lub dpkg w połowie nie jest dobrym pomysłem.
poolie

99

Najbardziej prawdopodobnym sposobem na osiągnięcie tego jest:

  • boot Ubuntu
  • uruchomić terminal
  • rodzaj sudo apt-get install whatever

a linia poleceń aptpokrywa się z update-managerautomatycznym odpytywaniem.

Więc jeśli spróbujesz ponownie za kilka minut, to powinno to naprawić.


21
Świetna wskazówka w przeciwieństwie do pół tuzina odpowiedzi sugerujących, aby po prostu usunąć plik ;-) Losowo uruchomiłem ten problem i najprawdopodobniej to jest to!
Alex

2
Wystarczająco bezpieczny, musiał trochę poczekać, zanim będzie sudo apt-get installmógł działać.
sargas

Cóż, to nie zawsze działa, tak, wielokrotnie użyłem restartu. Jeśli to nie jest odpowiednie, wypróbuj ten askubuntu.com/a/315791/378845 przed usunięciem blokady
Menuka Ishan

@menuka, dlaczego po prostu nie skończyć.
poolie

@poolie Ponieważ istnieją inne ograniczenia, które powstrzymują proces przed zakończeniem
Menuka Ishan

52

Tylko jeden program może przytrzymać blokadę. Upewnij się, że nie biegniesz aptitude, synaptic lub biegły. Zamknij program i uruchom go ponownie, powinno działać. Możesz mieć otwarte okno synaptic lub otwarte okno terminalu z uruchomionym apt-get, lub mieć uruchomionego menedżera aktualizacji. Sprawdź go i sprawdź, czy którykolwiek z nich jest uruchomiony, jeśli którykolwiek oni biegną blisko i spróbuj ponownie.

Wypróbuj to polecenie w terminalu, aby znaleźć to, co działa

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

Uwaga:
Jeśli to nic nie wydrukuje, wpisz następujące polecenie w terminalu, aby usunąć blokadę

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

Teraz możesz zainstalować dowolne pakiety.


9
Usunięcie pliku blokady jest, moim zdaniem, niebezpieczną rzeczą do zrobienia. Jeśli inny proces blokuje się z ważnego powodu - i usuniesz ten plik blokady i wymusisz instalację z tym, co robiłeś wcześniej - możesz poważnie, w negatywny sposób, wpłynąć na swój system.
Marco Ceppi

5
Dlatego podałem to w Note. Jeśli wszystkie powyższe błędy zawiodą, jedynym sposobem jest usunięcie blokady. Nie spowoduje to żadnego problemu, dopóki procesy dpkg i apt-get / aptitude nie będą działać
karthick87

pgrep -f 'apt|adept|dpkg'jest znacznie krótszy.
dhchdhd

Dzięki! to działa. pgrep -f 'apt | adept | dpkg', a następnie umiejętność sudo (liczba), zabij cały numer, a następnie zainstaluj działa!
twórca

@Barry, który pasowałby do całego procesu + ścieżka. Myślę, że pgrep -a 'apt|adept|dpkg'jest to lepszy krótszy odpowiednik.
Pablo A

46

Do tej pory najlepszym sposobem, aby działał bez przerywania możliwej instalacji w tle (co może się zdarzyć po usunięciu pliku blokady), jest zatrzymanie usługi za pomocą apt:

Błąd:

# 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?`

Rozwiązanie:

sudo systemctl stop apt-daily.timer

Po aktualizacji systemu sugeruję ponowne włączenie go, ponieważ błąd blokujący można naprawić za pomocą aktualizacji.

sudo systemctl start apt-daily.timer

Nie zweryfikowałem, że ten błąd został naprawiony po aktualizacji. Dodam nowy komentarz, gdy tylko go zweryfikuję


Po aktualizacji systemu i ponownym uruchomieniu usługi apt-daily.timer do tej pory nie mam do czynienia z tym problemem.
Jairelee

Jest to prawdopodobnie najczystsza metoda w porównaniu do wszystkich wyżej głosowanych odpowiedzi powyżej. W moim przypadku działało bezbłędnie, dziękuję!
CygnusX1,

Działa to również bezbłędnie 17.10
Starszy Geek

Pracował nad 17.10 +1
Eng.Fouad

2
Dobrze działa w 18.04. :)
Naveen Kumar V

33

Przede wszystkim powinniśmy sprawdzić, jaki proces utworzył plik blokady, używając lsof:

sudo lsof /var/lib/dpkg/lock

lub w innej sytuacji, gdy /var/lib/apt/lists/lockjest problematyczne:

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

Dane wyjściowe będą zbliżone do:

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

Następnie należy sprawdzić, co commad robi, możemy go znaleźć przy użyciu ps, pgrepetc; polecenie jest apt-getwięc uruchamiane:

pgrep apt-get -a

-aPrzełącznik wymienia całą komendę dla mnie, w moim przypadku jest to:

 pgrep -a apt-get
 12127 apt-get update

widzimy, że działa updatepodkomenda, mógłbym też uruchomić coś takiego:

ps -f 12127

który produkuje:

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

W tym przypadku będę czekać na jakąś minutę zasób zostać uwolniony, a jeśli po 2 lub 3 minut problem nadal istnieje lub polecenie było coś, że nie obchodzi, czy nie był szkodliwy dla układu (jak ten apt-get update) wysłać SIGTERMdo proces:

sudo kill -15 12127

Powinien wykonać pracę, jeśli nie, wyślę SIGINTtym razem (To jak naciśnięcie CTRL+ C):

sudo kill -2 12127

Jeśli to też nie zadziała, powinniśmy wysłać SIGHUP( kill -1), a na koniec, jeśli nic nie działa, po prostu zabijam proces:

sudo kill -9 12127

lub

sudo pkill -9 apt-get

Następnie usuwam zajęte zasoby:

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

Jeden mały rzeczą jest to, że /var/lib/dpkg/lockzamiast /var/lib/apt/lists/lockto plik w pytaniu.
Chai T. Rex

1
Podziękuj korzeniowym bogom, o których ktoś wreszcie wspomina pgrepi pkill.
dhchdhd

1
To powinna być zaakceptowana odpowiedź.
Marwan Nabil,

jeśli spowodowała to instalacja lub aktualizacja, dpkg --configure -amoże być również potrzebna
LUXS

To działa dla mnie
niedziela

21

Ten błąd może być spowodowany przez Menedżera aktualizacji, który próbuje automatycznie odświeżyć listę pakietów w tle, zwykle zaraz po zalogowaniu, blokując w ten sposób katalog.

W takim przypadku poczekaj kilka sekund (lub więcej, jeśli ostatnia aktualizacja była dawno temu), aby ją ukończyć lub uruchom Menedżera aktualizacji, aby sprawdzić status.


Miałem to zaraz po zainstalowaniu Ubuntu 16.04. Okazuje się, że w Centrum oprogramowania Ubuntu był proces w tle, który czekał na mnie, aby ręcznie zainstalować niektóre aktualizacje.
jvriesem

To samo po nowej instalacji 16.04. W moim przypadku jest to o wiele dłużej niż „kilka sekund” (miałem czas przeczytać całą stronę pytań i odpowiedzi!), Ale po odświeżeniu pskilka razy zobaczyłem, że dpkgaktualizowałem cały ładunek rzeczy i czekałem cierpliwie, aż wszystko się skończy . Następnie uruchomiłem narzędzie do aktualizacji oprogramowania, dopóki wszystko nie było aktualne, zanim spróbowałem zainstalować coś nowego.
Charlie Joynt

16

Stanie się tak, jeśli „Update Manager” działa równolegle w celu sprawdzenia aktualizacji lub instalacji, ponieważ proces instalacji blokuje. Jeśli napotykasz ten sam błąd bez uruchomionego „Menedżera aktualizacji”, musisz go usunąć /var/lib/dgkg/lock, a na pewno nie możesz tego zrobić ręcznie

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

działa w porządku. Pobrano z: https://askubuntu.com/a/15469/68707


1
To był problem w moim przypadku!
LondonRob

1
Lepsze rozwiązanie, odkąd polecenie utrwalacza służyło do śledzenia innego procesu (jeśli nadal żyje)
Lars Nordin,

16

Nie bądź tak szybki, aby coś usunąć, może to całkowicie uszkodzić system; raczej poczekaj, aż aktualnie instalujący lub odinstalowujący program zakończy swoje zadanie, a następnie uzyskasz dostęp. Jeśli uważasz, że obecnie nic nie instaluje się ani nie odinstalowuje, po prostu uruchom ponownie system za pomocą polecenia sudo reboot.


1
To wygląda raczej na komentarz niż odpowiedź. Czy możesz zamiast tego przenieść to jako komentarz do odpowiedzi, na którą odpowiadał?
jvriesem

4
@jvriesem Myślę, że to bardzo ważna odpowiedź, ponieważ chodzi o to, czego brakuje w wielu innych odpowiedziach!
Volker Siegel,

@jvriesem To jest zwykle poprawna odpowiedź. Często spotykam się z tym problemem z moimi kontenerami z linuksem, kiedy nie używam ich przez długi czas. Poczekaj. Tak, może to chwilę potrwać. Ale niech wykona swoją pracę, zanim wejdzie i zakłóci wszystko.
earth2jason

To powinna być pierwsza rzecz do wypróbowania. Ta odpowiedź przez większość czasu rozwiązuje problem. Miałem go może 4-5 razy, a restart zawsze go rozwiązał.
Jan

10

Jeśli aktualizacje zabezpieczeń są ustawione na automatyczne instalowanie, zdarza się to często. Dosłownie czekam 30 sekund i to rozwiązuje problem. Po prostu wyrzucam to na wypadek, gdyby ktoś napotkał ten problem.


1
W zależności od tego, jak długo uruchomiono dystrybucję, może to być nawet pół godziny. Ale prawdopodobnie idealnie jest pozwolić, aby Twoja dystrybucja zakończyła pracę, zanim zakłócisz sytuację.
earth2jason

6

W moim przypadku musiałem poczekać kilka minut, aż zamek zostanie zwolniony (wygląda jak aptprzyzwyczajony do przytrzymania go). To wszystko wydarzyło się zaraz po uruchomieniu systemu.


4

Po prostu sudo rm -f /var/lib/apt/lists/locki spróbuj ponownie.

apt-fast MOŻE być odpowiedzialny za nieprawidłowe odblokowanie; zdarza się to czasami, gdy przerywasz apt-getlub dpkgteż.


4

Miałem ten problem wiele razy. Dla mnie prawie zawsze było to spowodowane przez apt-get lub jakiś GUI, który z jakiegoś powodu nazywał to zawieszaniem się. Musiałem go zabić, co pozostawiło różne zamki.

Inne odpowiedzi przynoszą bardzo dobre informacje na temat upewnienia się, że żadne aktualizacje nie są obecnie uruchomione przed podjęciem jakichkolwiek drastycznych działań, takich jak usunięcie plików blokady. Jednak, gdy masz pewność, że tak nie jest, poniższe zasady zwykle działają dla mnie. Mam to, czytając wiele odpowiedzi na pytania takie jak to.

Podczas gdy większość lub wszystkie z nich są przedstawione w innych odpowiedziach, rozkłada to na kilka poleceń.

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łuży do odblokowywania systemu pakietów po pewnej aktualizacji, która uległa awarii lub została zakończona bez zakończenia w inny sposób. Te polecenia powinny być uruchamiane w podanej kolejności.


3

Nie widzę tej odpowiedzi nigdzie powyżej, ale na Ubuntu 16.04 również napotkałem ten problem. Przyczyną było to, że czas na moim komputerze był ustawiony na przyszłość . (Jest tak, ponieważ korzystam z systemu podwójnego rozruchu systemu Windows + Ubuntu i chyba pomieszałem czas lokalny z czasem UTC).

Dziwną rzeczą było to, że data i godzina zablokowanego pliku była dokładną datą i godziną uruchomienia programu.

Następnie użyłem „utrwalacza” jak opisano we wcześniejszych postach i apt działał, ale dostawałem skargi na konieczność uruchomienia dpkg -a -reconfigure. Gdy to zrobiłem, dostałem błędy takie jak:

newline in field name #padding

w plikach takich jak „/ var / lib / dpkg / updates / 0003”.

Wszystko to było bardzo dziwne, ponieważ nigdy wcześniej tego nie widziałem. Więc pomyślałem, że to były objawy i ręcznie zmieniłem swoje dane i czas. Wiedziałem, że wystąpił problem z datą / godziną, kiedy się logowałem, ale ignorowałem to. (Wcześniej ustawiał to automatycznie przez Internet i NTP).

Następnie wszystkie powyższe problemy zostały naprawione ... Mam nadzieję, że to pomaga komuś innemu! Najbardziej zauważalnym symptomem jest być może data / czas pliku blokady, czyli dokładna data / czas, kiedy próbujesz uruchomić polecenie.


3

W moim przypadku X zawiesił się, gdy apt-getwciąż usuwał stare jądra. Użyłem Monitora systemu, aby potwierdzić, że nadal działa i nie utknął. Po zakończeniu procesu wszystko było w porządku.


3

Sprawdź program uruchamiający, aby zobaczyć, czy Software Updaterdziała. Jeśli tak, zmaksymalizuj to i zobacz, co robi. Jeśli nadal sprawdza, poczekaj na zakończenie. Po zakończeniu może to oznaczać, że oprogramowanie jest aktualne, więc zamknij aplikację. Jeśli wyświetli się informacja, że ​​są dostępne aktualizacje, wykonaj aktualizację lub kliknij „przypomnij mi później”. Po zamknięciu tej aplikacji możesz wrócić do korzystania z apt-getlub apt.

Jeśli Software Updaternie jest uruchomiony, po prostu użyj Dash, aby go wywołać i czekać na zakończenie, a następnie zdecyduj, czy chcesz zaktualizować, lub kliknij „przypomnij mi później”. Po zamknięciu tej aplikacji możesz wrócić do korzystania z apt-getlub apt.


2

W moim przypadku otrzymywałem ten sam komunikat, nie zdając sobie sprawy, że przełączyłem się na użytkownika root i próbowałem sudo apt-get. Kiedy zdałem sobie z tego sprawę, po prostu uruchomiłem apt-get i zadziałało. Głupie, ale dla niektórych może to wyjaśniać błąd.


2
To nie jest przyczyną problemu, ponieważ można uruchomić sudojako root (a nawet jeśli nie może, to nie produkują ten komunikat o błędzie). Bardziej prawdopodobne jest to, że drugi proces zakończył się podczas pisania następnego polecenia.
wjandrea

Czasami wyświetla ten sam komunikat o błędzie.
karel

2
sudo killall -9 apt && sudo killall -9 dpkg

Używaj na własne ryzyko


1

w moim przypadku po:

  1. Otwórz Firefox.
  2. Otwórz terminal

Wpisałem


sudo apt update
sudp apt upgrade
wtedy mam problemy

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?
Naprawiłem to, uruchamiając polecenie pokazane mi po uruchomieniu sudo apt update

apt list --upgradable

To polecenie wyświetli listę programów w moim przypadku tylko Firefox, zamknąłem Firefox, a następnie mogłem ponownie uruchomić polecenie bez problemów.

sudo apt upgrade

0

Dla osób, które są zainteresowane proaktywnym zapobieganiem temu błędowi w swoich skryptach, zauważyłem, że flaga -q na apt upgrade -yqmnie spowodowała ten problem. Wydaje mi się, że podczas procesu aktualizacji czasami wyświetlał mi się ostrzeżenie (coś w stylu aktualizacji pulpitu, chciałbym kontynuować), a jeśli te ostrzeżenia zostały pominięte, to chyba powoduje, że nie odblokowuje chronionych plików i utknął.

Wprawdzie miałem problem z odtworzeniem tego błędu przez 100% czasu, ale wyeliminowanie tej opcji -q całkowicie rozwiązało problem .


0

Jak większość innych czekałem na usunięcie blokady. Po 30 minutach poddałem się i uruchomiłem mocno do innej dystrybucji. Stamtąd wykorzystałem internet do badań, które mnie tu wylądowały.

Okazuje się, że unattended-upgrades.servicedziała. Znalazłem, że restartuję się do uszkodzonego systemu i działam:

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

pozwolił mi przywrócić działanie uszkodzonego systemu dla:

sudo apt update
sudo apt upgrade
sudo apt install -f

Nie naprawiło to jednak zatrzymanych pakietów i niemożliwej sytuacji zgłoszonej przez apt. Wygląda na to, że spowodowało aptto zablokowanie się podczas uruchamiania.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.