4.3 Обновление репозитория

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 base7.3 --downloadcomps --download-metadata --norepopath

3) Обновите метаданные репозитория для сертифицированная версии РЕД ОС 7.2:

createrepo --update /var/www/html/repo/red-os-7.2c/base7.2c/

3) Обновите метаданные репозитория версии РЕД ОС 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.

Print Friendly, PDF & Email