Вопрос или проблема
Я запускаю CentOS 9 Stream на двух машинах: Beelink (работает) и Zotac (не работает). Управляю обеими с помощью Ansible.
У них одинаковые списки репозиториев, но при поиске одних и тех же пакетов Zotac не находит популярные пакеты (pipx, xrdp, eza…).
[root@zotac ~]# dnf repolist
идентификатор репозитория название репозитория
appstream CentOS Stream 9 - AppStream
baseos CentOS Stream 9 - BaseOS
copr:copr.fedorainfracloud.org:atim:lazygit Copr репозиторий для lazygit, принадлежащий atim
crb CentOS Stream 9 - CRB
epel-cisco-openh264 Дополнительные пакеты для Enterprise Linux 9 openh264 (от Cisco) - x86_64
epel-next Дополнительные пакеты для Enterprise Linux 9 - Next - x86_64
extras-common CentOS Stream 9 - дополнительные пакеты
packages-microsoft-com-prod packages-microsoft-com-prod
...
[root@zotac ~]# dnf info --refresh pipx
Последняя проверка срока действия метаданных: 0:04:25 назад в среду, 09 октября 2024 г., 22:12:45 EDT.
Ошибка: Не найдено подходящих пакетов для отображения
[root@beelink ~]# dnf repolist
идентификатор репозитория название репозитория
appstream CentOS Stream 9 - AppStream
baseos CentOS Stream 9 - BaseOS
copr:copr.fedorainfracloud.org:atim:lazygit Copr репозиторий для lazygit, принадлежащий atim
crb CentOS Stream 9 - CRB
epel-cisco-openh264 Дополнительные пакеты для Enterprise Linux 9 openh264 (от Cisco) - x86_64
epel-next Дополнительные пакеты для Enterprise Linux 9 - Next - x86_64
extras-common CentOS Stream 9 - дополнительные пакеты
packages-microsoft-com-prod packages-microsoft-com-prod
...
[root@beelink ~]# dnf info --refresh pipx
Последняя проверка срока действия метаданных: 3:09:05 назад в среду, 09 октября 2024 г., 19:08:29 EDT.
Установленные пакеты
Название : pipx
Версия : 1.2.1
Выпуск : 1.el9
Архитектура : noarch
Размер : 312 k
Источник : pipx-1.2.1-1.el9.src.rpm
Репозиторий : @System
Из репозитория : epel
Краткое описание : Установка и запуск Python приложений в изолированных средах
URL : https://pypa.github.io/pipx
Ответ или решение
Проблема, с которой вы столкнулись, заключается в том, что на одном из ваших серверов (zotac) DNF не может найти пакеты, которые успешно находятся на другом сервере (beelink), несмотря на то, что репозитории совпадают. Это может быть вызвано несколькими причинами. Я предлагаю следующие шаги для решения этой проблемы:
-
Проверьте наличие репозитория EPEL: Пакеты
pipx
,xrdp
,eza
часто находятся в репозитории EPEL (Extra Packages for Enterprise Linux). Убедитесь, что у вас установлены и активированы все необходимые репозитории EPEL. Для этого выполните:dnf install epel-release
-
Обновите метаданные репозиториев: Возможно, кэши DNF на zotac устарели. Попробуйте обновить метаданные с помощью следующей команды:
dnf clean all dnf makecache
-
Проверьте файл конфигурации репозитория: Убедитесь, что файлы конфигурации репозиториев на обоих серверах (включая
epel
) не содержат ошибок и правильно настроены. Проверьте, например,/etc/yum.repos.d/
. -
Проверка сетевых проблем: Убедитесь, что сервер zotac имеет доступ к интернету для обновления репозиториев. Попробуйте отправить ping на известный адрес, например:
ping google.com
-
Просмотр логов DNF: Вы можете просмотреть логи DNF, чтобы выяснить, почему пакеты не находятся. Логи можно найти по пути
/var/log/dnf.log
. -
Убедитесь в правильности архитектуры: Проверьте, что архитектура вашей системы соответствует архитектуре доступных пакетов. Если ваш сервер zotac — это ARM и вы ищете x86_64 пакеты, то, естественно, DNF не найдет их.
-
Установка через локальные файлы: Если вышеуказанные шаги не помогли, вы можете попробовать установить необходимые пакеты с локальных RPM-файлов, если они доступны.
-
Сравнение систем: Наконец, если проблема сохранится, рекомендуется выполнить сравнение системных библиотек и установленных пакетов на обеих машинах. В частности, поищите пакеты, которые могут конфликтовать или отсутствовать.
Если после выполнения всех этих шагов проблема не решится, предоставьте дополнительную информацию о выводах команд и любых ошибках, которые вы видите. Это поможет более точно диагностировать проблему.