Jak rozwiązać problem niespełnionych zależności po dodaniu PPA?

Od czasu do czasu, kiedy instaluję rzeczy, dostaję błąd jak poniżej:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or 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 installed
E: Unable to correct problems, you have held broken packages.

Jak mogę to rozwiązać?

Ctrl+Alt+T lub wyszukując terminal w myślniku.

Czy to naprawdę jest zepsute?

Spróbuj uruchomić następujące polecenie i spróbuj ponownie zainstalować oprogramowanie, które próbowałeś zainstalować
sudo apt-get update

Kroki wstępne

Tworzenie kopii zapasowej

Wykonaj kopię zapasową następujących plików: - `/etc/apt/sources.list` - `/var/lib/dpkg/status`. Aby to zrobić, użyj następujących komend
sudo cp /etc/apt/sources.list /etc/apt/sources.list.original

oraz

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

Czyszczenie apt-cache

`apt` przechowuje pamięć podręczną ostatnio pobranych pakietów, aby zaoszczędzić przepustowość, gdy trzeba je zainstalować. W niektórych przypadkach może to przynieść efekt odwrotny do zamierzonego. Teraz, aby go wyczyścić, masz dwie opcje
sudo apt-get clean 

Spowoduje to usunięcie wszystkich zbuforowanych pakietów należących do folderu /var/cache/apt/archives/ i /var/cache/apt/archives/partial z wyjątkiem plików .lock. Jest to zalecane

sudo apt-get autoclean

Skanuje foldery /var/cache/apt/archives/ i /var/cache/apt/archives/partial i sprawdza czy pakiet nadal znajduje się w repozytoriach i usuwa te, które nie są'*.

Poprawianie zależności

Używanie trybu fix-broken

sudo apt-get -f install

To spowoduje, że apt przeskanuje brakujące zależności i naprawi je z repozytoriów Jeśli wyjście stwierdza, że nic nowego nie zostało zainstalowane lub uaktualnione, to znaczy, że się nie udało.

Sprawdzenie, czy wszystkie wymagane źródła są włączone

Wpisz `gksu software-properties-gtk` i otrzymasz to okno ![][1] Upewnij się, że wszystkie źródła są włączone. Następnie przejdź do zakładki Inne oprogramowanie i sprawdź, czy wymagane PPA dla oprogramowania, które ma być zainstalowane są tam i są włączone. Spróbuj również wyłączyć niektóre PPA, które mogą mieć uszkodzone pakiety ![][2] teraz, uruchom `sudo apt-get update`. Spróbuj teraz zainstalować oprogramowanie

Wybierając lepszy serwer do pobrania

Wpisz `gksu software-properties-gtk` i otrzymasz takie okno ![][3] Kliknij na Pobierz z rozwijanego pola i wybierz inne ![][4] Kliknij przycisk Wybierz najlepszy serwer ![][5] Uruchom `sudo apt-get update`. Spróbuj zainstalować oprogramowanie spróbuj też użyć `sudo apt-get install -f` ---

PPA Purge

To jest narzędzie używane do usuwania uszkodzonych/niechcianych ppa's i ich aplikacji wraz z nimi Aby go zainstalować, należy uruchomić
sudo apt-get install ppa-purge

Ale, Biorąc pod uwagę pytanie apt jest uszkodzony, więc powyższe polecenie nie powiedzie się. Więc użyj tej komendy

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

Teraz użyj ppa purge

sudo ppa-purge ppa:someppa/ppa  

Y-PPA Manager

Y-PPA Manager jest aplikacją, która pomaga zarządzać PPA's i różnymi problemami z nimi związanymi Aby ją zainstalować
sudo add-apt-repository ppa:webupd8team/y-ppa-manager

i

sudo apt-get update

i

sudo apt-get install y-ppa-manager

Biorąc pod uwagę pytanie, apt jest uszkodzony, więc użyj tych komend zamiast niego

sudo su

i 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

