Створюємо власний deb-репозиторій (на прикладі створення сховища для komodo edit), андрей Аносов
Для створення власного сховища використовуємо команду reprepro, яка істотно полегшить нашу роботу. Спочатку встановимо її наступною командою:
Потім потрібно вирішити, де буде знаходитися наш репозиторій з deb-пакетами. Слід зазначити, що для доступу до нашого сховища потрібно буде використовувати веб-сервер, тому логічно розмістити його в каталозі / var / www. Створимо в цьому каталозі директорію repository.
Далі потрібно налаштувати наш репозиторій. Перейдемо в каталог / var / www / repository і створимо каталог conf, а в всередині нього два файли: distributions і options.
Під час налаштування конфігурації сховища слід вказати стабільність входять до нього пакетів (в нашому випадку - stable), версію операційної системи (наприклад, підтримувані на даний момент версії дистрибутивів Ubuntu: lucid, maverick і natty), тип архітектури процесора (i386 і amd64), а також тип програмного забезпечення в залежності від ліцензії (у випадку з Komodo Edit - non-free). Також в список налаштувань входять назва сховища, його мітка і опис. Таким чином, вміст файлу distributions вийшло таким:
Особливу увагу слід звернути на параметр SignWith. Якщо його значення встановлено в yes, то наш репозиторій буде використовувати GPG-ключ для підтвердження автентичності пакетів, що вкрай рекомендується.
У файлі options потрібно перерахувати параметри, які автоматично будуть підставлятися до всіх команд reprepro. Мабуть, що найоптимальнішим в цьому файлі буде список з наступних команд:
Перший параметр визначає, що завжди буде виводитися інформація про хід виконання команди, а другий змусить reprepro питати пароль для GPG-ключа при додаванні нового deb-пакету в репозиторій.
Тепер саме час згенерувати GPG-ключ, яким ми будемо підтверджувати справжність нашого сховища. Робота з GPG-ключами в Linux виконується за допомогою команди gpg.
Після проведення операцій по генерації GPG-ключа можна приступати до додавання файлів в репозиторій. Будемо вважати, що ми заздалегідь зібрали deb-пакети komodo-edit_6.1.2ubuntu0_i386.deb і komodo-edit_6.1.2ubuntu0_amd64.deb.
З огляду на, що налаштуваннях в файлі distributions ми прописали підтримку дистрибутивів lucid, maverick і natty, то для додавання двох пакетів в наш репозиторій потрібно виконати наступні команди:
Після цього налаштування нашого сховища можна вважати завершеною. Наш репозиторій вже доступний локально, але ще потрібно налаштувати веб-сервер, щоб надати доступ до сховища через інтернет. Для сховища я виділив субдомен deb.anosov.org.ru, тому нижче наводжу приклад конфігураційного файлу для веб-сервера nginx для організації доступу до сховища через доменне ім'я deb.anosov.org.ru:
З огляду на, що створений репозиторій - публічний, то має сенс включити відображення лістингу знаходяться в ньому файлів. Однак також рекомендується обмежити доступ до каталогів / conf і / db, що містить відомості про налаштування сховища.
Крім відкриття доступу до сховища за допомогою веб-сервера потрібно надати користувачам сховища можливість вільно отримати відкритий GPG-ключ. Кращий спосіб для цього - завантажити відкритий ключ на публічний GPG-сервер, наприклад, на keyserver.ubuntu.com. Слід зазначити, що keyserver.ubuntu.com приймає ключі в форматі ASCII-armored. Тому спочатку слід конвертувати файл pubring.gpg в файл pubring.asc:
Потім потрібно відкрити в браузері сайт keyserver.ubuntu.com. знайти на ньому форму «Submit a key», скопіювати в текстове поле весь вміст файлу pubring.asc і натиснути кнопку «Submit this key to the keyserver!».
1. Встановити відкритий GPG-ключ сховища deb.anosov.org.ru: