3.4.3 Обновление репозитория
1) Перейдите в сеанс пользователя root:
su -
Далее команды будут выполняться с правами пользователя root, если не указано иное.
2) Обновите данные о пакетах в основном репозитории.
- для РЕД ОС 7.1 или 7.2:
yum clean all yum repolist
для РЕД ОС 7.3 и старше:
dnf clean all dnf repolist
3) Синхронизируйте пакеты основного репозитория с локальным.
Пример для сертифицированного репозитория:
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 base7.3 --downloadcomps --download-metadata --norepopath
4) Обновите метаданные репозитория.
- для сертифицированной редакции РЕД ОС 7.2:
createrepo --update /var/www/html/repo/red-os-7.2c/base7.2c/
для репозитория РЕД ОС 7.3:
createrepo --update /var/www/html/repo/red-os-7.3/base7.3/ -g comps.xml
Также для обновления репозитория можно воспользоваться скриптом, приведенным в 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/repo/red-os-7.3 REPOIDS="base7.3 updates7.3" dnf makecache for REPOID in $REPOIDS; do if [[ -f "$DESTDIR/$REPOID/.repodata" ]]; then rm -rf $DESTDIR/$REPOID/.repodata fi reposync --repo $REPOID --newest-only --downloadcomps -p $DESTDIR if [[ -f "$DESTDIR/$REPOID/comps.xml" ]]; then createrepo --update $DESTDIR/$REPOID -g comps.xml else createrepo --update $DESTDIR/$REPOID fi done
В переменной DESTDIR укажите свой путь до местонахождения вашего репозитория.
В строковой переменной REPOIDS указываются идентификаторы ваших репозиториев, а в цикле скрипта обрабатывается каждый из них.
Следующим шагом добавьте этот скрипт в планировщик задач crontab.
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.