Teraz wpisz y-ppa-manager. Wyświetli ci się następujące okno Kliknij dwukrotnie na zaawansowane, a otrzymasz to okno Wykonaj następujące zadania zaznaczone na czarno

Lepiej zapobiegać niż leczyć

Lepiej jest zapobiegać niż szukać tego pytania na AskUbuntu :D A więc, oto wskazówki, które zapewnią Ci bezpieczeństwo

Utrzymuj swój system w stanie aktualnym

zawsze regularnie wykonuj następujące polecenie
sudo apt-get update&&sudo apt-get upgrade

lub, zawsze możesz użyć Update Manager z tym poleceniem

gksu update-manager

Używanie tylko zaufanych PPA's

Używaj tylko PPA's przeznaczonych do użytku na Ubuntu, używaj tylko PPA's z zaufanych źródeł. Infact, pakiet może być już w repozytoriach ubuntu

Tworzenie kopii zapasowych kiedy wszystko jest w porządku i przywracanie ich później

Do tego potrzebny jest Y-PPA-Manager. Kroki do jego instalacji są podane powyżej. Uruchom tę komendę, aby otworzyć Y-PPA-Manager
y-ppa-manager

Pojawi się następujące okno Kliknij dwukrotnie na zaawansowane, a otrzymasz to okno Uruchom to: Zostaniesz poproszony o zapisanie pliku tar.gz z oknem dialogowym podobnym do tego poniżej. Zapisz go na innej partycji lub w bezpiecznym miejscu Później, gdy będziesz potrzebował przywrócić go ponownie, wykonaj podobne kroki i gdy dojdziesz do okna dialogowego zaawansowane,Kliknij na to: Zostaniesz poproszony o przywrócenie z poprzedniej kopii zapasowej, którą zapisałeś wcześniej, z oknem dialogowym podobnym do tego poniżej

Nadal nie działa?

