Createrepo

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
Примечание: Обратите внимание, статья не про общее создание репозиториев, а про утилиту createrepo для создания репозитория для менеджера пакетов DNF

Создание репозитория DNF

TODO:
  • создание фильтров по вхождению пакетов при формировании репозитория
  • включение в репозиторий пакетов из заранее сформированного списка

Установим пакеты createrepo:

# apt-get install createrepo_c

Создаем каталог, в котором будет располагаться репозиторий:

# mkdir -p /var/www/html/repo/alt/releases/p11/x86_64

Кидаем в него rpm-пакеты.

Открываем консоль.

# createrepo /var/www/html/repo/alt/releases/p11/x86_64

Команда создаст метаданные репозитория внутри каталога с именем repodata, на основе пакетов, содержащихся в целевом каталоге, и должна перезапускаться каждый раз, когда репозиторий обновляется новыми пакетами или удаляются старые пакеты.

В данном каталоге хранятся файлы с окончанием *.xml.tar.gz - базы метаданных RPM в виде заархивированных xml-файла и sqlite БД (содержащих основную информацию, дополнительную информацию и список файлов).

Настройка веб-сервера

По странице Веб-сервер:

  • ставим пакет apache2
# apt-get install apache2
  • включаем службу:
# systemctl enable --now httpd2
  • правим конфиг:

Открываем от имени суперпользователя:

# mcedit /etc/httpd2/conf/include/Directory_html_default.conf

Необходимо в строке

Options Includes FollowSymLinks MultiViews

дописать слово Indexes:

Options Indexes Includes FollowSymLinks MultiViews

Прописывание репозитория

Установим утилиту DNF:

# apt-get install dnf

Открываем файл:

# mcedit /etc/dnf/dnf.conf

Добавляем строки:

[petr]  
baseurl=http://127.0.0.1:80/repo
enabled=1
gpgcheck=0
sslverify=0
  • [petr] - идентификатор репозитория
  • baseurl - адрес репозитория
  • enabled - включен репозиторий, или нет
  • gpgcheck - проверять подпись пакетов, или нет
  • sslverify - проверять SSL-сертификат у сервера, или нет

Локальный репозиторий

Создаем файл:

# mcedit /etc/dnf/cdrepo.conf

Добавляем строки:

[cdrepo]
name=CD-repository
baseurl=file:///mnt/alt-dvd/
enabled=1
gpgcheck=0

Источники