Записки майнтейнера: resurrection

в 11:54, , рубрики: alt linux, altlinux, linux, simply linux, Настройка Linux, сборка пакетов

В 2010 я стал майнтейнером в ALT Linux: прошёл все этапы процедуры принятия в Team: получил статус кандидата, провёл пробную сборку пакета под руководством ментора damir@ (Дамир Шайхутдиров), получил свой ник (lamp@), почту, сгенерил и зарегистрировал gpg ключи для подписи пакетов и ssh ключи для доступа к git.alt.

Как так получилось? Всё началось с моего первого знакомства с Debian Linux в 2005 году. Потом были эксперименты с Ubuntu, развесёлые линуксовки местного LUG и наполеоновские планы продвижения Linux в масштабах страны и отдельно взятом Ростове-на-Дону. Тем временем в 2007 компания ALT Linux выиграла всероссийский открытый конкурс на разработку и поставку пакета свободного ПО для школ. Вышел дистрибутив ALT Linux школьный. Начались пилотные внедрения СПО в школах трех российских регионов. И Ростовский LUG решил принять активное участие во всём этом. Мы стали сотрудничать с ALT Linux, посещать школы как официальные представители и помогать внедрять школьный дистрибутив. Даже организовали обучающий семинар для учителей. Подробнее об этом можно прочесть в нашем блоге. Разумеется всё это делалось безвозмездно и в свободное от работы время (обычно по субботам).

Я также думал о том, что можно предложить школьникам как инструмент для начального изучения программирования. И обнаружил в ALT Linux пакет basic256. Списался с автором-разработчиком Джеймсом Рено (James Reneau) и стал на какое-то время соразработчиком (перевод интерфейса, справки, мелкие улучшения в коде). Само собой — стал майнтейнером. Почти год (с апреля 2010 по январь 2011) старательно сопровождал basic256 и выпустил 7 сборок. Также принял участие в переводе книги Джеймса «Хотите научиться программировать?».

К сожалению, после бурного 2010го школьный проект в Ростове-на-Дону (и не только) фактически сошел на нет. На первый план вышли более актуальные задачи и я забросил свои обязанности майнтейнера. Однако, последние пару лет подумывал вернуться. И наконец размышления трансформировались в конкретные шаги. Связался с ребятами из ALT, получил добро, заручился поддержкой ментора glebfm@ (Глеб Фотенгауэр-Малиновский) и приступил к делу.

1. Моё новое старое железо

К сожалению, старичок ноутбук eMachines M6810, специально купленный для работы c ALT Linux в марте 2010 за 6 тыс. руб, давно отдал концы. Благо в моём хозяйстве обнаружился ноут Samsung P28 (Celeron 1.5Ghz) c 512Mb RAM, без жесткого диска и БП, доставшийся по случаю совершенно бесплатно. Докупил к нему БП и переставил 60Gb хард c почившего eMachines. Установил Simply Linux 7.0.5 — и рабочая лошадка была готова. Да, ещё приобрёл с хорошей скидкой (150 руб) USB WiFi TP-LINK TL-WN723N, поскольку в моём Samsung модуля WiFi не оказалось.

2. Переход к 8й ветке

Первое, что посоветовал ментор — обновиться до ветки p8. Что я и проделал, с некоторыми приключениями, которые вряд ли стоят особого внимания. Посетил страницу https://www.altlinux.org/Update и выполнил серию команд:

$ sudo apt-repo rm all
$ sudo apt-repo add p8
$ sudo apt-get update
$ sudo apt-get dist-upgrade
$ sudo update-kernel

Перезагрузился и — вуаля, у меня свеженькая версия:

$ cat /etc/altlinux-release
Simply Linux 7.95.0 (Dory)

В качестве бонуса — заработал USB WiFi TP-LINK. Вообще, к слову, Simply Linux производит очень приятное впечатление. Система хорошо сбалансирована, приемлемо откликается даже на моём слабом железе. Xfce настроен Window-like (лично мне всё равно, но для только пришедшего с Windows удобно). Цветовая гамма приятна для глаз. Плюс прикольная картинка на рабочем столе.

3. Восстановление доступа

Ключевой вопрос — что с моими ключами? Понятно, они были на eMachines, но тот хард был переформатирован. Однако ещё тогда, по совету своего первого ментора я сохранил две папки (.gnupg и .ssh) на другом ноутбуке.

Начнём с gpg ключей. Это два файла (pubring.gpg и secring.gpg) из моей старой папки .gnupg. Эти ключи нужны для подписи srpm и тегов в git. Копирую их из запароленного архива в домашнюю папку и выполняю команду:

$ gpg —with-fingerprint secring.gpg

а затем показываю результат ментору (через telegram). Он сравнивает fingerprint моего ключа с тем, который есть в keyring-е ключей членов Team. Отпечаток совпадает. Да, ключи те самые.

Импортирую:

$ gpg --import pubring.gpg
$ gpg --import secring.gpg
$ rm *.gpg

Самое время вспомнить пароль. Создаю пустой файл и пытаюсь его подписать:

$ touch test_file
$ gpg -ab test_file

в ответ gpg запрашивает у меня фразу-пароль. Вот это уже серьёзная проблема. Какой пароль я мог использовать в далёком 2010? Делаю несколько попыток, результат один: Неверная фраза-пароль; попробуйте ещё раз… «Забыть пароль — всё равно что утратить ключи», — тем временем пишет ментор. И тут меня словно осеняет! Пробую свою догадку — срабатывает. Файл подписан и я вспомнил свой пароль!

Пришло время для ssh ключей (из моей старой папки .ssh). Они нужны для подключения с серверам сборки (gyle.altlinux.org) и синхронизации git-репозитария (gitery.altlinux.org). Снова обращаюсь к своему запароленному архиву, извлекая оттуда два файла (id_dsa и id_dsa.pub). И затем:

$ ssh-add id_dsa
$ cp id_dsa .ssh
$ cp id_dsa.pub .ssh
$ rm id_dsa*

кроме того создаю в .ssh файл (vim ~/.ssh/config) cледующего содержания:

Host git.alt
    HostName gitery.altlinux.org
    Port 222
    User git_lamp

Host gyle.alt
    HostName gyle.altlinux.org
    Port 222
    User git_lamp

После нескольких безуспешных попыток доступа добавляю в ~/.ssh/config первой строкой:

PubkeyAcceptedKeyTypes +ssh-dss

Это приходится делать потому что современные openssh-clients считают (справедливо) DSA плохим алгоритмом, его использование нужно разрешать явно. А мои ключи именно DSA (в ближайшее время их надо обновить на RSA по совету ментора). Проверяю доступ командой:

$ ssh git.alt help
Enter passphrase for key '/home/lamp/.ssh/id_dsa':

Ввожу пароль и получаю список доступных команд. Доступ восстановлен, я снова в ALT Linux Team. Следующий шаг — собрать пакет. Но это будет уже новая история…

Автор: biblelamp

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js