Вопрос или проблема
У меня есть CentOS 5, и я пытаюсь выполнить yum install php-soap
, но установщик повисает, и последний шаг – Running Transaction Test
.
Я выяснил, что проблема в NFS-шарах. Смотрите здесь или здесь или здесь. Я пытался размонтировать все, что появилось при вводе cat /etc/mtab | grep nfs
. Я также пытался использовать umount -a -t nfs
. Затем я выполнил команду установки. Но это не сработало.
strace yum -y update
показывает мне много строк, но я не могу из этого получить смысл.
Кроме того, я пробовал
/bin/rm /var/lib/rpm/__db.*
cd /var/cache/yum
/bin/rm -rf *
yum clean all
yum update
но все еще повисает.
Мне нужно удалить монтирования с другого сервера к этой машине?
Просто выполните эти шаги:
1. Убейте все процессы RPM и yum (rhn_check, yum, rpm, rhn-applet):
ps -axwww | grep rpm
В списке процессов первое число в каждой строке – это PID. Для всех перечисленных PID, кроме связанного с grep:
kill -9
Повторите вышеописанные шаги для каждой из перечисленных программ.
- Удалите любые файлы блокировки RPM (/var/lib/rpm/__db*):
rm -rf /var/lib/rpm/__db*
- Пересоберите базу данных RPM:
rpm –rebuilddb
Хорошего времени.
Ответ или решение
При установке пакета php-soap
на CentOS 5 с помощью команды yum install php-soap
, иногда возникает проблема, когда установка зависает на этапе "Running Transaction Test". Это довольно распространенная ситуация, которая может быть вызвана различными факторами, в частности, использованием NFS (Network File System).
Проблема
Ваша проблема, похоже, связана с зависанием процесса, который отвечает за проверку транзакции. Это часто происходит из-за того, что система пытается получить доступ к файлам на NFS-ресурсах, которые могут быть временно недоступны или вызывают конфликты. Ваша попытка размонтировать NFS-ресурсы не решила проблему, что указывает на более серьезные неисправности в системной конфигурации или в самом yum/rpm.
Решение
Чтобы устранить эту проблему, выполните следующие шаги:
-
Завершите все процессы RPM и YUM:
- Введите команду:
ps -axwww | grep rpm
Это покажет вам список процессов RPM. Обратите внимание на PID (идентификатор процесса) всех ненужных процессов и завершите их, используя:
kill -9 <PID>
- Введите команду:
-
Удалите файлы блокировки RPM:
- Эти файлы могут мешать нормальной работе системы. Для их удаления выполните:
rm -rf /var/lib/rpm/__db*
- Эти файлы могут мешать нормальной работе системы. Для их удаления выполните:
-
Перестройте базу данных RPM:
- После удаления файлов блокировки вам следует восстановить базу данных RPM, выполнив команду:
rpm --rebuilddb
- После удаления файлов блокировки вам следует восстановить базу данных RPM, выполнив команду:
-
Очистите кэш yum:
- Возможно, потребуется очистить кэш
yum
, поскольку устаревшие или поврежденные метаданные могут вызвать проблемы. Для этого используйте:yum clean all
- Возможно, потребуется очистить кэш
-
Попробуйте переустановить пакет:
- После выполнения вышеуказанных действий попробуйте снова установить пакет:
yum install php-soap
- После выполнения вышеуказанных действий попробуйте снова установить пакет:
Дополнительные советы
-
Проверка NFS: Возможно, стоит проверить, стабильны ли NFS-монтирования. Если сервер, на котором расположен NFS, временно недоступен, это может вызвать зависания.
-
Логи: Проверьте системные журналы (
/var/log/messages
или/var/log/yum.log
), поскольку в них могут быть указаны причины, по которымyum
не может завершить операцию. -
Обновление системного ПО: Учитывая, что вы используете устаревшую версию CentOS 5, рассмотрите возможность обновления системы до более новой версии. Это обеспечит не только исправление ошибок в пакетах, но и улучшит безопасность системы.
Заключение
Если после выполнения всех указанных шагов проблема все еще не решена, возможно, стоит рассмотреть возможности использования альтернативных инструментов для управления пакетами, таких как dnf
в новых версиях CentOS, или обратиться в специализированные форумы для получения дополнительной помощи.