Создание репозитория CentOS/RHEL — различия между версиями
Vaal (обсуждение | вклад) |
Vaal (обсуждение | вклад) |
||
(не показана одна промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
− | В данной статье описывается процесс создания локального | + | В данной статье описывается процесс создания локального и сетевого репозиториев CentOS/RHEL. |
− | <p style="text-align:center"><b >Создание репозитория CentOS/RHEL.</b ></p> | + | <p style="text-align:center"><b >Создание локального репозитория CentOS/RHEL.</b ></p> |
Для создания локального репозитория можно использовать два варианта: | Для создания локального репозитория можно использовать два варианта: | ||
Строка 10: | Строка 10: | ||
* Под пользователем root узнаём путь примонтированного к системе установочного образа: | * Под пользователем root узнаём путь примонтированного к системе установочного образа: | ||
− | <p style="text-align:left"><b > '''''#blkid''''' </b ></p> | + | <p style="text-align:left"><b > '''''# blkid''''' </b ></p> |
[[File:Blkid iso.PNG|center]] | [[File:Blkid iso.PNG|center]] | ||
<br /> | <br /> | ||
Строка 62: | Строка 62: | ||
<p style="text-align:left"><b > '''''# yum update''''' </b ></p> | <p style="text-align:left"><b > '''''# yum update''''' </b ></p> | ||
<p style="text-align:left">Теперь можно инсталлировать пакет используя ''yum''.</p> | <p style="text-align:left">Теперь можно инсталлировать пакет используя ''yum''.</p> | ||
+ | |||
+ | <p style="text-align:center"><b >Создание сетевого репозитория CentOS/RHEL.</b ></p> | ||
+ | Для создания сетевого репозитория можно использовать два варианта: | ||
+ | |||
+ | # Настроить сетевой репозиторий по протоколу http; | ||
+ | # Настроить сетевой репозиторий по протоколу ftp. | ||
+ | <br /> | ||
+ | Опишем последовательность действий развёртывания сетевого репозитория по протоколу http. | ||
+ | * Под пользователем root узнаём путь примонтированного к системе установочного образа | ||
+ | <p style="text-align:left"><b > '''''# blkid''''' </b ></p> | ||
+ | * Создаём iso-образ в корневой директории, используя утилиту ''dd'': | ||
+ | <p style="text-align:left"><b > '''''# dd if=/dev/sr0 of=/repo.iso''''' </b ></p> | ||
+ | * Создаём и настраиваем временный локальный репозиторий: | ||
+ | <p style="text-align:left"><b > '''''# mount -o loop /repo.iso /mnt''''' </b ></p> | ||
+ | <p style="text-align:left"><b > '''''# cd /etc/yum.repos.d && touch tmprepolocal.repo''''' </b ></p> | ||
+ | <p style="text-align:left"><b > '''''# echo "[Centos]" >> /etc/yum.repos.d/tmprepolocal.repo''''' </b ></p> | ||
+ | <p style="text-align:left"><b > '''''# echo "name=ISO" >> /etc/yum.repos.d/tmprepolocal.repo''''' </b ></p> | ||
+ | <p style="text-align:left"><b > '''''# echo "baseurl=file:///mnt" >> /etc/yum.repos.d/tmprepolocal.repo''''' </b ></p> | ||
+ | <p style="text-align:left"><b > '''''# echo "enabled=1" >> /etc/yum.repos.d/tmprepolocal.repo''''' </b ></p> | ||
+ | <p style="text-align:left"><b > '''''# echo "gpgcheck=1" >> /etc/yum.repos.d/tmprepolocal.repo''''' </b ></p> | ||
+ | * Под пользователем root устанавливаем web-сервер Apache: | ||
+ | <p style="text-align:left"><b > '''''# yum install -y httpd''''' </b ></p> | ||
+ | * Создаём директорию INST в /var/www/html/: | ||
+ | <p style="text-align:left"><b > '''''# mkdir -p /var/www/html/INST''''' </b ></p> | ||
+ | * Копируем всё содержимое директории /mnt в /var/www/html/INST: | ||
+ | <p style="text-align:left"><b > '''''# cp /mnt/* /var/www/html/INST/''''' </b ></p> | ||
+ | * Назначаем для директории /var/www/html/ владельца пользователя apache: | ||
+ | <p style="text-align:left"><b > '''''# chown apache:apache -R /var/www/html/''''' </b ></p> | ||
+ | * Удаляем tmprepolocal.repo: | ||
+ | <p style="text-align:left"><b > '''''# rm -rf /etc/yum.repos.d/tmprepolocal.repo''''' </b ></p> | ||
+ | * Отмонтируем /dev/sr0 из /mnt: | ||
+ | <p style="text-align:left"><b > '''''# umount /mnt''''' </b ></p> | ||
+ | * Создаём и настраиваем сетевой репозиторий: | ||
+ | <p style="text-align:left"><b > '''''# cd /etc/yum.repos.d && touch net.repo''''' </b ></p> | ||
+ | <p style="text-align:left"><b > '''''# echo "[Centos]" >> /etc/yum.repos.d/net.repo''''' </b ></p> | ||
+ | <p style="text-align:left"><b > '''''# echo "name=ISO" >> /etc/yum.repos.d/net.repo''''' </b ></p> | ||
+ | <p style="text-align:left"><b > '''''# echo "baseurl=http://<span style="color:red"><ip-адрес или hostname></span>/INST/" >> /etc/yum.repos.d/net.repo''''' </b ></p> | ||
+ | <p style="text-align:left"><b > '''''# echo "enabled=1" >> /etc/yum.repos.d/net.repo''''' </b ></p> | ||
+ | <p style="text-align:left"><b > '''''# echo "gpgcheck=1" >> /etc/yum.repos.d/net.repo''''' </b ></p> | ||
+ | * Проверяем доступность пакетов для установки следующей командой: | ||
+ | <p style="text-align:left"><b > '''''# yum list''''' </b ></p> | ||
+ | <p style="text-align:left">Теперь можно инсталлировать пакет используя ''yum''. Для использования сетевого репозитория на других серверах достаточно скопировать на них файл net.repo в /etc/yum.repos.d/. Важно чтобы к сетевому репозиторию был доступ по сети, а также настроены правила для firewall.</p> | ||
+ | <br /> | ||
+ | Настройка репозитория ftp проводится аналогично настройке репозитория http и рассматриваться не будет. |
Текущая версия на 09:46, 6 апреля 2017
В данной статье описывается процесс создания локального и сетевого репозиториев CentOS/RHEL.
Создание локального репозитория CentOS/RHEL.
Для создания локального репозитория можно использовать два варианта:
- Создать iso-образ установочного диска CentOS/RHEL, затем примонтировать данный образ в директорию и настроить файл локального репозитория;
- Создать директорию, в которую будут скопированы rpm-пакеты с установочного диска, настроить файл локального репозитория.
Опишем последовательность действий развёртывания локального репозитория для этих вариантов.
Вариант 1)
- Под пользователем root узнаём путь примонтированного к системе установочного образа:
# blkid
Вывод blkid, представленный на рисунке выше, показал, что установочный iso-образ CentOS 7 примонтирован в устройство /dev/sr0.
Следует принять во внимание, что для образа с RHEL данная строка будет иметь другой вид!
- Создаём iso-образ в корневой директории, используя утилиту dd:
# dd if=/dev/sr0 of=/repo.iso
- Создаём директорию repository в /usr/share:
# mkdir -p /usr/share/repository/
- Отредактируем файл /etc/fstab, внеся в него информацию для мон-тирования образа:
# echo "/repo.iso /usr/share/repository auto loop 0 0 " >> /etc/fstab
Перезагрузим хост и проверим, что содержимое iso-образа располагается /usr/share/repository/
- Предварительно создаём резервные копии файлов, а затем удаляем содержимое директории /etc/yum.repos.d:
# rm -rf /etc/yum.repos.d/*
- В директории /etc/yum.repos.d создадим файл repolocal.repo:
# cd /etc/yum.repos.d && touch repolocal.repo
- Отредактируем файл repolocal.repo, используя следующие команды:
# echo "[Centos]" >> /etc/yum.repos.d/repolocal.repo
# echo "name=ISO" >> /etc/yum.repos.d/repolocal.repo
# echo "baseurl=file:///usr/share/repository" >> /etc/yum.repos.d/repolocal.repo
# echo "enabled=1" >> /etc/yum.repos.d/repolocal.repo
# echo "gpgcheck=0" >> /etc/yum.repos.d/repolocal.repo
- Проверяем доступность пакетов для установки следующей командой:
# yum list
Теперь можно инсталлировать пакет используя yum.
Вариант 2)
- Создаём директорию repository в /usr/share:
# mkdir -p /usr/share/repository/
- Из примонтированного установочного iso-образа скопируем все rpm-пакеты в /usr/share/repository/:
# cp /mnt/Packages/* /usr/share/repository/
- Предварительно создаём резервные копии файлов, а затем удаляем содержимое директории /etc/yum.repos.d:
# rm -rf /etc/yum.repos.d/*
- В директории /etc/yum.repos.d создадим файл repolocal.repo:
# cd /etc/yum.repos.d && touch repolocal.repo
- Отредактируем файл repolocal.repo, используя следующие команды:
# echo "[Centos]" >> /etc/yum.repos.d/repolocal.repo
# echo "name=ISO" >> /etc/yum.repos.d/repolocal.repo
# echo "baseurl=file:///usr/share/repository" >> /etc/yum.repos.d/repolocal.repo
# echo "enabled=1" >> /etc/yum.repos.d/repolocal.repo
# echo "gpgcheck=0" >> /etc/yum.repos.d/repolocal.repo
- В окне терминала выполняем следующие команды:
# cd /usr/share/repository
# rpm -i deltarpm-3.5-*
# rpm -i python-deltarpm-3.5-*
# rpm -Uvh createrepo-*
# createrepo .
- Переходим в каталог /etc/yum.repos.d и обновляем информацию о репозиториях, для этого выполняем следующие команды:
# cd /etc/yum.repos.d
# yum clean all
# yum update
Теперь можно инсталлировать пакет используя yum.
Создание сетевого репозитория CentOS/RHEL.
Для создания сетевого репозитория можно использовать два варианта:
- Настроить сетевой репозиторий по протоколу http;
- Настроить сетевой репозиторий по протоколу ftp.
Опишем последовательность действий развёртывания сетевого репозитория по протоколу http.
- Под пользователем root узнаём путь примонтированного к системе установочного образа
# blkid
- Создаём iso-образ в корневой директории, используя утилиту dd:
# dd if=/dev/sr0 of=/repo.iso
- Создаём и настраиваем временный локальный репозиторий:
# mount -o loop /repo.iso /mnt
# cd /etc/yum.repos.d && touch tmprepolocal.repo
# echo "[Centos]" >> /etc/yum.repos.d/tmprepolocal.repo
# echo "name=ISO" >> /etc/yum.repos.d/tmprepolocal.repo
# echo "baseurl=file:///mnt" >> /etc/yum.repos.d/tmprepolocal.repo
# echo "enabled=1" >> /etc/yum.repos.d/tmprepolocal.repo
# echo "gpgcheck=1" >> /etc/yum.repos.d/tmprepolocal.repo
- Под пользователем root устанавливаем web-сервер Apache:
# yum install -y httpd
- Создаём директорию INST в /var/www/html/:
# mkdir -p /var/www/html/INST
- Копируем всё содержимое директории /mnt в /var/www/html/INST:
# cp /mnt/* /var/www/html/INST/
- Назначаем для директории /var/www/html/ владельца пользователя apache:
# chown apache:apache -R /var/www/html/
- Удаляем tmprepolocal.repo:
# rm -rf /etc/yum.repos.d/tmprepolocal.repo
- Отмонтируем /dev/sr0 из /mnt:
# umount /mnt
- Создаём и настраиваем сетевой репозиторий:
# cd /etc/yum.repos.d && touch net.repo
# echo "[Centos]" >> /etc/yum.repos.d/net.repo
# echo "name=ISO" >> /etc/yum.repos.d/net.repo
# echo "baseurl=http://<ip-адрес или hostname>/INST/" >> /etc/yum.repos.d/net.repo
# echo "enabled=1" >> /etc/yum.repos.d/net.repo
# echo "gpgcheck=1" >> /etc/yum.repos.d/net.repo
- Проверяем доступность пакетов для установки следующей командой:
# yum list
Теперь можно инсталлировать пакет используя yum. Для использования сетевого репозитория на других серверах достаточно скопировать на них файл net.repo в /etc/yum.repos.d/. Важно чтобы к сетевому репозиторию был доступ по сети, а также настроены правила для firewall.
Настройка репозитория ftp проводится аналогично настройке репозитория http и рассматриваться не будет.