35

Я запускаю yum check-update и он зависает после 2 строк вывода:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

Я не уверен, что происходит. Последнее, что я помню, когда делал с yum, было "yum update" и смотрел одно из репозиториев Centos yum, но я не внес никаких изменений.

Любые предложения, чтобы исправить ням?

4 ответа4

59

Все это не работает со мной.

Использование 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 and Firewall) и lfd вы можете отключить csf с помощью:

csf -x

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

csf -e

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

21

У вас может быть проблема с DNS. Убедитесь, что вы можете разрешить DNS-записи локально:

nslookup google.com

Если вы получите IP-адрес от этой команды, вы должны быть в порядке для DNS. Попробуйте затем удалить кеш fasttestmirror и снова запустить команду yum:

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

2

У меня была похожая проблема. Это оказался старый DNS-адрес в resolv.conf . Я изменил IP на правильный, и это решило проблему.

0

Была похожая проблема, и причиной было наличие файла блокировки yum /var/run/yum.pid где предыдущий запуск yum оставил его из-за фатальной ошибки.

Я удалил его с помощью sudo rm /var/run/yum.pid и проблема была решена.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .