Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Создание репозитория

Установить пакет reprepro:

Command
borderColor#c2e6ff
bgColor#e2f3ff
sudo apt install reprepro

Создать каталог для размещения репозитория и :

Command
borderColor#c2e6ff
bgColor#e2f3ff

sudo mkdir <путь_к_репозиторию/имя>

создать в каталоге репозитория каталог conf:

Command
borderColor#c2e6ff
bgColor#e2f3ff

mkdir -p reposudo mkdir <путь_к_репозиторию/имя>/conf

Создать в каталоге conf файл distributions примерно такого содержания:

Command
borderColor#c2e6ff
bgColor#e2f3ff

mcedit reposudo mcedit <путь_к_репозиторию/имя>/conf/distributions


Подсказка
iconfalse
Origin: Debian
Codename: smolensk
Suite: stable
Version: 1.56.30
Architectures: amd64
Components: main contrib non-free
UDebComponents: main
Contents:

где:

Codename: smolensk - кодовое имя дистрибутива: smolensk, orel ...
Suite: stable - ветка дистрибутива: stable, current, unstable
Version: 1.56.30 - номер версии
Architectures: amd64 - архитектура дистрибутива: i386, amd64, source (если репозиторий будет содержать исходный код пакетов)
Components: main contrib non-free - компоненты дистрибутива: main - СПО, contrib - СПО с зависимостями от несвободного, non-free - несвободное ПО
UDebComponents: main - Udeb-пакеты
Contents: - файлы со списком содержимого каждого пакета
SignWith: yes - подпись репозитория (можно не указывать, если не планируете подписывать репозиторий ключом gnupg)

...

Command
borderColor#c2e6ff
bgColor#e2f3ff
sudo reprepro -b repo export<путь_к_репозиторию/имя> export

После этого можно наполнять репозиторий пакетами:

Добавление бинарного deb пакета:

Command
borderColor#c2e6ff
bgColor#e2f3ff
sudo reprepro -b <путь_к_репозиторию/имя> includedeb <кодовое_имя_дистрибутива(smolensk)> <путь_к_пакету/имя_пакета>.deb

Добавление всех пакетов deb:

Command
borderColor#c2e6ff
bgColor#e2f3ff
sudo reprepro -b <путь_к_репозиторию/имя> includedeb <кодовое_имя_дистрибутива(smolensk)> <путь_к_пакетам>/*.deb


Примечание
iconfalse

При появлении ошибки: No priority given for '<имя_пакета>', skipping.

Выполнить добавление пакета с игнорированием приоритета с помощью опции -P:

Command
borderColor#c2e6ff
bgColor#e2f3ff

sudo reprepro -P -V -b

repo includedeb <кодовое имя дистрибутива> <имя

<путь_к_репозиторию/имя> includedeb <кодовое_имя_дистрибутива(smolensk)> <путь_к_пакету/имя_пакета>.deb


Добавление бинарного udeb пакета:

Command
borderColor#c2e6ff
bgColor#e2f3ff
reprepro -b repo includeudeb <кодовое имя дистрибутива> <имя

sudo reprepro -b <путь_к_репозиторию/имя> includeudeb <кодовое_имя_дистрибутива(smolensk)> <путь_к_пакету/имя_пакета>.udeb

Добавление пакета с исходным:

Command
borderColor#c2e6ff
bgColor#e2f3ff

sudo reprepro -b repo includedsc <кодовое имя дистрибутива> <имяb <путь_к_репозиторию/имя> includedsc <кодовое_имя_дистрибутива(smolensk)> <путь_к_пакету/имя_пакета>.dsc

Удаление пакета:

Command
borderColor#c2e6ff
bgColor#e2f3ff

sudo reprepro -b repo remove <кодовое имя дистрибутива> <имя_пакета> 

...

b <путь_к_репозиторию/имя> remove <кодовое_имя_дистрибутива(smolensk)> <имя_пакета_без_версии>

Подписывание репозитория

Сгенерировать gpg-ключ (RSA или DSA):

Command
borderColor#c2e6ff
bgColor#e2f3ff
sudo gpg --gen-key

Добавить в repo<путь_к_репозиторию/имя>/conf/distributions строку:

...

Command
borderColor#c2e6ff
bgColor#e2f3ff
sudo reprepro --ask-passphrase -b repo b <путь_к_репозиторию/имя> export (параметр --ask-passphrase запрашивает пароль для gpg-ключа)

и наполнить репозиторий:

Command
borderColor#c2e6ff
bgColor#e2f3ff
sudo reprepro --ask-passphrase -b repo b <путь_к_репозиторию/имя> includedeb <кодовое имя дистрибутива> <имя_пакета>.deb

...

Command
borderColor#c2e6ff
bgColor#e2f3ff
sudo gpg --list-keys

В результате получится примерно такой результат:

...

Command
borderColor#c2e6ff
bgColor#e2f3ff
sudo gpg --armor --output repo_gpg.key --export 2578DA4E

...

Command
borderColor#c2e6ff
bgColor#e2f3ff
sudo apt-key add repo_gpg.key


Apache2 + reprepro

Установить пакет:

Command
borderColor#c2e6ff
bgColor#e2f3ff
sudo apt install apache2

Если репозиторий расположен по другому пути, например, /srv/repo, то при необходимости создать симлинк с репозиторием:

Command
borderColor#c2e6ff
bgColor#e2f3ff
sudo ln -s /srv/repo /var/www/html/repo

В /etc/apache2/sites-enabled/000-default.conf после строки DocumentRoot /var/www/html добавить:

Подсказка
iconfalse

<Directory /var/www/html/repo>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order Deny,Allow
    Allow from all
</Directory>

Перезапустить Apache2:

Command
borderColor#c2e6ff
bgColor#e2f3ff

sudo systemctl restart apache2