Si verifica un errore "Impossibile recuperare" quando viene eseguito l'aggiornamento apt-get. Come posso risolvere questo problema?


42

Contrariamente alla nota sopra, non ho trovato la risposta al mio problema.

Ho letto quasi una dozzina di domande di aggiornamento di apt-get, la maggior parte da askubuntu.com, con errori di "errore nel recupero" e ho provato a trovare una soluzione. Sfortunatamente, nessuno ha funzionato. Di recente ho installato Ubuntu 12.04 sul mio laptop, eseguendo il doppio avvio insieme a Windows 7. Quando ho provato

sudo apt-get update

sul terminale, si è verificato quanto segue:

Err http://ph.archive.ubuntu.com precise InRelease
Err http://ph.archive.ubuntu.com precise-updates InRelease                     
Err http://ph.archive.ubuntu.com precise-backports InRelease                   
Err http://ph.archive.ubuntu.com precise Release.gpg                           
  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]
Err http://ph.archive.ubuntu.com precise-updates Release.gpg            
  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]
Err http://ph.archive.ubuntu.com precise-backports Release.gpg          
  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]
Err http://extras.ubuntu.com precise InRelease                          
Err http://extras.ubuntu.com precise Release.gpg                        
  Unable to connect to extras.ubuntu.com:http:
Err http://security.ubuntu.com precise-security InRelease
Err http://security.ubuntu.com precise-security Release.gpg
  Unable to connect to security.ubuntu.com:http: [IP: 91.189.92.190 80]
Reading package lists... Done
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise/InRelease  
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-updates/InRelease  
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-backports/InRelease  
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/precise-security/InRelease  
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/InRelease  
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise/Release.gpg      Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-updates/Release.gpg  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-backports/Release.gpg  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/Release.gpg  Unable to connect to extras.ubuntu.com:http:
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/precise-security/Release.gpg  Unable to connect to security.ubuntu.com:http: [IP: 91.189.92.190 80]
W: Some index files failed to download. They have been ignored, or old ones used instead.

Nota :

Questo è successo subito dopo aver installato Ubuntu 12.04. Sono molto nuovo nel mondo Linux / Ubuntu e sono un novizio quando si tratta di questo tipo di cose.

L'elenco Sorgenti nelle impostazioni di Update Manager (e Software Center) era breve. Conteneva solo 2 righe con "Canonical", 2 righe con "Independent" e altre 2 righe. Penso che l'elenco fosse breve perché era un Ubuntu appena installato.

La connessione a Internet sembra a posto e il mio amico il cui laptop era stato appena installato con Ubuntu 12.04 contemporaneamente al mio, sembra non avere problemi con il suo aggiornamento. Condividiamo la stessa connessione, quindi penso che i problemi di connessione a Internet non possano essere stati la ragione dell'errore.

Soluzioni tentate :

Da qui , ho esplorato /etc/resolvconf/resolv.conf.de aggiunto /etc/resolvconf/resolv.conf.d/headquanto segue:

nameserver 8.8.8.8
nameserver 8.8.4.4

Si è ancora verificato un errore.

Da qui e qui , ho ripetutamente modificato il server Mirror da utilizzare nelle impostazioni di Gestione aggiornamenti e Sorgenti software. Ancora una volta, si è ancora verificato un errore.

Ho anche provato a modificare il mio elenco di fonti, deselezionando le righe con "indipendente" (come suggerito). Secondo qui , ho provato a rimuovere le derb-srclinee nella lista delle fonti. Tuttavia, inutilmente.

Infine, questo sito suggerisce di eseguire quanto segue:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
or, for a permanent solution,
echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null

Purtroppo, niente ha funzionato per me. In tutti i forum in cui sono stato, la risposta correlata nameserver 8.8.8.8sembra arrivare più spesso. Prendi nota anche del fatto che non ho davvero capito le soluzioni, cosa significano o come sono fatte. Li ho semplicemente seguiti.

Questo è l'output per cat /etc/apt/sources.list:

# deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/main/binary-i386/

# deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/restricted/binary-i386/
# deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ precise main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://archive.ubuntu.com/ubuntu precise main restricted
deb-src http://archive.ubuntu.com/ubuntu precise main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu precise-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu precise universe
deb-src http://archive.ubuntu.com/ubuntu precise universe
deb http://archive.ubuntu.com/ubuntu precise-updates universe
deb-src http://archive.ubuntu.com/ubuntu precise-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://archive.ubuntu.com/ubuntu precise multiverse
deb-src http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu precise-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-backports main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu precise-security main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-security main restricted
deb http://archive.ubuntu.com/ubuntu precise-security universe
deb-src http://archive.ubuntu.com/ubuntu precise-security universe
deb http://archive.ubuntu.com/ubuntu precise-security multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-security multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu precise partner
# deb-src http://archive.canonical.com/ubuntu precise partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main

