Необходимые требования
• Наличие виртуальной машины с CentOS7 доступом к сети Internet или локальной машины на CentOS7
• Наличие прав на создание файлов каталоге /etc/yum.repos.d/ сервера, на котором планируется использовать репозиторий.
Настройка репозитория в виртуальной машине.
Порядок действий:
Зайти под пользователем root или сменить пользователя на root (su root или sudo su).
Установить пакет createrepo (нужен для создания репозитория):
yum install createrepo
После установки создаем каталог, в котором будем создавать наш репозиторий:
mkdir /usr/share/repository
В данном случае нам необходимы были следующие пакеты (вы можете использовать свои по мере необходимости):
ansible iotop mytop atop net-tools (включает в себя набор сетевых утилит, например netstat и другие).
ПРИМЕЧАНИЕ! При выполнении текущей задачи необходим был пакет openssl-libs.i686 так как на сервере стоит пакет openssl-libs с разрядностью x86 несмотря на то, что система имеет разрядность x64. Поэтому в команде указываем пакет той разрядности, которая нам нужна.
Далее выполняем команду, которая загрузит требуемые пакеты в локальный репозиторий без их установки в систему:
yum install --downloadonly --installroot=/var/tmp/repository --releasever=7 --downloaddir=/usr/share/repository ansible openssl-libs.i686 iotop mytop atop net-tools
--downloadonly – параметр указывает, что нужно только скачать пакеты без установки --installroot – директория для создания нового корня для установки --releasever – указывает версию релиза --downloaddir – каталог, в который будут скачиваться пакеты
После окончания загрузки пакетов выполняем команду создания репозитория:
createrepo --database /usr/share/repository
Далее выполняем команду архивирования нашего репозитория:
cd /usr/share/repository && tar –czpf repository.tar.gz ./*
После выполнения команды в каталоге /usr/share/repository появится файл repository.tar.gz
Его необходимо скопировать с виртуальной машины на рабочую машину (использовать можно WinSCP/SCP/ Moba)
Подключиться к серверу по SSH и создать каталог для будущего репозитория:
mkdir /usr/share/repository
Затем распаковать содержимое архива в только что созданный каталог:
Вариант 1. Запустить mc, выбрать файл и открыть его (нажать Enter), выбрать все файлы (нажать + и в шаблоне указать *). Нажать F5 и скопировать в /usr/share/repository/
Вариант 2. Выполнить команду:
tar xfvz repository.tar.gz –C /usr/share/repository/
Проверить, что архив распаковался и файлы существуют в /usr/share/repository
Создать файл local_repo.repo в каталоге /etc/yum.repos.d/ с текстом:
[local_repo] name=local_repo baseurl=file:///usr/share/repository enabled=0 gpgcheck=0
Для создания файла воспользуйтесь редактором vi:
vi /etc/yum.repos.d/local_repo.repo
После создания и сохранения файла можно приступать к установке необходимых пакетов:
yum --disablerepo=\* --enablerepo=local_repo install ansible openssl-libs.i686 iotop mytop atop net-tools
Смотрим результат выполнения команды, в случае ошибок, смотреть причину.