Tidak dapat mengunci direktori administrasi (/ var / lib / dpkg /) apakah ada proses lain yang menggunakannya?


1025

Saya mendapatkan kesalahan ini ketika mencoba menggunakan 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?  

Bagaimana saya bisa memperbaikinya?


18
Ini juga benar jika Anda reboot? Mungkin beberapa utas lama mengunci file, Anda perlu mencari tahu yang mana dan membunuhnya atau hanya me-reboot akan melakukannya.
Bruno Pereira

4
Prosedur ini hampir selalu memperbaiki masalah ini, dan ketika tidak, outputnya (teks dari Terminal) terkadang berguna. Jika Anda memutuskan untuk melakukannya, Anda dapat menambahkan teks ini ke pertanyaan Anda.
Eliah Kagan

54
Anda dapat menggunakan sudo lsof /var/lib/dpkg/lockuntuk menemukan proses yang memiliki file kunci (jika kosong, anggap kunci tersebut tersisa dari boot sebelumnya dan dapat sudo rmd), kemudian pertimbangkan untuk melakukan sudo kill -9 <PID>(dapatkan <PID> dari lsofoutput.
waltinator

11
Ini bisa menjadi tanda bahwa ada orang lain yang menginstal atau menghapus perangkat lunak dan telah mengunci basis data apt saat melakukan tindakan.
Foreever

5
Di Ubuntu 18.04 VM saya ada proses yang disebut unattended-update, yang root <pid> <ppid> 0 15:58 ? 00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held installdijalankan oleh proses seperti , yang tampaknya menjalankan pembaruan apt setiap kali saya menyalakan mesin. Bergantung pada ukuran pembaruan (yang sering kali berhubungan dengan berapa lama sejak saya menggunakan mesin itu terakhir kali), ini dapat digunakan dari 1-10 menit untuk menyelesaikannya. Setelah itu, kunci dibebaskan untuk menginstal dan memperbarui manual. Coba: sudo ps aux|grep aptatau `sudo ps aux | grep tanpa pengawasan.
Kjetil S.

Jawaban:


873

Ini harus digunakan sebagai pilihan terakhir. Jika Anda menggunakan ini dengan sembarangan, Anda bisa berakhir dengan sistem yang rusak. Silakan coba jawaban lain terlebih dahulu sebelum melakukan ini.

Anda dapat menghapus file kunci dengan perintah berikut:

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

Anda juga mungkin perlu menghapus file kunci di direktori cache

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

Setelah itu, coba buka lagi Synaptic.


13
ok ... tapi kenapa ini terjadi?
Jaime Hablutzel

40
@jaime: mungkin apt-get (atau antarmuka GUI) dihentikan saat dijalankan, meninggalkan apt dalam keadaan terkunci.
bouke

10
Saya akan menerima ini sebagai jawaban terbaik. yang benar.
Anwar

9
@AnwarShah tidak, ada pertimbangan lain sebelum berkeliling menghapus file dari sistem.
Braiam

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

664

Saya melihat hampir semua jawaban merekomendasikan menghapus kunci. Saya tidak merekomendasikan melakukan itu sebagai langkah pertama; mungkin kalau tidak ada alternatif. Kunci ditempatkan ketika proses apt sedang berjalan, dan dihapus ketika proses selesai. Jika ada kunci tanpa proses yang jelas berjalan, ini mungkin berarti proses macet karena beberapa alasan.

Jika kamu mencoba

ps aux | grep [a]pt

atau

pgrep -a apt

itu akan menangkap proses yang mengandung kata apt, setidaknya. Jika Anda melihat suatu apt-getproses atau aptitudeproses yang terlihat macet, Anda dapat mencoba

sudo kill processnumber

dan jika itu tidak berhasil coba

sudo kill -9 processnumber

Ini harus mematikan proses dan dapat menghapus kunci. Membunuh aptatau aptitudeproses tidak berbahaya kecuali sebenarnya di tengah instalasi paket. Bagaimanapun, jika prosesnya macet, Anda mungkin tidak punya pilihan selain membunuhnya.

Membunuh suatu dpkgproses secara langsung, jika ada, bukanlah ide yang baik, karena jika dpkgaktif, mungkin memanipulasi basis data paket, dan mematikannya mungkin meninggalkan basis data paket dalam keadaan tidak konsisten; yaitu rusak.

Membunuh suatu apt-getatau aptitudeproses secara umum jauh lebih aman.


18
@Link Saya tidak berpikir membunuh dpkgadalah ide yang baik, karena biasanya dpkgmemanipulasi paket database secara langsung, dan ini dapat menyebabkan korupsi.
Faheem Mitha

18
Jika membunuh dpkg dapat merusak database-nya, dpkg dirancang dengan buruk. Titik.
Jay Sullivan

10
bagi saya, ini menghasilkan kesalahan dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.saat berjalan sudo apt-get dist-upgradelagi. Menjalankan perintah kemudian menyelesaikan masalah. Saya suka Nix!
Wayne Phipps

5
Catatan, killall apt-getlakukan hal yang sama dengan ps/ killkombo Anda.
Cerin

3
Perhatikan bahwa saya menemukan bahwa saya perlu menjalankan sudo dkpg --configure -asetelah membunuh proses yang benar agar semuanya kembali normal.
starbeamrainbowlabs

219

Hapus /var/lib/dpkg/lockfile Anda dan paksa konfigurasi ulang paket.

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

Seharusnya bekerja setelah ini.


perintah ini membantu, tetapi sekarang ketika saya mencoba menginstal lagi, dapatkan jawaban ini: Tidak bisa mendapatkan kunci / var / cache / apt / arsip / kunci - buka. Saya pikir saya harus melakukan seperti masalah membuka sebelumnya, tapi tolong katakan padaku kata kunci yang tepat untuk perintah. Saya seorang pemula mutlak.
kern

1
sudo- jalankan perintah sebagai root, rm- hapus file. Mungkin cobasudo rm /var/cache/apt/archives/lock
kubahaha

5
Ini bukan saran yang bagus: menghapus keberuntungan bisa merusak kondisi dpkg.
poolie

5
Mengapa tidak diperbaiki sendiri saat ini?
Marian Klühspies

2
Ini berhasil untuk saya. Aws di atas tidak.
1rq3fea324wre

108

Anda akan mendapatkan pesan ini jika Anda lupa menggunakan sudoketika menjalankan perintah apt.

Kalau tidak, ini adalah pertanda bahwa ada orang lain yang menginstal atau menghapus perangkat lunak dan telah mengunci basis data tepat ketika melakukan tindakan. Program yang dapat melakukan ini adalah:

  • Pusat Perangkat Lunak
  • Manajer Pembaruan
  • Penginstal tautan apt (saya pikir ini sekarang melewati SC)
  • Utilitas baris perintah apt-get atau aptitude.
  • Manajer Paket Synaptic

PENTING: hanya coba yang di bawah ini sebagai pilihan terakhir karena dapat merusak sistem Anda. Pertama-tama coba bunuh instance berjalan aptatau aptitudeseperti yang dijelaskan dalam jawaban Faheem .

Anda dapat memaksa kunci dimatikan dengan menghapus file, tetapi tidak disarankan tanpa terlebih dahulu menutup program yang memegang kunci dengan aman , karena Anda dapat menyebabkan korupsi atau mengganggu instalasi (buruk). Perintah yang disediakan oleh João harus menutup program yang memegang kunci dan kemudian menghapus kunci tetapi tidak akan melindungi Anda dari gangguan yang dipasang:

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

Dan perintah yang sama dapat digunakan untuk kunci cache apt:

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

5
Saya sedang memperbarui perangkat lunak saya ketika saya mendapat pesan kesalahan.
titisan hujan

20
Ini
macet

5
sudo fuser -cuk /var/cache/apt/archives/locklangsung reboot komputer saya. apt-getsekarang tidak dikunci.
Maxime R.

15
Ini membuat seluruh server saya mogok.
에이 바

5
Membunuh apt atau dpkg setengah jalan bukanlah ide bagus.
poolie

99

Cara yang paling mungkin untuk mencapai hal ini adalah:

  • boot Ubuntu
  • mulai terminal
  • Tipe sudo apt-get install whatever

dan baris perintah apttumpang tindih dengan update-managerpemungutan suara secara otomatis.

Jadi, jika Anda mencoba lagi dalam beberapa menit, itu akan memperbaikinya.


21
Petunjuk hebat berbeda dengan setengah lusin balasan yang menyarankan untuk hanya menghapus file ;-) Saya secara acak berlari dalam masalah dan kemungkinan besar ini dia!
Alex

2
Cukup aman, harus menunggu sebentar sebelum sudo apt-get installbisa bekerja.
sargas

Ya ini tidak selalu berfungsi, ya saya telah menggunakan reboot berulang kali. Jika tidak cocok coba ini askubuntu.com/a/315791/378845 sebelum Anda menghapus kunci
Menuka Ishan

@menuka, mengapa tidak biarkan saja selesai.
poolie

@poolie Karena ada kendala lain yang menghentikan proses penyelesaian
Menuka Ishan

52

Hanya satu program yang dapat menahan kunci. Pastikan Anda tidak menjalankan aptitude, synaptic, atau mahir. Tutup program dan jalankan lagi itu harus bekerja. Anda mungkin memiliki sinaptik terbuka, atau memiliki jendela terminal lain yang menjalankan apt-get, atau menjalankan pembaruan manajer. Periksa dan lihat apakah ada yang sedang berjalan, jika ada mereka berlari menutupnya dan coba lagi.

Coba perintah ini di terminal untuk menemukan apa yang sedang berjalan

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

Catatan:
Jika itu tidak mencetak apa pun, ketikkan terminal di bawah ini untuk menghapus kunci

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

Sekarang Anda dapat menginstal Paket apa pun.


9
Menghapus file kunci adalah, apa yang akan saya pertimbangkan, hal yang berbahaya untuk dilakukan. Jika proses lain dikunci karena alasan yang sah - dan Anda menghapus file kunci itu dan memaksa pemasangan dengan apa yang Anda lakukan sebelumnya - Anda dapat, dengan cara negatif, dapat memengaruhi sistem Anda secara serius.
Marco Ceppi

5
Itu sebabnya saya telah memberikan itu dalam Catatan. Jika semua hal di atas gagal, satu-satunya cara adalah menghapus kunci. Itu tidak akan menimbulkan masalah selama proses dpkg dan apt-get / aptitude tidak berjalan
karthick87

pgrep -f 'apt|adept|dpkg'jauh lebih pendek.
dhchdhd

Terima kasih! ini bekerja. pgrep -f 'apt | adept | dpkg' dan kemudian sudo skill (angka), bunuh semua angka lalu instal karya!
pencipta

@ Larry yang akan cocok dengan seluruh proses path +. Saya pikir pgrep -a 'apt|adept|dpkg'ini setara lebih pendek lebih baik.
Pablo A

46

Sejauh ini cara terbaik untuk membuatnya bekerja tanpa melanggar kemungkinan instalasi yang berjalan di latar belakang (seperti yang bisa terjadi dengan menghapus file kunci), adalah menghentikan layanan menggunakan apt:

Kesalahan:

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

Larutan:

sudo systemctl stop apt-daily.timer

Setelah memutakhirkan sistem, saya sarankan mengaktifkannya kembali, karena penguncian bug dapat diperbaiki dengan peningkatan.

sudo systemctl start apt-daily.timer

Saya belum memverifikasi kesalahan ini diperbaiki setelah peningkatan. Saya akan menambahkan komentar baru setelah saya memverifikasi itu


Setelah memutakhirkan sistem dan memulai layanan apt-daily.timer lagi saya tidak menghadapi masalah ini sejauh ini.
Jairelee

Ini mungkin metode terbersih dibandingkan dengan semua jawaban yang lebih tinggi di atas. Ini berhasil dalam kasus saya dengan sempurna, terima kasih!
CygnusX1

Ini bekerja dengan sempurna pada 17.10 juga
Penatua Geek

Bekerja pada 17.10 1
Eng.Fouad

2
Bekerja dengan baik di 18.04. :)
Naveen Kumar V

33

Pertama-tama kita harus memeriksa proses apa yang membuat file kunci menggunakan lsof:

sudo lsof /var/lib/dpkg/lock

atau dalam situasi lain di mana /var/lib/apt/lists/lockbermasalah:

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

Outputnya akan mendekati sesuatu seperti:

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

Maka kita harus memeriksa apa yang dilakukan oleh commad, kita dapat menemukannya menggunakan ps, pgrepdll; perintahnya apt-getjadi saya jalankan:

pgrep apt-get -a

The -asaklar daftar perintah penuh bagi saya, dalam kasus saya itu:

 pgrep -a apt-get
 12127 apt-get update

kita dapat melihat bahwa itu menjalankan updatesub-perintah, saya dapat menjalankan sesuatu seperti ini juga:

ps -f 12127

yang menghasilkan:

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

Dalam hal ini saya akan menunggu beberapa menit untuk sumber daya dibebaskan dan jika setelah 2 atau 3 menit masalah masih ada atau perintah itu adalah sesuatu yang saya tidak pedulikan atau tidak berbahaya untuk sistem (seperti ini apt-get update) saya mengirim SIGTERMke proses:

sudo kill -15 12127

Seharusnya berhasil, Jika tidak saya akan mengirim SIGINTwaktu ini (Ini seperti menekan CTRL+ C):

sudo kill -2 12127

Jika tidak berhasil juga, kita harus mengirim SIGHUP( kill -1), dan akhirnya jika tidak ada yang berhasil saya cukup menghentikan proses:

sudo kill -9 12127

atau

sudo pkill -9 apt-get

Lalu saya menghapus sumber daya yang sibuk:

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

Satu hal kecil adalah bahwa /var/lib/dpkg/lockbukan /var/lib/apt/lists/lockfile dalam pertanyaan.
Chai T. Rex

1
Berterima kasihlah kepada para dewa utama yang akhirnya disebutkan pgrepdan seseorang pkill.
dhchdhd

1
Ini harus menjadi jawaban yang diterima.
Marwan Nabil

jika instal atau peningkatan menyebabkan ini dpkg --configure -amungkin diperlukan juga
LUXS

Ini berfungsi untuk saya
Sundeep

21

Kesalahan ini mungkin disebabkan oleh Pembaruan Manajer yang mencoba untuk secara otomatis memperbarui daftar paket di latar belakang, biasanya tepat setelah login Anda, sehingga mengunci direktori.

Dalam hal ini, tunggu beberapa detik saja (atau lebih, jika pembaruan terakhir Anda sudah lama) untuk menyelesaikan atau meluncurkan Pembaruan Manajer untuk memeriksa status.


Saya mendapatkan hak ini setelah menginstal Ubuntu 16.04. Ternyata ada proses latar belakang di Pusat Perangkat Lunak Ubuntu yang menunggu saya untuk menginstal beberapa pembaruan secara manual.
jvriesem

Ditto setelah instalasi baru 16,04. Terlalu banyak lebih lama daripada "beberapa detik" dalam kasus saya (saya punya waktu untuk membaca seluruh halaman T&J ini!) Tetapi setelah menyegarkan psbeberapa kali saya bisa melihat dpkgsedang memperbarui seluruh beban barang dan saya menunggu dengan sabar untuk menyelesaikan semuanya. . Saya kemudian menjalankan Pembaruan Perangkat Lunak sampai semuanya diperbarui sebelum mencoba menginstal sesuatu yang baru.
Charlie Joynt

16

Ini akan terjadi jika Anda memiliki 'Pembaruan Manajer' yang berjalan secara paralel untuk setiap pembaruan pembaruan atau pemasangan karena proses pemasangan menempatkan Lock. Jika Anda menghadapi kesalahan yang sama tanpa menjalankan 'Update Manager', Anda harus menghapusnya /var/lib/dgkg/lock, yang tentunya Anda tidak dapat melakukannya secara manual

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

bekerja dengan baik. Diambil dari: https://askubuntu.com/a/15469/68707


1
Ini adalah masalah dalam kasus saya!
LondonRob

1
Solusi yang lebih baik karena perintah fuser digunakan untuk melacak proses lain (jika masih hidup)
Lars Nordin

16

Jangan terlalu cepat untuk menghapus sesuatu, itu dapat benar-benar merusak sistem Anda; lebih baik menunggu sampai program yang sedang menginstal atau menghapus instalan menyelesaikan tugasnya dan setelah itu Anda akan mendapatkan akses. Jika Anda berpikir bahwa tidak ada yang menginstal atau menghapus instalan saat ini, maka cukup reboot sistem Anda dengan perintah tersebut sudo reboot.


1
Ini lebih mirip komentar daripada jawaban. Bisakah Anda memindahkan ini sebagai komentar untuk jawaban yang ditanggapi?
jvriesem

4
@ jvriesem Saya pikir ini adalah jawaban yang sangat penting, karena intinya dia membuat apa yang hilang dari banyak jawaban lain!
Volker Siegel

@ jvriesem Ini biasanya jawaban yang benar. Saya mengalami masalah ini cukup sering dengan wadah linux saya ketika saya tidak menggunakannya dalam waktu lama. Tunggu saja. Ya mungkin sebentar. Tetapi biarkan ia melakukan tugasnya sebelum masuk dan mengganggu banyak hal.
earth2jason

Ini harus menjadi hal pertama yang harus dicoba. Jawaban ini sebagian besar waktu memperbaiki masalah. Saya memilikinya mungkin 4-5 kali, dan reboot selalu menyelesaikannya.
Jan

10

Jika Anda memiliki pembaruan keamanan yang diatur untuk menginstal otomatis ini akan sering terjadi. Saya benar-benar menunggu 30 detik dan itu memperbaiki masalah. Hanya membuang ini di luar sana kalau-kalau ada orang lain menghadapi masalah ini.


1
Tergantung pada berapa lama distro telah di-boot, bisa sampai setengah jam. Tapi mungkin ideal untuk membiarkan distro Anda menyelesaikan tugasnya sebelum mengganggu.
earth2jason

6

Dalam kasus saya, saya harus menunggu beberapa menit agar kunci dilepaskan (sepertinya aptdigunakan untuk menahannya). Ini semua terjadi tepat setelah boot sistem.


4

Hanya sudo rm -f /var/lib/apt/lists/lockdan coba lagi.

apt-fast MUNGKIN bertanggung jawab untuk tidak membuka kunci dengan benar; ini kadang-kadang terjadi ketika Anda membatalkan apt-getatau dpkgjuga.


4

Saya telah mengalami masalah ini beberapa kali. Bagi saya, itu hampir selalu disebabkan oleh apt-get atau GUI yang menyebutnya hang karena suatu alasan. Saya harus membunuhnya yang meninggalkan berbagai kunci di tempatnya.

Jawaban lain memunculkan poin yang sangat baik tentang memastikan tidak ada pembaruan yang sedang berjalan sebelum melakukan sesuatu yang drastis seperti menghapus file kunci. Namun, begitu Anda yakin bukan itu masalahnya, berikut ini biasanya berfungsi untuk saya. Saya mendapatkannya dengan membaca banyak jawaban untuk pertanyaan seperti ini.

Sementara sebagian besar atau semua ini disajikan dalam jawaban lain, ini menyaring perbaikan ke beberapa perintah.

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

Gunakan untuk membuka kunci sistem paket setelah pembaruan dari beberapa jenis crash atau dihentikan tanpa menyelesaikan dengan cara lain. Perintah-perintah ini harus dijalankan dalam urutan yang disajikan.


3

Saya tidak melihat jawaban ini di mana pun di atas tetapi pada Ubuntu 16.04, saya juga mengalami masalah ini. Penyebabnya adalah waktu di komputer saya diatur ke masa depan . (Ini karena saya menggunakan sistem dual boot Windows + Ubuntu dan saya kira saya telah mengacaukan waktu lokal vs waktu UTC.)

Satu hal yang aneh adalah bahwa tanggal dan waktu file yang terkunci adalah tanggal dan waktu yang tepat ketika saya menjalankan program.

Saya kemudian menggunakan "fuser" seperti yang dijelaskan dalam posting sebelumnya dan apt berfungsi, tapi saya mendapat keluhan tentang perlunya menjalankan dpkg -a -reconfigure. Ketika saya melakukan itu, saya mendapat kesalahan seperti:

newline in field name #padding

dalam file seperti '/ var / lib / dpkg / updates / 0003'.

Semua ini sangat aneh karena saya belum pernah melihatnya sebelumnya. Jadi, saya pikir ini adalah gejala dan mengubah data dan waktu saya secara manual. Saya tahu ada masalah dengan tanggal / waktu ketika saya masuk, tetapi mengabaikannya. (Sebelumnya, pengaturan itu secara otomatis melalui Internet dan NTP).

Kemudian, semua masalah di atas telah diperbaiki ... Semoga ini bisa membantu orang lain! Gejala yang paling menonjol mungkin adalah tanggal / waktu file kunci menjadi tanggal / waktu yang tepat saat Anda mencoba menjalankan perintah.


3

Dalam kasus saya, X mogok saat apt-getmasih mengeluarkan kernel lama. Saya menggunakan Monitor Sistem untuk mengonfirmasi masih berjalan dan tidak macet. Semuanya baik-baik saja setelah proses selesai.


3

Periksa Peluncur untuk melihat apakah Software Updatersedang berjalan. Jika demikian maksimalkan dan lihat apa yang dilakukannya. Jika masih memeriksa, maka tunggu sampai selesai. Ketika selesai, ini mungkin memberi tahu Anda bahwa perangkat lunaknya sudah mutakhir, jadi tutup aplikasinya. Jika ada pembaruan yang tersedia, lakukan pembaruan atau klik "ingatkan saya nanti". Setelah ini aplikasi ini ditutup, Anda dapat kembali menggunakan apt-getatau apt.

Jika Software Updatertidak berjalan, cukup gunakan Dash untuk memintanya dan menunggu penyelesaian dan kemudian memutuskan apakah Anda ingin memperbarui atau klik "ingatkan saya nanti". Setelah ini aplikasi ini ditutup, Anda dapat kembali menggunakan apt-getatau apt.


2

Dalam kasus saya, saya menerima pesan yang sama dengan tidak menyadari bahwa saya telah beralih ke pengguna root dan mencoba sudo apt-get. Begitu saya menyadari hal ini, saya hanya menjalankan apt-get, dan itu berhasil. Konyol, tetapi mungkin masih menjelaskan kesalahan untuk beberapa.


2
Itu bukan penyebab masalah, karena Anda dapat berjalan sudosebagai root (dan bahkan jika Anda tidak bisa, itu tidak akan menghasilkan pesan kesalahan ini). Lebih mungkin apa yang terjadi adalah bahwa proses lainnya selesai saat Anda sedang menulis perintah berikutnya.
wjandrea

Terkadang menghasilkan pesan kesalahan yang sama.
karel

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

Gunakan dengan risiko Anda sendiri


1

dalam kasus saya, setelah:

  1. Buka Firefox.
  2. Terminal terbuka

saya mengetik


sudo apt update
sudp apt upgrade
maka saya mendapatkan masalah itu

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?
Saya memperbaikinya, menjalankan perintah yang ditunjukkan kepada saya setelah dijalankan sudo apt update

apt list --upgradable

Perintah ini akan menunjukkan kepada Anda daftar program dalam kasus saya hanya Firefox, saya menutup Firefox, kemudian bisa menjalankan perintah lagi tanpa masalah.

sudo apt upgrade

0

Bagi orang-orang yang tertarik untuk secara proaktif mencegah bug ini dalam skrip mereka, saya menemukan bahwa flag -q on apt upgrade -yqmenyebabkan masalah ini bagi saya. Selama proses peningkatan, saya kira itu kadang-kadang akan memberi saya peringatan (sesuatu di sepanjang memperbarui desktop, apakah saya ingin melanjutkan), dan jika peringatan ini ditekan, maka saya kira itu menyebabkan cenderung untuk tidak membuka kunci file yang dilindungi. dan itu macet.

Memang, saya mengalami kesulitan mereproduksi kesalahan ini 100% dari waktu, tetapi menghilangkan opsi -q yang sepenuhnya memperbaiki masalah bagi saya .


0

Seperti kebanyakan orang, saya menunggu kunci dibuka. Setelah 30 menit saya menyerah dan boot dengan keras ke distribusi yang berbeda. Dari sana saya menggunakan internet untuk beberapa penelitian yang mendaratkan saya di sini.

Ternyata unattended-upgrades.servicesedang berjalan. Saya menemukan bahwa me-reboot ke sistem yang rusak dan berjalan:

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

memungkinkan saya membuat sistem yang rusak berfungsi kembali untuk:

sudo apt update
sudo apt upgrade
sudo apt install -f

Namun itu tidak memperbaiki paket yang disimpan dan situasi yang tidak mungkin dilaporkan oleh aptsejak awal. Tampaknya ini menyebabkan aptpenguncian saat boot di tempat pertama.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.