Bir PPA ekledikten sonra karşılanmamış bağımlılıkları nasıl çözebilirim?

Bazen, bir şeyler yüklerken, aşağıdaki gibi bir hata alıyorum:

Some packages could not be installed. This may mean that you haverequested an impossible situation or if you are using the unstabledistribution that some required packages have not yet been createdor been moved out of Incoming.The following information may help to resolve the situation:The following packages have unmet dependencies: package1 : Depends: package2 (>= 1.8) but 1.7.5-1ubuntu1 is to be installedE: Unable to correct problems, you have held broken packages.

Bunu nasıl çözebilirim?

APT, Debian ve Ubuntu gibi diğer Linux dağıtımları için bir paket yönetim sistemidir. Çoğunlukla, apt'nin paketleri yüklemek, kaldırmak ve güncellemek için kullanımı kolaydır. Nadir durumlarda, genellikle üçüncü taraf bağımlılıklarını karıştırırken, apt-get bir paket yüklemesinin tamamlanamadığını bildiren bir hata verebilir.

Çözümler:

Yapılandırma dosyalarını yedeklemek her zaman iyi bir fikirdir /etc/apt/sources.list, böylece gerekirse değişiklikleri geri alabilirsiniz.

  • Eğer... error böyle bir şey gösterir:

    <some-package>: Depends: <other-package> (= version) but this-version is to be installed

    Sonra emin olun restricted ve universe depolar etkindir. Vurma Alt+F2, tür software-properties-gtk ve vur Enter.

    Altında Ubuntu Software sekme, tüm depoları etkinleştir.

  • Karşılanmayan bağımlılıkların olası bir nedeni bozuk paket veritabanı olabilir ve / veya bazı paketler düzgün yüklenmemiş olabilir. Bu sorunu çözmek için, hit Alt+Ctrl+T terminal'i açmak ve aşağıdaki komutlardan birini çalıştırmayı denemek için:

    sudo apt-temizlen

    veya,

    sudo apt-get otomatik temizleme

    apt-get clean alınan paket dosyalarının yerel deposunu temizler (the .deb dosyaları). Kilit dosyası dışındaki her şeyi /var/cache/apt/archives/ ve /var/cache/apt/archives/partial/ öğelerinden kaldırır. apt-get autoclean alınan paket dosyalarının yerel deposunu temizler, ancak farklı olarak apt-get clean, yalnızca artık indirilemeyen ve büyük ölçüde yararsız olan paket dosyalarını kaldırır.

  • Bağımlılık sorunlarını çözmek için en temel düzeltmelerden biri çalıştırmaktır:

    sudo apt-get -f yükleme

    Bu -f burada “bozuk olanı düzelt” anlamına gelir. Apt bozuk bağımlılıkları düzeltmeye çalışacaktır. Karşılanmamış bağımlılıkları olan bir paketi el ile yüklediyseniz, apt-get mümkünse bu bağımlılıkları yükleyecektir, aksi takdirde sorunu çözmek için yüklediğiniz paketi kaldırabilir.

    Sonra koş:

    sudo dpkg --configure -a

    Sonra bunu tekrar çalıştır:

    sudo apt-get -f yükleme

    Çıktı ise:

    0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

    Bu başarısız olduğu anlamına gelir.

  • Bir sonraki çözüm çalıştırmaktır:

    sudo apt-get -u dist-yükseltme

    Tutulan paketleri gösteriyorsa, bunları ortadan kaldırmak en iyisidir. Paketler, bağımlılık çakışmaları nedeniyle tutulur apt çözülemiyor. Çakışmaları bulmak ve onarmak için bu komutu deneyin:

    sudo apt-get -o Hata Ayıklama::pkgProblemResolver=evet dist-yükseltme

    Çakışmaları düzeltemezse, şununla çıkar:

    0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.

    Tutulan paketleri birer birer silin, çalıştırın dist-upgrade her seferinde, daha fazla paket kalmayana kadar. Ardından gerekli paketleri yeniden yükleyin. Emin olun kullanmak için --dry-run seçenek, sonuçlardan tam olarak haberdar olmanız için:

    sudo apt-get kaldır --dry-run paket adı

    Yüklemeye çalıştığınız paketi kaldırmak ideal olmayabileceğinden, bağımlılıkları karşılamak için ihtiyacınız olan paketlere sahip bir depo bulmayı da deneyebilirsiniz.

Son olarak, her şey başarısız olursa, gerekli paketleri bulup yükleyerek veya bunları kaynaktan yükleyerek ve ardından oluşturarak bağımlılıkları kendiniz karşılamaya çalışabilirsiniz. “olarak" onlar için paketler.

Ppa'ları Devre Dışı Bırak / Kaldır / Temizle:

Ppa'lar (Kişisel Paket Arşivi) üzerinde barındırılan depolardır Fırlatma Rampası. Resmi Ubuntu depolarında bulunmayan paketleri yüklemek veya yükseltmek için ppa'ları kullanabilirsiniz.

Karşılanmayan bağımlılıkların en yaygın nedenlerinden biri, özellikle Ubuntu depolarındaki mevcut paketi yükseltmek için kullanıldığında Ppa'lardır. Sorunu çözmek için üç seçeneğiniz vardır: devre dışı bırak, temizle (Ubuntu depolarındaki orijinal pakete geri dön) veya Ppa'yı kaldır.

  • Devre dışı bırakmak:

    Ppa'yı devre dışı bırakmak, bu ppa'dan yüklenen paketler için daha fazla güncelleme yapılmaması anlamına gelir. Ppa'yı devre dışı bırakmak için: Aç Software Center > Edit > Software Sources Veya,

    Vurma Alt+F2 ve koş software-properties-gtk.

    Üzerine tıklayın Other Software sekme, her ppa'nın burada derlenmiş paketler için bir tane ve kaynak için bir tane olmak üzere iki satır olduğunu göreceksiniz, Uncheck ppa'yı devre dışı bırakmak için her iki satır. Burada ppa'ları da ekleyebilir ve kaldırabilirsiniz.

  • Temizleme:

    Bir ppa'yı temizlemek, seçilen ppa'daki paketleri resmi Ubuntu depolarındaki sürüme düşürmek ve bu ppa'yı devre dışı bırakmak anlamına gelir. PPA Temizliği tam da bunu yapıyor. PPA Temizleme'yi yüklemek için aşağıdaki komutu çalıştırın:

    sudo apt-get yükleme ppa-temizleme

