Создание локального репозитория Linux-пакетов
В случае необходимости использования собственных скриптов автоматизации, рекомендуется настроить локальный репозиторий с rpm/deb-пакетами дистрибутива продукта.
Создание локального репозитория вручную
В данном разделе представлена инструкция по созданию репозитория вручную. Выполните следующие шаги:
- SberLinux, РЕД ОС, CentOS
- Astra Linux
- Альт СП
-
Установите пакет
createrepo:sudo dnf install createrepo -
Создайте директорию, где будут храниться rpm-пакеты:
sudo mkdir -p /components_repo/local_repo/RPMS.local/ -
Распакуйте архив
3rdparty.tar.gzв каталог3rdparty:tar -xzf <path_distrib>/3rdparty/3rdparty.tar.gz -C <path_distrib>/3rdpartyгде
path_distrib- полный путь до директории с распакованным дистрибутивом; -
Перенесите существующие в дистрибутиве rpm-пакеты:
find <path_distrib> -name "*.rpm" -exec sudo cp {} /components_repo/local_repo/RPMS.local/ \;где
path_distrib- полный путь до директории с распакованным дистрибутивом; -
Проинициализируйте репозиторий:
sudo createrepo /components_repo/local_repo/RPMS.local/ -
Создайте файл
local_repo.repoв директории/etc/yum.repos.d/local_repo.repo, с содержимым:[local_repo]
name=local_repo
baseurl=file:///components_repo/local_repo/RPMS.local/
gpgcheck=0
enabled=1
-
Создайте директорию, где будут храниться deb-пакеты:
sudo mkdir -p /components_repo/local_repo/DEB.local/ -
Распакуйте архив
3rdparty.tar.gzв каталог3rdparty:tar -xzf <path_distrib>/3rdparty/3rdparty.tar.gz -C <path_distrib>/3rdpartyгде
path_distrib- полный путь до директории с распакованным дистрибутивом; -
Перенесите существующие в дистрибутиве deb-пакеты:
find <path_distrib> -name "*.deb" -exec sudo cp {} /components_repo/local_repo/DEB.local/ \;где
path_distrib- полный путь до директории с распакованным дистрибутивом; -
Проинициализируйте репозиторий:
sudo cd /components_repo/local_repo/DEB.local/
sudo dpkg-scanpackages -m /components_repo/local_repo/DEB.local/ > /components_repo/local_repo/DEB.local/Packages
sudo cat /components_repo/local_repo/DEB.local/Packages | gzip -9 > /components_repo/local_repo/DEB.local/Packages.gz;
sudo cat /components_repo/local_repo/DEB.local/Packages | bzip2 -9 > /components_repo/local_repo/DEB.local/Packages.bz2; -
Сделайте копию deb-пакетов в кеше
apt-get:sudo cp /components_repo/local_repo/DEB.local/* /var/cache/apt/archives/ -
Создайте файл
local_repo.list:sudo echo -e "deb [trusted=yes] file:///components_repo/local_repo/DEB.local/ ./" > /etc/apt/sources.list.d/local_repo.list; -
Обновите кеш пакетного менеджера
apt:sudo apt update
-
Создайте директорию, где будут храниться rpm-пакеты:
sudo mkdir -p /components_repo/local_repo/RPMS.local/ -
Распакуйте архив
3rdparty.tar.gzв каталог3rdparty:tar -xzf <path_distrib>/3rdparty/3rdparty.tar.gz -C <path_distrib>/3rdpartyгде
path_distrib- полный путь до директории с распакованным дистрибутивом; -
Перенесите существующие в дистрибутиве rpm-пакеты:
find <path_distrib> -name "*.rpm" -exec sudo cp {} /components_repo/local_repo/RPMS.local/ \;где
path_distrib- полный путь до директории с распакованным дистрибутивом; -
Сделайте копию
.rpmпакетов в кешеapt-get:sudo cp /components_repo/local_repo/RPMS.local/*.rpm /var/cache/apt/archives/ -
Добавьте локальный репозиторий в пакетный менеджер:
sudo apt-repo add "rpm-dir file:/components_repo/ local_repo local";