Błąd „nie udało się pobrać” występuje po uruchomieniu aktualizacji apt-get. Jak to naprawić?

42

W przeciwieństwie do powyższej uwagi, nie znalazłem odpowiedzi na mój problem.

Przeczytałem prawie tuzin pytań o aktualizację apt-get, większość z askubuntu.com, z błędami „nie udało się pobrać” i wypróbowałem tam odpowiedzi. Niestety żaden nie działał. Niedawno zainstalowałem Ubuntu 12.04 na moim laptopie, uruchamiając go podwójnie wraz z Windows 7. Kiedy próbowałem

sudo apt-get update

na terminalu nadal występowały:

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.

Uwaga :

Stało się to natychmiast po zainstalowaniu Ubuntu 12.04. Jestem bardzo nowy w świecie Linux / Ubuntu i noob, jeśli chodzi o tego rodzaju rzeczy.

Lista źródeł w ustawieniach Menedżera aktualizacji (i Centrum oprogramowania) była krótka. Zawierał tylko 2 linie z „Kanonicznym”, 2 linie z „Niezależnym” i 2 inne linie. Myślę, że lista była krótka, ponieważ była to świeżo zainstalowana wersja Ubuntu.

Połączenie z Internetem wydaje się być w porządku, a mój przyjaciel, którego laptop został właśnie zainstalowany z Ubuntu 12.04 w tym samym czasie co mój, wydaje się nie mieć problemu z jego aktualizacją. Dzielimy to samo połączenie, więc myślę, że problemy z połączeniem internetowym nie mogły być przyczyną błędu.

Próby rozwiązań :

Od tutaj , ja zbadałem dokoła /etc/resolvconf/resolv.conf.di dodane w /etc/resolvconf/resolv.conf.d/headponiższych sytuacji:

nameserver 8.8.8.8
nameserver 8.8.4.4

Wystąpił błąd.

Od tutaj i tutaj , ja wielokrotnie zmieniane, który serwer Lustro korzystać z menedżera aktualizacji oprogramowania i ustawień źródeł. Ponownie wystąpił błąd.

Próbowałem także edytować listę źródeł, odznaczając linie z „niezależnym” na niej (jak sugerowano). Zgodnie z tym , próbowałem usunąć derb-srclinie z listy źródeł. Nadal bezskutecznie.

Na koniec ta witryna sugeruje uruchomienie następujących czynności:

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

Niestety nic mi nie działało. Na wszystkich forach, na których byłem, nameserver 8.8.8.8najczęściej pojawia się odpowiedź na to pytanie . Zwróć też uwagę, że tak naprawdę nie rozumiałem rozwiązań, co mieli na myśli i jak są zrobione. Po prostu ich śledziłem.

To jest wynik dla 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

A to dotyczy 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

Wskazano, że odpowiedź jest tutaj, ale niestety to również nie zadziałało. Próbowałem wybrać inne serwery, ale „wybierz serwer” nigdy nie był dostępny. Poszukiwanie najlepszego serwera przyniosło wynik „Brak odpowiedniego serwera”. Myślę, że serwery kopii lustrzanych są w porządku i ponownie wydaje się, że nie ma problemu z połączeniem internetowym.

Używanie ping -c3 archive.ubuntu.comi ping -c3 8.8.8.8 oba przyniosły 0% packet loss. Ping dla 8.8.8.8 czasami dawał, 33% packet lossale głównie 0%.

Wpisywanie nslookup google.comwydajności

Server:     127.0.0.1
Address:    127.0.0.1#53

