Ubuntu'da program kurarken karşılaşılan '/var/lib/dpkg/lock' hatası, paket yöneticisinin aynı anda iki işlem yapmaya çalıştığı durumlarda ortaya çıkar. Bu genellikle sistemin kararlılığını korumak için oluşturduğu bir kilit dosyasından kaynaklanır. Hata, yeni bir paket kurulumunu veya güncellemesini engeller. Sorunu çözmek için öncelikle terminali açıp 'sudo rm /var/lib/dpkg/lock' komutuyla ana kilit dosyasını silmelisiniz. Eğer sorun devam ederse, 'sudo dpkg --configure -a' komutu yarım kalan yapılandırmaları tamamlar. Bu adımlar genellikle paket yöneticisi kilidi sorununu giderir. Sorun hala devam ediyorsa, 'sudo rm /var/lib/apt/lists/lock' ve 'sudo rm /var/cache/apt/archives/lock' komutları ek kilit dosyalarını temizler. Bu adımlardan sonra sisteminiz yeniden program kurmaya hazır hale gelir.
Linux sistemler üzerinde Synaptic yada Terminal üzerinden bir program kurmaya çalıştığınızda, kimi zaman (/var/lib/dpkg/) hatası ile karşılaşabilirsiniz.
Unable to lock the administration directory (/var/lib/dpkg/) Hatası
Bu hata sizi Linux depolarından bir program kurmanızı engeller. Genellikle eşzamanlı bir program kurulumunda ortaya çıkar. Örneğin, Ubuntu işletim sistemi kullanıyorsunuz ve APT ile bir program kurmaya çalıştığınızda bu hatayı alıyorsanız yapmanız gereken tek şey bu klasörü silmeniz olacaktır.
Bu hatayı Ubuntu üzerinde apt kullanarak GNS3 IOU kurulumu yaparken karşılaştım. Sizin kurmaya çalıştığınız uygulama farklı olabilir.
Linux üzerinde apt ile program kurmaya çalıştığınızda aldığınız hata aşağıdaki çıktıdaki gibiyse, bu yazımızda (/var/lib/dpkg/lock) hatasını çözeceğiz.
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?
Bu sorunu çözmek için aşağıdaki adımları takip ediniz.
Adımlar:
Adım 1
Öncelikle Ubuntu masaüstünde Terminal’i açınız ve aşağıdaki komutu yazınız ve Enter’a basınız.
sudo rm /var/lib/dpkg/lock
Yukarıdaki komutu uyguladıktan sonra, tekrar daha önce kurmaya çalıştığınız programı kurmaya çalışınız. Eğer tekrar aynı hatayı alırsanız, ikinci adıma geçiniz.
Adım 2
Bu adımda, Ubuntu paketlerini yeniden yapılandırmayı zorlamak için aşağıdaki komutu Terminal’de uygulayınız.
sudo dpkg --configure –a
Kurmak istediğiniz programı Terminal’de tekrar kurmaya çalışınız. Büyük ihtimalle, hata çözülmüş olacaktır. Eğer yine aynı hata ile karşılaşırsanız, 3. adıma geçiniz.
Adım 3
Bu kez Terminal’de aşağıdaki komutları uygulayarak bu sorunu gidermeye çalışın. Daha sonra, tekrar programı kurmaya çalışın. Sonuç olarak, artık sorununuz giderilmiş olacaktır.
Ubuntu’da ‘/var/lib/dpkg/lock’ Engeli Hakkında SSS
Bu ‘/var/lib/dpkg/lock’ hatası tam olarak neyin işareti?
Bu hata aslında sistemin kendini koruma mekanizmasıdır. Ubuntu’nun paket yöneticisi aynı anda iki işlem yapmaya çalışırsa ortalık karışır. İşte o anda dpkg arka planda bir kilit dosyası oluşturur. Dosyanın amacı diğer işlemlere ‘Burada biri çalışıyor, bekle!’ demektir.
Sorun şu ki bazen işlem biter ama kilit dosyası silinmez. Yahut bir güncelleme yarıda kesilir ve dosya sahipsiz kalır. Siz yeni bir program kurmaya çalıştığınızda apt komutu kilit dosyasını görür ve panik yapar. Size ‘Kaynak geçici olarak kullanılamıyor’ diye bağırır.
Yani hata mesajı kötü bir şey olduğu anlamına gelmez. Bilakis sistemin kararlılığını koruyan bir bekçi köpeğidir. Sadece bekçi uyuyakalmıştır. Bizim yapacağımız iş onu kibarca uyandırıp yatağından kaldırmak olacak.
Kısa cevap: Evet, güvenlidir. Ancak bir şartla. O anda arka planda gerçekten bir kurulum veya güncelleme dönmüyorsa güvenlidir. Arka planda apt çalışıyorsa işte o zaman sistemin paket veritabanını bozma riskiniz var.
Şöyle bir manzara hayal edin. Ubuntu yazılım merkezi sessiz sedasız güncelleme indiriyor. Siz de habersizce kilidi siliyorsunuz. İki farklı dpkg örneği aynı veritabanına yazmaya çalışırsa sonuç hüsran olur.
Peki ne yapacağız? Önce bir ‘ps aux | grep apt’ komutuyla kontrol edin. Eğer listelenen bir apt veya dpkg işlemi yoksa buyurun silin. Zaten klasörü silmiyorsunuz. Sadece oradaki kilit dosyasını uçuruyorsunuz. Silme işleminin ardından apt kendi kilidini tertemiz yeniden oluşturacaktır.
Kilit dosyasını sildim ama hala aynı hatayı alıyorum, şimdi ne yapacağım?
Bu durum sık yaşanır; sakın paniğe kapılmayın. Aslında Ubuntu size ikinci bir ipucu daha vermiştir. Sadece siz fark etmemişsinizdir. Apt, dpkg kilidinin yanı sıra iki farklı yerde daha kilit tutar. Birisi paket listelerinin olduğu dizin. Diğeri ise indirilen paketlerin arşiv önbelleği.
İşte bu nedenle ikinci adımda o dost canlısı ‘sudo rm /var/lib/apt/lists/lock’ ve ‘sudo rm /var/cache/apt/archives/lock’ komutlarını çalıştırıyoruz. Buna ek olarak paket yöneticisini biraz hırpalamak gerekebilir.
Terminale ‘sudo dpkg –configure -a’ yazın. Bu komut yarım kalmış tüm yapılandırma işlemlerini tekrar başlatır. Tıpkı bir orkestra şefinin dağınık müzisyenleri toparlaması gibi. Neredeyse vakaların yüzde doksan beşinde sistem bu üçlüden sonra düzelir. Düzelmezse de merak etmeyin, çözüm cebimizde.
Bir program kurarken ‘Unable to lock the administration directory’ hatasında ne yapmalıyım?
Size bir iş akışı vereyim. Bunu bir post-it kağıdına yazıp monitörünüzün köşesine yapıştırabilirsiniz. Birinci hamle: Sistemde gizli apt kalmış mı diye ‘ps aux | grep -i apt’ ile göz atın. Bir şey çalışıyorsa iki dakika bekleyin. Beklemek bazen en iyi sistem yöneticiliğidir.
Çalışan yoksa ikinci hamleye geçin. ‘sudo rm /var/lib/dpkg/lock’ ile ana kaleyi düşürün. Ardından hemen ‘sudo dpkg –configure -a’ ile ortalığı süpürün. Bu komut yarım kalmış ne kadar işlem varsa hepsini temize çeker.
Eğer inatçı bir şekilde hata devam ediyorsa üçüncü ve son hamle gelir. ‘sudo rm /var/lib/apt/lists/lock’ ve ‘sudo rm /var/cache/apt/archives/lock’ komutlarını sırasıyla yapıştırın. Daha sonra ‘sudo apt update’ ile paket listesini yenileyin. Artık kurulum yapmak için yeşil ışık yanmıştır.
Hata düzeldi düzelmesine ama bu kilitlenme olayı neden bu kadar sık başıma geliyor?
Bu soruyu sorduğunuza çok memnun oldum. Çünkü burada işin püf noktası tam olarak kullanım alışkanlıklarınızda gizli. Birinci senaryo şudur. Siz apt komutunu terminalde yazıp enter’a bastınız. Ama işlem biraz uzun sürdü. Sıkıldınız ve Ctrl+C ile işlemi kestiniz. İşte o an dpkg kilit dosyasını bırakıp gitmez. Sahipsiz kalır.
İkinci senaryo ise yazılım merkezi ile terminali aynı anda kullanmaya çalışmanızdır. Ubuntu’nun grafiksel arayüzü arkada sessizce güncellemeleri kontrol ederken siz terminali açıp ‘sudo apt install’ yazarsanız çarpışma olur. Sistem neye uğradığını şaşırır.
Üçüncü ve en gizli sebep ise otomatik güncelleme servisidir. Özellikle sunucularda ‘unattended-upgrades’ arka planda çalışırken manuel müdahale yaparsanız kilit kaçınılmazdır. Tavsiyem şu. Herhangi bir apt işleminden önce ‘sudo lsof /var/lib/dpkg/lock’ ile dosyayı kimin tuttuğuna bakın. Alışkanlık haline getirirseniz başınız hiç ağrımaz.
Silme komutları işe yaramadı, sistem hala inat ediyor, son çare nedir?
İnatçı bir kilitlenme vakasıyla karşı karşıyayız. Biraz daha agresif bir müdahale gerekebilir. Hemen korkmayın. Sistemi yeniden başlatmak yüzde elli oranında sorunu çözer. Ama biz yeniden başlatmadan da halledebiliriz.
Öncelikle kilitli olabilecek tüm önbellek dizinlerini yeniden adlandıralım. ‘sudo mv /var/lib/dpkg/lock /var/lib/dpkg/lock.bak’ yapın. Aynı şeyi lists ve archives için de yapın. Yeniden adlandırmak silmekten daha güvenlidir. Sonrasında dpkg veritabanını ‘sudo dpkg –clear-avail’ ile temizleyin.
Son olarak paket durumlarını zorla düzeltmek için ‘sudo apt-get install -f’ ve ‘sudo apt-get autoremove’ komutlarını verin. Eğer bütün bunlar yetmezse ki çok nadirdir.
O zaman sanal konsola (Ctrl+Alt+F3) geçip grafiksel oturumu durdurmayı düşünebilirsiniz. ‘sudo service lightdm stop’ dedikten sonra komutları çalıştırın. Bu yöntem arka planda çalışan tüm güncelleme tetikleyicilerini susturur. Neredeyse bütün sorunlu kurulumlar bu noktada pes eder.
Sonuç
Bu yazımızda, Linux üzerinde kilit alınamadı hatası nasıl giderilir adım adım inceledik. Bizi takip ettiğiniz için teşekkürler!
Bu Rehberi Keşfettikleri İçin Sana Teşekkür Edecekler!
Sadece bir tıkla sevdiklerine dev bir iyilik yapmaya hazır mısın? Bilgi paylaştıkça devleşir.
Merhaba, ben Tolga, 20 yıllık tecrübeye sahip bilgisayar uzmanıyım. Donanım, sistemler, ağlar, sanallaştırma, sunucular ve işletim sistemleri gibi bilgisayar sorunlarının giderilmesine yardımcı oluyorum. Yararlı bilgiler için web siteme göz atın ve bana herhangi bir şey sormaya çekinmeyin. En yeni teknolojilerden haberdar olun!
İlk yorumu sen paylaş