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

Материал из ALT Linux Wiki
 
(не показано 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
{{todo|Расписать прописывание 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

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

Источники