Createrepo: различия между версиями
(не показано 5 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
{{stub}} | {{stub}} | ||
{{Note|Обратите внимание, статья не про общее создание репозиториев, а про утилиту createrepo для создания репозитория для менеджера пакетов DNF}} | |||
==Создание репозитория DNF== | ==Создание репозитория DNF== | ||
{{todo| | |||
*создание фильтров по вхождению пакетов при формировании репозитория | |||
*включение в репозиторий пакетов из заранее сформированного списка}} | |||
Установим пакеты createrepo: | Установим пакеты createrepo: | ||
# apt-get install createrepo_c | # apt-get install createrepo_c | ||
Строка 13: | Строка 17: | ||
Команда создаст метаданные репозитория внутри каталога с именем repodata, на основе пакетов, содержащихся в целевом каталоге, и должна перезапускаться каждый раз, когда репозиторий обновляется новыми пакетами или удаляются старые пакеты. | Команда создаст метаданные репозитория внутри каталога с именем repodata, на основе пакетов, содержащихся в целевом каталоге, и должна перезапускаться каждый раз, когда репозиторий обновляется новыми пакетами или удаляются старые пакеты. | ||
В данном каталоге хранятся файлы с окончанием <nowiki>*</nowiki>.xml.tar.gz - базы метаданных RPM в виде заархивированных xml-файла и sqlite БД (содержащих основную информацию, дополнительную информацию и список файлов). | |||
==Настройка веб-сервера== | ==Настройка веб-сервера== | ||
Строка 31: | Строка 37: | ||
Установим утилиту DNF: | Установим утилиту DNF: | ||
# apt-get install dnf | # apt-get install dnf | ||
Открываем файл: | |||
# mcedit /etc/dnf/dnf.conf | |||
Добавляем строки: | |||
[petr] | |||
<!-- #name=ALT - $basearch --> | |||
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 | |||
==Источники== | ==Источники== | ||
*[https://freeshell.de/less/post/fedora-custom-repo/ freeshell.de] | *[https://freeshell.de/less/post/fedora-custom-repo/ freeshell.de] | ||
*[https://linuxconfig.org/how-to-create-a-custom-rpm-repository-on-linux linuxconfig.org] | *[https://linuxconfig.org/how-to-create-a-custom-rpm-repository-on-linux linuxconfig.org] | ||
{{Category navigation|title=Начинающему разработчику|category=Начинающему разработчику|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 12:20, 26 сентября 2024
Создание репозитория DNF
- создание фильтров по вхождению пакетов при формировании репозитория
- включение в репозиторий пакетов из заранее сформированного списка
Установим пакеты 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