apt-get stuck at 0 [Verbinde mit uns.archive.ubuntu.com]


164

Wenn ich ein Upgrade durchführe, bleibt es hier hängen:

user@plato:~# sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  bind9-host coreutils cpio curl dnsutils libbind9-90 libc-bin libc-dev-bin
  libc6 libc6-dev libcgmanager0 libcurl3 libcurl3-gnutls libdns100
  libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libisc95 libisccc90
  libisccfg90 libjasper1 liblwres90 libplymouth2 libsepol1 libssl-dev
  libssl-doc libssl1.0.0 linux-libc-dev mime-support multiarch-support ntp
  ntpdate openssl plymouth plymouth-theme-ubuntu-text python3-distupgrade
  ubuntu-release-upgrader-core unzip
39 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 16.0 MB of archives.
After this operation, 12.3 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
0% [Connecting to us.archive.ubuntu.com (2001:67c:1562::15)] ░

Wenn ich ein Update mache, bleibt es hier hängen:

user@plato:~# apt-get update
0% [Connecting to us.archive.ubuntu.com (2001:67c:1562::14)] [Connecting to sec░

Ich kann uns.archive.ubuntu.com einfach anpingen:

user@plato:~# ping us.archive.ubuntu.com
PING us.archive.ubuntu.com (91.189.91.23) 56(84) bytes of data.
64 bytes from economy.canonical.com (91.189.91.23): icmp_seq=1 ttl=54 time=81.5 ms
64 bytes from economy.canonical.com (91.189.91.23): icmp_seq=2 ttl=54 time=81.5 ms
64 bytes from economy.canonical.com (91.189.91.23): icmp_seq=3 ttl=54 time=81.5 ms
64 bytes from economy.canonical.com (91.189.91.23): icmp_seq=4 ttl=54 time=81.4 ms
^C
--- us.archive.ubuntu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 81.425/81.528/81.582/0.355 ms

Was kann ich tun, um dies zu beheben?


Was ich bisher ausprobiert habe.

Ich habe versucht, folgende Anweisungen in diesem Blog: http://nickescobedo.com/719/ubuntu-apt-get-hangs-at-0

Um apt-get zu zwingen, ausschließlich IPv4 zu verwenden

  • Erstellen Sie eine Datei in /etc/apt/apt.conf.d/99force-ipv4
  • Fügen Sie diese Zeile der neu erstellten Datei hinzu Acquire::ForceIPv4 false;
  • Apt-get verwendet jetzt ausschließlich IPv4

Keine der Antworten hat bei mir geklappt: Mein Problem war, dass meine Windows-Host- Firewall meinen Ubuntu-Gast blockierte, der in Virtualbox ausgeführt wurde.
Drodsou

Keine dieser Antworten hat bei mir funktioniert. Ich habe meine virtuelle Maschine neu gestartet und sie funktioniert jetzt.
Kilojoule

Antworten:


309

Ich fand heraus, wie ich wieder zur Arbeit kommen konnte.

Bearbeiten gai.conf:

sudo vim /etc/gai.conf

Ändern Sie Zeile ~ 54, um die folgenden Kommentare zu entfernen:

precedence ::ffff:0:0/96  100

schreiben und beenden:

:wq

VORSICHT

Achten Sie auf Zeile 50, die fast identisch aussieht:

precedence ::ffff:0:0/96  10

Das ist die falsche Linie. Wenn Sie ~ 4 Zeilen nach unten gehen, finden Sie die richtige Zeile zum Auskommentieren, da sie mit 100anstatt mit endet10


1
Vielen Dank, dass Sie Ihre Lösung veröffentlicht haben. Ich hatte das gleiche Problem und das hat es behoben.
Bradym

55
Wie um alles in der Welt haben Sie das herausgefunden? Das passierte mir plötzlich auf einem meiner Server und das hat es behoben.
Brian Neal

4
Was geht hier vor sich? Möchten Sie näher erläutern, warum dieses Update funktioniert?
Four43,

53
Problem: ISPs beginnen, ein internes IPv6-Netzwerk einzurichten, um eine Verbindung zum IPv6-Internet herzustellen. Aus diesem Grund versuchen die Server in diesem Netzwerk nun, beim Ausführen von apt-get standardmäßig über ihre IPv6-Adresse eine Verbindung zu * .ubuntu.com herzustellen. Lösung: das Auskommentieren precedence ::ffff:0:0/96 100erlaubt Anträgen, IPv4 zu bevorzugen
Arian Faurtosh

8
FEST! Dies ist definitiv die richtige Lösung für dieses Problem. Aber für alle, die auf dieses Update stoßen, stellen Sie sicher, dass Sie NICHT das tun, was ich getan habe. Ich precedence ::ffff:0:0/96 10habe das Kommentarzeichen entfernt und musste in die Datei zurückkehren und diese Zeile erneut kommentieren und dann das richtige Kommentarzeichen precedence ::ffff:0:0/96 100
entfernen,

14

Es ist besser, IPV6 vor dem Update und Upgrade zu deaktivieren.

  1. Öffnen Sie das Terminal

  2. Geben Sie sudo -H gedit /etc/sysctl.confdie Konfigurationsdatei ein, öffnen Sie sie und fügen Sie am Ende die folgenden Zeilen hinzu

    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1 
    net.ipv6.conf.lo.disable_ipv6 = 1 
    
  3. Nach diesem Lauf

    cat /proc/sys/net/ipv6/conf/all/disable_ipv6 
    

    Wenn "1" angezeigt wird, haben Sie IPV6 deaktiviert.

    Wenn '0' angezeigt wird, befolgen Sie bitte die Schritte 4 und 5.

  4. Befehl eingeben sudo sysctl -p. Sie sehen dies im Terminal.

    net.ipv6.conf.all.disable_ipv6 = 1 
    net.ipv6.conf.default.disable_ipv6 = 1 
    net.ipv6.conf.lo.disable_ipv6 = 1 
    
  5. Wiederholen Sie den obigen Schritt 3 und es wird nun 1 gemeldet.


Das hat funktioniert. Ich habe nicht verstanden, warum. Kannst du bitte erklären.
AAI

6

Keiner der IPv6-Fixes hat bei mir funktioniert. Möglicherweise habe ich das gleiche Symptom mit einer anderen Ursache. Meine Problemumgehung bestand darin, durch Suchen und Ersetzen in sources.list in ein anderes Archiv zu wechseln, z.

sudo vim /etc/apt/sources.list

Und dann:

:%s/us\.archive/de\.archive/g
:wq

So kann ich zumindest wieder arbeiten, bis ich das eigentliche Problem herausgefunden habe.


1

Was für mich funktionierte, war, meine VirtualBox-Netzwerkeinstellungen für meinen Ubuntu-Gast von "Bridged Adapter" auf "NAT" zu ändern.


Ja, das muss funktionieren. Aber warum funktioniert es nicht über 'Bridged Adapter'? Ich kann alles mit 'Bridged Adapter' machen, außer apt-get update.
Soufrk
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.