1) Для начала обновите данные о пакетах в основном репозитории
для РЕД ОС версии 7.1 или 7.2:
yum clean all yum repolist
для РЕД ОС версии 7.3 и старше:
dnf clean all dnf repolist
2) Синхронизируйте пакеты основного репозитория с локальным. Приведен пример для сертифицированного репозитория.
reposync -p /var/www/html/repo/red-os-7.2c/base7.2c/ -r base7.2c --norepopath
для РЕД ОС версии 7.3 пример синхронизации следующий:
reposync -p /var/www/html/repo/red-os-7.3/base7.3/ --repo base --norepopath
3) Обновите метаданные репозитория:
createrepo --update /var/www/html/repo/red-os-7.2c/base7.2c/
Также для обновления репозитория можно воспользоваться скриптом, приведенным в youtube-ролике, по созданию локального репозитория.
Если вы используете РЕД ОС версии 7.1 или 7.2, выполните команду:
#!/bin/bash DESTDIR=/var/www/html/redos/7.2/x86_64 REPOIDS="base updates" yum makecache for REPOID in $REPOIDS; do reposync --repoid=$REPOID --newest-only --gpgcheck --download_path=$DESTDIR rm -f $(repomanage --keep=1 --old $DESTDIR) rm -rf $DESTDIR/$REPOID/repodata createrepo -d $DESTDIR/$REPOID done
Если вы используете РЕД ОС версии 7.3 и старше, выполните команду:
#!/bin/bash DESTDIR=/var/www/html/redos/7.3/x86_64 REPOIDS="base updates" dnf makecache for REPOID in $REPOIDS; do reposync --repoid=$REPOID --newest-only --gpgcheck --download_path=$DESTDIR rm -f $(repomanage --keep=1 --old $DESTDIR) rm -rf $DESTDIR/$REPOID/repodata createrepo -d $DESTDIR/$REPOID done
В переменной DESTDIR укажите свой путь до местонахождения вашего репозитория.
В строковой переменной REPOIDS указываются идентификаторы ваших репозиториев, а в цикле скрипта обрабатывается каждый из них.
Следующим шагом добавьте этот скрипт в планировщик задач crontab.