Ama, bu soru dikkate apt bozuksa, yukarıdaki komut başarısız olur. Bu yüzden bu komutu kullanın

mkdir ppa-purge && cd ppa-purge && wget http://mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget http://mirror.pnl.gov/ubuntu//pool/main/a/aptitude/aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb

PPA Tasfiye kullanmak için:

sudo ppa-ppa'yı temizle: bazı ppa / ppa

Herhangi bir nedenle 'ppa-purge' komutu başarısız olursa, ppa'yı yeniden etkinleştirmediğiniz sürece 'ppa-purge' komutunu tekrar çalıştıramazsınız (Ppa'yı etkinleştirmek için bir ppa'yı devre dışı bırakmakla aynı adımları izleyin ve Check etkinleştirmek için belirli bir ppa'nın her iki satırı).

Not: PPA Purge ppa'ları kaldırmaz (gelecekte olabilir), Bu nedenle ppa'yı manuel olarak kaldırmanız gerekir.

  • Kaldırmak:

    Bir ppa'dan yüklenen paket resmi Ubuntu depolarında mevcut değilse PPA Purge tavsiye edilmez, çünkü indirilecek hiçbir şey yoktur ve PPA Purge onu da silmezdim. PPA'YI ve yüklü paketleri kaldırmak için aşağıdaki komutları çalıştırın: (Yüklü paketleri kaldırmak istemiyorsanız ilk komutu yoksayın)

    sudo apt-get autoremove --paketi temizle-adlarudo ekle-apt-depo -- ppa'yı kaldır: someppa / ppasudo apt-get autoclean

Alternatif olarak şunları kullanabilirsiniz Y PPA Manager ppa'ları devre dışı bırakmak / kaldırmak / temizlemek için (Cevabın sonundaki ayrıntılar).

Önleyici Tedbirler:

Peki bunun olmasını en başta nasıl önleyebiliriz?

  • Ubuntu'yu güncel tutun. Ubuntu, güncellemeler mevcut olduğunda otomatik olarak bildirir, üzerine tıklayarak mevcut güncellemeleri de kontrol edebilirsiniz Session Indicator birlik panelinde:

    Veya, Vur Alt+Ctrl+T terminali açmak ve aşağıdaki komutları çalıştırmak için:

    sudo apt-get updatesudo apt-get yükseltmesi

    Güncelleştirme: Kullanılabilir paketler listenizi kaynak depolardaki sunucularla senkronize eder.Yükseltme: Yüklü paketlerinizin daha yeni sürümlerini indirir ve yükler.

  • Kaynaklara başka depolar eklemeye karar verirseniz.listele, deponun Ubuntu ile çalışması (ve çalıştığı biliniyor) olduğundan emin olun. Ubuntu sürümünüzle çalışmak üzere tasarlanmamış depolar sisteminizde tutarsızlıklar yaratabilir ve sizi yeniden yüklemeye zorlayabilir. Ayrıca, aradığınız yazılım paketi (ler) zaten resmi depolara girmiş olabileceğinden, harici depoları gerçekten eklemeniz gerektiğinden emin olun! Kaynak
  • Yinelenen ppa'ları kaldırın. Y PPA Manager (cevabın sonundaki kurulum kılavuzu) yinelenen ppa'ları kolayca tarayabilir ve kaldırabilir.

    • Vurma Alt+F2 ve koş y-ppa-manager Y PPA Yöneticisi'ni açmak için.
    • Açtıktan sonra, çift tıklayın veya vurun Enter üzerinde Advanced.
    • Ortaya çıkan pencerede şunları seçin Scan and remove duplicate PPAs ve TAMAM ' ı tıklatın.

enter image description here

Yardım Alma:

