Skip to content

patsevanton/rpm-repository-mirroring

Repository files navigation

rpm-repository-mirroring - Скрипт для скачивания RPM пакетов из репозиториев, для которых нельзя сделать RPM зеркало

Установка и запуск rpm-repository-mirroring (epel-release нужен для nginx)

yum install -y epel-release
yum -y install yum-plugin-copr
yum copr enable antonpatsev/rpm-repository-mirroring
yum -y install rpm-repository-mirroring

Настройка rpm-repository-mirroring

Редактируем файл /etc/rpm-repository-mirroring.conf В нем все подробно описано.

Репозиторий, с которого нужно скачать все последние rpm пакеты начиная с определенной версии. Пример Grafana

Создадим /etc/yum.repos.d/grafana.repo со следующим содержимым:

[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=0
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

Конфиг /etc/rpm-repository-mirroring.conf:

# Директория, в которых будут создаваться rpm репозитории
DOWNLOAD_DIR=/var/www/repos

# репозитории, rpm которых будут скачиваться начиная с определенной версии, указаной в значении
REPOS={"grafana":"6.5.3"}

Запускаем скрипт

rpm-repository-mirroring

После запуска скрипта в директории /var/www/repos должна появится директория grafana, содержащая rpm репозиторий.

Репозиторий, с которого нужно скачать все последние rpm пакеты начиная с определенной версии + N последних версий определенных rpm пакетов. Пример Kubernetes

Создадим /etc/yum.repos.d/kubernetes.repo со следующим содержимым:

[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=0
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
# c опцией repo_gpgcheck=1 скрипт выдает ошибку: repomd.xml signature could not be verified for kubernetes

Конфиг /etc/rpm-repository-mirroring.conf:

# Директория, в которых будут создаваться rpm репозитории
DOWNLOAD_DIR=/var/www/repos

# репозитории, rpm которых будут скачиваться начиная с определенной версии, указаной в значении
REPOS={"kubernetes":"1.17.6"}

# Для всех репозиторией, в которых есть rpm-пакет, совпадающий с ключом, необходимо скачать последние N версии этих rpm пакетов.
# Где N указываетя в значении.
CUT_AFTER={"rkt":2,"kubernetes-cni":2,"cri-tools":2}

Репозиторий, с которого нужно скачать N последних версий определенных rpm пакетов. Пример Prometheus

Создадим /etc/yum.repos.d/prometheus.repo со следующим содержимым:

[prometheus]
name=prometheus
baseurl=https://packagecloud.io/prometheus-rpm/release/el/$releasever/$basearch
repo_gpgcheck=1
enabled=1
gpgkey=https://packagecloud.io/prometheus-rpm/release/gpgkey
       https://raw.githubusercontent.com/lest/prometheus-rpm/master/RPM-GPG-KEY-prometheus-rpm
gpgcheck=1
metadata_expire=300

Конфиг /etc/rpm-repository-mirroring.conf:

# Директория, в которых будут создаваться rpm репозитории
DOWNLOAD_DIR=/var/www/repos

# ключ - репозиторий. значение: количество последних версий, которые необходимо скачать-для-всех-rpm-пакетов-в-репозитории.
# Пример: Для репозитория prometheus-7 нужно скачать последние 4 версии rpm пакетов.
#NUMBER_PACKAGE_IN_REPO={"prometheus-7":4}

Диаграмма для репо kubernetes и grafana

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published