APT в ALT Linux/OwnRepo: различия между версиями
Нет описания правки |
Mattaku (обсуждение | вклад) Нет описания правки |
||
Строка 9: | Строка 9: | ||
В каталоге {{path|/var/www/repo/extra}} будет находится наш репозиторий. Создадим необходимую структуру для нового компонента: | В каталоге {{path|/var/www/repo/extra}} будет находится наш репозиторий. Создадим необходимую структуру для нового компонента: | ||
mkdir -p /var/www/repo/extra/x86_64/RPMS.extra | # mkdir -p /var/www/repo/extra/x86_64/RPMS.extra | ||
x86_64 - является архитектурой | |||
extra - суффикс компонента | |||
== Наполнение компонента и создание индексов == | == Наполнение компонента и создание индексов == | ||
Установим apt-repo-tools: | Установим apt-repo-tools: | ||
apt-get install apt-repo-tools | # apt-get install apt-repo-tools | ||
Скопируем пакеты RPM в каталог {{path|/var/www/repo/extra/x86_64/RPMS.extra}}: | Скопируем пакеты RPM в каталог {{path|/var/www/repo/extra/x86_64/RPMS.extra}}: | ||
cp | # cp -v *.rpm /var/www/repo/extra/x86_64/RPMS.extra | ||
Устанавливаем утилиты работы с ЭП и создания индексов | |||
# apt-get install gnupg apt-repo-tools | |||
== Создание ключей GPG == | |||
Создаем пару ключей GPG на 5 лет: | |||
# gpg --gen-key | |||
Выберите тип ключа: | |||
(1) RSA и RSA (по умолчанию) | |||
(2) DSA и Elgamal | |||
(3) DSA (только для подписи) | |||
(4) RSA (только для подписи) | |||
Ваш выбор? | |||
// '''Пишем 1'''. Так как нам необходим тип ключа RSA и RSA | |||
длина ключей RSA может быть от 1024 до 4096 бит. | |||
Какой размер ключа Вам необходим? | |||
// Пишем размер ключа '''2048''' | |||
Запрошенный размер ключа - 2048 бит | |||
Выберите срок действия ключа. | |||
0 = без ограничения срока действия | |||
<n> = срок действия - n дней | |||
<n>w = срок действия - n недель | |||
<n>m = срок действия - n месяцев | |||
<n>y = срок действия - n лет | |||
Срок действия ключа? | |||
// '''Ставим 0''' без ограничения срока действия. | |||
Ключ действителен до Пн 23 ноя 2026 13:09:35 MSK | |||
Все верно? (y/N) | |||
// '''Ставим y''' | |||
Для идентификации Вашего ключа необходим ID пользователя. Программа создаст его | |||
из Вашего имени, комментария и адреса электронной почты в виде: | |||
"Baba Yaga (pensioner) <yaga@deepforest.ru>" | |||
Ваше настоящее имя: (Пишем наше настоящее имя) | |||
Адрес электронной почты: (Пишем адрес электронной почты) | |||
Комментарий: | |||
Вы выбрали следующий ID пользователя: | |||
"Repo Signer <admin@company.net>" | |||
Сменить (N)Имя, (C)Комментарий, (E)адрес или (O)Принять/(Q)Выход? | |||
// '''Пишем O''' (Принять) | |||
Для защиты секретного ключа необходима фраза-пароль. | |||
Далее, система предложит нам сгенерировать случайные числа. Для этого нужно следовать инструкции, которая будет написана в нашем терминале (движение мышкой, набор текста и т.д) | |||
В конце, когда сформируется отпечаток ключа GPG, можно увидеть сформированный ID | |||
'''Пример: | |||
ID: 261948CA | |||
Отпечаток (fingerprint): 966F F72F 03F4 AA67 6CI4 13FA D7CE F279 2619 49CA''' | |||
Теперь нам необходимо применить наш ID GPG ключа для создания и подписи индексов: | |||
# genbasedir --create --bloat --progress --sign --default-key=261948CA --topdir=/var/www/repo/extra x86_64 extra | |||
'''ВАЖНО''' Обратите внимание, что в поле --default-key= Нужно использовать наш ID (в моем случае 261948CA) | |||
Далее, вводим фразу-пароль для доступа к секретному ключу пользователя. | |||
Добавляем свой ключ, использованный для подписанного репозитория: | |||
Создаем файл: | |||
# nano /etc/apt/vendors.list.d/own.list | |||
И в этом файле (own.list) прописываем наш fingerprint и имя : | |||
simple-key "own" { | |||
Fingerprint "966FF72F03F4AA676CI413FAD7CEF279261949CA"; | |||
Name "Ваше настоящее имя <ваша электронная почта>"%; | |||
} | |||
'''ВАЖНО''' Не забудьте поставить ; после поля Fingerprint и name. | |||
'''ВАЖНО2''' Отпечаток (Fingerprint) указываем без пробелов. | |||
Импортируем публичный ключ в общую базу alt-gpgkeys: | |||
# gpg --output ~/repo.gpg --export 261948CA | |||
# gpg --no-default-keyring --keyring /usr/lib/alt-gpgkeys/pubring.gpg --import ~/repo.gpg | |||
'''ВАЖНО3''' ВНИМАНИЕ! При обновлении пакета alt-gpgkeys ключ подписи репозитория будет удалён. Необходимо или поставить пакет alt-gpgkeys на Hold (https://www.altlinux.org/Hold) или написать filetrigger по добавлению ключа в эту базу при обновлении пакета. | |||
Устанавливаем утилиту apt-repo: | |||
# apt-get install apt-repo | |||
Добавляем свой репозиторий с ключом для проверки: | |||
# echo "rpm [own] file:/var/extra x86_64 extra" > /etc/apt/sources.list | |||
[[Категория:APT]] | [[Категория:APT]] | ||
{{Category navigation|title=APT|category=APT|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=APT|category=APT|sortkey={{SUBPAGENAME}}}} |
Версия от 16:32, 24 ноября 2021
Создание собственного репозитория
Задача: создать собственный репозиторий со своими пакетами.
Добавляем свой компонент
Новый компонент будет называться extra.
В каталоге /var/www/repo/extra будет находится наш репозиторий. Создадим необходимую структуру для нового компонента:
# mkdir -p /var/www/repo/extra/x86_64/RPMS.extra
x86_64 - является архитектурой extra - суффикс компонента
Наполнение компонента и создание индексов
Установим apt-repo-tools:
# apt-get install apt-repo-tools
Скопируем пакеты RPM в каталог /var/www/repo/extra/x86_64/RPMS.extra:
# cp -v *.rpm /var/www/repo/extra/x86_64/RPMS.extra
Устанавливаем утилиты работы с ЭП и создания индексов
# apt-get install gnupg apt-repo-tools
Создание ключей GPG
Создаем пару ключей GPG на 5 лет:
# gpg --gen-key
Выберите тип ключа:
(1) RSA и RSA (по умолчанию) (2) DSA и Elgamal (3) DSA (только для подписи) (4) RSA (только для подписи)
Ваш выбор?
// Пишем 1. Так как нам необходим тип ключа RSA и RSA
длина ключей RSA может быть от 1024 до 4096 бит. Какой размер ключа Вам необходим?
// Пишем размер ключа 2048
Запрошенный размер ключа - 2048 бит Выберите срок действия ключа.
0 = без ограничения срока действия <n> = срок действия - n дней <n>w = срок действия - n недель <n>m = срок действия - n месяцев <n>y = срок действия - n лет
Срок действия ключа?
// Ставим 0 без ограничения срока действия.
Ключ действителен до Пн 23 ноя 2026 13:09:35 MSK Все верно? (y/N)
// Ставим y
Для идентификации Вашего ключа необходим ID пользователя. Программа создаст его из Вашего имени, комментария и адреса электронной почты в виде:
"Baba Yaga (pensioner) <yaga@deepforest.ru>"
Ваше настоящее имя: (Пишем наше настоящее имя) Адрес электронной почты: (Пишем адрес электронной почты) Комментарий: Вы выбрали следующий ID пользователя:
"Repo Signer <admin@company.net>"
Сменить (N)Имя, (C)Комментарий, (E)адрес или (O)Принять/(Q)Выход?
// Пишем O (Принять)
Для защиты секретного ключа необходима фраза-пароль.
Далее, система предложит нам сгенерировать случайные числа. Для этого нужно следовать инструкции, которая будет написана в нашем терминале (движение мышкой, набор текста и т.д)
В конце, когда сформируется отпечаток ключа GPG, можно увидеть сформированный ID Пример: ID: 261948CA Отпечаток (fingerprint): 966F F72F 03F4 AA67 6CI4 13FA D7CE F279 2619 49CA
Теперь нам необходимо применить наш ID GPG ключа для создания и подписи индексов:
# genbasedir --create --bloat --progress --sign --default-key=261948CA --topdir=/var/www/repo/extra x86_64 extra
ВАЖНО Обратите внимание, что в поле --default-key= Нужно использовать наш ID (в моем случае 261948CA)
Далее, вводим фразу-пароль для доступа к секретному ключу пользователя.
Добавляем свой ключ, использованный для подписанного репозитория: Создаем файл:
# nano /etc/apt/vendors.list.d/own.list
И в этом файле (own.list) прописываем наш fingerprint и имя :
simple-key "own" { Fingerprint "966FF72F03F4AA676CI413FAD7CEF279261949CA"; Name "Ваше настоящее имя <ваша электронная почта>"%; }
ВАЖНО Не забудьте поставить ; после поля Fingerprint и name.
ВАЖНО2 Отпечаток (Fingerprint) указываем без пробелов.
Импортируем публичный ключ в общую базу alt-gpgkeys:
# gpg --output ~/repo.gpg --export 261948CA # gpg --no-default-keyring --keyring /usr/lib/alt-gpgkeys/pubring.gpg --import ~/repo.gpg
ВАЖНО3 ВНИМАНИЕ! При обновлении пакета alt-gpgkeys ключ подписи репозитория будет удалён. Необходимо или поставить пакет alt-gpgkeys на Hold (https://www.altlinux.org/Hold) или написать filetrigger по добавлению ключа в эту базу при обновлении пакета.
Устанавливаем утилиту apt-repo:
# apt-get install apt-repo
Добавляем свой репозиторий с ключом для проверки:
# echo "rpm [own] file:/var/extra x86_64 extra" > /etc/apt/sources.list