YUM: Загрузка успешна, но контрольная сумма не совпадает.

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

На RHEL9 я создал локальное YUM-репозиторий, скопировал все файлы в /RHEL9-REPO.

Содержимое /etc/yum.repos.d/rhel-lcoal.repo

[rhel-baseos]
name= RHEL 9.0 Local BaseOS YUM REPO
baseurl= file:///RHEL9-REPO/BaseOS
enabled=1
gpgcheck=0

[rhel-AppStream]
name= RHEL 9.0 Local AppStream YUM REPO
baseurl= file:///RHEL9-REPO/AppStream
enabled=1
gpgcheck=0

Когда я запускаю “dnf clean all” и “dnf repolist -v”, появляется эта ошибка

Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, kpatch, needs-restarting, playground, product-id, repoclosure, repodiff, repograph, repomanage, reposync, subscription-manager, uploadprofile
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

DNF version: 4.10.0
cachedir: /var/cache/dnf
RHEL 9.0 Local BaseOS YUM REPO                                                                                                             94 MB/s | 1.7 MB     00:00    
Errors during downloading metadata for repository 'rhel-baseos':
  - Downloading successful, but checksum doesn't match. Calculated: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855(sha256)  Expected: 951a2367c42d5c3fb70e6d8ad430d120cc32e639b361139eaf68d8d2c6569003(sha256) 
Error: Failed to download metadata for repo 'rhel-baseos': Yum repo downloading error: Downloading error(s): repodata/951a2367c42d5c3fb70e6d8ad430d120cc32e639b361139eaf68d8d2c6569003-productid.gz - Cannot download, all mirrors were already tried without success

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

createrepo -v /RHEL9-REPO/BaseOS/
createrepo -v RHEL9-REPO/AppStream

Эта команда может занять несколько минут, в зависимости от вашей машины и количества пакетов RPM.

dnf clean all
dnf repolist -v

Это решит вашу проблему.

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

Теория

Ошибка "Downloading successful, but checksum doesn’t match" при работе с локальным YUM-репозиторием в RHEL (Red Hat Enterprise Linux) указывает на то, что метаданные, включая контрольные суммы файлов, не совпадают с ожидаемыми. Это часто возникает, если метаданные репозитория не были должным образом созданы или обновлены. Контрольные суммы используются для проверки целостности и подлинности загружаемых файлов, что необходимо для предотвращения установки поврежденного или поддельного программного обеспечения.

Пример

Вы создали локальный YUM-репозиторий на машине с RHEL9, разместив все необходимые пакеты в директориях /RHEL9-REPO/BaseOS и /RHEL9-REPO/AppStream. Конфигурационные файлы репозитория находятся в /etc/yum.repos.d/rhel-local.repo и выглядят следующим образом:

[rhel-baseos]
name= RHEL 9.0 Local BaseOS YUM REPO
baseurl= file:///RHEL9-REPO/BaseOS
enabled=1
gpgcheck=0

[rhel-AppStream]
name= RHEL 9.0 Local AppStream YUM REPO
baseurl= file:///RHEL9-REPO/AppStream
enabled=1
gpgcheck=0

При выполнении команд dnf clean all и dnf repolist -v система выдает ошибку контрольной суммы, что указывает на проблему в метаданных репозитория.

Применение

Чтобы устранить данную ошибку, необходимо вручную создать или обновить метаданные для вашего локального репозитория. Это можно сделать с помощью утилиты createrepo. Выполните следующие команды для генерации правильных метаданных в директориях вашего репозитория:

createrepo -v /RHEL9-REPO/BaseOS/
createrepo -v /RHEL9-REPO/AppStream

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

После генерации метаданных необходимо очистить кэш DNF и заново загрузить репозиторий:

dnf clean all
dnf repolist -v

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

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

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