yum bị treo và sẽ không trả lời


37

Tôi đang chạy yum check-updatevà nó đóng băng sau 2 dòng đầu ra:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

Tôi không chắc chuyện gì đang xảy ra. Điều cuối cùng tôi nhớ làm với yum là yum updatevà nhìn vào một trong những repos của CentOS nhưng tôi đã không thực hiện bất kỳ thay đổi nào.

Bất kỳ đề nghị để sửa chữa yum?

Câu trả lời:


22

Bạn có thể có một vấn đề DNS. Cố gắng đảm bảo bạn có thể giải quyết các bản ghi DNS cục bộ:

nslookup google.com

Nếu bạn lấy lại IP từ lệnh đó, bạn sẽ ổn với DNS. Hãy thử sau đó xóa bộ đệm cache nhanh nhất và chạy lại lệnh yum của bạn:

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


1
Tôi đã nhận được một IP trở lại từ lệnh đó. timedhosts.txt là một tệp văn bản trống nhưng tôi đã cố gắng loại bỏ nó. Sau đó tôi chạy lại lệnh yum của tôi. Đáng tiếc là không thành công. Nó vẫn treo ở cùng một nơi, "Xác định gương nhanh nhất". Nếu tôi chạy tiết, tôi nhận được tải "fastestmirror" plugin thời gian Config: 0.094 Yum Version: 3.2.22 Setting lên tốc độ tải gương Gói Sacks từ hostfile cache
barrrista

10
Để loại trừ sự cố với plugin quickmirror, hãy thử chạy yum mà không cần bất kỳ plugin nào:yum --noplugins check-update
Garrett

67

Tất cả điều này đã không làm việc với tôi.

Sử dụng CentOS và yum. yum bị treo mà không có thông báo lỗi, ít nhất, vì vậy nó xuất hiện. Nhấn Ctrl+ Ckhông hoạt động (nhấn nó nhiều lần và một lần nữa).

Một số điều cần được kiểm tra: - các kho lưu trữ có ổn không? - Mạng có ổn không? - cơ sở dữ liệu yum và vòng / phút có ổn không?

Vì vậy, trước tiên hãy bắt đầu với những thứ dễ dàng - làm sạch cơ sở dữ liệu:

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

Nếu điều đó không hiệu quả, bạn có thể đặt mức gỡ lỗi, mức lỗi và thời gian chờ cho yum trong /etc/yum.conf:

debuglevel=1
errorlevel=1
timeout=1

Thời gian chờ là 30 giây tiêu chuẩn. Vì vậy, nếu một kho lưu trữ không phản hồi, lỗi sẽ mất 30 giây để xuất hiện. Ngoài ra, hãy thử sử dụng yum mà không có plugin (như gương ưu tiên và ưu tiên nhanh nhất) với tùy chọn --noplugins. Bây giờ bắt đầu lại yum sẽ cung cấp cho bạn thêm thông tin nhanh hơn. Kiểm tra với:

yum --verbose --noplugins info

Bạn có thể nhận được một cái gì đó như thế này:

 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.

Điều này cho thấy không có thông tin có thể nhận được từ máy chủ. Hãy thử URL được hiển thị bởi yum (được chỉ ra ở trên với kho lưu trữ liên kết đến máy chủ) trong trình duyệt web của bạn. Sao chép và dán nó từ phản hồi yum của bạn, không phải từ bài viết này! Nếu bạn nhận được một danh sách, bạn biết kho lưu trữ đang trực tuyến.

Nếu bạn gặp lỗi trong trình duyệt của mình, hãy thử xóa kho lưu trữ đó khỏi /etc/yum.repos.d. Cố gắng tìm nạp danh sách trên máy chủ của bạn bằng wget và dán URL:

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

Nếu điều này tạo ra thời gian chờ, thì có vấn đề với cài đặt tường lửa hoặc proxy của bạn. Cố gắng vô hiệu hóa tường lửa của bạn.

Nếu bạn đang chạy csf(ConfigServer Security and Firewall) và lfdbạn có thể tắt csf bằng:

csf -x

Hãy thử lại lần nữa và nếu nó hoạt động, bạn sẽ phải cấu hình lại csf. Kích hoạt csflại với:

csf -e

Và cũng kiểm tra cài đặt proxy của bạn. Bạn cũng có thể thử thay đổi https trong thành http trong các tệp .repo tại /etc/yum.repos.d/.


1
Câu trả lời này có giá trị hơn rất nhiều so với 4
upvote

Rất nhiều thông tin tốt ở đây. Việc tăng mức độ gỡ lỗi và chạy yum --verbose --noplugins infođã khiến tôi tìm thấy "Lỗi: Không thể truy xuất siêu dữ liệu của kho lưu trữ (repomd.xml) cho kho lưu trữ: cơ sở. Vui lòng xác minh đường dẫn của nó và thử lại" mà tôi đang điều tra ngay bây giờ. DNS của tôi đang hoạt động nên không phải là vấn đề.
harperville

3
Một điểm quan trọng dường như còn thiếu trong câu trả lời này là yum checkcó thể mất hàng giờ để hoàn thành! Thông tin thêm: centos.org/forums/viewtopic.php?f=14&t=46676
gmas80

Mã đầu tiên là những gì làm việc với tôi .. cảm ơn.
Maher Abuthraa

Dọn dẹp cơ sở dữ liệu cũng làm việc với tôi
frostymarvelous

2

Tôi đã có một vấn đề tương tự. Hóa ra đó là một địa chỉ DNS cũ resolv.conf. Tôi đã thay đổi IP thành đúng, và nó đã khắc phục vấn đề.


Theo Vagrant điều này cũng có thể xảy ra.
bbaassssiiee

0

Có một vấn đề tương tự và lý do là sự hiện diện của tệp khóa yum /var/run/yum.pidtrong đó một lần chạy yum trước đó đã để lại nó vì một lỗi nghiêm trọng.

Tôi loại bỏ nó với sudo rm /var/run/yum.pidvà vấn đề đã được giải quyết.


0

Xin lỗi, không có đủ danh tiếng để hỏi về nhận xét này ở trên:

Thử giải pháp này, tôi nhận thấy mọi thứ sẽ chạy tốt khi sử dụng --noplugins. Sau khi tìm kiếm nhị phân giữa các plugin, tôi thấy rằng trình quản lý đăng ký là thứ gây ra tất cả rắc rối. Tôi đã vô hiệu hóa nó và voilà! - Mariuslp

@mariuslp, tôi cũng chỉ có thể chạy yum bằng cách thêm --noplugins. Bạn có thể cung cấp chi tiết hơn về cách bạn đã thực hiện "tìm kiếm nhị phân giữa các plugin" không và điều gì trong tìm kiếm đó khiến bạn xác định được điều gì gây ra sự cố? Cảm ơn!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.