ยำแฮงค์และจะไม่ตอบสนอง


37

ฉันกำลังทำงานyum check-updateและมันค้างหลังจากเอาต์พุต 2 บรรทัด:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

ฉันไม่แน่ใจว่าเกิดอะไรขึ้น สิ่งสุดท้ายที่ฉันจำได้เมื่อทำกับยำคือyum updateและดูหนึ่งใน repos yum CentOS แต่ฉันไม่ได้ทำการเปลี่ยนแปลงใด ๆ

ข้อเสนอแนะใด ๆ ในการแก้ไขยำ?

คำตอบ:


22

คุณอาจมีปัญหา DNS พยายามให้แน่ใจว่าคุณสามารถแก้ไขระเบียน DNS ในเครื่องได้:

nslookup google.com

หากคุณได้รับ IP กลับมาจากคำสั่งนั้นคุณควรจะตกลงสำหรับ DNS ลองลบแคชที่เร็วที่สุดของกระจกแล้วเรียกใช้คำสั่ง yum ของคุณอีกครั้ง:

rm -f /var/cache/yum/timedhosts.txt


1
ฉันได้รับ IP กลับมาจากคำสั่งนั้น timedhosts.txt เป็นไฟล์ข้อความที่ว่างเปล่า แต่ฉันพยายามลบมันออกไป จากนั้นฉันจะเรียกใช้คำสั่ง yum อีกครั้ง น่าเสียดายที่ไม่ประสบความสำเร็จ มันยังคงแขวนอยู่ในที่เดียวกัน "กำหนดกระจกที่เร็วที่สุด" ถ้าฉันใช้ verbose ฉันจะได้รับการโหลดปลั๊กอิน "เร็วที่สุดกระจก" เวลากำหนดค่า: 0.094 Yum เวอร์ชัน: 3.2.22 การตั้งค่าแพคเกจกระสอบโหลดความเร็วมิรเรอร์จากแคชไฟล์ host
barrrista

10
ในการแยกแยะปัญหาเกี่ยวกับปลั๊กอินที่เร็วที่สุดให้ลองใช้ yum โดยไม่ต้องใช้ปลั๊กอิน:yum --noplugins check-update
Garrett

67

ทั้งหมดนี้ไม่ได้ทำงานกับฉัน

ใช้ CentOS และยำ yum แฮงค์โดยไม่มีข้อความแสดงข้อผิดพลาดอย่างน้อยก็ปรากฏขึ้น การกดCtrl+ Cไม่ทำงาน (การกดอีกครั้งและอีกครั้งและอีกครั้ง)

ต้องตรวจสอบหลายสิ่ง: - ที่เก็บตกลงไหม - ระบบเครือข่ายตกลงไหม - ฐานข้อมูล yum และ rpm นั้นโอเคไหม

ดังนั้นก่อนอื่นให้เริ่มจากสิ่งที่ง่าย - ล้างฐานข้อมูล

rm -f /var/lib/rpm/__*
rpm --rebuilddb -v -v   
yum clean all

หากไม่ได้ผลคุณสามารถตั้งค่าระดับการดีบักระดับข้อผิดพลาดและหมดเวลาสำหรับ yum ใน/etc/yum.conf:

debuglevel=1
errorlevel=1
timeout=1

หมดเวลาเป็นมาตรฐาน 30 วินาที ดังนั้นหากพื้นที่เก็บข้อมูลไม่ตอบสนองข้อผิดพลาดจะใช้เวลา 30 วินาทีในการปรากฏ นอกจากนี้ยังพยายามใช้ yum โดยไม่ต้องปลั๊กอิน (เหมือนกระจกที่เร็วที่สุดและจัดลำดับความสำคัญ) --nopluginsที่มีตัวเลือก ตอนนี้การเริ่มยำอีกครั้งควรให้ข้อมูลเร็วขึ้น ทดสอบกับ:

yum --verbose --noplugins info

คุณอาจได้รับสิ่งนี้:

 Config time: 0.105
 Yum Version: 3.2.22
 Setting up Package Sacks
 Loading mirror speeds from cached hostfile
 * base: mirror.nl.leaseweb.net
 * extras: mirror.nl.leaseweb.net
 * ius: mirrors.ircam.fr
 * rpmforge: mirror.nl.leaseweb.net
 * updates: mirror.nl.leaseweb.net link-to-server-repository/repomd.xml: [Errno 4] IOError: urlopen error (97, 'Address family not supported by protocol') 
 Trying other mirror.

