การเชื่อมต่อไปที่ archive.ubuntu.com ใช้เวลานานเกินไป


50

ฉันมีเซิร์ฟเวอร์ Ubuntu 11.10 ที่ฉันเพิ่งติดตั้งใหม่ ตอนนี้ถ้าฉันพยายามทำอะไรกับapt-getมันก็พยายามเชื่อมต่อกับarchive.ubuntu.com.. มันอยู่ใน[Connecting to archive.ubuntu.com (2001:67c:1360:8c01::1a)]เฟสประมาณ 2 นาทีหลังจากนั้นมันก็เริ่มสื่อสารและดาวน์โหลดเนื้อหา ...

ในที่สุดมันก็เชื่อมต่อเสมอ แต่รออยู่ที่[Connecting to archive.ubuntu.com (2001:67c:1360:8c01::1a)]เฟสทุกครั้งเป็นเวลา 2 นาที!

ฉันไม่เคยมีปัญหานี้มาก่อนใน Ubuntu 11.10 หลังจากติดตั้งระบบปฏิบัติการอีกครั้ง

ความคิดเห็นเกี่ยวกับปัญหาที่อาจเกิดขึ้น?


ฉันสงสัยว่าเกี่ยวข้องกับความจริงที่คุณใช้ IPv6 หรือไม่ คุณอยู่ในเครือข่าย IPv6 หรือไม่
โธมัสวอร์ด

ไม่ฉันไม่คิดอย่างนั้น ฉันยังไม่ได้กำหนดค่าสิ่งใด ๆ เลย ..
อาหมัด

IP ในข้อความที่รวมอยู่ของคุณคือ IPv6 นั่นแสดงให้เห็นว่ามันใช้ IPv6 และถ้าฉันไม่เข้าใจผิดว่ามีเซิร์ฟเวอร์ IPv6 ไม่มากสำหรับการจัดเก็บ
โทมัสวอร์ด

1
@Ahmad เนื่องจากคุณได้แก้ไขปัญหาของคุณแล้วและได้เขียนวิธีแก้ปัญหาไว้แล้วโปรดโพสต์เป็นคำตอบ (จากนั้นคุณสามารถแก้ไขคำถามของคุณได้เช่นกัน) โปรดทราบว่าคุณไม่จำเป็นต้องรอเพื่อทำสิ่งนี้ ผู้ใช้ที่มีชื่อเสียงน้อยกว่า 100 คนต้องรอก่อนตอบคำถามของตนเอง คุณสามารถทำเครื่องหมายคำตอบของคุณเองเป็นที่ยอมรับ (แม้ว่าคุณจะต้องรอจนกว่าจะผ่านไปสองวันหลังจากที่คุณโพสต์คำถามได้ผ่านไปแล้ว)
Eliah Kagan

เสร็จสิ้น .. ตอนนี้ผมเพียงแค่ต้องรอ 22 ชั่วโมงเพื่อที่จะสามารถที่จะยอมรับคำตอบของตัวเอง :)
อาห์หมัด

คำตอบ:


87

ฉันแก้ไขสิ่งนี้ใน 12.10 ด้วยการแก้ไข/etc/gai.confและยกเลิกการใส่เครื่องหมายบรรทัด:

#
#    For sites which prefer IPv4 connections change the last line to
#
precedence ::ffff:0:0/96 100

สิ่งนี้ช่วยให้คุณเปิดใช้งาน IPv6 ได้ แต่ตั้งค่าลำดับความสำคัญก่อนหน้าเพื่อให้ชอบ IPv4 มากกว่า IPv6


13
ฉันไม่ควรที่จะเขียน ty เป็นความคิดเห็น แต่ฉันคิดว่ามันควรจะกล่าวว่าเป็นฮีโร่ของฉัน tytytytytyty
MageProspero

1
นี่คือคำตอบ
kbuilds

3
ได้รับการยืนยันบน Ubuntu 14.04 / ElementaryOS freya เช่นกัน!
oikonomopo

2
ที่สมบูรณ์แบบ! ทำงานมีเสน่ห์!
John

2
ยังคงใช้ได้สำหรับ Xubuntu 15.04
Dag

16

วิธีการแก้:

ฉันพบปัญหา ฉันต้องปิดการใช้งานการเชื่อมต่อ IPv6 ตามที่ลอร์ดออฟไทม์ชี้ให้เห็น

การรันคำสั่งต่อไปนี้ใน Terminal จะบอกว่าเปิดใช้งาน IPv6 หรือไม่:

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

0หมายถึงการเปิดใช้งานในขณะที่1หมายถึงการปิดการใช้งาน

หากต้องการปิดใช้งาน IPv6 จากภายในเทอร์มินัลให้ป้อนข้อมูลต่อไปนี้:

echo "#disable ipv6" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

รันคำสั่งแรกอีกครั้งและควรเป็น1ตอนนี้


ฉันไม่มีไฟล์นั้น ...
amadib

การปิดใช้งาน IPv6 ไม่ใช่วิธีแก้ปัญหา มันเป็นวิธีแก้ปัญหา เราต้องการ IPv6 และปิดการใช้งานซึ่งไม่แนะนำอย่างแน่นอน วิธีแก้ไขที่ถูกต้องคือบังคับให้ APT ใช้ ipv4 เท่านั้นหรือตั้งค่าการแสดงล่วงหน้าตามที่แสดงในโซลูชันด้านบน
mniess

7

หากคุณต้องการแก้ไข apt-get เท่านั้นคุณสามารถบังคับ IPv4 ด้วย:

apt-get -o Acquire::ForceIPv4=true update

หากต้องการตั้งค่าแบบต่อเนื่องให้สร้างไฟล์ 99force-ipv4 ใน /etc/apt/apt.conf.d/

sudoedit /etc/apt/apt.conf.d/99force-ipv4

ใส่เนื้อหาต่อไปนี้ลงไป:

Acquire::ForceIPv4 "true";

บันทึกไฟล์และคุณไปได้ดี หากคุณต้องการบังคับใช้ IPv6 แทนให้เปลี่ยน 4 เป็น 6 ในชื่อไฟล์และการตั้งค่า หากต้องการเลือกระหว่างหนึ่งในนั้นให้ทดสอบด้วยวิธีที่รวดเร็วและดูว่าวิธีใดทำงานได้ดีกว่า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.