Wyjście 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
jowayow
źródło
Okej, zacznijmy od zera. Po pierwsze, czy możesz skopiować dokładne dane wyjściowe terminala podczas pisania sudo apt-get update? Czy możesz również dołączyć dane wyjściowe cat /etc/apt/sources.listi cat /etc/resolv.conf? Czy potwierdzasz, że możesz normalnie przeglądać strony internetowe?
Alaa Ali
@Alaa W odpowiedzi na twoje zapytanie zredagowałem pytanie i opublikowałem wszystko, co musisz wiedzieć. I tak, byłem w stanie normalnie przeglądać strony internetowe.
jowabels
0% utraty pakietu? Możesz pingować i przeglądać, ale nie możesz rozwiązać problemu z aktualizacjami apt-get ... hmm. Czy istnieje jakieś ustawienie DNS, które działa tylko z apt-get? W każdym razie, czy możesz zamieścić pierwsze dwa wiersze nslookup google.comi wysłać wynik ps aux | grep dns? Ponadto używasz statycznego adresu IP?
Alaa Ali
@Alaa Zredagowałem pytanie i opublikowałem wyniki. Wyjściem ps aux | grep dnsma być pojedynczy wiersz, ale edytowałem go, aby ułatwić przeglądanie. Początkowo powiedziałbym, że używam dynamicznego adresu IP, ponieważ nic za to nie zapłaciłem, ale używam uniwersyteckich połączeń internetowych, więc trudno jest ustalić, czy używane IP jest statyczne czy dynamiczne.
jowabels
@Alaa Właśnie zweryfikowałem, że używam dynamicznego adresu IP.
jowabels

Odpowiedzi:

27

Napotkałem ten sam problem i pomyślałem, że najłatwiejszym rozwiązaniem jest zresetowanie źródeł /etc/apt/sources.list. Aby to zrobić, wykonaj następujące kroki:

  1. Uzyskaj wydanie swojej wersji Ubuntu, wpisz w konsoli:

    lsb_release -r
    
  2. Przejdź do http://repogen.simplylinux.ch/, aby wygenerować nowysources.list

  3. Wybierz swój kraj i wydanie
  4. Sprawdź pierwsze 12 pól:

    Wszystkie Ubuntu Brances + Bezpieczeństwo i aktualizacje

  5. Wygeneruj i skopiuj nową listę
  6. Wykonaj kopię zapasową starego pliku do sources.list.old

    mv /etc/apt/sources.list /etc/apt/sources.list.old
    
  7. Możesz teraz otworzyć vi, aby zapisać nową listę, wykonując:

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

    Lub poprzez skopiowanie i wklejenie do terminala polecenia „curl” (w tym unikalnego identyfikatora URI dla zaktualizowanej listy źródeł), tak jak jest to przedstawione w „Liście źródeł” na stronie wyjściowej repogenu.

  8. G2G, spróbuj ponownie uruchomić apt-get update

RienNeVaPlus
źródło
2
Postanowiłem odpowiedzieć na to pytanie, mimo że problem autorów został rozwiązany inaczej. Jego pytanie jest najlepszym skutkiem wielu problemów związanych z uszkodzonym plikiem source.list (natknąłem się na niego 3 razy) i poczułem, że zostawiłem tutaj swoje rozwiązanie, ponieważ zaoszczędziłoby mi to dużo czasu.
RienNeVaPlus
Pobrałem maszynę wirtualną Ubuntu 12 i nie ma tam repozytoriów, które są ważne (włoskie). Zrobiłem to i działałem jak urok! dzięki!
Feida Kila
Przed wklejeniem vimmusisz edytować tryb wstawiania, naciskając literę „i” po jej otwarciu
sg
To działało dla mnie.
Rick
Na liście wydań nie ma 14.10 :(
JoeTidee
25

Edit /etc/resolv.conf. W oknie terminalu uruchom

sudo gedit /etc/resolv.conf

i dodaj linię

nameserver 8.8.8.8

i zapisz. Więc zrób

ping www.google.com

Jeśli to się powiedzie, uruchom następujące polecenia

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

Jeśli teraz rozwiązanie nie powiedzie się, kliknij prawym przyciskiem myszy wskaźnik sieci na pasku u góry pulpitu, kliknij Edit Connections, wybierz połączenie, kliknij Edit| IPv4 Settings. Zmień metodę z Automatic (DHCP)na Automatic (DHCP) addresses onlyi wprowadź 8.8.8.8w Additional DNS serverspolu. Kliknij Save.... Sprawdź, czy /etc/resolv.confteraz zawiera linię nameserver 8.8.8.8i czy nadal możesz ping www.google.com.

jdthood
źródło
5
@guntbert Umm. Rozmawiasz z autorem pakietu resolvconf. Myślę, że on wie o czym mówi. ;-)
Kevin Bowen
@jdthood Wcześniej byłem w stanie pingować 8.8.8.8(jak podano w pytaniu), ale po dodaniu wiersza nameserver 8.8.8.8nie udało się go rozwiązać i ta linia pojawiła sięFrom nat1.up.edu.ph (10.16.1.2) icmp_seq=1 Destination Host Unreachable
jowabels
1
@maggotbrain thx za pomoc w wyciągnięciu stopy z ust :-)
guntbert
1
@guntbert Wszystko w porządku, stary. Byłem tam sam. Jeśli są jakieś problemy z dns / resolveconf, jdthood jest goto je rozwiązać!
Kevin Bowen
3
Gdy 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]
wykonuję
7