Błędy zależności pakietów nie zawsze są ogólne i zależą od pakietu, który ma być zainstalowany. Jeśli po wszystkie kroki podane w celu naprawienia błędu nie działa dla Ciebie, zawsze możesz zapytać na [Ask Ubuntu](http://askubuntu.com) Oto kilka poleceń, które musisz wysłać do wyjścia
sudo apt-get install packagename

i

cat /etc/apt/sources.list

oraz

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

(Podziękowania dla Basharat Sial) Istnieją również inne pliki/polecenia, które wymagają danych wyjściowych, które mogą być specyficzne dla błędu, a użytkownicy prawdopodobnie poproszą cię w komentarzach o przesłanie pliku/polecenia.

Komentarze (6)

Metody te należy stosować zawsze, gdy pojawi się błąd związany z niespełnionymi zależnościami.

Po wykonaniu instrukcji spróbuj zainstalować oprogramowanie. Przynajmniej jedna z tych metod powinna zadziałać dla Ciebie

1. Przed wypróbowaniem jakiejkolwiek nowej komendy lub dodaniem nowego ppa spróbuj tego

Czyszczenie pamięci podręcznej apt:

sudo apt-get clean

Oczyszczenie wszystkich nieużywanych zależności:

sudo apt-get autoremove

Uaktualnienie apt-cache

sudo apt-get update

Spowoduje to usunięcie całej pamięci podręcznej i pobranie świeżej pamięci podręcznej. Należy to zrobić, aby uzyskać świeże pakiety pamięci podręcznej i nowsze aktualizacje.

2. Spróbuj sudo apt-get install -f.

To prawdopodobnie da kilka sugestii dotyczących usuwania i instalowania pakietów, zrób to, co wydaje się rozsądne.

3. Zmień Serwer pobierania z Źródła oprogramowania Ponieważ czasami pliki na serwerze są uszkodzone.

4. Zdarza się to również, jeśli wcześniej dodałeś zewnętrzne ppa dla uszkodzonej zależności.Spróbuj usunąć to ppa przez

  • albo wpisując sudo add-apt-repository --remove ppa:someppa/ppa a następnie ręcznie usuwając zainstalowane pliki/biblioteki z ppa

lub

  • wyczyszczenie ppa (usuwa to również zainstalowane pliki)

     sudo apt-get install ppa-purge #jednorazowa instalacja
     sudo ppa-purge ppa:someppa/ppa

5. Jeśli nr 4 nie jest twoim przypadkiem to przynajmniej spróbuj usunąć pakiet, który jest pokazywany jako uszkodzona zależność.Następnie spróbuj ponownie zainstalować.To jest zgłaszane do workeed dla całkiem sporo ludzi.

6. Zawsze dodawaj stabilną wersję repozytorium/PPA.

7 Upewnij się też, że masz włączone wszystkie oficjalne repozytoria (w Źródłach oprogramowania)

Proszę nie włączać Proposed Updates, ponieważ są one przeznaczone dla testerów/deweloperów.


Jak powiedział doug:

Zazwyczaj najlepszym 1. krokiem do rozwiązania tego problemu jest zidentyfikowanie źródła &.

Dodatkowo nie zauważono, że w wielu, jeśli nie w większości przypadków, " is to be installed" really means " is installed" and should be tried to be removed if nothing else works (as in point 5).


I'll keep adding more things ill find to fix unmet dependencies.

Komentarze (1)

what is unmet dependencies Błąd

W Ubuntu pakiety są głównym sposobem, w jaki oprogramowanie jest budowane, wdrażane i instalowane. Bardzo prosto, pakiety są alternatywą dla pobierania, budowania i instalowania oprogramowania od podstaw. Oferują one wiele korzyści w zakresie instalacji, usuwania, monitorowania i obsługi interakcji między kawałkami oprogramowania w porównaniu do standardowego modelu "build from source". Ubuntu używa scentralizowanego systemu pakowania, czyli każdy pakiet jest zależny od innych pakietów. Kiedy instalujemy pakiet, jego zależności zostaną zainstalowane, błąd niespełnionych zależności występuje wtedy, gdy zależności pakietu nie są dostępne do instalacji.

Prawdopodobne przyczyny

1.Computer is not connected to the Internet
2.The repository containing the depandancy package is not enabled
3.Package catalog is not updated
4.The version of the depandancy in the current repository is old
5.Software index is broken
6.The depandancy is not available for ubuntu

Let's TRy to solve it

  1. Połącz się z internetem :D

  2. Upewnij się, że wszystkie domyślne repozytoria są włączone.

    ->Możesz je łatwo dodać w Centrum Oprogramowania->Edycja->Źródła oprogramowania->Inne źródła->Dodaj"

-> Uruchomić Centrum oprogramowania.

->. W panelu przejdź do `Edit` i wybierz `Software Sources`.

->Upewnij się, że wszystkie repozytoria są zaznaczone

  1. Uaktualnienie katalogu oprogramowania

kliknij na ikonę w prawym górnym rogu i wybierz z menu opcję update-available Entry

i wciskamy przycisk "check

4.Wpisz ctrl+alt+t aby otworzyć terminal i wpisz sudo apt-get install -f.

5.Oczyść ostatnio dodane ppa używając ppa-purge ppa-purge

Ten program wyłącza PPA z Twoich źródeł oprogramowania i przywraca Twój system z powrotem do oficjalnych pakietów Ubuntu. Możesz użyć tego, aby powrót systemu do normy po przetestowaniu nowej wersji z PPA.

Syntaktyka

sudo ppa-purge ppa:/

Przykład

sudo ppa-purge ppa:ubuntu-mozilla-daily/ppa
  1. Otwórz Centrum oprogramowania i spróbuj zainstalować dowolne oprogramowanie, jeśli pojawi się następujące okno dialogowe, naciśnij przycisk napraw i czekaj.

Else wpisz ctrl+alt+t aby otworzyć terminal i wpisz sudo apt-get install -f i postępuj zgodnie z instrukcjami na ekranie

Jeśli nadal występuje błąd, nie krępuj się zadać go w askbuntu.

Komentarze (2)