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.
sudo apt-get update
sudo cp /etc/apt/sources.list /etc/apt/sources.list.original
oraz
sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.original
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
/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ą'*.sudo apt-get -f install
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
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
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
sudo apt-get update&&sudo apt-get upgrade
lub, zawsze możesz użyć Update Manager z tym poleceniem
gksu update-manager
y-ppa-manager
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.
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
sudo add-apt-repository --remove ppa:someppa/ppa
a następnie ręcznie usuwając zainstalowane pliki/biblioteki z ppalub
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
<pkg1>
&<pkg2>
.
Dodatkowo nie zauważono, że w wielu, jeśli nie w większości przypadków, "
I'll keep adding more things ill find to fix unmet dependencies
.
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.
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
Połącz się z internetem :D
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
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:<repository-name>/<subdirectory>
Przykład
sudo ppa-purge ppa:ubuntu-mozilla-daily/ppa
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.