Createrepo: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «{{stub}} ==Создание репозитория DNF== Установим пакеты для dnf и createrepo: # apt-get install dnf # apt-get install /usr/bin/createrepo Создаем каталог, в котором будет располагаться репозиторий: # mkdir -p /var/www/html/repo Кидаем в него rpm-пакеты. Открываем консоль. # cd /var/www/html/repo # createrepo . ==Настройка...»)
 
Нет описания правки
 
(не показано 11 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{stub}}
{{stub}}
{{Note|Обратите внимание, статья не про общее создание репозиториев, а про утилиту createrepo для создания репозитория для менеджера пакетов DNF}}
==Создание репозитория DNF==
==Создание репозитория DNF==
Установим пакеты для dnf и createrepo:
{{todo|
  # apt-get install dnf
*создание фильтров по вхождению пакетов при формировании репозитория
# apt-get install /usr/bin/createrepo
*включение в репозиторий пакетов из заранее сформированного списка}}
Установим пакеты createrepo:
  # apt-get install createrepo_c


Создаем каталог, в котором будет располагаться репозиторий:
Создаем каталог, в котором будет располагаться репозиторий:
  # mkdir -p /var/www/html/repo
  # mkdir -p /var/www/html/repo/alt/releases/p11/x86_64


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


Открываем консоль.
Открываем консоль.
  # cd /var/www/html/repo
  # createrepo /var/www/html/repo/alt/releases/p11/x86_64
# createrepo .
 
Команда создаст метаданные репозитория внутри каталога с именем repodata, на основе пакетов, содержащихся в целевом каталоге, и должна перезапускаться каждый раз, когда репозиторий обновляется новыми пакетами или удаляются старые пакеты.
 
В данном каталоге хранятся файлы с окончанием <nowiki>*</nowiki>.xml.tar.gz - базы метаданных RPM в виде заархивированных xml-файла и sqlite БД (содержащих основную информацию, дополнительную информацию и список файлов).


==Настройка веб-сервера==
==Настройка веб-сервера==
{{todo|Расписать установку и настройку веб-сервера для DNF-репозитория}}
По странице [[Веб-сервер]]:
*ставим пакет 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


==Прописывание репозитория==
==Прописывание репозитория==
{{todo|Расписать прописывание DNF-репозитория в системе}}
Установим утилиту 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-сертификат у сервера, или нет


===Источники===
==Источники==
*[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]
{{Category navigation|title=Начинающему разработчику|category=Начинающему разработчику|sortkey={{SUBPAGENAME}}}}

Текущая версия от 16:56, 17 июня 2024

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-сертификат у сервера, или нет

Источники