Создание собственного репозитория: различия между версиями
Строка 61: | Строка 61: | ||
==Публикация в сети== | ==Публикация в сети== | ||
Теперь данный каталог ( | Теперь данный каталог ({{path|/home/user/MyRepo/x86_64}}) нужно опубликовать на http, ftp или rsync сервере. | ||
===Публикация на Http-сервере=== | |||
По статье [[Веб-сервер]]: | |||
Ставим пакеты: | |||
# apt-get install lamp-server | |||
Запускаем службу: | |||
Apache: | |||
# service httpd2 start | |||
# service httpd2 enable | |||
=====Настройка Apache2===== | |||
Открываем от имени суперпользователя: | |||
# mcedit /etc/httpd2/conf/include/Directory_html_default.conf | |||
Необходимо в строке | |||
Options Includes FollowSymLinks MultiViews | |||
дописать слово Indexes: | |||
Options Indexes Includes FollowSymLinks MultiViews | |||
=====Где хранится репозиторий?===== | |||
Открываем в редакторе от суперпользователя файл {{path|/etc/httpd2/conf/sites-available/default.conf}}. | |||
Ищем строку | |||
DocumentRoot "/var/www/html/" | |||
======Вариант I====== | |||
Меняем путь на свой. В нашем случае: | |||
DocumentRoot "/home/user/MyRepo/" | |||
Реалный путь в ФС: | |||
/home/user/MyRepo/x86_64. | |||
Адрес будет: | |||
IP x86_64 classic | |||
======Вариант II====== | |||
Но, можно оставить: | |||
DocumentRoot "/var/www/html/" | |||
И создать в папке {{path|html}} каталоги {{path|altlinux/p10}}. | |||
Путь получится такой: | |||
/var/www/html/altlinux/p10 | |||
var | |||
└── www | |||
└── html <- корневой каталог Apache для сайтов | |||
└── altlinux <-каталог на сайте для ALT Linux (в случае, если будут еще репозитории для других ОС) | |||
└── p10 <- каталог под конкретную платформу | |||
В этот каталог переместите папку x86_64. | |||
Адрес будет: | |||
IP/altlinux/p10 x86_64 classic | |||
И вы сможете создавать репозитории под другие плафтормы/дистрибутивы на этом http-сервере. | |||
===Прописывание в системе=== | |||
====Вариант I==== | |||
Например, вы опубликовали данный каталог (x86_64) на http сервере по адресу {{path|IP/x86_64}} | |||
Там путь: | |||
├── base | |||
│ ├── pkglist<nowiki>*</nowiki> <- в этих файлах список пакетов | |||
│ └── release<nowiki>*</nowiki> <- в этих файлах информация о репозиториях | |||
└── RPMS.classic <- в этом каталоге лежат rpm-пакеты | |||
Полный путь для добавления в систему (в файл sources.list) получается такой: | |||
{{path|rpm http://IP/ x86_64 classic}} | |||
====Вариант II==== | |||
Например, вы опубликовали данный каталог (x86_64) на http сервере по адресу {{path|IP/altlinux/p10/x86_64}} | Например, вы опубликовали данный каталог (x86_64) на http сервере по адресу {{path|IP/altlinux/p10/x86_64}} | ||
Версия от 16:39, 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-сервере
По статье Веб-сервер:
Ставим пакеты:
# apt-get install lamp-server
Запускаем службу:
Apache:
# service httpd2 start # service httpd2 enable
Настройка Apache2
Открываем от имени суперпользователя:
# mcedit /etc/httpd2/conf/include/Directory_html_default.conf
Необходимо в строке
Options Includes FollowSymLinks MultiViews
дописать слово Indexes:
Options Indexes Includes FollowSymLinks MultiViews
Где хранится репозиторий?
Открываем в редакторе от суперпользователя файл /etc/httpd2/conf/sites-available/default.conf.
Ищем строку
DocumentRoot "/var/www/html/"
Вариант I
Меняем путь на свой. В нашем случае:
DocumentRoot "/home/user/MyRepo/"
Реалный путь в ФС:
/home/user/MyRepo/x86_64.
Адрес будет:
IP x86_64 classic
Вариант II
Но, можно оставить:
DocumentRoot "/var/www/html/"
И создать в папке html каталоги altlinux/p10.
Путь получится такой:
/var/www/html/altlinux/p10
var └── www └── html <- корневой каталог Apache для сайтов └── altlinux <-каталог на сайте для ALT Linux (в случае, если будут еще репозитории для других ОС) └── p10 <- каталог под конкретную платформу
В этот каталог переместите папку x86_64.
Адрес будет:
IP/altlinux/p10 x86_64 classic
И вы сможете создавать репозитории под другие плафтормы/дистрибутивы на этом http-сервере.
Прописывание в системе
Вариант I
Например, вы опубликовали данный каталог (x86_64) на http сервере по адресу IP/x86_64
Там путь:
├── base │ ├── pkglist* <- в этих файлах список пакетов │ └── release* <- в этих файлах информация о репозиториях └── RPMS.classic <- в этом каталоге лежат rpm-пакеты
Полный путь для добавления в систему (в файл sources.list) получается такой:
rpm http://IP/ x86_64 classic
Вариант II
Например, вы опубликовали данный каталог (x86_64) на http сервере по адресу IP/altlinux/p10/x86_64
Там путь:
├── base │ ├── pkglist* <- в этих файлах список пакетов │ └── release* <- в этих файлах информация о репозиториях └── RPMS.classic <- в этом каталоге лежат rpm-пакеты
Полный путь для добавления в систему (в файл sources.list) получается такой:
rpm http://IP/altlinux/p10 x86_64 classic