обновление dnf с опцией nobest

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

Я получил следующую ошибку во время обновления:

Ошибка:
Проблема: невозможно установить лучший кандидат для обновления пакета glibc-gconv-extra-2.28-167.el8.x86_64

  • отсутствует пакет glibc-common = 2.28-181.el8, необходимый для glibc-gconv-extra-2.28-181.el8.x86_64

  • отсутствует пакет glibc(x86-64) = 2.28-181.el8, необходимый для glibc-gconv-extra-2.28-181.el8.x86_64
    (попробуйте добавить ‘–skip-broken’, чтобы пропустить пакеты, которые нельзя установить, или ‘–nobest’, чтобы использовать не только лучшие кандидатные пакеты)

Это вызвано нашей промежуточной системой (katello), которая пока не предоставляет этот пакет для этого этапа. Опция “–no-best” позволит мне обновить систему.

Как я могу оценить в таких случаях, какие последствия будет иметь такой способ обновления для моих систем и как мне решить, предоставлять ли этот пакет или просто использовать “–nobest” в любое время?

Я бы обвинил промежуточный репозиторий. В идеале репозиторий всегда должен находиться в согласованном состоянии, чтобы последние версии всех пакетов можно было устанавливать одновременно без конфликтов.

Поэтому идеальным решением было бы стремление достичь этого состояния.

Тем временем обновление с помощью “–no-best” кажется мне разумным. Может быть полезно сначала попробовать без “–no-best” и зафиксировать конкретные ошибки, которые произошли, чтобы отслеживать несоответствия промежуточного репозитория.

Ответ или решение

Ваша проблема связана с тем, что в стейджинг-репозиториях Katello не хватает необходимых пакетов для обновления системы. Ошибка свидетельствует о том, что для пакета glibc-gconv-extra-2.28-181.el8.x86_64 требуется версия glibc-common и glibc(x86-64), которые отсутствуют в вашем репозитории. В такой ситуации использование опции --nobest может помочь решить проблему обновления, позволяя системе устанавливать альтернативные, но возможно менее оптимальные версии пакетов.

Вот шаги, которые следует предпринять:

  1. Используйте параметр --nobest: Откройте терминал и выполните команду:

    dnf update --nobest

    Это позволит DNF установить доступные версии пакетов, даже если они не являются "лучшими" кандидатами, что может устранить проблемы с зависимостями.

  2. Оцените последствия:

    • Проверка совместимости: Использование менее новых версий пакетов может привести к несовместимостям с другими установленными пакетами или программами, которые могут ожидать более новые версии. Обязательно протестируйте систему после обновления, чтобы убедиться, что все работает корректно.
    • Логи изменений: Записывайте все ошибки и зависимые пакеты, с которыми вы столкнулись при обновлении без --nobest. Это может помочь выявить, какие пакеты необходимо обновить в вашем стейджинг-репозитории.
  3. Поддержка репозиториев: Важно работать с командой, ответственной за управление вашей стейджинг-системой, чтобы выяснить, когда планируется обновление необходимых пакетов. Это позволит вам избежать частых случаев, когда вам нужно будет прибегать к опции --nobest.

  4. Рекомендованная практика: В идеале, ваш репозиторий должен оставаться в согласованном состоянии, чтобы все необходимые пакеты и их версии были доступны для обновления. Стремитесь к тому, чтобы устранить источники разногласий между репозиториями, работая над поддержанием их в актуальном состоянии и синхронизированным.

В заключение, использование --nobest может быть временным решением, которое поможет вам поддерживать работоспособность системы, но старайтесь минимизировать зависимости от этого параметра, стремясь к более устойчивому состоянию репозиториев. Всегда проводить тестирование после обновления системы, чтобы убедиться в ее работоспособности.

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

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