E quanto segue è per cat /etc/resolv.conf:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search nip.upd.edu.ph

È stato sottolineato che la risposta è qui, ma sfortunatamente non ha funzionato neanche. Ho provato a scegliere server diversi ma il "scegli server" non è mai stato disponibile. La ricerca del server migliore ha prodotto un risultato "Nessun server adatto". Penso che i server mirror stiano bene e, di nuovo, non sembra esserci alcun problema con la connessione a Internet.

Usando ping -c3 archive.ubuntu.comed ping -c3 8.8.8.8 entrambi hanno ceduto 0% packet loss. Il ping per 8.8.8.8 a volte ha prodotto 33% packet lossma principalmente lo 0%.

Resa di nslookup google.combattitura

Server:     127.0.0.1
Address:    127.0.0.1#53

Uscita di ps aux | grep dns:

nobody    1761  0.0  0.0  33012  1284 ?        S    17:04   0:00 /usr/sbin/dnsmasq
 --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var
/run/sendsigs.omit.d/network-manager.dnsmasq.pid --listen-address=127.0.0.1 --conf-
file=/var/run/nm-dns-dnsmasq.conf --cache-size=0 --proxy-dnssec
joa       2197  0.0  0.0  13576   928 pts/0    S+   17:10   0:00 grep --color=auto dns

Ok, ricominciamo da zero. Innanzitutto, è possibile copiare l'output esatto del terminale durante la digitazione sudo apt-get update? Inoltre, puoi includere l'output di cat /etc/apt/sources.liste cat /etc/resolv.conf? E confermi di poter navigare normalmente su siti Web su Internet?
Alaa Ali,

@Alaa In risposta alla tua richiesta, ho modificato la domanda e pubblicato tutto quello che dovevi sapere. E sì, sono stato in grado di navigare normalmente su siti Web su Internet.
jowabels,

0% di perdita di pacchetti? Quindi è possibile eseguire il ping e navigare, ma non è possibile risolvere in apt-get updates ... hmm. Esiste una sorta di impostazione DNS che funziona solo con apt-get? Ad ogni modo, puoi pubblicare le prime due righe da nslookup google.come pubblicare l'output di ps aux | grep dns? Inoltre, stai utilizzando un IP statico?
Alaa Ali,

@Alaa Ho modificato la domanda e pubblicato gli output. L'output per ps aux | grep dnsdovrebbe essere una riga singola ma l'ho modificato per facilitarne la visualizzazione. Inizialmente, direi che uso un IP dinamico perché non ho pagato nulla per questo, ma utilizzo le connessioni Internet universitarie, quindi è difficile sapere se l'IP che uso è statico o dinamico.
jowabels

@Alaa Ho appena verificato che utilizzo un IP dinamico.
jowabels,

Risposte:


27

Stavo affrontando lo stesso problema e ho pensato che la soluzione più semplice fosse ripristinare le fonti di /etc/apt/sources.list. Per fare ciò, attenersi alla seguente procedura:

  1. Ottieni il rilascio della tua versione di Ubuntu, digita nella console:

    lsb_release -r
    
  2. Vai su http://repogen.simplylinux.ch/ per generare un nuovosources.list

  3. Seleziona il tuo paese e rilascia
  4. Seleziona le prime 12 caselle:

    Tutti i Ubuntu Brances + Sicurezza e aggiornamenti

  5. Genera e copia il tuo nuovo elenco
  6. Eseguire il backup del vecchio file su sources.list.old

    mv /etc/apt/sources.list /etc/apt/sources.list.old
    
  7. Ora puoi aprire vi per salvare il nuovo elenco facendo:

    vi /etc/apt/sources.list
    (Paste and save using `:wq`)
    

    Oppure copiando e incollando nel terminale il comando "arricciatura" (incluso un URI univoco per l'elenco di fonti aggiornato) come presentato in "Elenco di fonti" nella pagina di output di repogen.

  8. G2G, riprovare in esecuzione apt-get update


2
Ho deciso di rispondere a questo, anche se il problema degli autori è stato risolto in modo diverso. La sua domanda è il risultato principale di molti problemi legati a un file source.list corrotto (inciampato su di esso 3 volte) e sembrava lasciare la mia soluzione qui, dal momento che mi avrebbe risparmiato un sacco di tempo.
RienNeVaPlus,

Ho scaricato una macchina virtuale Ubuntu 12 e nessun repository dove valido (quelli italiani). L'ho fatto e ho lavorato come un incantesimo! Grazie!
Feida Kila,

Prima di incollare vim, dovrai modificare la modalità di inserimento premendo la lettera 'i' dopo averla aperta
sg

Questo è ciò che ha funzionato per me.
Rick,

Non ci sono 14.10 nell'elenco delle
versioni

25

Modifica /etc/resolv.conf. In una finestra Terminale eseguita

sudo gedit /etc/resolv.conf

e aggiungi la linea

nameserver 8.8.8.8

e salva. Quindi fa

ping www.google.com

Se ciò ha esito positivo, eseguire i seguenti comandi

sudo apt-get --download-only --reinstall install resolvconf
sudo dpkg --purge --force-depends resolvconf
sudo apt-get install resolvconf

Se la risoluzione ora non riesce , fai clic con il pulsante destro del mouse sull'indicatore di rete nella barra nella parte superiore del desktop, fai clic su Edit Connections, seleziona la connessione, Fai clic Edit| IPv4 Settings. Cambia metodo da Automatic (DHCP)a Automatic (DHCP) addresses onlye inserisci 8.8.8.8nel Additional DNS serverscampo. Fare clic Save.... Verifica che /etc/resolv.confora contenga una riga nameserver 8.8.8.8e che puoi ancora ping www.google.com.


5
@guntbert Umm. Stai parlando con l'autore del pacchetto resolvconf. Penso che sappia di cosa sta parlando. ;-)
Kevin Bowen

@jdthood In precedenza, ero in grado di eseguire il ping 8.8.8.8(come indicato nella domanda) ma dopo aver aggiunto la linea nameserver 8.8.8.8, non è stato risolto e questa linea è apparsaFrom nat1.up.edu.ph (10.16.1.2) icmp_seq=1 Destination Host Unreachable
jowabels

1
@maggotbrain grazie per avermi aiutato a togliermi di nuovo il piede dalla bocca :-)
Guntbert

