ням висить і не відповість


37

Я бігаю, yum check-updateі він замерзає після 2 рядків виводу:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

Я не впевнений, що відбувається. Останні речі, які я пам’ятаю, робили з yum, були yum updateі дивилися на один з CentOS yum repos, але я не вносив жодних змін.

Будь-які пропозиції виправити yum?

Відповіді:


22

У вас може виникнути проблема з DNS. Постарайтеся переконатися, що ви можете локально вирішувати записи DNS:

nslookup google.com

Якщо ви повернете IP-адресу з цієї команди, вам слід буде добре для DNS. Спробуйте потім видалити найшвидший кеш-дзеркало та повторно запустити свою команду yum:

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


1
Я отримав IP-адресу від цієї команди. timedhosts.txt був порожнім текстовим файлом, але я все одно намагався його видалити. Потім я переробив свою команду yum. На жаль, успіху немає. Він все ще висить на тому самому місці, "Визначаючи найшвидші дзеркала". Якщо я запускаю багатослівний, я отримую завантажувальний плагін "fasttestmirror" Час конфігурації: 0.094 Yum Версія: 3.2.22 Налаштування пакетних мішків Завантаження швидкості дзеркала з кешованого файлу хоста
barrrista

10
Щоб виключити проблему з найшвидшим плагіном-дзеркалом, спробуйте запустити yum без будь-яких плагінів:yum --noplugins check-update
Garrett

67

Все це зі мною не спрацювало.

Використання CentOS та yum. 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 знову, потрібно швидше давати вам більше інформації. Тест за допомогою:

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 (вказаний вище із посиланням на сервер-сховище) у вашому веб-браузері. Скопіюйте та вставте його зі свого відгуку, а не з цієї публікації! Якщо ви отримаєте список, ви знаєте, що сховище в Інтернеті.

Якщо у вашому браузері з’явилася помилка, спробуйте видалити це сховище /etc/yum.repos.d. Спробуйте отримати список на своєму сервері за допомогою wget та вставити URL-адресу:

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

Якщо це створює час очікування, виникає проблема з налаштуваннями вашого брандмауера або проксі. Спробуйте відключити брандмауер.

Якщо ви працюєте csf(ConfigServer Security і брандмауер) і lfdви можете відключити csf за допомогою:

csf -x

Спробуйте знову, і якщо це спрацює, вам доведеться переналаштувати свій csf. Включити csfзнову:

csf -e

А також перевірте свої настройки проксі. Ви також можете спробувати змінити https на http у файлах .repo за адресою /etc/yum.repos.d/.


1
Ця відповідь вартує набагато більше, ніж 4 оновлення = (
mveroone

Тут багато хорошої інформації. Підвищення рівня налагодження та запущена робота yum --verbose --noplugins infoзмусили мене знайти "Помилка. Неможливо отримати метадані репозиторію (repomd.xml) для сховища: base. Будь ласка, перевірте його шлях та повторіть спробу", яку я зараз досліджую. Мій DNS працює так, що це не повинно бути проблемою.
harperville

3
Важливий момент, який, здається, відсутній у цій відповіді, - це yum checkможе зайняти години! Більше інформації: centos.org/forums/viewtopic.php?f=14&t=46676
gmas80

Перший код - це те, що працювало зі мною .. дякую.
Махер Абутраа

Очищення бази даних працювало і для мене
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, я також можу запускати лише yum, додаючи --noplugins. Чи можете ви надати більш детальну інформацію про те, як ви робили "двійковий пошук серед плагінів" і що в результаті пошуку визначили, що спричиняло проблеми? Спасибі!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.