4.2 Создание локального репозитория

Предварительная подготовка сервера
Зеркало для репозитория РЕД ОС 7.1
Зеркало для репозитория РЕД ОС 7.2 открытой редакции
Зеркало для репозитория РЕД ОС 7.2 сертифицированной редакции
Настройка на клиентском ПК
Настройка обновления репозитория

Предварительная подготовка сервера

Действия по подготовке сервера к разворачиванию локального репозитория выполняются от имени пользователя root

su root

1) На сервере, где будет располагаться репозиторий, переведите selinux в режим уведомлений

Для этого отредактируйте файл /etc/selinux/config

nano /etc/selinux/config

Укажите для параметра SELINUX значение permissive:

SELINUX=permissive

Можно командой:

sudo sed -i "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config

Выполните команду

setenforce 0

Или перезагрузите сервер.

reboot

2) Установите httpd

yum install httpd -y

Отредактируйте конфигурационный файл

nano /etc/httpd/conf/httpd.conf

Выставите значения параметра Options, как показано ниже

Options Indexes Includes

Можно командой:

sudo sed -i "s/Options Indexes FollowSymLinks/Options Indexes Includes/" /etc/httpd/conf/httpd.conf

3) Добавьте в автозагрузку и запустите httpd

systemctl enable httpd --now

4) Установите пакет createrepo

yum install createrepo -y
В подразделе Настройка на клиентском ПК приводится информация о настройке клиентского ПК — с изменением адреса в файлах .repo.
Можно добавить запись repo.red-soft.ru = ip-адрес_сервера в ваш ДНС-сервер. В этом случае менять конфигурацию на клиенте не потребуется.

В качестве примеров создаются три зеркала репозиториев: РЕД ОС 7.1 и РЕД ОС 7.2 (открытая и сертифицированная редакции)

Зеркало для репозитория РЕД ОС 7.1

Создайте запись для репозиториев в каталоге /etc/yum.repos.d/

nano /etc/yum.repos.d/red.os.7.1.repo

с содержимым

[base7.1]
name=RedOS - Base 7.1
baseurl=http://repo.red-soft.ru/redos/a1/$basearch/os
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RED-SOFT

Создайте каталог для репозиториев. Вы можете также создать любой другой каталог для репозитория и создать ссылку на этот каталог в каталоге /var/www/html.

mkdir /var/www/html/repo
cd /var/www/html/repo

Создайте директорию для репозитория РЕД ОС 7.1

mkdir red-os-7.1/

Скачайте в неё пакеты репозитория. На машине должен быть доступ к интернету.

cd red-os-7.1/
reposync -r base7.1

В окне терминала выполняем следующую команду:

createrepo /var/www/html/repo/red-os-7.1/base7.1

Репозиторий РЕД ОС 7.1 развёрнут и готов к работе.

Зеркало для репозитория РЕД ОС 7.2 открытой редакции

Создайте запись для репозитория в каталоге /etc/yum.repos.d/

nano /etc/yum.repos.d/red.os.7.2.repo

с содержимым

# RedOS-Open.repo 
#
[base7.2]
name=RedOS Open - Base 7.2
baseurl=http://repo.red-soft.ru/redos/7.2/$basearch/os
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RED-SOFT

Создайте каталог для репозиториев. Вы можете также создать любой другой каталог для репозитория и создать ссылку на этот каталог в каталоге /var/www/html.

mkdir /var/www/html/repo
cd /var/www/html/repo

Создайте директорию для репозитория РЕД ОС 7.2 открытой редакции:

mkdir red-os-7.2/

Скачайте в неё пакеты репозитория. На машине должен быть доступ к интернету.

cd red-os-7.2/
reposync -r base7.2

В окне терминала выполняем следующую команду:

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

Репозиторий для РЕД ОС 7.2 открытой редакции готов.

Важно

По аналогии создайте зеркало репозитория с обновлениями системы — RedOS - Updates

