Поиск по сайту:

Как создать локальный репозиторий Red Hat


На этой странице

  1. Установите пакеты, необходимые для репозиториев.
  2. Создайте каталоги для своих репозиториев.
  3. Полезные команды
  4. Синхронизировать репозитории
  5. Команда создания репозитория
  6. Настройка клиентских серверов
  7. Создайте сценарий и задание Cron для обновления ваших репозиториев
  8. Заключительные мысли
  9. Источники

Есть много причин, по которым вам может понадобиться локальный репозиторий Red Hat Enterprise Linux. Пропускная способность является основным фактором, поскольку загрузка обновлений из Интернета может занимать много времени и пропускной способности. Другая причина может заключаться в том, что ваши серверы не подключены к Интернету и поэтому должны получать обновления из локального источника. У вас может быть среда разработки, для которой вы бы предпочли не тратить деньги на лицензии, но которую все же необходимо обновить. Какой бы ни была ваша причина, это руководство проведет вас через процесс настройки вашего локального репозитория. ;var slotId=div-gpt-ad-howtoforge_com-box-3-0;var ffid=1;var alS=1002%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins=document.createElement(ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins. набор данных.fullWidthResponsive=true;}

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

Установите пакеты, необходимые для репозиториев

yum install yum-utils createrepo httpd

Создайте каталоги для ваших репозиториев

mkdir /var/www/html/rhel6
mkdir /var/www/html/rhel6/server
mkdir /var/www/html/rhel6/dts
mkdir /var/www/html/rhel6/dts2
mkdir /var/www/html/rhel6/rhsc

Полезные команды

Перечислите репозитории на вашем сервере как включенные, так и отключенные.

yum repolist all

Перечислите репозитории, доступные по вашей подписке

subscription-manager repos --list

Включите репозиторий в вашей системе

subscription-manager repos --enable=rhel-6-server-optional-rpms

Отключить репозиторий в вашей системе

subscription-manager repos --disble=rhel-6-server-optional-rpms

Мы хотим, чтобы репозитории server, dts и rhsc (коллекции программного обеспечения) были включены в репозиторий.

Синхронизировать репозитории

После того, как все эти репозитории были включены, выполните следующую команду для всех из них, изменив путь загрузки для каждого, чтобы он соответствовал пути загрузки для этого репозитория.

reposync --gpgcheck -l --repoid=repoid --download_path=/var/www/html/rhel6/repo_name --downloadcomps --download-metadata

Команда создания репозитория

После загрузки пакетов все, что необходимо, — это команда createrepo ниже для каждого репо.

createrepo -v /var/www/html/rhel6/repo_name/ -g comps.xml

Настройка клиентских серверов

Теперь у вас есть локальный репозиторий, но вам нужно внести некоторые изменения на ваши серверы Red Hat, которые будут использовать эти репозитории для обновлений.

Сначала убедитесь, что для всех других репозиториев флаг Enabled установлен на 0 (ноль) в файле репо в /etc/yum.repos.d. Я бы не стал удалять репозитории на данный момент, потому что они могут вам понадобиться позже. Достаточно просто изменить включенный флаг.

Теперь вам нужно создать файл .repo, который будет добавлен в каталог /etc/yum.repos.d на каждом сервере, использующем репозитории. Этот файл должен быть похож на следующий файл.

vi /etc/yum.repos.d/name_of_repo_file.repo
[server]
name = rhel-6-server-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/server
gpgcheck = 0
enabled = 1

[dts]
name = rhel-server-dts-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts
gpgcheck = 0
enabled = 1

[dts2]
name = rhel-server-dts2-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2
gpgcheck = 0
enabled = 1

[rhsc]
name = rhel-server-dts2-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2
gpgcheck = 0
enabled = 1

Создайте скрипт и задание Cron для обновления ваших репозиториев

Создайте скрипт с именем update-repository.sh и поместите его в /usr/local/bin со следующим содержимым:

vi /usr/local/bin/update-repository.sh
echo Update script started at $(date) >> /var/log/update-repository.log
reposync --gpgcheck -l --repoid=rhel-6-server-rpms --download_path=/var/www/html/rhel6/server --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/server/
reposync --gpgcheck -l --repoid=rhel-server-dts-6-rpms --download_path=/var/www/html/rhel6/dts --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/dts/ \\
reposync --gpgcheck -l --repoid=rhel-server-dts2-6-rpms --download_path=/var/www/html/rhel6/dts2 --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/dts2/
echo Update script ended at $(date) >> /var/log/update-repository.log
chmod 600 /usr/local/bin/update-repository.sh

Создайте файл в /etc/cron.d и назовите его update-repository со следующим содержимым.

vi /etc/cron.d/update-repository
@weekly root /usr/local/bin/update-repository.sh

Последние мысли

Есть много разных способов настроить локальный репозиторий, и я, конечно, не изобретал велосипед в этом случае. Обратитесь к моим источникам ниже для получения дополнительной информации и понимания вашей установки.

Источники

  • https://linux-console.net/creating_a_local_yum_repository_centos