DNF с тем же репозиторием, возвращающим разные ответы.

Вопрос или проблема

Я запускаю 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), несмотря на то, что репозитории совпадают. Это может быть вызвано несколькими причинами. Я предлагаю следующие шаги для решения этой проблемы:

  1. Проверьте наличие репозитория EPEL: Пакеты pipx, xrdp, eza часто находятся в репозитории EPEL (Extra Packages for Enterprise Linux). Убедитесь, что у вас установлены и активированы все необходимые репозитории EPEL. Для этого выполните:

    dnf install epel-release
  2. Обновите метаданные репозиториев: Возможно, кэши DNF на zotac устарели. Попробуйте обновить метаданные с помощью следующей команды:

    dnf clean all
    dnf makecache
  3. Проверьте файл конфигурации репозитория: Убедитесь, что файлы конфигурации репозиториев на обоих серверах (включая epel) не содержат ошибок и правильно настроены. Проверьте, например, /etc/yum.repos.d/.

  4. Проверка сетевых проблем: Убедитесь, что сервер zotac имеет доступ к интернету для обновления репозиториев. Попробуйте отправить ping на известный адрес, например:

    ping google.com
  5. Просмотр логов DNF: Вы можете просмотреть логи DNF, чтобы выяснить, почему пакеты не находятся. Логи можно найти по пути /var/log/dnf.log.

  6. Убедитесь в правильности архитектуры: Проверьте, что архитектура вашей системы соответствует архитектуре доступных пакетов. Если ваш сервер zotac — это ARM и вы ищете x86_64 пакеты, то, естественно, DNF не найдет их.

  7. Установка через локальные файлы: Если вышеуказанные шаги не помогли, вы можете попробовать установить необходимые пакеты с локальных RPM-файлов, если они доступны.

  8. Сравнение систем: Наконец, если проблема сохранится, рекомендуется выполнить сравнение системных библиотек и установленных пакетов на обеих машинах. В частности, поищите пакеты, которые могут конфликтовать или отсутствовать.

Если после выполнения всех этих шагов проблема не решится, предоставьте дополнительную информацию о выводах команд и любых ошибках, которые вы видите. Это поможет более точно диагностировать проблему.

Оцените материал
Добавить комментарий

Капча загружается...