apt-get update ช้ามากติดอยู่ที่“ กำลังรอส่วนหัว”


64

ฉันได้ดูคำถามที่คล้ายกัน:

ติดอยู่ที่ 0% [กำลังรอส่วนหัว]

apt-get update ติดอยู่ที่ "Waiting for Headers" เมื่อใช้ Windows XP ICS

อย่างไรก็ตามไม่มีใครตอบปัญหาของฉัน

ฉันใช้ 12.04 AMD64 และเพิ่งเริ่มรับปัญหาว่าเมื่อฉันอัปเดต repos จากการเชื่อมต่อที่บ้านผ่านเทอร์มินัลโดยใช้การปรับปรุง sudo apt-get มันใช้เวลาตลอดไป (แท้จริงหลังจาก 2 ชั่วโมงที่ 28%) เมื่อฉันเรียกใช้จากตำแหน่งอื่นจะใช้เวลาน้อยกว่า 5 นาทีจึงจะเสร็จสมบูรณ์

ฉันพยายามเปลี่ยนกระจกที่ฉันใช้แล้วแต่ไม่สามารถแก้ปัญหาได้ ฉันได้ลดสิ่งที่อยู่ในรายการแหล่งที่มาของฉันด้วย แต่สิ่งนี้ก็ไม่ได้สร้างความแตกต่าง ไม่มีข้อบกพร่องในสาย ADSL ของฉันเพราะฉันได้ติดต่อ ISP ของฉันเพื่อตรวจสอบเรื่องนี้แล้ว มันก็ไม่ต่างกันถ้าฉันใช้การเชื่อมต่อ WiFi หรือสายเคเบิลเครือข่าย

ปัญหาของฉันคืออะไร


การทดสอบความเร็ว (www.speedtest.net) ออกมาที่ประมาณ 0.9 Mbps และ 0.42 Mbps ขึ้นไป (ซึ่งเป็นเงาภายใต้ความเร็วของสายโฆษณา) ฉันอาศัยอยู่ในแอฟริกาใต้และใช้เซิร์ฟเวอร์ UCT LEG แต่ฉันได้ลองใช้กระจกตัวอื่นที่มีใน SA .... ไม่มีใครสร้างความแตกต่างได้


2
โปรดรายงานผลการค้นหาจากspeedtest.comและแจ้งให้เราทราบถึงประเทศที่คุณพำนักอยู่
ish

คำตอบ:


46

ฉันพบวิธีแก้ปัญหาซึ่งช่วยฉันที่นี่: https://www.kubuntuforums.net/showthread.php?57567-Ubuntu-problems-on-update

คุณสามารถปล่อยให้ apt-get สร้างรายการแคชใหม่ได้โดยใช้:

sudo apt-get clean
cd /var/lib/apt
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get clean
sudo apt-get update 

ใช่!!! Clean! แน่นอน! <facedesk> ขอบคุณสำหรับเพื่อน! : D
Chiramisu

เพียงแค่การทำsudo apt-get cleanทำงานดีหลายครั้งสำหรับฉัน
แอนดรูว์ T

43

ดูเหมือนว่าอาจมีปัญหากับ repos ของบุคคลที่สาม ฉันรู้ว่า repo ของ Google ใช้เวลาหลายนาทีในการตอบกลับที่นี่ในบางครั้ง หากคุณมีการตั้งค่า repos บุคคลที่สามให้เปิด Update Manager คลิกการตั้งค่าจากนั้นแท็บ "ซอฟต์แวร์อื่น ๆ " ยกเลิกการทำเครื่องหมายที่ช่องทั้งหมดแล้วกดปิด

Update Manager Update Manager - ซอฟต์แวร์อื่น ๆ

ตอนนี้ให้เปิดเครื่องเทอร์มินัลแล้วใช้คำสั่งต่อไปนี้แล้วดูว่ามันดีกว่าด้วยคำสั่งต่อไปนี้ไหม

sudo apt-get update

หากดีกว่าให้ย้อนกลับและเปิดใช้งาน repo แต่ละอันและตรวจสอบทีละรายจนกว่าคุณจะพบปัญหา repo

หากไม่ได้ผลคุณสามารถให้ตัวจัดการอัปเดตเลือก repos หลักที่ดีที่สุดที่จะใช้โดยอัตโนมัติ ในการทำเช่นนั้นให้เปิด Update Manager จากนั้นคลิกการตั้งค่า เลือกแท็บซอฟต์แวร์ของ Ubuntu จากนั้นในดรอปดาวน์ "ดาวน์โหลดจาก:" เลือกอื่น ๆ ...

Update Manager - แท็บซอฟต์แวร์ Ubuntu

ในหน้าต่างที่ปรากฏขึ้นให้คลิก "เลือกเซิร์ฟเวอร์ที่ดีที่สุด"

Update Manager - เลือกเซิร์ฟเวอร์ดาวน์โหลด

จากนั้นจะทำการทดสอบหลายครั้งเพื่อเลือกเซิร์ฟเวอร์ที่ดีที่สุดสำหรับคุณ เมื่อสร้างเสร็จแล้วให้คลิกเลือกเซิร์ฟเวอร์

Update Manager - เลือกเซิร์ฟเวอร์ดาวน์โหลด

ตอนนี้ไฟขึ้นสถานีและตรวจสอบอีกครั้ง


สำหรับฉันช่วยตั้งเป็น "เซิร์ฟเวอร์หลัก"
BG Bruno

2
วิธี "เลือกเซิร์ฟเวอร์ที่ดีที่สุด" ช่วยฉันได้ ขอบคุณ
kommradHomer

5