Yardım isterken Askubuntu veya başka bir yardım forumunda, sorunuza aşağıdaki komutların çıktısını eklemelisiniz:

  • Gerçek hatanın çıktısı:

    sudo apt-get yükleme paketi adı
  • Bu sizin kaynaklarınızı gösterecektir.liste:

    cat /etc/apt/ kaynakları.liste
  • Bu, ppa'ların listesini (Varsa) gösterecektir.:

    cat /etc/apt/ kaynakları.liste.d/*

Ek Kaynaklar:


Y PPA Yöneticisi: Y PPA Yöneticisi, tüm PPA ihtiyaçlarınız için tek durak noktasıdır.

y ppa manager

İşte özelliklerinden bazıları:

  • tüm Launchpad ppa'larında arama paketleri
  • ppa'daki paketleri listeleme ve indirme
  • ppa'yı ekleme / kaldırma / temizleme
  • PPA kaynaklarını yedekleme ve geri yükleme
  • yinelenen PPA kaynaklarını kaldırma

Yüklemek Y PPA Manager, vurarak terminali açın Alt+Ctrl+T ve aşağıdaki komutları çalıştırın:

sudo add-apt-repository ppa:webupd8team/y-ppa-managersudo apt-get updatesudo apt-get install y-ppa-manager

Bu soru göz önüne alındığında, apt bozuk, bu yüzden bunun yerine bu komutları kullanın

sudo su

ve

32 Bit:

mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_i386.deb && dpkg -i ./*.deb

64 Bit:

mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_amd64.deb && dpkg -i ./*.deb

Her iki tarafından açılabilir not: çalıştırmak için sorulan Tüm komutları terminalde çalıştırmanız gerekir, Ctrl+Alt+T ya da kontrol panelindeki terminali arıyor.

Gerçekten bozuk mu?

Aşağıdaki komutu çalıştırmayı deneyin ve yüklemeye çalıştığınız yazılımı yeniden yüklemeyi deneyin

sudo apt-get update

Performans Öncesi Adımlar

Yedekleme

Aşağıdaki dosyaları yedekleyin:

  • /etc/apt/sources.list
  • /var/lib/dpkg/status

Bunu yapmak için şu komutları kullanın

sudo cp /etc/apt/sources.list /etc/apt/sources.list.original

ve

sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.original

Apt önbelleğinizi temizleme

apt yüklenmesi gerektiğinde bant genişliğinden tasarruf etmek için son indirilen paketlerin önbelleğini tutar. Bu, bazı durumlarda karşı üretken olabilir

Şimdi, temizlemek için iki seçeneğiniz var

sudo apt-get clean 

Bu, klasöre ait önbelleğe alınmış tüm paketleri kaldıracaktır /var/cache/apt/archives/ ve /var/cache/apt/archives/partial hariç .dosyaları kilitle. Bu tavsiye edilir

sudo apt-get autoclean

Bu klasörleri tarar /var/cache/apt/archives/ ve /var/cache/apt/archives/partial ve paketin hala depolarda olup olmadığını kontrol eder ve olmayanları kaldırır


Bağımlılıkları düzeltme

Apt'nin bozuk düzeltme modunu kullanma

sudo apt-get -f install

Bu, apt'nin eksik bağımlılıkları taramasına ve bunları depolardan düzeltmesine neden olur

Çıktı, yeni bir şey yüklenmediğini veya yükseltilmediğini belirtirse, başarısız oldu.


Gerekli tüm kaynakların etkin olup olmadığını denetleme

Tip gksu software-properties-gtk ve bu pencereyi alacaksın

Tüm kaynakların etkin olduğundan emin olun.

ardından, Diğer yazılım sekmesine gidin ve yüklenecek yazılım için gerekli ppa'ların orada olup olmadığını ve etkin olup olmadığını kontrol edin. Ayrıca, bozuk paketlere sahip olabilecek bazı ppa'ları devre dışı bırakmayı deneyin

şimdi, koş sudo apt-get update

Yazılımı şimdi yüklemeyi deneyin

İndirmek için daha iyi bir sunucu seçme

Tip gksu software-properties-gtk ve bu pencereyi alacaksın

Açılır kutudan İndir'i tıklayın ve diğer'i seçin

En İyi Sunucuyu Seç'i tıklatın

Koşmak sudo apt-get update

Yazılımı yüklemeyi deneyin

ayrıca, kullanmayı deneyin sudo apt-get install -f


PPA Temizliği

Bu, kırılmış / istenmeyen ppa'ları ve onunla birlikte uygulamalarını temizlemek için kullanılan bir araçtır

Yüklemek için çalıştırın

sudo apt-get install ppa-purge

Ama, bu soru Dikkate apt yukarıdaki komut başarısız olacak şekilde bozuldu. Bu yüzden bu komutu kullanın

mkdir ppa-purge && cd ppa-purge && wget http://mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget http://mirror.pnl.gov/ubuntu//pool/main/a/aptitude/aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb

Şimdi ppa tasfiye kullanın

sudo ppa-purge ppa:someppa/ppa  

Y-PPA Yöneticisi

Y-PPA Manager, ppa'ları ve onunla ilişkili çeşitli sorunları yönetmenize yardımcı olan bir guı uygulamasıdır

Yüklemek için

sudo add-apt-repository ppa:webupd8team/y-ppa-manager

ve

sudo apt-get update

ve

sudo apt-get install y-ppa-manager

Bu soru göz önüne alındığında, apt bozuksa, bunun yerine bu komutu kullanın

sudo su

ve

32 Bit:

mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_i386.deb && dpkg -i ./*.deb

64 Bit:

mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_amd64.deb && dpkg -i ./*.deb

Şimdi yazın y-ppa-manager

Bu pencere size sunulacak

Gelişmiş'e çift tıklayın ve bu pencereyi alacaksınız

Siyah renkle özetlenen aşağıdaki Görevleri yapın


Önleme tedaviden daha iyidir

Askubuntu'da bu soruyu aramaktan kaçınmak daha iyidir: D

İşte sizi güvende tutmak için kurallar

Sisteminizi güncel tutun

her zaman aşağıdaki komutu düzenli olarak çalıştırın

sudo apt-get update&&sudo apt-get upgrade

veya Update Manager'ı her zaman bu komutla kullanabilirsiniz

gksu update-manager

Yalnızca güvenilir ppa'ları kullanma

Sadece Ubuntu da kullanılan, sadece güvenilir kaynaklar ile PPA kullanmak Kısmet PPA kullanın. Aslında, paket zaten ubuntu depolarında olabilir

İşler iyi olduğunda yedekleme ve daha sonra geri yükleme

Bunun için Y-PPA-Manager'a ihtiyacınız var. Kurulum adımları yukarıda verilmiştir.

Y-PPA-Manager'ı açmak için bu komutu çalıştırın

y-ppa-manager

Bu pencere size sunulacak

Gelişmiş'e çift tıklayın ve bu pencereyi alacaksınız

Bunu çalıştır:

Bir katranı kurtarman istenecek.aşağıdaki gibi bir iletişim kutusu olan gz dosyası. Başka bir bölüme veya güvenli bir yere kaydedin

Daha sonra, tekrar geri yüklemeniz gerektiğinde, benzer adımları izleyin ve gelişmiş iletişim kutusuna geldiğinizde, buna tıklayın:

Aşağıda belirtilene benzer bir iletişim kutusuyla daha önce kaydettiğiniz önceki yedeklemeden geri yüklemeniz istenecektir


Hala çalışmıyor musun?

Paket bağımlılığı hataları her zaman genel değildir ve yüklenecek pakete bağlıdır.

Hatayı düzeltmek için verilen tüm adımları izlemeniz sizin için işe yaramazsa, her zaman açık olarak sorabilirsiniz Ubuntu'ya sor

Çıktıyı göndermeniz gereken bazı komutlar şunlardır

sudo apt-get install packagename

ve

cat /etc/apt/sources.list

ve

cat /etc/apt/sources.list.d/*

(Sayesinde Beşarat Sıal)

Ayrıca bu çıkışını belirli bir hata olabilir, ve kullanıcılar muhtemelen yorumlarda dosya/komuta etmek ister gereken diğer dosyaları/komut vardır.

Bu cevaplar şimdiye kadar, sistemin böyle bir sorunu otomatik olarak çözmesine nasıl yardımcı olacağına odaklanıyor, çoğunlukla kendi kendini çözmesini umuyor, ancak bağımlılıkların nasıl araştırılacağını anlamaya odaklanmıyor. Önce paket listelerinizin güncel olduğundan emin olmak önemlidir; Daha derine inmeden önce her zaman basit bir güncellemenin veya önbelleğin temizlenmesinin sorunu çözmediğinden emin olun. Bununla birlikte, sahnelerin arkasındaki her şey olması gerektiği gibi çalışıyorsa, bağımlılıkları anlamak çok önemlidir. Bazen bağımlılık katmanları ezici görünebilir, ancak kavram basittir ve yazılımın bir Ubuntu sistemine nasıl yüklendiğini / kaldırıldığını anlamanın anahtarıdır.

Tavsiye ederim yetenek a kullanan herkese.Debian, Kali, Ubuntu veya türevlerinden herhangi biri gibi deb tabanlı sistem. Önerilen ve önerilen paketler de dahil olmak üzere bağımlılık katmanlarına göz atmak için bir arabirim sağlar. Apt-get'in bir çakışmaya çözüm sunmadığı durumlar ve genel olarak bağımlılıkları görselleştirmek için paha biçilmez bir araçtır. (Sinaptik ubuntu'da da mevcuttur.)

Aptitude'un çakışma çözümleyicisi, istediğiniz eylemleri çakışma olmadan karşılayan yüklü / kaldırılmış / yükseltilmiş / etc paketlerinin olası kombinasyonlarında size yol gösterecektir. Bu genellikle apt bir çözüm bulamadığında bile başarılı olabilir. Bir Ubuntu kullanıcısı olarak, normalde belirli bir paketin neden yüklendiğini veya çakışmaya neden olduğunu araştırmanızı gerektiren durumlar ortaya çıkmaz, ancak sistemi daha fazla kullandıkça neredeyse kaçınılmazdır.

>package1: Bağlıdır: package2 (= 1.8) ancak 1.7.5-1ubuntu1 yüklenecek

Mesajın açıklaması:

  1. Kurulumunuzun tamamlanabilmesi için package1'in package2'ye ihtiyacı vardır.
  2. >package2, sürüm = 1.8'de mevcut olmalıdır
  3. Paket yöneticisi tüm depoları kontrol etti ve yalnızca yüklenebilecek 1.7.5-1ubuntu1 sürümünü buldu, bu da < 1.8 olduğu için yapmayacak

Düzeltmek

Bu soru için tek bir doğru cevap yoktur ve basit bir cevap yoktur.

Bunun neden olabileceğine dair birçok senaryo var ve tüm seçenekleri araştırmak ve bu hataya yol açan önkoşulları çözmeye çalışmak gerekiyor.

Senaryo A:

>>Erişiminiz olan tüm depoların sürüm = 1.8'de package2 yok, bu nedenle bunu yapan bir depo bulmanız gerekecek. Sürümleri = 1.8 olan bir depo bulamazsanız, package2'yi kaynaktan oluşturup yüklemeniz gerekebilir. Ve sonra package1 yüklemeyi deneyin.

Bir paketi kaynaktan nasıl oluşturacağınızı bilmek istiyorsanız, diğer soruları / cevapları kontrol edin veya yeni bir paket gönderin.

Senaryo B:

>Depolar bir sürümde package2 içerir = 1.8 ancak paket yöneticisi hala eski bir sürümü (1.7.5) yüklemek istiyor.

Bunun nedeni, package2'nin daha sonraki sürümlerinin, daha önce yüklediğiniz diğer paketler tarafından desteklenmeyen bazı yeni teknolojiler tarafından oluşturulmuş olması olabilir.

>Bunu düzeltmek hiç mümkün olmayabilir. Apt veya synaptic kullanmayı deneyebilir ve depolarda bulunan package2'nin tüm sürümlerini arayabilir ve belirli bir sürüm = 1.8 yüklemeyi deneyebilirsiniz

>Başka uyumsuz paketleriniz varsa ve bunu yaparsanız, package2=1.8'in yüklenmesini engelleyen diğer tüm paketler için benzer hata iletilerinin bir listesini alırsınız.

>>>Bu durumda, daha büyük bir sorunun var. Package2'nin = 1.8 olması gereken package1'i yüklemek istediniz, ancak sürüm = 1.8'deki package2, package3'ün sürüm = 6.7'de olmasını gerektiriyor ve package3 sürüm 6.3'ünüz var

Mesele şu ki, paket yöneticisi (APT) mümkünse tüm bu bağımlılıkları otomatik olarak çözmeye çalışıyor. Bunun mümkün olmadığını söylediğinde (ve soruda olduğu gibi bir mesaj yayınladığında), ona güvenmelisiniz.

Paket yöneticisine güvenmemeye karar verirseniz ve sorun yaşamayacağınızdan eminseniz, tüm paketlerin belirli gerekli sürümlerini tek tek yüklemeye zorlamayı deneyebilir ve iyi olmayı umabilirsiniz.

Dikkat edin, bunu sistem paketleri için yapmak ciddi sorunlar yaratabilir. Kendinizi sistemden kilitleyebilir, kritik hizmetleri engelleyebilirsiniz.

Senaryo C:

Sorunun nedenleri ne olursa olsun, manuel derleme için her zaman kurulum yapabilir ve gerekli paketi ve tüm bağımlılıklarını kaynaktan tam olarak gerekli sürümlerde oluşturabilirsiniz. Bu seçenekle, oluşturduklarınızı ayrı bir dizinde ve sistem yolunun dışında tutabilirsiniz, böylece sistemle çakışma oluşturmaz. Bu muhtemelen en temiz çözümdür ve bazen yapılması daha hızlı olabilir.

Senaryo D:

Paket Yöneticisi paketleri hakkında bilgi tarihli out erişimi yoktur ve olamaz bunun için bir çözüm bulmak. Diğer cevaplara bak.

Senaryo E:

Paket Yöneticisi'nin bağımlılık çözümleme kodunda bir hata var.

Bunun gerçekten böyle olduğunu araştırmanız ve ardından bir hata isteği yayınlamanız gerekir.

...

Senaryo Z:

Başka senaryolar da olabilir.

Örneğin, paket bakıcıları yanlış olabilirdi ve package1'in package2 < 1.8 sürümüyle bile çalışacağını ve şartnamede yanlış bağımlılıklar belirlediklerini kontrol etmediler.

Karşılanmayan Bağımlılıklarla ilgili eror aldığınızda bu yöntemlerin izlenmesi gerekir

Talimatları izledikten sonra yazılımı yüklemeyi deneyin. Bu yöntemlerden en az biri malı senin için çalışmak

1. Yeni bir komut denemeden veya yeni bir ppa eklemeden önce bunu deneyin

Apt önbelleğinin temizlenmesi:

sudo apt-get clean

Kullanılmayan bağımlılıkların temizlenmesi:

sudo apt-get autoremove

Apt önbelleğini güncelleme

sudo apt-get update

Bu, tüm önbelleği kaldıracak ve yeni bir önbellek yükleyecektir. Bu, yeni önbellek paketleri ve daha yeni güncellemeler almak için yapılmalıdır.

2. Denemek sudo apt-get install -f.

Muhtemelen paketleri kaldırma ve yükleme konusunda bazı önerilerde bulunacak, makul görünen şeyleri yapacaktır.

3. Değiştir Download Server -den Software Sources Çünkü bazen bir sunucudaki dosyalar bozulur.

enter image description here
enter image description here

4. Bu, daha önce bozuk bağımlılık için harici bir ppa eklediyseniz de olur.Bu ppa'yı şu şekilde kaldırmayı deneyin:

  • ya yazarak sudo add-apt-repository --remove ppa:someppa/ppa ve sonra ppa yüklü dosyaları / kitaplıkları el ile kaldırma

veya

  • bir ppa'yı temizleme (bu, yüklü dosyaları da kaldırır)

    sudo apt-get install ppa-purge   #a one time install sudo ppa-purge ppa:someppa/ppa  

5. Hayır 4 sizin durumunuz değilse, en azından bozuk bir bağımlılık olarak gösterilen paketi kaldırmayı deneyin.Sonra tekrar yüklemeyi deneyin.Bu pek çok kişi için workeed bildirilmiştir.

6. Her zaman bir depo / ppa'nın kararlı sürümünü ekleyin.

7 Ayrıca, tüm resmi depoların etkin olduğundan emin olun Software Sources)

enter image description here

Lütfen etkinleştirmeyin Proposed Updates test / geliştiriciler için tasarlandıkları gibi.

enter image description here


Doug'ın söylediği gibi:

Genellikle bu sorunu çözmenin en iyi 1. adımı, sorunun kaynağını belirlemektir. <pkg1> &amfi; <pkg2>.

>>Ayrıca, çoğu durumda olmasa da, çoğu durumda "< ne yüklenecekse" gerçekten "< ne yüklüyse" anlamına gelir ve başka hiçbir şey işe yaramazsa (5. noktadaki gibi) kaldırılmaya çalışılmalıdır.


Düzeltmem gereken başka şeyler eklemeye devam edeceğim. unmet dependencies.

Çoğu durumda, paketi yükleme aptitude karşılanmamış sorunu çözecek dependencies.By varsayılan aptitude paket bilgisayarınıza yüklenmedi pc.So önce çalıştırarak yükleyin,

sudo apt-get updatesudo apt-get install aptitude

sonra,

sudo aptitude install packagename

örneğin,

    avinash @avinash-Lenovo-IdeaPad-Z500: ~ $ sudo apt-get ubuntu-sdkReading paket listelerini yükleyin... Bağımlılık ağacı Okuma durumu bilgilerini oluşturma... Bazı paketler yüklenemedi. Bu, imkansız bir durumla karşılaştığınız veya unstabledistribution kullanıyorsanız, gerekli bazı paketlerin henüz oluşturulmadığı veya Gelen paketlerin dışına taşındığı anlamına gelebilir.Aşağıdaki bilgiler durumun çözülmesine yardımcı olabilir: Aşağıdaki paketlerin karşılanmamış bağımlılıkları vardır: ubuntu-sdk: Depends: qtcreator-plugin-ubuntu ancak yüklenmeyecek: Sorunlar düzeltilemiyor, bozuk paketler tuttunuz.

Paketi yükleme aptitude

avinash@avinash-Lenovo-IdeaPad-Z500:~$ sudo yetenek install ubuntu-sdkThe aşağıdaki YENİ paketler olacak yüklü: apparmor-easyprof{a} apparmor-easyprof-ubuntu{a} at{a} build-essential{a} 'ı tıklatın{a}' ı tıklatın-apparmor{a} 'ı tıklatın-dev{a}' ı tıklatın-doktor{a} cordova-ubuntu-2.8 cordova-ubuntu-2.8-örnek{a} debhelper{a} devscripts{a} dh-apparmor{a} dh--{bir} veri bilgi-dpkg-{g{g++{geoclue-çingene{a} libalgorithm-diff-perl libalgorithm-diff h{a} perl libalgorithm birleştirme{a} a}---- - perl libboost a}---4.8 filesystem1 bir}++a} dev{a} dput. {a} dağıtımı yapmak 53.Options1{libboost a} 0 programı.53.Libboost 0{a}-regex1.53.{Perl lite libexporter perl bilgi libdistro bir qt5 libdee-1.10-0{a}--3 {}--{a}--{Bir} libglib2 libbotan a} 0.0-dev{a} libgstreamer-plugins-base1.Libgstreamer1 0-dev{a}.0-dev{a} libgypsy0{a} libhud2{a} libio-iplik-perl{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-çizgi{a} liblockdev1{a} libmail-sendmail-perl{a} libparse-debcontrol-perl{a} libpcre3-dev{a} libpcrecpp0{a} libpoppler-qt5-1{Bir} libqdjango-db0{a} libqgsttools-p1{a} libqt5clucene5{a} libqt5contacts5{a} libqt5declarative5{a} libqt5designer5{a} libqt5designercomponents5{a} libqt5feedback5{a} libqt5help5{a} libqt5location5-plugins{a} libqt5multimedia5{a} libqt5multimedia5-plugins libqt5multimediaquick-p5{a} libqt5multimediawidgets5{a} libqt5organizer5{a} libqt5qml-graphicaleffects{a} libqt5script5 libqt5scripttools5{a} libqt5svg5{a} libqt5svg5-dev libqt5systeminfo5{a} libqt5v8-5-dev libqt5versit5{a} libqt5versitorganizer5{a} libqt5webkit5-dev libqt5webkit5-qmlwebkitplugin{a} libqt5xmlpatterns5{a} libqt5xmlpatterns5-dev libstdc++-4.8-dev{a} Cengiz saatçilik-hostname-long-perl{a} libthumbnailer0{a} libu1db-qt5-3{a} libunity-eylem-qt1{a} libupstart-uygulama-launch1{a} libusermetricsinput1{a} libxml2-dev{a} libxslt1-dev{a} po-[y / n] {a} python3-apparmor-Tıklayın{a} python3-Tıklayın{a} python3-magic{a} qmlscene qt3d5-dev qtbase5-{qtcreator-doktor{a} qtcreator-ubuntu{a} qtcreator-plugin-ubuntu-{qtdeclarative5 bir}-ortak hesap-qtdeclarative5 plugin-cordova-2.8-qtdeclarative5 eklentisi{a}-dev-tools qtdeclarative5-doktor-qtdeclarative5 html{a}-folderlistmodel-eklenti qtdeclarative5-friends0 bir eklenti}-doktor{a} qtcreator.Poppler1 qtdeclarative5 eklentisi 2 qtdeclarative5-localstorage-eklenti qtdeclarative5-parçacıklar.Qtfeedback-eklenti qtdeclarative5--0 qtdeclarative5-qtaudioengine{qtdeclarative5 qtlocation-eklenti qtdeclarative5 qtmultimedia eklentisi{a} qtdeclarative5 qtorganizer qtdeclarative5 qtquick2{qtdeclarative5 bir}-eklenti qtsensors a}-----eklenti---eklenti qtdeclarative5-u1db1 eklentisi.0 qtdeclarative5-ubuntu-uı-ekstralar-tarayıcı eklentisi{a} qtdeclarative5-ubuntu-uı-ekstralar-tarayıcı eklentisi-varlıklar{a} qtdeclarative5-ubuntu-uı-toolkit-plugin{a} qtdeclarative5-birlik-eylem-plugin{a} qtdeclarative5-usermetrics0.1 qtdeclarative5-doktor{qtdeclarative5 xmllistmodel qtgraphicaleffects5 doktor{a} qtlocation5 dev{a} qtmultimedia5 dev qtmultimedia5-doktor{a} qtmultimedia5 html{a} qtscript5 dev qtscript5-doktor{a} qtscript5 doc html{a} qtsensors5 dev{a} qtsvg5 doktor{a} qtsvg5 doc html{a} qttools5 dev qttools5 dev araçlar qttools5 a}--eklenti----------------eklenti doktor{a} pencere-qtwebkit5-doktor-html{a} schroot{a} schroot-common{a} sqlite3{a} ubuntu-HTML 5-konteyner ubuntu-HTML 5-sdk{ab} ubuntu-HTML 5-tema{a} ubuntu-HTML 5-tema-örnekler ubuntu-ubuntu sdk-sdk-libs ubuntu-sdk-libs-dev{a} ubuntu-uı-araç-doktor{a} ubuntu-uı-seti-örnekleri{a} ubuntu-uı-seti-tema{a} {a} araçlar usermetricsservice{a} wdiff{a} zlib1g-dev{a} aşağıdaki paketler yükseltilecek:-4.8 gcc-4.8-base hud libasan0 libatomic1 libgcc-4.8-cpp-4.8 gcc libgcc1 libglib2 dev fırlatma app{a} fırlatma sonradan görme uygulaması Birliği-eylem-doktor{a} sonradan görme - - - - -.0-0 libglib2.0-bin libgomp1 libitm1 libquadmath0 libstdc++6 libtsan0 15 paket yükseltildi, 151 yeni, 0 kaldırmak ve 293 yükseltilmiş yüklü değil.108 MB / 126 MB arşiv almanız gerekiyor. Ambalajı açtıktan sonra 273 MB kullanılacaktır.Aşağıdaki paketlerin karşılanmamış bağımlılıkları vardır: ubuntu-html5-sdk: Depends: qtdeclarative5-ubuntu-webapps-sanal bir paket olan apı.                    Bağlıdır: ubuntu-html5-uı-toolkit ancak yüklenmeyecek.Aşağıdaki eylemler 1 güncel versiyonu:) at libhud eklenti ortak qtcreator önerir ubuntu eklentisi birleştirilebilir (= 13.10.1 13.10.20131014+-0ubuntu1)5) hud qtcreator önerir 4 HTML 5-[Yüklü]) sdk 3 [Yüklü]) ubuntu-sdk aşağıdaki bağımlılıkları çözülmemiş Bırak ubuntu 2 [Yüklü]) ubuntu-eklenti--------qtcreator bu çözüm ubuntuAccept aşağıdaki paketler bu bağımlılıkları Devam gidermek: olacak? [Y/n/q/?: easyprof apparmor-easyprof{a} apparmor-yapı-ubuntu{a}-{a} temel{tıklatın cordova apparmor{a} ubuntu 2.8{a} debhelper dh apparmor{a} a}----dh-Tıklayın{a} dpkg-dev{a} g{a}++g++{geoclue-çingene{a} libalgorithm-diff a}---4.8 perl{bir}] yThe aşağıdaki YENİ paketler kurulacak H libalgorithm-diff-perl libalgorithm birleştirme{a} libdee qt5 a}----3 perl{a} libglib2.0-dev{a} libgstreamer-plugins-base1.Libgstreamer1 0-dev{a}.0-dev{a} libgypsy0{a} libhud2{a} libjs-jquery{a} libmail-sendmail-perl{a} libpcre3-dev{a} libpcrecpp0{a} libpoppler-qt5-1{Bir} libqdjango-db0{a} libqgsttools-p1{a} libqt5clucene5{a} libqt5contacts5{a} libqt5designer5{a} libqt5designercomponents5{a} libqt5feedback5{a} libqt5help5{a} libqt5location5-plugins{a} libqt5multimedia5{a} libqt5multimedia5-plugins libqt5multimediaquick-p5{a} libqt5multimediawidgets5{a} libqt5organizer5{a} libqt5qml-graphicaleffects{a} libqt5script5 libqt5scripttools5{a} libqt5svg5{a} libqt5svg5-dev libqt5systeminfo5{a} libqt5v8-5-dev libqt5versit5{a} libqt5versitorganizer5{a} libqt5webkit5-dev libqt5webkit5-qmlwebkitplugin{a} libqt5xmlpatterns5{a} libqt5xmlpatterns5-dev libstdc++-4.8-dev{a} Cengiz saatçilik-hostname-long-perl{a} libthumbnailer0{a} libu1db-qt5-3{a} app qt1{a} libupstart libunity-eylem---launch1{libxml2 dev{a} libxslt1 dev{a} po [y / n] {a} python3 tıklatın{a} python3 tıklatın{a} qt3d5 qmlscene hesapları qtdeclarative5 eklentisi cordova 2.8 eklentisi{a} qtdeclarative5 dev araçlar qtdeclarative5 folderlistmodel qtdeclarative5 friends0 a}----apparmor---qtdeclarative5 dev---------plugin-{a} libusermetricsinput1.Poppler1 qtdeclarative5 eklentisi 2 qtdeclarative5-localstorage-eklenti qtdeclarative5-parçacıklar.Qtfeedback-eklenti qtdeclarative5--0 qtdeclarative5-qtaudioengine{qtdeclarative5 qtlocation-eklenti qtdeclarative5 qtmultimedia eklentisi{a} qtdeclarative5 qtorganizer qtdeclarative5 qtquick2{qtdeclarative5 bir}-eklenti qtsensors a}-----eklenti---eklenti qtdeclarative5-u1db1 eklentisi.0 qtdeclarative5-ubuntu-uı-ekstralar-tarayıcı eklentisi{a} qtdeclarative5-ubuntu-uı-ekstralar-tarayıcı eklentisi-varlıklar{a} qtdeclarative5-ubuntu-uı-toolkit-plugin{a} qtdeclarative5-birlik-eylem-plugin{a} qtdeclarative5-usermetrics0.1 qtdeclarative5-pencere-plugin{a} qtdeclarative5-xmllistmodel-eklenti qtlocation5-dev{a} qtmultimedia5-dev qtscript5-dev qtsensors5-dev{a} qttools5-dev qttools5-dev-tools sqlite3{a} ubuntu-HTML 5-konteyner ubuntu-HTML 5-tema{a} ubuntu-HTML 5-tema-örnekler ubuntu-sdk-libs ubuntu-uı-seti-tema{a} sonradan görme-app-Başlat{a} sonradan görme-uygulama-başlatma-araçlar{a} {zlib1g dev{a} a}-usermetricsservice{a} wdiff aşağıdaki paketler:-4.8-base hud libasan0 libatomic1 libgcc-4.8-cpp-4.8 gcc-4.8 gcc dev libgcc1 libglib2 yükseltilecek.0-0 libglib2.0-bin libgomp1 libitm1 libquadmath0 libstdc++6 libtsan0 15 paket yükseltildi, 108 yeni, 0 kaldırmak ve 293 yükseltilmiş yüklü değil.27.1 MB / 45.8 MB arşiv almanız gerekiyor. Açıldıktan sonra 104 MB olacaktır used.Do devam etmek ister misin? [Y/n/?] 

Cevabım yukarıdaki rick'inkine benziyor.

Kullanım apt-get clean, apt-get autoclean, apt-get autoremove, apt-get upgrade, apt-get update, apt-get -u dist-upgrade vb. hepsi benim için işe yaramadı.

Sonunda bağımlılık ağacına inerek bu sorunu çözdüm apt-get install aşağıda örnek olarak gösterdi. Benim durumumda, yüklemek istedim libmagickwand-dev:

apt-get install libmagickwand-dev

Bu hata var :

The following packages have unmet dependencies: libmagickwand-dev : Depends: libmagickcore4-extra (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed                     Depends: libmagickcore-dev (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed

Yani, kaçtım apt-get install başarısız bağımlılıklardan biri için:

apt-get install libmagickcore-devThe following packages have unmet dependencies: libmagickcore-dev : Depends: libmagickcore4-extra (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed                     Depends: libgraphviz-dev but it is not going to be installed

Ağaca daha da indim.:

apt-get install libgraphviz-dev

başka bir hata ile:

The following packages have unmet dependencies: libgraphviz-dev : Depends: libgvc5 (= 2.26.3-10ubuntu1) but it is not going to be installed

Bir kez daha ağacın derinliklerine:

apt-get install libgvc5

Bazı garip nedenlerden dolayı, bu başarılı oldu ve istediğim orijinal paketi yükleyebildim apt-get install libmagickwand-dev:

Reading package lists... DoneBuilding dependency tree       Reading state information... DoneThe following extra packages will be installed:  libcdt4 libgd2-xpm libgraph4 libpathplan4Suggested packages:  libgd-toolsThe following NEW packages will be installed:  libcdt4 libgd2-xpm libgraph4 libgvc5 libpathplan40 upgraded, 5 newly installed, 0 to remove and 2 not upgraded.Need to get 808 kB of archives.After this operation, 2,320 kB of additional disk space will be used.Do you want to continue [Y/n]?

Mükemmel cevaplar! Ama bugün benim davam seninkinden farklı görünüyor. İşte tavsiyem.

Sorun:

Ubuntu 10.10'da apache2'yi yükleyemedim.

rick@wen-VirtualBox:~$ sudo apt-get install apache2Reading package lists... DoneBuilding dependency tree      Reading state information... DoneSome packages could not be installed. This may mean that you haverequested an impossible situation or if you are using the unstabledistribution that some required packages have not yet been createdor been moved out of Incoming.The following information may help to resolve the situation:The following packages have unmet dependencies: apache2 : Depends: apache2-mpm-worker (= 2.2.16-1ubuntu3) but it is not going to be installed or                    apache2-mpm-prefork (= 2.2.16-1ubuntu3) but it is not going to be installed or                    apache2-mpm-event (= 2.2.16-1ubuntu3) but it is not going to be installed or                    apache2-mpm-itk (= 2.2.16-1ubuntu3) but it is not going to be installed           Depends: apache2.2-common (= 2.2.16-1ubuntu3) but it is not going to be installedE: Broken packages

Çözüm:

Benim yolum, bağlı paketi yükleme listesine eklemektir.

'Sudo apt-get install apache2' başarısız olursa, deneyin'sudo apt-get yükleme apache2 apache2.2-ortak'.

Gördün mü? apache2.2-ortak, önceki adımın hata günlüğünden gelir.

Sonunda bunun gibi bir bağımlılık zinciri olduğunu keşfettim:

 apache2.2-common <-- apache2.2-bin <-- libaprutil1-ldap <-- libaprutil1

İlk 3 paket için apt-get günlüğü bana 'yüklenmeyeceğini' söyledi.,

ancak son paket için 'libaprutil1-ldap: Depends: libaprutil1 (= 1.3.9+ dfsg-3build1) ancak 1.3.9+dfsg-3ubuntu0.10.10.1 yüklenecek' gösteriyor

Lib'imde farklı bir sürüm var, bu yüzden:

sudo apt-get remove libaprutil1sudo apt-get install apache2

Şu anda sorun yok.

karşılanmayan bağımlılıklar Hatası nedir

Ubuntu'da paketler, yazılımın oluşturulmasının, dağıtılmasının ve yüklenmesinin birincil yoludur. Çok basit bir şekilde, paketler yazılımı sıfırdan indirmeye, oluşturmaya ve yüklemeye bir alternatiftir. Standart "kaynaktan oluştur" modeline göre yazılım parçaları arasındaki etkileşimleri yükleme, kaldırma, izleme ve işleme açısından birçok avantaj sunarlar. Ubuntu merkezi paketleme sistemini kullanır, Yani Her paket diğer bazı paketlere bağlıdır.Bir paketi yüklediğimizde bağımlılıkları yüklenecek, paketin bağımlılıkları yüklenemediğinde karşılanmamış bağımlılıklar hatası oluşuyor

Olası nedenler

1.Computer is not connected to the Internet2.The repository containing the depandancy package is not enabled3.Package catalog is not updated4.The version of the depandancy in the current repository is old5.Software index is broken6.The depandancy is not available for ubuntu

Bunu çözmeye çalışalım

  1. İnternete bağlanın: D
  2. Tüm varsayılan depoların etkin olduğundan emin olun

    >-Kolayca ekleyebilirsiniz Software Center>>>>-Düzenle-Yazılım Kaynakları-Diğer Kaynaklar-Ekle"

    >- Başlat Software Center.

    >-. Panelde şu adrese gidin: Edit ve seçin Software Sources.

    edit-software-sources

    >- Tüm depoların kontrol edildiğinden emin olunenter image description here

  3. Yazılım kataloğunu güncelleştirme

    sağ üst simgeye tıklayın ve menüden güncelle-kullanılabilir Girişi seçin
    enter image description here

ve kontrol düğmesine basın

4.tip ctrl+alt+t terminali açmak ve yazmak için sudo apt-get install -f

5.Son eklenen ppa'yı ppa-purge kullanarak temizleme ppa-tasfiye

Bu program bir ppa'yı Yazılım Kaynaklarınızdan devre dışı bırakır ve sisteminizi resmi Ubuntu paketlerine geri döndürür. Bunu, ppa'dan yeni bir sürümü test ettikten sonra sisteminizi normale döndürmek için kullanabilirsiniz.

Sözdizimi

sudo ppa-purge ppa:<repository-name>/<subdirectory>

Örnek

sudo ppa-purge ppa:ubuntu-mozilla-daily/ppa
  1. yazılım merkezi'ni açın ve herhangi bir yazılımı yüklemeyi deneyin, Aşağıdaki iletişim kutusu göründüyse, onar düğmesine basın ve bekleyin

enter image description here

Başkatip ctrl+alt+t terminali açmak ve yazmak için sudo apt-get install -f ve ekrandaki talimatları izleyin

Hala bir hata oluşursa, bunu sormaktan çekinmeyin askbuntu

...'build-dep' hakkında unutma

Yukarıdaki cevaplara ek olarak - itiraf etmeliyim ki, apt-get çakışmaları veya çözülmemiş paketlerle karşılaştığım herhangi bir zamanda her zaman "gümüş mermi" olarak kullandığım bu yaklaşımdan hiç kimsenin bahsetmediğine şaşırdım (veya sistem inatçı olsa bile....ha!).

DÜZENLENDİ: kullanma sudo dpkg -r [package] oldukça güçlü bir kaldırma işlevine sahip olduğu için teşvik edilir. Dan beri apt-get ile birlikte çalışır dpkg yani apt-get itaat edecek dpkg işlev.

  sudo dpkg -r [package]  sudo apt-get build-dep [package]    ## pre-install all deps for the package

Sisteme yüklemeye çalıştığınız başarısız paketi temizlemek için apt-get çağırırsınız ve ardından apt-get'in bu pakete ait bağımlılıkları tek tek yakalayıp yükleyeceği build-dep komutunu çağırırsınız, böylece paketi daha önce tatmin ederler. Son olarak, apt-get yüklemesini çağırın:

sudo apt-get install [package]

....'Ugh! Amca bağır "kadar hadi torpil!"'

Bu, uzun yıllar linux kullanımım sırasında nadiren oldu, ancak kendimi bu yaklaşımı seldomly kullanarak buldum ve başarılı oldum. Bu, bir ay önce paketlerle yaptığım son mücadeleye bir örnektir mysql-client/mysql-server. Kök şifremi mysql sunucusuyla sıfırlamak için bir düzine başarısız denemeden sonra (--skip-grant-tables techqiue aracılığıyla bile olsa başarısız oldu), sonunda Linux'un kolunu "Amca!"':

sudo dpkg -r mysql-server mysql-clientsudo apt-get autoclean  ## this dumps any copy of existing package to prevent apt-get from "re-using" it.sudo apt-get build-dep mysql-client    ## one package at a time, starting with client firstsudo apt-get install mysql-clientsudo apt-get build-dep mysql-serversudo apt-get install mysql-server

apt-get autoclean bu çözümün anahtarı nedir

Actually “the exact package name”, while not relevant in your question, is extremely relevant to any individual’s issue in this regard. Usually the best 1st step to resolving this is to identify the source of pkg1 & pkg2. This seems to have been overlooked in the answers, most of which are quite good otherwise. Additionally not noted is that in many, if not most cases, " yüklenecek mi " gerçekten demek "

Tam paket adını unuttum. Bu sorunun konuyla ilgisi yok. [Kanonik bir soru] oluşturmaya çalışıyorum (Where to post a "canonical answer" when it's not in response to a specific question? - Meta Stack Exchange ). Bu nedenle, tam paket bu özel örnekle alakalı değildir.

@doug Bunu bir yorum olarak değil, bir cevap olarak ekleyin, oldukça iyi! :slight_smile:

Sorun giderme sorum nerede peki? :smiley:

@Braiam Whaaaat’ın bir anlamı var, ancak soru bir ppa’ya özgü değil ve epeyce cevap da değil. İlk iki cevabın diğerlerini biraz ezdiğini biliyorum, ancak sorunun doğasını değiştirmenin doğru çözüm olduğundan emin değilim, özellikle de diğer cevapları geçersiz kıldığınızdan beri. Daha iyi bir cevabım olmadığı için şimdilik bırakıyorum ama düşünmem gereken bir şey var.

Aslında eğer her cevap daha fazla veya daha az aynı şey vardır. Bir topluluk wiki’sinde birleştirilebilirler mi?

Benim durumumda, bu tür bir sorun, Yazılım ve Güncellemeler altındaki tüm kaynaklar için Güncellemelerin devre dışı bırakılmasından kaynaklanıyordu.

Bakın What information do I need to solve an APT dependency issue? - Unix & Linux Stack Exchange

@whaa meta’da görebileceğiniz gibi discussion değişiklik kasıtlıydı ve kimse bununla ilgili sorun çıkarmadı. Ne düşündüğünüze rağmen, meta tartışmasında belirttiğim gibi, bu sorunun daha fazla kötüye kullanılmasını önlemek için değişiklik gereklidir.