สิ่งนี้บ่งชี้ว่าไม่สามารถรับข้อมูลจากเซิร์ฟเวอร์ ลองใช้ URL ที่แสดงโดย yum (ระบุไว้ด้านบนพร้อม link-to-server-repository) ในเว็บเบราว์เซอร์ของคุณ คัดลอกและวางจากการตอบกลับยำของคุณไม่ใช่จากโพสต์นี้! หากคุณได้รับรายการคุณรู้ว่าที่เก็บออนไลน์

/etc/yum.repos.dถ้าคุณได้รับข้อผิดพลาดในเบราว์เซอร์ของคุณลองเอาพื้นที่เก็บข้อมูลจาก พยายามดึงรายการบนเซิร์ฟเวอร์ของคุณด้วย wget และวาง URL:

wget link-to-server-repository/repomd.xml

หากสิ่งนี้สร้างการหมดเวลาแสดงว่ามีปัญหากับการตั้งค่าไฟร์วอลล์หรือพร็อกซีของคุณ ลองปิดไฟร์วอลล์ของคุณ

หากคุณกำลังใช้งานcsf(ConfigServer Security และ Firewall) และlfdคุณสามารถปิดการใช้งาน csf ด้วย:

csf -x

ลองยำอีกครั้งและถ้าใช้งานได้คุณจะต้องกำหนดค่าของคุณcsfใหม่ เปิดใช้งานcsfอีกครั้งด้วย:

csf -e

และตรวจสอบการตั้งค่าพร็อกซีของคุณ คุณสามารถลองเปลี่ยน https ในเป็น http ในไฟล์/etc/yum.repos.d/. repo ที่


1
คำตอบนี้มีค่ามากเกินกว่า 4 upvotes = (
mveroone

ข้อมูลที่ดีมากมายที่นี่ การเพิ่มระดับการดีบักและการเรียกใช้yum --verbose --noplugins infoทำให้ฉันพบ "ข้อผิดพลาด: ไม่สามารถดึงข้อมูลเมตาของที่เก็บ (repomd.xml) สำหรับที่เก็บ: ฐานโปรดยืนยันเส้นทางและลองอีกครั้ง" ซึ่งฉันกำลังตรวจสอบอยู่ตอนนี้ DNS ของฉันใช้งานได้ซึ่งไม่น่าเป็นปัญหา
harperville

3
จุดสำคัญที่ดูเหมือนจะหายไปในคำตอบนี้คือyum checkอาจใช้เวลาหลายชั่วโมงกว่าจะเสร็จสมบูรณ์! ข้อมูลเพิ่มเติม: centos.org/forums/viewtopic.php?f=14&t=46676
gmas80

รหัสแรกคือสิ่งที่ทำงานกับฉัน .. ขอบคุณ
เฮอร์ Abuthraa

การล้างข้อมูลบนฐานข้อมูลก็ใช้ได้สำหรับฉันเช่นกัน
frostymarvelous

2

ฉันมีปัญหาที่คล้ายกัน มันจะกลายเป็นที่อยู่ DNS resolv.confเก่า ฉันเปลี่ยน IP เป็นอันที่ถูกต้องและแก้ไขปัญหาได้


ภายใต้ Vagrant สิ่งนี้สามารถเกิดขึ้นได้เช่นกัน
bbaassssiiee

0

มีปัญหาที่คล้ายกันและเหตุผลก็คือมีไฟล์ yum lock /var/run/yum.pidซึ่ง yum ที่รันก่อนหน้านี้ทิ้งไว้เนื่องจากข้อผิดพลาดร้ายแรง

ฉันลบมันด้วยsudo rm /var/run/yum.pidและปัญหาได้รับการแก้ไข


0

ขออภัยมีชื่อเสียงไม่เพียงพอที่จะถามเกี่ยวกับความคิดเห็นนี้ด้านบน:

ลองใช้วิธีนี้ฉันสังเกตว่าทุกอย่างจะทำงานได้ดีเมื่อใช้ --noplugins หลังจากการค้นหาแบบไบนารี่ท่ามกลางปลั๊กอินฉันพบว่าการสมัครสมาชิกผู้จัดการเป็นสาเหตุหนึ่งของปัญหาทั้งหมด ฉันปิดการใช้งานและvoilà! - Mariuslp

@mariuslp ฉันสามารถเรียกใช้ yum ได้ด้วยการเพิ่ม --noplugins เท่านั้น คุณสามารถให้รายละเอียดเพิ่มเติมเกี่ยวกับวิธีการที่คุณ "ค้นหาไบนารีจากปลั๊กอิน" และสิ่งที่ทำให้คุณค้นหาสิ่งที่ก่อให้เกิดปัญหา? ขอบคุณ!

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