Оглавление |
---|
Информация |
---|
Данная статья применима к:
|
Создание репозитория
Установить пакет reprepro:
Command | ||||
---|---|---|---|---|
| ||||
sudo apt install reprepro |
Создать каталог для размещения репозитория:
Command | ||||
---|---|---|---|---|
| ||||
|
...
|
...
Создать в каталоге репозитория
...
подкаталог conf:
Command | ||||
---|---|---|---|---|
| ||||
|
...
|
Создать в
...
подкаталоге conf файл distributions
...
borderColor | #c2e6ff |
---|---|
bgColor | #e2f3ff |
...
следующего содержания:
Подсказка | ||
---|---|---|
| ||
Origin: Debian Codename: smolensk Suite: stable Version: 1.6.0 Architectures: amd64 Components: main contrib non-free UDebComponents: main |
где:
Codename: smolensk
- кодовое имя дистрибутива:- smolensk
...
- orel
...
Suite: stable
...
- - ветка дистрибутива:
- stable
...
- current
...
- unstable
Version: 1.6.0
...
- - номер версии
Architectures:
...
- архитектура дистрибутива:
...
- i386
- amd64
- source (если репозиторий будет содержать исходный код пакетов)
Components:
...
- компоненты дистрибутива:
- main -
...
- свободно распространяемое ПО
- contrib -
...
- свободно распространяемое ПО с зависимостями от несвободного
...
- ПО
- non-free - несвободное ПО
UDebComponents: main
- Udeb-пакетыContents
: - файлы со списком содержимого каждого пакетаSignWith: yes
- подпись репозитория (можно не указывать, если не планируете подписывать репозиторий ключом gnupg)
Далее выполнить команду:
Command | ||||
---|---|---|---|---|
| ||||
sudo reprepro -b <путь_к_ |
...
репозиторию> export |
После этого можно наполнять репозиторий пакетами
...
.
Добавление бинарного deb пакета:
Command | ||||
---|---|---|---|---|
| ||||
sudo reprepro - |
...
b <путь_к_ |
...
репозиторию> includedeb <кодовое_имя_дистрибутива(smolensk)> <путь_к_пакету/имя_пакета>.deb |
Добавление всех пакетов deb:
Command | ||||
---|---|---|---|---|
| ||||
sudo reprepro - |
...
b <путь_к_ |
...
репозиторию> includedeb <кодовое_имя_дистрибутива(smolensk)> <путь_к_пакетам>/*.deb |
Примечание | |||||||
---|---|---|---|---|---|---|---|
| |||||||
При появлении ошибки: No priority given for '<имя_пакета>', skipping. Выполнить добавление пакета с игнорированием приоритета с помощью опции -P:
|
...
|
Добавление бинарного udeb пакета:
Command | ||||
---|---|---|---|---|
| ||||
|
...
|
...
|
Добавление пакета с исходным текстом:
Command | ||||
---|---|---|---|---|
| ||||
|
...
|
...
|
Удаление пакета:
Command | ||||
---|---|---|---|---|
| ||||
|
...
|
...
|
Подписание репозитория
Сгенерировать gpg-ключ (RSA или DSA):
Command | ||||
---|---|---|---|---|
| ||||
sudo gpg --gen-key |
Добавить в <путь_к_
...
репозиторию>/conf/distributions строку:
Подсказка | ||
---|---|---|
| ||
SignWith: yes |
Далее выполнить:
Command | ||||
---|---|---|---|---|
| ||||
sudo reprepro --ask-passphrase -b <путь_к_репозиторию/имя> export (параметр --ask-passphrase запрашивает пароль для gpg-ключа) |
и наполнить репозиторий:
Command | ||||
---|---|---|---|---|
| ||||
sudo reprepro --ask-passphrase -b <путь_к_репозиторию/имя> includedeb <кодовое имя дистрибутива> <имя_пакета>.deb |
Чтобы пользоваться подписанным репозиторием необходимо:
На компьютере где создавался репозиторий выполнить:
Command | ||||
---|---|---|---|---|
| ||||
sudo gpg --list-keys |
В результате получится примерно такой результат:
Информация | ||
---|---|---|
| ||
pub 2048R/2578DA4E 2017-06-19 |
Далее выполнить:
Command | ||||
---|---|---|---|---|
| ||||
sudo gpg --armor --output repo_gpg.key --export 2578DA4E |
В результате получим файл repo_gpg.key в текущем каталоге, который необходимо скопировать на компьютер, где будет использоваться данный репозиторий, и добавить его в систему:
Command | ||||
---|---|---|---|---|
| ||||
sudo apt-key add repo_gpg.key |
Apache2 + reprepro
Установить пакет:
Command | ||||
---|---|---|---|---|
| ||||
sudo apt |
Если репозиторий расположен по другому пути, например, /srv/repo
, то при необходимости создать симлинк с репозиторием:
Command | ||||
---|---|---|---|---|
| ||||
sudo |
В /etc/apache2/sites-enabled/000-default.conf после строки DocumentRoot /var/www/html добавить:
Подсказка | ||
---|---|---|
| ||
|
Перезапустить Apache2:
Command | ||||
---|---|---|---|---|
| ||||
|