1
@guntbert Va tutto bene, amico. Sono stato lì, me stesso. Se ci sono problemi dns / resolveconf, jdthood è l'uomo che li ha risolti!
Kevin Bowen,

3
Quando seguo questi passaggi, ottengo questo errore dopo aver eseguito il primo comando:Err http://us.archive.ubuntu.com/ubuntu/ wily/main resolvconf all 1.77ubuntu1 404 Not Found [IP: 91.189.91.23 80] E: Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/r/resolvconf/resolvconf_1.77ubuntu1_all.deb 404 Not Found [IP: 91.189.91.23 80]
MadPhysicist

7

sudo apt-get updatefinalmente ha funzionato! Mi sono appena reso conto che il problema non riguardava il sistema, ma piuttosto come il sistema si collega e recupera i dati da Internet. Ho appena configurato le impostazioni della rete e ha cambiato il rilevamento proxy per Manuale compilato il HTTP, HTTPS, FTP, e Socks Hostgli spazi della delega che uso. Quando l'ho aggiornato di nuovo, questo output di errore si è verificato inizialmente:

E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/)

Bene, non esattamente uguale, ma simile (l'ho copiato sopra da qui ). Ma quando ho provato ad aggiornare di nuovo, alla fine ha funzionato (il motivo per cui ho pubblicato l'output dell'errore sopra e non l'output esatto che ho visto) e ora posso scegliere un altro server mirror. Se la configurazione del proxy di rete era davvero la ragione dei miei guai, beh, mi sentivo un po 'stupido per un simile errore di base.

Comunque, grazie a tutti per il vostro aiuto! :)


0

Fai questo

sudo bash -c 'echo "nameserver 127.0.0.1" >> /etc/resolv.conf'

Quindi fai sudo apt-get updateper vedere se funziona.


No, sudo apt-get updatecontinua a non funzionare. Devo rimuovere la linea nameserver 127.0.01o va bene lasciarla lì?
jowabels,

Hai provato a farlo dopo essere tornato dalla risposta di jdthood? Quindi assicurati di poter eseguire il ping 8.8.8.8, quindi aggiungi la riga nameserver 127.0.0.1a /etc/resolv.conf, deve essere l'unica riga (dopo i commenti ovviamente).
Alaa Ali,

Sì, l'ho fatto dopo il ripristino e non si sono verificati problemi con ping 8.8.8.8(ovviamente, dopo il ripristino). Fondamentalmente, è nameserver 127.0.0.1stata l'unica riga aggiunta /etc/resolv.conf.
jowabels,

Mi chiedevo solo, il file originale / etc / resolv.conf` fosse già contenuto nameserver 127.0.0.1prima di aggiungerlo. Quando ho seguito la tua risposta, il file modificato ora conteneva righe di nameserver 127.0.0.1. c'è qualche ragione per questo?
jowabels

Il comando nella mia risposta ha aggiunto la riga nameserver 127.0.0.1indipendentemente da qualsiasi cosa fosse già presente nel file. Il file originale (dopo una nuova installazione) dovrebbe probabilmente contenere già quella riga, sebbene l'output che avevi nella tua domanda non lo avesse. Ma, dopo aver seguito gli ultimi comandi nella risposta di jdthood, penso che il file sia stato ripristinato e la linea sia nameserver 127.0.0.1stata aggiunta. Quindi, quando hai seguito la mia risposta, è stata aggiunta un'altra riga. Ad ogni modo, se hai due linee, è sicuro rimuoverne una.
Alaa Ali,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.