sudo apt-get updatew końcu zadziałało! Właśnie zdałem sobie sprawę, że problem nie dotyczy systemu, ale sposób, w jaki system łączy i pobiera dane z Internetu. Właśnie skonfigurowane ustawienia sieci i zmienił wykrywanie proxy Manuali wypełnieniu HTTP, HTTPS, FTPoraz Socks Hostpółproduktów proxy, które używam. Kiedy zaktualizowałem ponownie, ten błąd pojawił się na początku:

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

Cóż, niezupełnie taki sam, ale podobny do niego (skopiowałem stąd stąd ). Ale kiedy spróbowałem ponownie zaktualizować, w końcu zadziałało (powód, dla którego opublikowałem powyższy wynik błędu, a nie dokładne wyjście, które widziałem) i mogę teraz wybrać inny serwer kopii lustrzanych. Jeśli konfiguracja sieciowego serwera proxy naprawdę była przyczyną moich nieszczęść, cóż, czułam się trochę głupio z powodu tak podstawowego błędu.

W każdym razie dziękuję wszystkim za pomoc! :)

rev. Jowayow
źródło
0

Zrób to

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

Następnie sudo apt-get updatesprawdź, czy to działa.

Alaa Ali
źródło
Nie, sudo apt-get updatewciąż nie działa. Czy muszę usunąć linię, nameserver 127.0.01czy mogę ją tam zostawić?
jowabels
Czy próbowałeś to zrobić po cofnięciu odpowiedzi z jdthood? Więc po prostu upewnij się, że można ping 8.8.8.8, a następnie dodać linię nameserver 127.0.0.1do /etc/resolv.conf, to musi być jedyna linia (po komentarzach oczywiście).
Alaa Ali
Tak, zrobiłem to po przywróceniu i nie było problemu z ping 8.8.8.8(Oczywiście po przywróceniu). Zasadniczo nameserver 127.0.0.1była to jedyna linia dodana do /etc/resolv.conf.
jowabels
Zastanawiałem się, czy oryginalny plik / etc / resolv.conf już zawierał nameserver 127.0.0.1przed dodaniem go. Kiedy podążyłem za twoją odpowiedzią, edytowany plik zawierał teraz wiersze nameserver 127.0.0.1. Czy jest tego jakiś powód?
jowabels
Polecenie w mojej odpowiedzi dodało wiersz nameserver 127.0.0.1niezależnie od tego, co było już w pliku. Oryginalny plik (po nowej instalacji) najprawdopodobniej powinien już zawierać ten wiersz, chociaż dane wyjściowe, które miałeś w swoim pytaniu, nie miały go. Ale po wykonaniu ostatnich poleceń w odpowiedzi jdthood myślę, że plik został zresetowany i linia nameserver 127.0.0.1została dodana. Więc kiedy podążyłeś za moją odpowiedzią, dodano kolejny wiersz. W każdym razie, jeśli masz dwie linie, możesz bezpiecznie usunąć jedną z nich.
Alaa Ali