Создание собственного репозитория: различия между версиями
Строка 65: | Строка 65: | ||
===Публикация на Http-сервере=== | ===Публикация на Http-сервере=== | ||
По статье [[Веб-сервер]]: | По статье [[Веб-сервер]]: | ||
*Поставьте пакеты | |||
*Запустите службу httpd2 | |||
*добавьте, при необходимости, параметр Indexes (он сделает репозиторий видимым из браузеров) | |||
*отредактируйте файл {{path|/etc/httpd2/conf/sites-available/default.conf}}. | |||
Замените строку... | |||
DocumentRoot "/var/www/html/" | DocumentRoot "/var/www/html/" | ||
...на свой путь. В нашем случае: | |||
DocumentRoot "/home/user/MyRepo/" | DocumentRoot "/home/user/MyRepo/" | ||
Реальный путь в ФС будет выглядеть так: | |||
/home/user/MyRepo/x86_64. | /home/user/MyRepo/x86_64. | ||
Строка 99: | Строка 81: | ||
IP x86_64 classic | IP x86_64 classic | ||
===Прописывание в системе=== | ===Прописывание в системе=== | ||
Если вы опубликовали данный каталог (x86_64) на http сервере по адресу {{path|IP/x86_64}}, полный путь для добавления в систему (в файл sources.list) получается такой: | |||
{{path|rpm http://IP/ x86_64 classic}} | {{path|rpm http://IP/ x86_64 classic}} | ||
Версия от 16:46, 30 октября 2023
Рпозиторий ALT Linux состоит из двух компонетов:
- индексов - где описаны все пакеты, ссылки на них и их версии
- самих пакетов (в формате *.rpm)
Создание каталога для репозитория
Первым делом нужно создать каталог репозитория.
Создание каталога для репозитория, в общем примере, выглядит так:
# mkdir путь/где/вы/хотите/создать/репозиторий # cd путь/где/вы/хотите/создать/репозиторий # mkdir -p x86_64/RPMS.classic #создание хранилища пакетов
Находиться он может в любом месте.
Например:
$ mkdir ~/MyRepo $ cd ~/MyRepo $ mkdir -p x86_64/RPMS.classic
В новосозданном пути обратите внимание на следующие моменты:
- x86_64 - архитектура пакетов
- 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 сервере.
Публикация на Http-сервере
По статье Веб-сервер:
- Поставьте пакеты
- Запустите службу httpd2
- добавьте, при необходимости, параметр Indexes (он сделает репозиторий видимым из браузеров)
- отредактируйте файл /etc/httpd2/conf/sites-available/default.conf.
Замените строку...
DocumentRoot "/var/www/html/"
...на свой путь. В нашем случае:
DocumentRoot "/home/user/MyRepo/"
Реальный путь в ФС будет выглядеть так:
/home/user/MyRepo/x86_64.
Адрес будет:
IP x86_64 classic
Прописывание в системе
Если вы опубликовали данный каталог (x86_64) на http сервере по адресу IP/x86_64, полный путь для добавления в систему (в файл sources.list) получается такой:
rpm http://IP/ x86_64 classic