apt-get 0 konumunda kaldı [us.archive.ubuntu.com] adresine bağlantı kurun


164

Yükseltme yaptığımda burada sıkışıp kalıyor:

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)] ░

Güncelleme yaptığımda burada sıkışıp kalıyor:

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

Ben us.archive.ubuntu.com sadece iyi ping yapabiliyor:

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

Bunu düzeltmek için ne yapabilirim?


Şimdiye kadar ne denedim.

Bu blogda yol tarifini izlemeyi denedim: http://nickescobedo.com/719/ubuntu-apt-get-hangs-at-0

Apt-get'i sadece IPv4 kullanmaya zorlamak için

  • İçinde bir dosya oluştur /etc/apt/apt.conf.d/99force-ipv4
  • Bu satırı yeni oluşturulan dosyaya ekle Acquire::ForceIPv4 false;
  • Apt-get şimdi sadece IPv4 kullanacak

Cevapların hiçbiri benim için işe yaramadı: Benim sorunum Virtualbox'da çalışan Ubuntu konuğumu engelleyen Windows ana bilgisayar güvenlik duvarımdı.
18'de

Bu cevapların hiçbiri benim için çalıştı. Sanal makinemi yeniden başlattım ve şimdi çalışıyor.
kilojoules

Yanıtlar:


309

Yeniden işe alıştırmayı nasıl yapacağımı öğrendim.

Düzenle gai.conf:

sudo vim /etc/gai.conf

aşağıdakileri yorumlamak için satır ~ 54 değiştirin:

precedence ::ffff:0:0/96  100

yaz ve çık:

:wq

UYARMAK, İHTAR ETMEK, DİKKAT ÇEKMEK

Neredeyse aynı görünen satır 50'ye bakın:

precedence ::ffff:0:0/96  10

Bu yanlış bir çizgi. ~ 4 satır aşağı git ve uncomment için doğru çizgiyi bulacaksın çünkü 100yerine bitecek10


1
Çözümünüzü gönderdiğiniz için teşekkür ederiz. Aynı sorunu yaşıyordum ve bu sorunu çözdü.
Bradym

55
Bunu nasıl anladın? Bu aniden sunucularımdan birinde başıma geldi ve bu düzeltti.
Brian Neal

4
Burada neler oluyor? Bu düzeltmenin neden işe yaradığını açıklamak ister misiniz?
four43

53
Sorun: ISS'ler, sonunda IPv6 internete bağlanmak için hazırlık aşamasında bir iç IPv6 ağı kurmaya başlıyor. Sonuç olarak, bu ağdaki sunucular şimdi apt-get komutunu çalıştırırken varsayılan olarak IPv6 adresi üzerinden * .ubuntu.com adresine bağlanmaya çalışır. Çözüm: uncommenting precedence ::ffff:0:0/96 100, isteklerin IPv4'ü tercih etmesine izin veriyor
Arian Faurtosh

8
SABİT! Bu kesinlikle bu sorun için doğru olanı. Ancak bu düzeltmeyle karşılaşan herhangi biri için yaptığımı yapmamaya dikkat edin. Ben uncommented precedence ::ffff:0:0/96 10ve ben dosyaya geri gitmek ve bu satır tekrar yorum yapmak ve sonra doğru satırı uncomment zorunda kaldıprecedence ::ffff:0:0/96 100
dtigue

14

Güncelleme ve yükseltme işleminden önce IPV6'yı devre dışı bırakmak daha iyidir.

  1. Terminali aç

  2. sudo -H gedit /etc/sysctl.confYapılandırma dosyasını girin ve açın ve sonuna aşağıdaki satırları ekleyin.

    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1 
    net.ipv6.conf.lo.disable_ipv6 = 1 
    
  3. Bu çalıştırmadan sonra

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

    '1' bildirirse, IPV6'yı devre dışı bıraktığınız anlamına gelir.

    Eğer '0' yazıyorsa, lütfen 4. ve 5. adımları takip ediniz.

  4. Command yazın sudo sysctl -p. Bunu terminalde göreceksiniz.

    net.ipv6.conf.all.disable_ipv6 = 1 
    net.ipv6.conf.default.disable_ipv6 = 1 
    net.ipv6.conf.lo.disable_ipv6 = 1 
    
  5. “Adım 3” 'ü tekrarlayın ve şimdi 1'i rapor edin.


Bu işe yaradı. Nedenini anlamadım. Açıklayabilir misiniz lütfen.
AAI,

6

IPv6 düzeltmelerinin hiçbiri benim için çalıştı. Muhtemelen farklı bir nedenle aynı semptomlara sahibim. Geçici çözümüm, bir arama yaparak farklı bir arşive geçmek ve sources.list'te değiştirmekti, örneğin:

sudo vim /etc/apt/sources.list

Ve sonra:

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

Bu en azından asıl sorunu çözene kadar işe dönmeme izin veriyor.


1

Benim için çalışan Ubuntu konuğum için VirtualBox Network ayarlarımı "Bridged Adapter" den "NAT" olarak değiştirmekti.


Evet, bu çalışmak zorunda. Fakat neden 'Bridged Adapter' üzerinde çalışmıyor? 'Bridged Adapter' ile hariç her şeyi yapabilirim apt-get update.
soufrk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.