Burada bazı iyi cevaplar var, ama sadece dpkg kilit kullanıcısını bulmak için olmayan bir yöntem eklemek istedim.
Adım 1: dpkg'yi kimin kilitlediğini bulun:
Seçenek # 1: lsof kullanımı (her zaman makineye kurulmaz)
lsof /var/lib/dpkg/lock
Seçenek # 2: bash kullanımı
for pid in $(ls /proc | egrep [0-9]+); do sudo ls -l /proc/$pid/fd 2>/dev/null | grep /var/lib/dpkg/lock && echo $pid; done
Adım 2: Geçerli dpkg kullanıcısı ile ne yapmak istediğinize karar verin
Böyle bir işlem yoksa, karar verecek bir şey yoktur, bir sonraki adıma geçin.
Aksi takdirde, süreci öldürmek ya da incelikle bitirmesine izin vermek istediğinize karar vermelisiniz. Eğer onu öldürmeye karar verirsen, kullan kill <pid>
. Eğer süreç hala ölmeyecekse, onu kullanarak öldürmeyi düşünebilirsiniz kill -9 <pid>
, ancak bazı tutarsızlıklar yaratabilir ve ne yaptığınızı bilmediğiniz sürece buna karşı tavsiyede bulunabilirim.
Adım 3: Kilit dosyasını kaldırın
sudo rm /var/lib/dpkg/lock
Adım 4: dpkg dahili durumunu düzelt
sudo dpkg --configure -a