yum зависает и не отвечает

yum зависает и не отвечает

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

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

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

Есть предложения по исправлению?

решение1

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

nslookup google.com

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

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

решение2

Со мной все это не сработало.

Использую 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 без плагинов (например, faster mirror и prioritys) с опцией --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 (указанный выше с помощью link-to-server-repository) в вашем веб-браузере. Скопируйте и вставьте его из вашего ответа 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/.

решение3

В моем случае это был затянувшийся файл блокировки базы данных RPM, /var/lib/rpm/.dbenv.lockкоторый заставлял команды yum зависать. После удаления этого файла yum можно было использовать снова.

решение4

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

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

Связанный контент