Launchpad - мощный веб-сервис предоставляющий важные инструменты для пользователей и разработчиков Ubuntu. Сервис позволяет:
- совместно работать над свободным ПО;
- создавать собственные персональные репозитории (Personal Package Arhive - PPA);
- участвовать в обсуждении багов;
- править переводы;
- и многое другое.
Регистрация на Launchpad
Естественно в начале нужно зарегистрировать на Launchpad, для этого переходим по ссылке https://login.launchpad.net/+new_account и производим регистрацию. Во время регистрации на почту придет письмо, в котором будет ссылка для подтверждения данной почты.Создание цифрового ключа
Цифровой ключ применяется в целях безопасности. Ключом подписываются пакеты перед отправкой на launchpad, для подтверждения того, что пакеты были выложены именно вами, а не кем-то другим. Более подробная информация о ключах содержится в этой статье.Генерации ключа выполняется следующей командой в терминале:
gpg --gen-key
Программа gpg первым делом спросит какой тип ключа нужно сгенерировать. У меня было предложено 4 варианта ключа. Введя 1 и нажав enter, я выбрал первый вариант, предложенный по умолчанию.
Дальше требуется выбрать длину ключа от 1024 до 4096 бит. Думаю для хорошей безопасности достаточно длины 2048, но я ввел максимальный размер - 4096.
Затем выбирается срок действия ключа. В Wiki предложен вариант: без ограничения срока действительности. Подумав и решил указать 2 года, т.к. всегда можно при необходимости сгенерировать новый ключ.
Следующими шагами вводятся: имя (логин), email-адрес и комментарий.
Логин и email-адрес нужно обязательно ввести, а вот комментарий по желанию, советую его не вводиться, меньше проблема потом будет.
В конце напоследок соглашается с введенными данными и вводим английскую букву - "o". Как выглядел весь процесс показан ниже. Указанная почта принадлежит не мне, и используется лишь для примера.
maksim@librebay:~$ gpg --gen-key gpg (GnuPG) 1.4.18; Copyright (C) 2014 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Выберите тип ключа: (1) RSA и RSA (по умолчанию) (2) DSA и Elgamal (3) DSA (только для подписи) (4) RSA (только для подписи) Ваш выбор (?-подробнее)? 1 ключи RSA могут иметь длину от 1024 до 4096 бит. Какой размер ключа Вам необходим? (2048) 4096 Запрашиваемый размер ключа 4096 бит Выберите срок действия ключа. 0 = без ограничения срока действительности <n> = срок действительности n дней <n>w = срок действительности n недель <n>m = срок действительности n месяцев <n>y = срок действительности n лет Ключ действителен до? (0) 2y Ключ действителен до: Вс. 11 февр. 2018 22:01:10 IRKT Все верно? (y/N) y Для идентификации Вашего ключа необходим User ID Программа создаст его из Вашего имени, комментария и адреса e-mail в виде: "Baba Yaga (pensioner) <yaga@deepforest.ru>" Ваше настоящее имя: maksim Email-адрес: maksim@mail.ru Комментарий: Вы выбрали следующий User ID: "maksim <maksim@mail.ru>" Сменить (N)Имя, (C)Комментарий, (E)email-адрес или (O)Принять/(Q)Выход? o
Далее для защиты секретного ключа придумываем пароль и повторяем его. После чего начнется генерация ключа. Процесс не быстрый, для генерации нужны случайные данные, поэтому совершаем различные случайные действия: просматриваем видео, случаем музыку, лазим по интернету, печатаем или что-нибудь другое, что придет на ум.
В процессе у меня появлялись сообщения вида:
Недостаточно случайных чисел. Выполняйте какие-либо действия для того, чтобы ОС могла получить больше случайных данных! (Необходимо ещё 190 байт) ...........+++++ Необходимо сгенерировать много случайных чисел. Желательно, что бы Вы выполняли некоторые другие действия (печать на клавиатуре, движения мыши, обращения к дискам) в процессе генерации; это даст генератору случайных чисел возможность получить лучшую энтропию.
В итоге программа генерации ключа завершила свою работу, выдав мне следующее:
gpg: ключ D474D05E помечен как абсолютно доверяемый. открытый и закрытый ключи созданы и подписаны. gpg: проверка таблицы доверий gpg: 3 ограниченных необходимо, 1 выполненных необходимо, PGP модель доверия gpg: глубина: 0 корректных: 2 подписанных: 0 доверия: 0-, 0q, 0n, 0m, 0f, 2u gpg: срок следующей проверки таблицы доверий 2018-02-07 pub 4096R/D474D05E 2016-02-12 [годен до: 2018-02-11] Отпечаток ключа = 2329 20F4 7D75 8863 3D20 9C8F 64D9 4DB2 D474 D05E uid maksim <maksim@mail.ru> sub 4096R/7DF7E6D1 2016-02-12 [годен до: 2018-02-11]
Обратим внимание на первую строчку, в ней указан ID публичного ключа. В примере выше ID равен D474D05E. Данный ключ нужно отправить на сервер ключей
gpg --send-keys --keyserver keyserver.ubuntu.com D474D05E
Важно! Программа gpg генерирует публичный и личный ключи. Личный ключ еще называется "Отпечаток ключа". Личный ключ должен находится только у его создателя, иначе это поставит под угрозу безопасность PPA.
Сейчас, чтобы продолжить дальше, надо сделать небольшой перерыв, минут на 15. Например, как я, можно сходить и попить чаю. Это необходимо, чтобы сервер ключей keyserver.ubuntu.com обработал отправленный к нему ключ.
Принятие Code of Conduct
Code of Conduct это документ, описывающий правила поведения в сообществе Ubuntu. Без подписания этого документа Launchpad не позволяет использовать некоторые его возможности, в том числе создавать PPA. Перевод этого документа можно прочитать в статье на Ubuntu Wiki - Кодекс поведения Ubuntu. Возможно это перевод не самой последней версии Code of Conduct.Для подписания Code of Conduct переходим по ссылке https://launchpad.net/codeofconduct, по которой увидим:
Нажимаем на "Register an OpenPGP key" и попадаем на страницу:
Здесь в поле Fingerprint вводим отпечаток ключа, который до этого сгенерировали и нажием Import Key.
После импорта ключа на почту приходит зашифрованное письмо. Некоторые почтовые клиенты (такие как Evolution) могут предлагать расшифровать письмо. В моем случаем, ничего такого не было, поэтому пришлось в ручную расшифровывать послание в письме. Для этого сохраняем содержимое письмо в текстовый файл mail.txt, можно воспользоваться программой gedit. И используем команду расшифровки:
gpg --decrypt ~/mail.txt
В конце расшифрованного письма будет ссылка на Launchpad, которой вы подтвердите что вы являетесь владельцем ключа.
Вновь перейдим на страницу https://launchpad.net/codeofconduct и скачиваем Code of Conduct по ссылке "Download the current Code of Conduct".
Данный документ теперь надо подписать своим ключом. Открываем терминал, если Code of Conduct находится в папке загрузок, переходим в нее:
cd Загрузки
или cd Download
. И выполняем там команду:gpg --clearsign UbuntuCodeofConduct-2.0.txt
Это создаст подписанный вашим ключом файл UbuntuCodeofConduct-2.0.txt.asc.
Переходим на страницу https://launchpad.net/codeofconduct и нажимаем на ссылку Sign it!. в появившееся поле Signed Code ввода вставляем всё содержимое файла UbuntuCodeofConduct-2.0.txt.asc и нажимаем Continue.
Вот и всё. Теперь Code of Conduct нами принят и можно перейти к созданию самого PPA.
Создание PPA
Перейдите на страницу своего профиля на Launchpad и найдите ссылку Create a new PPA:найдите ссылку Create a new PPA и нажимаем на нее:
Заполняем поля Display name и URL. Поле Description не обязательно для заполнения. При заполнении помните, что пользователи будут прописывать часть строки URL при добавлении PPA, поэтому его нужно делать максимально коротким, но при этом отражающем суть PPA. Описание Descriprion, будет выводится пользователям в терминал, при добавлении PPA, поэтому тоже не усердствуйте с объемом.
На этом закончим эту статью. В следующей я рассмотрю как размещать пакеты в своём репозитории.