นี่คือส่วนใหญ่เป็นเพราะ "ขนาด MTU" ได้รับปัญหานี้ในขณะที่และหลังจากการตรวจสอบลึกฉันพบว่า isp ของฉันมีขนาด mtu 1440 ในขณะที่ค่าเริ่มต้นสำหรับส่วนต่อประสาน eth คือ 1500

ที่จะรู้ว่าขนาด MTU สูงสุดโปรดดูที่นี่

เพื่อตั้งค่าขนาดแพ็คเก็ต mtu ของคุณคุณสามารถใช้ตัวเลือกการเชื่อมต่อเครือข่ายจากไอคอนเครือข่ายหรือใช้เทอร์มินัลในลิงค์นี้


1
ลิงค์แรกและลิงค์ที่สองของคุณจะถูกเข้ารหัสให้ชี้ไปที่ไซต์ที่สอง ฉันพบข้อมูลที่ไซต์ dslreports.com ว่าเป็นคำอธิบายและเป็นประโยชน์ น่าเสียดายที่ข้อมูลที่ไซต์ cyberciti.biz อาจล้าสมัยไปเล็กน้อยและ (อย่างน้อยที่นี่) ไม่ได้แก้ปัญหาได้ดีนัก
Tommy Trussell

2

ฉันพบปัญหานี้ในแล็ปท็อปของคนอื่นซึ่งฉันถูกขอให้อัพเกรด หลังจากหนึ่งชั่วโมงของการเกาหัวการตรวจสอบ / etc / สภาพแวดล้อมพบว่ามีการติดตั้งพร็อกซี่ anon ในระบบ การลบการแก้ไขปัญหา

ดังนั้นตรวจสอบการตั้งค่าพร็อกซีของคุณใน / etc / environment


1

หากคุณsynapticติดตั้งแล้วให้ลองทริกเกอร์apt-get updateภายในsynapticโดยคลิกที่ "โหลดซ้ำ" แน่นอนว่ามันจะหยุดทำงาน แต่เมื่อคุณยกเลิกมันจะพิมพ์ชื่อของที่เก็บที่หยุดตัวอย่างเช่น:

Failed to fetch http://debian.sur5r.net/i3/dists/quantal/InRelease  
Some index files failed to download. They have been ignored, or old ones used instead.

การปิดใช้งานที่เก็บรายงานชั่วคราวควรแก้ไขปัญหาชั่วคราว ในsynapticคุณสามารถปิดการใช้งานได้ใน "การตั้งค่า -> ซอฟต์แวร์อื่น ๆ "


1

พบการอัปเดต apt-get นี้ติดอยู่ที่ "Waiting for Headers" เมื่อใช้งาน Windows XP ICSอย่างชาญฉลาด

คุณอาจต้องการลองติดตั้งและรัน netselect และคัดลอกซอร์สที่สร้างขึ้นไปยัง /etc/apt/sources.list

หวังว่านี่จะช่วยได้


2
ยินดีต้อนรับสู่ถาม Ubuntu! ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
user98085

1

เปิด terminal และประเภท:

cd /etc/apt/apt.conf.d/

ตอนนี้สร้างไฟล์ใหม่sudo nano 99selfและประเภท:

Acquire::http::Pipeline-Depth "0";

3
ยินดีต้อนรับสู่ Askubuntu! คุณสามารถพัฒนาคำตอบของคุณเพื่ออธิบายในเชิงลึกยิ่งขึ้นว่าทำไมและวิธีการแก้ปัญหาของคุณทำงานอย่างไร
Marc Vanhoomissen

0

บางครั้งสิ่งที่คุณต้องทำก็แค่เปลี่ยนไปใช้เซิร์ฟเวอร์หลักเพื่อรับการอัพเดท การอัพเดตขึ้นอยู่กับพื้นที่ทางภูมิศาสตร์ของคุณบางครั้งไม่ได้มาจากเซิร์ฟเวอร์หลักเพื่อการส่งมอบที่เร็วขึ้น

ไม่ว่าด้วยเหตุผลใดเซิร์ฟเวอร์รีเลย์อาจไม่ตอบสนองเร็วที่สุดเท่าที่จะเป็นไปได้สำหรับการร้องขอบางอย่างดังนั้นการสลับไปยังเซิร์ฟเวอร์หลักชั่วคราวเพื่อรับการปรับปรุงควรแก้ไข

เมื่อคุณเปิดซอฟต์แวร์และอัปเดตให้เลือก "เซิร์ฟเวอร์หลัก" จากตัวเลือกดาวน์โหลดจาก

คุณควรจะไปดี การเปลี่ยนไปใช้เซิร์ฟเวอร์หลักใช้ได้สำหรับฉันเสมอ :)


0

ปัญหานี้อาจเกิดขึ้นได้หากเซิร์ฟเวอร์ DNS ของคุณทำงานไม่ถูกต้อง (หรือหากคุณกำหนดค่าเซิร์ฟเวอร์ DNS ผิด)

ฉันวิ่งcat /etc/resolv.confและรู้ตัวว่าฉันพิมพ์เซิร์ฟเวอร์ DNS ผิด ทุกอย่างทำงานได้เมื่อฉันอัปเดตการกำหนดค่า DNS ของอินเทอร์เฟซเครือข่าย :)


0

เพียงไปที่การตั้งค่าระบบ -> ซอฟต์แวร์ & การอัปเดตแล้วสลับเซิร์ฟเวอร์ทำงานได้ดีสำหรับฉัน ฉันเดาว่าเซิร์ฟเวอร์ที่เลือกล่าสุดของฉันพังเพราะไม่ทราบสาเหตุ

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