ням висит и не отвечает

37

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

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

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

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

barrrista
источник

Ответы:

22

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

nslookup google.com

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

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

Garrett
источник
1
Я получил IP обратно от этой команды. timedhosts.txt был пустым текстовым файлом, но я все равно пытался его удалить. Затем я снова выполняю команду yum. К сожалению, безуспешно. Это все еще висит в том же месте, "Определение самых быстрых зеркал". Если я запускаю verbose, я получаю плагин Loading "fastestmirror" Время конфигурации: 0.094 Yum Версия: 3.2.22 Настройка пакетов-пакетов Загрузка скоростей зеркала из кэшированного хост-файла
barrrista
10
Чтобы исключить проблему с плагином fasttestmirror, попробуйте запустить 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 and Firewall) и lfdвы можете отключить csf с помощью:

csf -x

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

csf -e

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

user179734
источник
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
Первый код это то, что работало со мной .. спасибо.
Махер Абутраа
Очистка базы данных тоже сработала у меня
морозно
2

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

Джо Сулковски
источник
Под Вагрантом это тоже может случиться.
bbaassssiiee
0

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

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

bekce
источник
0

Извините, у вас недостаточно репутации, чтобы спросить об этом комментарии выше:

Пробуя это решение, я заметил, что все будет работать нормально при использовании --noplugins. После бинарного поиска среди плагинов я обнаружил, что именно администратор подписок вызвал все проблемы. Я отключил его и вуаля! - Mariuslp

@mariuslp, я также могу запустить yum только добавив --noplugins. Можете ли вы предоставить более подробную информацию о том, как вы выполняли «бинарный поиск среди плагинов» и что в результате этого поиска привело вас к определению причины проблемы? Благодарность!

cniggeler
источник