Конфигурация репозитория RedOS - Updates находится в файле /etc/yum.repos.d/RedOS-Updates.repo

Обратите внимание на следующие параметры:

  1. Идентификатор (название) репозитория в квадратных скобках — репозиторий для обновлений можно назвать, например, [updates7.2open]
  2. Ссылка на репозиторий — baseurl=http://repo.red-soft.ru/redos/7.2/$basearch/updates

Зеркало для репозитория РЕД ОС 7.2 сертифицированной редакции

Создайте запись для репозитория в каталоге /etc/yum.repos.d/

nano /etc/yum.repos.d/red.os.7.2c.repo

с содержимым

# RedOS-Cert.repo
#
[base7.2c]
name=RedOS Cert - Base 7.2c
baseurl=http://repo.red-soft.ru/redos/7.2c/$basearch/os
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RED-SOFT

Создать конфигурационный файл можно следующей командой:

echo -e '# RedOS-Cert.repo
#
[base7.2c]
name=RedOS Cert - Base 7.2c
baseurl=http://repo.red-soft.ru/redos/7.2c/$basearch/os
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RED-SOFT' > /etc/yum.repos.d/red.os.7.2c.repo

Создайте каталог для репозиториев. Вы можете также создать любой другой каталог для репозитория и создать ссылку на этот каталог в каталоге /var/www/html.

mkdir /var/www/html/repo
cd /var/www/html/repo

Создайте директорию для репозитория РЕД ОС 7.2 сертифицированной редакции:

mkdir red-os-7.2c/

Скачайте в неё пакеты репозитория. На ПК должен быть доступ к интернету.

cd red-os-7.2c/
reposync -r base7.2c

В окне терминала выполняем следующую команду:

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

Пример работы команды:

# createrepo /var/www/html/repo/red-os-7.2c/base7.2c
Spawning worker 0 with 27700 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

Репозиторий для РЕД ОС 7.2 сертифицированной редакции готов.

Важно

По аналогии создайте зеркало репозитория с обновлениями системы — RedOS - Updates

Конфигурация репозитория RedOS - Updates находится в файле /etc/yum.repos.d/RedOS-Updates.repo

Обратите внимание на следующие параметры:

  1. Идентификатор (название) репозитория в квадратных скобках — репозиторий для обновлений можно назвать, например, [updates7.2c]
  2. Ссылка на репозиторий — baseurl=http://repo.red-soft.ru/redos/7.2c/$basearch/updates

Настройка на клиентском ПК

Для подключения локального репозитория на клиенте отредактируйте сетевой путь к репозиторию в файле /etc/yum.repos.d/RedOS-Base.repo

nano /etc/yum.repos.d/RedOS-Base.repo

Измените значение параметра baseurl, вписав путь к вашему репозиторию, например:

baseurl=http://192.168.0.1/repo/red-os-7.2c/base7.2c

Можно командой (укажите ip-адрес своего сервера с локальным репозиторием):

sed -i "s;baseurl.*;baseurl=http://192.168.0.1/repo/red-os-7.2c/base7.2c;" /etc/yum.repos.d/RedOS-Base.repo

В иных репозиториях, которые находятся по пути /etc/yum.repos.d/, измените значение параметра enabled на enabled=0, чтобы не возникало конфликтов.

Оставить активными только репозитории RedOS-Base.repo и RedOS-Updates.repo и отключить остальные репозитории можно следующими командами:

su root
for FILE in /etc/yum.repos.d/*.repo; do sed -nr -i '/^enabled=/!p;$aenabled=0' $FILE; done
sed -i "s/enabled.*/enabled=1/" /etc/yum.repos.d/RedOS-Base.repo
sed -i "s/enabled.*/enabled=1/" /etc/yum.repos.d/RedOS-Updates.repo

Обновите информацию о репозиториях, для этого выполните следующие команды:

yum clean all
yum repolist

Настройка обновления репозитория

Для обновления пакетов репозитория воспользуйтесь нашей статьей

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email