Создание собственного репозитория: различия между версиями
Строка 14: | Строка 14: | ||
# mkdir путь/где/вы/хотите/создать/репозиторий | # mkdir путь/где/вы/хотите/создать/репозиторий | ||
# cd путь/где/вы/хотите/создать/репозиторий | # cd путь/где/вы/хотите/создать/репозиторий | ||
# mkdir -p x86_64/RPMS.classic | # mkdir -p x86_64/RPMS.classic #создание хранилища пакетов | ||
Находиться он может в любом месте. | Находиться он может в любом месте. | ||
{{Note|В нашем примере репозиторий будет в каталоге ''' | {{Note|В нашем примере репозиторий будет в домашнем каталоге - '''~'''}} | ||
Например: | Например: | ||
# mkdir | # mkdir ~/MyRepo | ||
# cd | # cd ~/MyRepo | ||
# mkdir -p x86_64/RPMS.classic | # mkdir -p x86_64/RPMS.classic | ||
В новосозданном пути обратите внимание на следующие моменты: | В новосозданном пути обратите внимание на следующие моменты: | ||
*x86_64 - архитектура пакетов | *x86_64 - архитектура пакетов | ||
*RPMS.classic - каталог с пакетами. Обычно он имеет компонент classic, но можно указать любое. (Компонент - последнее слово после "RPMS.") | *RPMS.classic - каталог с пакетами. Обычно он имеет компонент classic, но можно указать любое имя компонента. (Компонент - последнее слово после "RPMS.") | ||
В этот каталог RPM.classic и нужно скопировать все ваши *.rpm пакеты. | В этот каталог RPM.classic и нужно скопировать все ваши *.rpm пакеты. | ||
Полный путь для *.rpm-пакетов получается таким: | Полный путь для *.rpm-пакетов, в нашем случае, получается таким: | ||
*'''/ | *'''/home/user/MyRepo/x86_64/RPMS.classic/''' | ||
==Создание индексов== | ==Создание индексов== |
Версия от 15:35, 24 октября 2023
Рпозиторий ALT Linux состоит из двух компонетов:
- индексов - где описаны все пакеты, ссылки на них и их версии
- самих пакетов (в формате *.rpm)
Создание каталога для репозитория
Первым делом нужно создать каталог репозитория.
$ su -
Общий пример:
# mkdir путь/где/вы/хотите/создать/репозиторий # cd путь/где/вы/хотите/создать/репозиторий # mkdir -p x86_64/RPMS.classic #создание хранилища пакетов
Находиться он может в любом месте.
Например:
# mkdir ~/MyRepo # cd ~/MyRepo # mkdir -p x86_64/RPMS.classic
В новосозданном пути обратите внимание на следующие моменты:
- x86_64 - архитектура пакетов
- RPMS.classic - каталог с пакетами. Обычно он имеет компонент classic, но можно указать любое имя компонента. (Компонент - последнее слово после "RPMS.")
В этот каталог RPM.classic и нужно скопировать все ваши *.rpm пакеты.
Полный путь для *.rpm-пакетов, в нашем случае, получается таким:
- /home/user/MyRepo/x86_64/RPMS.classic/
Создание индексов
Следующим шагом нам нужно создать индексы для репозитория.
Для этого нам нужна утилита apt-repo-tools. Установим ее следующей командой
$ su - # apt-get install apt-repo-tools
Переходим в каталог с нашей созданной папкой x86_64 и оттуда выполняем команду:
# genbasedir --create --progress --topdir=. x86_64 classic
В нашем примере:
# cd /opt/repos/MyRepo/ # genbasedir --create --progress --topdir=. x86_64 classic
По результатам выполнения команды в этом же каталоге в подкаталоге x86_64 создается каталог base
Получается путь:
/opt/repos/Myrepo/x86_64 ├── base │ ├── pkglist.classic │ ├── pkglist.classic.bz2 │ ├── pkglist.classic.xz │ ├── release │ └── release.classic └── RPMS.classic
Теперь этот каталог нужно опубликовать на http, ftp или rsync сервере.
Например, вы опубликовали данный каталог (x86_64) по IP/altlinux/P10/x86_64
Там путь:
├── base │ ├── pkglist* <- в этих файлах список пакетов │ └── release* <- в этих файлах информация о репозиториях └── RPMS <- в этом каталоге лежат rpm-пакеты
Полный путь для добавления в систему (в файл sources.list) получается такой:
rpm [p10] http://IP/altlinux p10/branch/x86_64 classic