Создание собственного репозитория: различия между версиями
(не показаны 24 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
{{Note|Данная статья создана для организаций, которые хотят создать собственный репозиторий с ПО для ALT Linux, совместимый с APT-RPM, который используется в данной системе.}} | {{Note|Данная статья создана для организаций, которые хотят создать собственный репозиторий с ПО для ALT Linux, совместимый с APT-RPM, который используется в данной системе.}} | ||
{{Note|Короткая ссылка сюда - https://www.altlinux.org/Ownrepo}} | |||
Репозиторий ALT Linux состоит из двух компонентов: | |||
*индексов - где описаны все пакеты, ссылки на них и их версии | *индексов - где описаны все пакеты, ссылки на них и их версии | ||
*самих пакетов (в формате *.rpm) | *самих пакетов (в формате *.rpm) | ||
Строка 9: | Строка 9: | ||
Первым делом нужно создать каталог репозитория. | Первым делом нужно создать каталог репозитория. | ||
{{Note|Вы можете создать репозиторий в любом месте файловой системы}} | {{Note|Вы можете создать репозиторий в любом месте файловой системы}} | ||
Создание каталога для репозитория, в общем примере, выглядит так: | |||
# mkdir путь/где/вы/хотите/создать/репозиторий | # mkdir путь/где/вы/хотите/создать/репозиторий | ||
# cd путь/где/вы/хотите/создать/репозиторий | # cd путь/где/вы/хотите/создать/репозиторий | ||
Строка 21: | Строка 20: | ||
Например: | Например: | ||
$ mkdir ~/MyRepo | |||
$ cd ~/MyRepo | |||
$ mkdir -p x86_64/RPMS.classic | |||
В новосозданном пути обратите внимание на следующие моменты: | В новосозданном пути обратите внимание на следующие моменты: | ||
*x86_64 - архитектура пакетов | *x86_64 - архитектура пакетов (Возможные архитектуры: i586, i686, x86_64, noarch) | ||
*RPMS.classic - каталог с пакетами. Обычно он имеет компонент classic, но можно указать любое имя компонента. | *RPMS.classic - каталог с пакетами. Обычно он имеет компонент classic, но можно указать любое имя компонента. | ||
{{Note|Компонент - последнее слово после "RPMS."}} | |||
В этот каталог RPM.classic и нужно скопировать все ваши *.rpm пакеты. | В этот каталог RPM.classic и нужно скопировать все ваши *.rpm пакеты. | ||
Строка 38: | Строка 39: | ||
Следующим шагом нам нужно создать индексы для репозитория. | Следующим шагом нам нужно создать индексы для репозитория. | ||
Для этого нам нужна утилита {{pkg|apt-repo-tools}}. Установим ее следующей командой | Для этого нам нужна утилита {{pkg|apt-repo-tools}}. Установим ее следующей командой: | ||
$ su - | $ su - | ||
# apt-get install apt-repo-tools | # apt-get install apt-repo-tools | ||
Переходим в каталог с нашей созданной папкой {{path|x86_64}} и оттуда выполняем команду | Переходим в каталог с нашей созданной папкой {{path|x86_64}} и оттуда выполняем следующую команду: | ||
# cd /home/user/MyRepo/ | |||
# cd home/user/MyRepo/ | |||
# genbasedir --create --progress --topdir=. x86_64 classic | # genbasedir --create --progress --topdir=. x86_64 classic | ||
По результатам выполнения команды в этом же каталоге в подкаталоге x86_64 создается каталог base | По результатам выполнения команды в этом же каталоге в подкаталоге x86_64 создается каталог base. | ||
Получается путь: | Получается путь: | ||
Строка 63: | Строка 61: | ||
==Публикация в сети== | ==Публикация в сети== | ||
Теперь данный каталог ( | Теперь данный каталог ({{path|/home/user/MyRepo/x86_64}}) нужно опубликовать на http, ftp или rsync сервере. | ||
===Публикация на Веб-сервере=== | |||
По статье [[Веб-сервер]]: | |||
*Поставьте пакеты | |||
*Запустите службу httpd2 | |||
Скопируйте каталоги репозитория в каталог Apache: | |||
cp -a /home/user/MyRepo /var/www/html/ | |||
Путь получится такой: | |||
var | |||
└── www | |||
└── html <- каталог Apache для веб-сайтов | |||
└── MyRepo <- каталог репозитория | |||
└── x86_64 <- подкаталог для архитектуры x86_64 | |||
===Прописывание в системе=== | |||
Если вы опубликовали данный каталог (MyRepo) на веб-сервере по адресу {{path|MyRepo/x86_64}}, полный путь для добавления в систему (в файл sources.list) получается такой: | |||
<syntaxhighlight lang="text">rpm http://IP/MyRepo x86_64 classic</syntaxhighlight> | |||
{{Category navigation|title=Начинающему разработчику|category=Начинающему разработчику|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 21:55, 15 февраля 2024
Репозиторий ALT Linux состоит из двух компонентов:
- индексов - где описаны все пакеты, ссылки на них и их версии
- самих пакетов (в формате *.rpm)
Создание каталога для репозитория
Первым делом нужно создать каталог репозитория.
Создание каталога для репозитория, в общем примере, выглядит так:
# mkdir путь/где/вы/хотите/создать/репозиторий # cd путь/где/вы/хотите/создать/репозиторий # mkdir -p x86_64/RPMS.classic #создание хранилища пакетов
Находиться он может в любом месте.
Например:
$ mkdir ~/MyRepo $ cd ~/MyRepo $ mkdir -p x86_64/RPMS.classic
В новосозданном пути обратите внимание на следующие моменты:
- x86_64 - архитектура пакетов (Возможные архитектуры: i586, i686, x86_64, noarch)
- RPMS.classic - каталог с пакетами. Обычно он имеет компонент classic, но можно указать любое имя компонента.
В этот каталог RPM.classic и нужно скопировать все ваши *.rpm пакеты.
Полный путь для *.rpm-пакетов, в нашем случае, получается таким:
- /home/user/MyRepo/x86_64/RPMS.classic/
Создание индексов
Следующим шагом нам нужно создать индексы для репозитория.
Для этого нам нужна утилита apt-repo-tools. Установим ее следующей командой:
$ su - # apt-get install apt-repo-tools
Переходим в каталог с нашей созданной папкой x86_64 и оттуда выполняем следующую команду:
# cd /home/user/MyRepo/ # genbasedir --create --progress --topdir=. x86_64 classic
По результатам выполнения команды в этом же каталоге в подкаталоге x86_64 создается каталог base.
Получается путь:
/home/user/MyRepo/x86_64 ├── base │ ├── pkglist.classic │ ├── pkglist.classic.bz2 │ ├── pkglist.classic.xz │ ├── release │ └── release.classic └── RPMS.classic
Публикация в сети
Теперь данный каталог (/home/user/MyRepo/x86_64) нужно опубликовать на http, ftp или rsync сервере.
Публикация на Веб-сервере
По статье Веб-сервер:
- Поставьте пакеты
- Запустите службу httpd2
Скопируйте каталоги репозитория в каталог Apache:
cp -a /home/user/MyRepo /var/www/html/
Путь получится такой:
var └── www └── html <- каталог Apache для веб-сайтов └── MyRepo <- каталог репозитория └── x86_64 <- подкаталог для архитектуры x86_64
Прописывание в системе
Если вы опубликовали данный каталог (MyRepo) на веб-сервере по адресу MyRepo/x86_64, полный путь для добавления в систему (в файл sources.list) получается такой:
rpm http://IP/MyRepo x86_64 classic