Di tanto in tanto, quando sto installando qualcosa, ottengo un errore come il seguente:
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.
Come posso risolvere questo problema?
Nota: Tutti i comandi richiesti devono essere eseguiti nel terminale, che può essere aperto sia da Ctrl+Alt+To cercando terminale nel dash. È davvero rotto? Prova ad eseguire il seguente comando e prova a reinstallare il software che stavi cercando di installare
sudo apt-get update
Passi Pre-Perfomance
/etc/apt/sources.list
/var/lib/dpkg/status
.
Per farlo, usare questi comandisudo cp /etc/apt/sources.list /etc/apt/sources.list.original
e
sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.original
Cancellare la cache di apt
apt
mantiene una cache dei pacchetti scaricati di recente per risparmiare banda quando deve essere installato. Questo può essere controproducente in alcuni casi
Ora, per pulirla, avete due opzioni
sudo apt-get clean
Questo rimuoverà tutti i pacchetti in cache appartenenti alla cartella /var/cache/apt/archives/
e /var/cache/apt/archives/partial
tranne i file .lock. Questo è raccomandato
sudo apt-get autoclean
/var/cache/apt/archives/
e /var/cache/apt/archives/partial
e controlla se il pacchetto è ancora nei repository e rimuove quelli che non lo sonosudo apt-get -f install
gksu software-properties-gtk
e si otterrà questa finestra
Assicurati che tutte le fonti siano abilitate.
Successivamente, vai alla scheda Altro software e controlla se i PPA richiesti per il software da installare sono lì e sono abilitati. Inoltre, prova a disabilitare alcuni PPA che potrebbero avere pacchetti non funzionanti
ora, eseguite sudo apt-get update
.
Provate ora a installare il software
Selezionare un server migliore da cui scaricare
Digitare gksu software-properties-gtk
e si otterrà questa finestra
Clicca su Download dalla casella Dropdown e seleziona altro
Clicca su Seleziona il miglior server
Esegui sudo apt-get update
.
Prova a installare il software
inoltre, prova ad usare sudo apt-get install -f
PPA Purge Questo è uno strumento utilizzato per eliminare i ppa rotti/non desiderati e le loro applicazioni insieme ad essi Per installarlo, eseguire
sudo apt-get install ppa-purge
Ma, considerando che la domanda apt
è rotta, il comando precedente fallirà. Quindi usa questo comando
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
Ora usa ppa purge
sudo ppa-purge ppa:someppa/ppa
Y-PPA Manager Y-PPA Manager è un'applicazione gui che ti aiuta a gestire i PPA's e i vari problemi ad essi associati Per installarlo
sudo add-apt-repository ppa:webupd8team/y-ppa-manager
e
sudo apt-get update
e
sudo apt-get install y-ppa-manager
Considerando la domanda, apt
è rotto quindi, usa invece questi comandi
sudo su
e 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
.
Ti verrà presentata questa finestra
Cliccate due volte su advanced, e otterrete questa finestra
Esegui i seguenti compiti delineati in nero
Prevenire è meglio che curare È meglio prevenire che cercare questa domanda su AskUbuntu :D Quindi, ecco le linee guida per tenervi al sicuro Mantenete il vostro sistema aggiornato eseguite sempre regolarmente il seguente comando
sudo apt-get update&&sudo apt-get upgrade
oppure, puoi sempre usare Update Manager con questo comando
gksu update-manager
Usare solo PPA fidati Utilizzare solo PPA's destinati ad essere utilizzati su Ubuntu inoltre, utilizzare solo PPA's con fonti fidate. Infatti, il pacchetto potrebbe già essere nei repository di Ubuntu Fare il backup quando le cose vanno bene e ripristinarlo in seguito; Per questo hai bisogno di Y-PPA-Manager. I passi per installarlo sono dati sopra. Esegui questo comando per aprire Y-PPA-Manager
y-ppa-manager
Non funziona ancora? Gli errori di dipendenza dei pacchetti non sono sempre generici e dipendono dal pacchetto da installare. Se seguendo tutti i passi indicati per risolvere l'errore non funziona per voi, potete sempre chiedere su Ask Ubuntu Qui ci sono alcuni comandi di cui è necessario postare l'output
sudo apt-get install packagename
e
cat /etc/apt/sources.list
e
cat /etc/apt/sources.list.d/*
(Grazie a Basharat Sial) Ci sono anche altri file/comandi di cui avete bisogno dell'output che potrebbero essere specifici dell'errore, e gli utenti probabilmente vi chiederanno nei commenti di postare il file/comando.
Questi metodi devono essere seguiti ogni volta che si ottiene un errore riguardante le dipendenze non soddisfatte
Dopo aver seguito le istruzioni prova ad installare il software. Almeno uno di questi metodi dovrebbe funzionare per te
1. Prima di provare qualsiasi nuovo comando o aggiungere qualsiasi nuovo ppa prova questo
Pulizia della cache di apt:
sudo apt-get clean
Pulizia di eventuali dipendenze inutilizzate:
sudo apt-get autoremove
Aggiornamento di apt-cache
sudo apt-get update
Questo rimuoverà tutta la cache e scaricherà una cache fresca. Questo dovrebbe essere fatto per ottenere pacchetti freschi di cache e aggiornamenti più recenti.
2. Provate sudo apt-get install -f
.
Probabilmente darà alcuni suggerimenti sulla rimozione e l'installazione di pacchetti, fate ciò che sembra ragionevole.
3. Cambiare il Server di download
da Software Sources
Perché a volte i file su un server sono corrotti.
4. Questo succede anche se prima hai aggiunto un ppa esterno per la dipendenza rotta, prova a rimuovere quel ppa con
sudo add-apt-repository --remove ppa:someppa/ppa
e poi rimuovendo manualmente i file/librerie installati nel ppaoppure
eliminando un ppa (questo rimuove anche i file installati)
sudo apt-get install ppa-purge #un'installazione una tantum
sudo ppa-purge ppa:someppa/ppa
5. Se il numero 4 non è il vostro caso, provate almeno a rimuovere il pacchetto che viene mostrato come una dipendenza interrotta, poi riprovate ad installare.
6. Aggiungere sempre la versione stabile di un repository/PPA.
7 Assicurati anche di avere tutti i repository ufficiali abilitati (in Software Sources
)
Si prega di non abilitare gli Aggiornamenti proposti
in quanto sono pensati per i test/sviluppatori.
Come detto da Doug
Di solito il miglior primo passo per risolvere questo è identificare la fonte di <pkg1>
& <pkg2>
.
Inoltre non è stato notato che in molti, se non la maggior parte dei casi, "
Continuerò ad aggiungere altre cose che troverò per risolvere le dipendenze non soddisfatte
.
Su Ubuntu i pacchetti sono il modo principale in cui il software è costruito, distribuito e installato. Molto semplicemente, i pacchetti sono un'alternativa allo scaricare, costruire e installare software da zero. Offrono una serie di vantaggi in termini di installazione, rimozione, monitoraggio e gestione delle interazioni tra pezzi di software rispetto al modello standard "build from source". Ubuntu utilizza un sistema di packaging centralizzato, cioè ogni pacchetto dipende da alcuni altri pacchetti. Quando si installa un pacchetto, le sue dipendenze saranno installate, l'errore di dipendenze non soddisfatte si verifica quando le dipendenze del pacchetto non è disponibile per l'installazione.
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
Connettiti a internet :D
Assicuratevi che tutti i repository di default siano abilitati
-Puoi aggiungerli facilmente nel Software Center
->Modifica->Sorgenti software->Altre sorgenti->Aggiungi"
-> Avvia il Software Center
.
->. Nel pannello vai su `Modifica` e seleziona `Fonti software`.
->Assicurati che tutti i repository siano selezionati
clicca sull'icona in alto a destra e scegli aggiorna-disponibile Entry nel menu
e premi il pulsante di controllo
4.digitate ctrl+alt+t per aprire il terminale e digitate
sudo apt-get install -f
5.Purgare i ppa aggiunti di recente usando ppa-purge ppa-purge
Questo programma disabilita un PPA dalle tue Sorgenti Software e riporta il tuo sistema ai pacchetti ufficiali di Ubuntu. Puoi usarlo per riportare il vostro sistema alla normalità dopo aver provato una nuova versione da un PPA.
Sintassi
sudo ppa-purge ppa:<repository-name>/<subdirectory>
Esempio
sudo ppa-purge ppa:ubuntu-mozilla-daily/ppa
Else
digitate ctrl+alt+t per aprire il terminale e digitate sudo apt-get install -f
e seguite le istruzioni sullo schermo
Se si verifica ancora un errore, sentitevi liberi di chiederlo in askbuntu