Herhangi bir paketi yükseltirken veya kurarken karşılanmayan bağımlılıklar hatası alıyorsanız verilen adımlarla sorunu çözebilirsiniz.
Karşılanmayan bağımlılıklar, özellikle paket en son yapısının Ubuntu kurulumunuzla uyumlu olmadığı bir PPA kaynağından geliyorsa, paketi yüklerken karşılaşacağınız oldukça yaygın bir sorundur.
Sadece bu da değil, paketin sisteminizde bulunmayan belirli bir sürümünü yüklemeye çalıştığınızda da meydana gelebilir; bu da bağımlılık sorunlarına ve sisteminizdeki diğer paketlerle olası çatışmalara yol açabilir.
Yapmaya çalıştığınız şey gibi son adımınızı hatırlayabilirseniz sorunu gidermeniz çok daha kolay olacaktır.
Ancak her şeyin nasıl başladığının farkında değilseniz endişelenmeyin.
Sorunu teşhis etmek ve çözmek için atabileceğiniz birkaç adım var; bunu sizinle paylaşacağım, ancak ondan önce, karşılanmayan bağımlılıklara neyin sebep olduğunu anlamak için biraz zaman harcayalım.
Karşılanmayan Bağımlılıklara Ne Sebep Oldu?
Daha önce de söylediğim gibi, bu hatanın ana nedeni, PPA’yı kullanarak bir programın veya uygulamanın eski bir sürümünü yüklemeye çalışmanızdır.
Peki programın eski bir sürümünü yükleyebildiğimizde sistem neden hata veriyor? Eski programı kurmamız gerekmez mi?
Elbette paketin daha eski bir sürümünü yükleyebilirsiniz, ancak sorun şu ki, uygulamanın en son sürümü veya Ubuntu kurulumunuz, sisteminizde mevcut olmayabilecek belirli bir bağımlılık sürümü gerektirebilir.
Sisteminize daha eski bir bağımlılık kazandırmayı başarsanız bile, sisteminizin kararsız bir duruma girmesini önlemek için kütüphanenin daha düşük bir sürümünü kurmanıza izin verilmeyecektir.
Ancak, uygulamanın en son sürümünün bile yükleme sırasındaki bir kesinti veya sistem veritabanının bozulması nedeniyle yüklenemediği zamanlar vardır veya yükseltme için paketi elinizde tutmuş olabilirsiniz, bu da yükleme hatasına katkıda bulunabilir.
Şimdi karşılanmayan bağımlılıklar hatasını düzeltmek için kullanabileceğiniz yöntemlere bakalım.
Karşılanmayan Bağımlılıklar Hatasını Düzeltmek için Mevcut Yöntemler Nelerdir?
Bu sorunu çözmek için kullanılabilecek birkaç yöntem var ve sorunu çözebilecek tüm yöntemleri bu makalede sizinle paylaşacağım, o yüzden önce basit olanla başlayalım.
TL;DR Version
Hızlı bir çözüm arayanlar için bu makalenin CliffsNotes sürümünü burada bulabilirsiniz, ancak bu konuda yeniyseniz lütfen makalenin tamamını okumak için aşağı kaydırın.
Karşılanmayan bağımlılıklar hatasını düzeltmek için sorunu çözmek için yöntemlerden herhangi birini kullanabilirsiniz.
# Yöntem 01: Paket yöneticisinden şunu isteyin:
bozuk bağımlılıkları otomatik olarak düzelt
$ sudo apt install --fix-broken
veya
$ sudo dpkg-reconfigure --force <package-name>
# Yöntem 02: Uygulamayı Aptitude aracılığıyla yükleyin
bağımlılık sorununu çözmek için.
$ sudo aptitude install <package-name>
# Yöntem 03: Bir bağımlılık paketi beklemede olarak işaretlenmişse beklemeyi kaldırın
$ apt-mark showhold
$ apt-mark unhold <package>
# Yöntem 04: Çakışan PPA'yı Kaldır
$ ls /etc/apt/sources.list.d/
$ sudo apt autoremove --purge <package-name>
$ sudo rm /etc/apt/sources.list.d/<ppa_name>.list
$ sudo apt autoclean
$ sudo apt update
Kurulumu Zorlamak için -f veya –fix-broken Bayrağını ekleyin
Bazen, paket kurulumundaki bir kesinti veya çakışma nedeniyle, hiçliğin ortasında iptal edilir ve bu nedenle, paketi tekrar kurmayı denediğinizde karşılanmayan bağımlılıkları görürsünüz.
Böyle bir sorunu çözmek için, eksik paketleri yükleyerek veya çakışan paketleri kaldırarak bozuk bağımlılıkları düzeltmeye çalışacak -f veya –fix-broken bayrağını kullanabilirsiniz.
$ sudo apt install -f
veya
$ sudo apt install --fix-broken
veya
$ sudo dpkg-reconfigure --force <package-name>
Bağımlılık sorunlarını Otomatik Olarak Çözme ve Düzeltme Yeteneği
Linux’ta her zaman alternatif seçenekler mevcuttur ve burada da paketleri yüklemek için apt yerine aptitude’u kullanabilirsiniz; bu, bağımlılık sorunlarını otomatik olarak çözmeye çalışacak ve kurulum hatasını düzeltecektir.
Aptitude’un sözdizimi APT’ninkine benzer ancak daha gelişmiş özellikler sunar. Ancak, önceden yüklenmiş yeteneği bulamazsınız, bu nedenle onu kullanmak için şunu çalıştırmanız gerekir:
$ sudo apt install aptitude
Aptitude kullanıma hazır olduğunda, yüklemek istediğiniz paket adıyla aşağıdaki komutu çalıştırın ve ekrandaki talimatları izleyin.
$ sudo aptitude install <package-name>
Her şey yolunda giderse paket kurulacaktır.
Tutulan Paketleri kontrol edin
Bazı paketleri ve kitaplıkları kurulum için beklemeye almış olabilirsiniz ve bu nedenle artık karşılanmayan bağımlılıklar hatası alıyor olabilirsiniz.
Bunu düzeltmek için öncelikle aşağıdaki komutu çalıştırarak beklemede olarak işaretlediğiniz herhangi bir bağımlılık programı veya kitaplık olup olmadığını kontrol etmeniz gerekir:
$ apt-mark showhold
Herhangi bir paket varsa, paketi kaldırmak ve karşılanmayan bağımlılıklar hatasını çözmek için doğru paket adını değiştirerek aşağıdaki komutu çalıştırabilirsiniz.
$ apt-mark unhold <package>
Bu aynı zamanda aptitude komutu kullanılarak da çözülebilir; örneğin, size hatayı veren uygulamayı yüklemeye çalıştığınızda, ardından ‘q’ tuşuna basıp paketi yüklemeyi tekrar deneyin.
Başvuru yapıldıysa, bu küçük numara sorunu çözecektir.
Soruna neden olan PPA’yı kaldırın
PPA’yı ekledikten sonra karşılanmayan bir bağımlılık hatası oluştuğundan eminseniz, kurulu paketi ve PPA’yı kaldırmanız önemle tavsiye edilir.
PPA’yı kaldırmak için /etc/apt/sources.list.d/ dizinine gidin ve sisteminizde yüklü olan tüm PPA’ları listeleyin.
$ ls /etc/apt/sources.list.d/
Hataya neden olan PPA adına dikkat edin.
Bundan sonra, PPA’yı kullanarak yüklediğiniz tüm paketleri bir sonraki komut satırını yürüterek kaldırın:
$ sudo apt autoremove --purge <package-name>
Yukarıdaki adımı tamamladıktan sonra, PPA’yı Ubuntu sisteminizden kaldırmak için son komutu yürütün.
$ sudo rm /etc/apt/sources.list.d/<ppa_name>.list
Daha sonra, yerel depo önbelleğini temizlemek ve ardından sistem deposunu güncellemek için aşağıdaki komutu çalıştırdığınızdan emin olun.
$ sudo apt autoclean
$ sudo apt update
PPA’yı kaldırdıktan sonra aynı uygulamayı tekrar yüklemek isterseniz manuel olarak veya PPA yerine Snap, Flatpak veya AppImage kullanarak yükleme yapmanızı öneririm.
Evreni, Çoklu Evreni ve Kısıtlı Depoyu Etkinleştir
Paketlerden bazıları varsayılan depoda mevcut değildir ve bu nedenle gerekli kitaplık paketleri kurulmamaktadır, bu da bağımlılık sorunlarına yol açabilir.
Bildiğiniz gibi Ubuntu’da aşağıdaki komutu çalıştırarak etkinleştirebileceğiniz üç depo daha var:
$ sudo add-apt-repository universe
$ sudo add-apt-repository multiverse
$ sudo add-apt-repository restricted
GUI’yi kullanarak depoları etkinleştirmek istiyorsanız kısa çizgi düğmesine basın ve “Yazılım ve Güncellemeler”i arayın.
Açıldıktan sonra aşağıdaki resimde gösterildiği gibi aşağıdaki seçeneği işaretleyin ve değişiklikleri yeniden yüklemek için uygulamayı kapatın.
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.