Apt ve DNF gibi Linux paket yöneticileri son derece güçlü ve sezgiseldir, ancak bu, işlerin ters gitmeyeceği anlamına gelmez. Bazen bir paket kurulumu yanlış gider ve parçaları toplamanız gerekir. Paket yöneticileri, sisteminizin yeniden çalışmasını sağlamak ve gelecekte sorunlardan kaçınmak için bozuk paketleri düzeltme ve bozuk güncellemeleri atlama yeteneğine sahiptir. Bu makale, Linux’ta bozuk paketlerin nasıl düzeltileceğini kapsar.
Bu ipuçları ve püf noktaları, çoğu durumda çıkmaza girmenize yardımcı olacaktır. Hepsi oldukça evrenseldir, ancak her durum farklıdır, bu nedenle kendi durumunuzda hata ayıklamaya çalışırken bunu aklınızda bulundurun.
Ubuntu’da Bozuk Paketleri Düzeltme
Apt, yükleme sırasında bir nedenden dolayı bozulan eksik bağımlılıkları veya paketleri düzeltmek için kullanabileceğiniz birkaç bayrağa sahiptir. Burada yaygın bir kullanım, üçüncü taraf bir .deb yüklemek ve bilmediğiniz bağımlılıkları olduğunu bulmaktır. Bu bağımlılıklar muhtemelen kendi başlarına çekilmeyecek ve dpkg
paketin içlerinde eksik olduğundan şikayet edecek. Her durumda, aşağıdaki adımları deneyebilirsiniz.
İlk olarak, gerekli paketlerin daha yeni sürümleri olmadığından emin olmak için bir güncelleme çalıştırın.
sudo apt update --fix-missing
Ardından, Apt’yi eksik bağımlılıkları veya bozuk paketleri aramaya ve düzeltmeye zorlamayı deneyebilirsiniz. Bu aslında eksik paketleri yükleyecek ve mevcut yüklemeleri onaracaktır.
sudo apt install -f
Paket kurulumlarında hatanın ortaya çıkabileceği bir başka yer de yapılandırma işlemidir. Perde arkasında, bu kısımla Apt değil, dpkg ilgilenir, bu nedenle, yapılandırma sırasında bir paket başarısız olduğunda, onu düzeltmek için dpkg’nin başvurması mantıklı olacaktır.

Bozuk veya kısmen yapılandırılmış paketleri yeniden yapılandırmak için dpkg’yi zorlamaya çalışarak başlayın.
sudo dpkg --configure -a
Bu sorunu çözmezse, daha güçlü bir yaklaşım sergileyebilirsiniz. dpkg’nin yeniden yükleme gerektirdiğini işaretlediği paketleri listeleyerek başlayın.
sudo dpkg -l | grep ^..r
Orada sorunlu paket(ler)i görmelisiniz. Oraya ait olmayan bir şey olmadığı sürece, bozuk paketleri zorla kaldırabilirsiniz.
sudo dpkg --remove --force-remove --reinstreq
dpkg bittiğinde Apt ile temizlemeyi deneyin.
sudo apt clean sudo apt update
Şansınız yaver giderse, bu sizi başladığınız yere geri götürecektir. Size yüklemeye çalıştığınız bozuk paketleri getirmeyecek, ancak en azından Apt tekrar işlevsel olacak.
Kalıcı DPKG Kilidi
Saçma dpkg kilitleriyle herhangi bir şey yapmanızı engelleyen daha az yaygın bir sorun var. Apt veya dpkg’ı her kullanmayı denediğinizde, başka bir uygulamanın zaten olduğunu söyleyen bir hata alırsınız… olmadığında.
Apt’ı kullanmanızı engelleyen kilit dosyasını silmek ve ihtiyacınız olanı yapmaya geri dönmek aslında çok kolay. Bazen bu kilit dosyaları, bir kurulumda bir hata meydana geldikten sonra yerinde kalır, bu da süreci rayından çıkarır ve dosyanın otomatik olarak kaldırılmasını engeller. Bu durumda, kendiniz yapmanız gerekecektir.
sudo rm /var/lib/apt/lists/lock
İyi bir önlem için, önbellekteki kilidi silin.
sudo rm /var/cache/apt/archives/lock
Fedora/CentOS/RHEL’de Bozuk Paketleri Düzeltme
Fedora/CentOS/RHEL’de bozuk paketleri düzeltmek daha az yaygındır, çünkü yum ve dnf, paketlerin doğru şekilde kurulduğundan emin olmak için gerçekten harika işler yapar. Ancak bazen paket kullanımında işler karışıyor. Bunu rpm tabanlı sistemlerde yapmak için gereken komut:
sudo rpm -Va

NS -V
seçenek doğrulama içindir, yani kurulu dosyalar hakkındaki bilgileri, içinde depolanan bilgilerle karşılaştırır ve karşılaştırır. rpm
veri tabanı. Bu, genellikle size uzun bir dosya listesi vereceğinden biraz yardımcı olmaz, ancak belirli bir uygulamayla ilgili sorun yaşıyorsanız size başlamanız için bir yer verebilir. çalıştırabilirsiniz dnf reinstall
o listede gördüğünüz ve size sorun çıkarabilecek herhangi bir pakette.
sudo dnf --refresh reinstall PACKAGE_NAME
Bu, tüm meta verileri süresi dolmuş olarak ayarlayacaktır, böylece etkinleştirdiğiniz her depoda gezinecek ve bu paketin yeni bir sürümünü arayacaktır. Bu pakette bozuk bağımlılıklar olduğunu fark ederseniz, DNF muhtemelen şikayet edecek ve size paketi kullanmanızı söyleyecektir. --skip-broken
bayrak. Bu aynı zamanda, bir bağımlılığı çekmek için etkinleştirilmiş belirli bir havuzunuz olmadığı anlamına da gelebilir, bu nedenle orada biraz araştırma yapmanız gerekebilir.
Çözüm
Umarım bu düzeltmelerden biri işinize yaramıştır ve normal olarak Linux sisteminizde çalışmaya devam edersiniz. Tamamen kontrol dışı bir durumla başa çıkmanın en iyi yolunun, eski haline dönmeye çalışmak olduğunu unutmayın. Tam olarak ne yaptığınızı bilmiyorsanız, daha fazla şey ekleyerek bir kırılmayı çözmek için güç vermeye ve daha fazla şey eklemeye çalışmayın. Muhtemelen, çözmesi daha zor olacak karışık bir karışıklık karmaşası ile sonuçlanacaksınız.
Gereksiz ve bozuk paketlerden kurtulmak için Linux sisteminizi de temizlemeniz gerekebilir. Nedeni eski bir bilgisayarın yeni yazılımı destekleyememesinden kaynaklanıyorsa, eski bilgisayarınızı iyi bir şekilde kullanmak için bu üç yoldan da yararlanabilirsiniz.