Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Создание собственного репозитория средствами APT

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Система
 
Автор Сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вт Фев 19, 2008 8:52 am    Заголовок сообщения: Создание собственного репозитория средствами APT
Ответить с цитатой

Вы можете создавать собственные репозитории и использовать их для обновления и/или установки собственных программ. Для этого необходимо создать структуру каталогов, подобную описанной выше. Вы можете выбирать из следующих компонентов (перечисляются по дереву выше):
i586

архитектура, под которую собраны пакет (совпадает с таковой в имени бинарных RPM-пакетов)
Mandrake

название подсистемы. Этот уровень в дереве может отсутствовать (то есть, каталоги RPMS и base могут идти сразу следом за архитектурой)
RPMS

каталог, в котором размещены бинарные пакеты
SRPMS

каталог, в котором размещены пакеты с исходными текстами программ
RPMS.sisyphus

ссылка на каталог RPMS. При этом sisyphus заменяется на собственное название репозитория, например, local
base

служебный каталог, в котором размещается база данных APT


Следующий шаг в создании своего репозитория заключается в помещении бинарных пакетов в каталог RPMS, а пакетов с исходными текстами— в каталог SRPMS и в генерации служебной информации для APT при помощи команды genbasedir; ее формат:

genbasedir [опции] {название подсистемы} {репозиторий 1} [репозиторий 2...]


Из опций, список которых можно увидеть при запуске genbasedir без параметров, наиболее важной является опция --topdir, позволяющая указать путь к репозиторию. Все остальные параметры задаются относительно этого пути. Выглядит это следующим образом. Допустим, что наше дерево каталогов выглядит так:
/opt/repository/
|-- SRPMS
|-- SRPMS.security
|-- i386
| |-- MyDistro
| | |-- RPMS
| | |-- RPMS.local -> RPMS
| | |-- RPMS.security
| | |-- SRPMS.local -> ../../SRPMS
| | |-- SRPMS.security -> ../../SRPMS.security
| | |-- base


Тогда строка запуска genbasedir будет выглядеть так:
$ genbasedir --topdir=/opt/repository i386/MyDistro local security



Этой командой мы создадим информацию для APT в двух репозиториях— local и security. Для того, чтобы воспользоваться этой информацией, необходимо прописать доступ к репозиториям в /etc/apt/sources.list:
rpm file:/opt/repository i386/MyDistro local
rpm-src file:/opt/repository i386/MyDistro local
rpm file:/opt/repository i386/MyDistro security
rpm-src file:/opt/repository i386/MyDistro security



Репозиторий MyDistro.security, хранящий пакеты с исправлениями ошибок в системе безопасности, имеет смысл подписывать PGP-ключом, чтобы при установке пакета можно было проверить аутентичность репозитория и хранящихся в нем пакетов. Для этого необходимо создать соответствующий PGP-ключ, используя программу GnuPG (gpg) и запомнить его отпечаток (fingerprint) на клиентских машинах в файле /etc/apt/vendors.list в формате:
simple-key "краткое название ключа" {
Fingerprint "отпечаток ключа";
Name "Полное название ключа";
}


Примером может служить ключ службы безопасности , которым подписаны пакеты репозитория и обновления безопасности для различных дистрибутивов ALTLinux:
simple-key "alt" {
Fingerprint "BB1DD157A9722953847C5DB25B433A0EEAC91CA0";
Name "ALT Security Team <security@altlinux.ru>";
}



Для того, чтобы APT проверял аутентичность подписи, необходимо указать, что соответствующий репозиторий подписан PGP-ключом в /etc/apt/sources.list:
rpm [alt] file:/opt/repository i386/MyDistro security
rpm-src [alt] file:/opt/repository i386/MyDistro security



Необходимо также сгенерировать информацию для APT в репозитории с указанием опции --sign команды genbasedir. Дополнительно, можно указать идентификатор ключа, если он отличается от ключа по умолчанию, используя опцию --uid=идентификатор. Значением этой опции является идентификатор ключа в том виде, как он передается программе GnuPG в опции --default-key:
$ genbasedir --topdir=/opt/repository --sign \
--uid='ALT Security Team' i386/MyDistro security


Операцию создания служебной информации для APT необходимо производить каждый раз, когда в репозиторий вносятся изменения.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Система Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис