Темы для экзамена по курсу «Сопровождение пакетов в Linux»
- Дистрибутив ОС на основе свободного ПО
- Что такое СПО
- Принципы формирования свободного сообщества
- Структура свободного сообщества
- Определение дистрибутива (любое разумное)
- Хранилище
- Пакет как составная часть дистрибутива
- FHS
- Пакет-дистрибутив, пакет-дерево каталогов и пакет-архив (3 подхода)
- Возможности пакета-архива (FHS, регистрация в системе, служебные сценарии, триггеры)
- Свойства пакета в дистрибутиве (зависимости, конфликты, альтернативы)
- Причины возникновения зависимостей; зависимости и разноверсица
- Виды зависимостей
- Установщик пакета (rpm)
- Диспетчер пакетов (apt)
- Сопровождающий (maintainer) пакета
- Структура сообщества вокруг технологической площадки (дистрибутива/хранилища)
- Действия сопровождающего
- Получить исходники
- Развернуть сборочную среду
- Создать/обновить спецификацию
- Собрать пакет
- Оттестировать пакет
- Поместить пакет в хранилище
- Реагировать на собощения об ошибках
- Необходимый сопровождающему уровень знаний
- Как записаться в майнтейнеры?
- Сборка пакета
- upstream
- спецификация
- сборочные зависимости и их поиск
- заплатки
- понятие об инструментах сборки («что такое configure; make; make install»?)
- поиск зависимостей
- пакет исходников (src.rpm)
- Спецификация пакета («spec-файл»)
- Для чего нужен spec-файл?
- Разделы (паспорт, развёртывание, сборка, установка, архив, changelog)
- Макросы и зачем они нужны
- Типичный фронт работ в борьбе с upstream: пути, разноверсица, сборка/установка из-под root
- Изолированная среда сборки
- Недостатки configure; make; make install
- Недостатки сборки в базовой системе с помощью сборщика (rpm)
- Защищённость, воспроизводимость и системная независимость изолированной сборки
- Hasher как пример среды изолированной сборки
- Недостатки hasher
- Выкладывание пакета в хранилище и обратная связь с пользователями
- Путь пакета в хранилище после его сборки сопровождающим на своей домашней машине
- Безопасность установки пакетов из хранилища и угрозы этой безопасности
- Выкладывание пакета в хранилище посредством gear и git.alt
- BTS как класс программных инструментов: цели и задачи
- Bugzilla: разделение product и component; зависимости и дубли ошибок
- Статус ошибки
- Списки рассылки
- Как правильно задавать вопросы
- Как правильно отвечать на вопросы
- VCS, DVCS и GIT
- VCS, назначение и примеры
- Отличие VCS от DVCS (например, SVN от GIT), в т. ч. на примере организации групповой работы
- GIT
Срочно требуется конспект лекции Александра Герасёва!
- повседневная работа с git (pull, add, commit, push)
- ветки и теги
- ALT-специфичный инструментарий: gear и git.alt
- gear: цели и задачи
gear-update, gear-srpmimport, gear-commit
.gear/rules
- хранение исходных текстов пакета в git
- git.alt: хранилище и сборочный сервер
- как поместить пакет в хранилище
- как отправить пакет на сборку
- что и как управляется acl?
- коротко о разном:
clone <path to git repository> [<path to directory>] default-branch <path to git repository> [<branch>] find-package <pattern> init-db <path to directory> ls [<path to directory>] mv-db <path to source directory> <path to destination directory> repack <path to git repository> [<value>] rm-db <path to git repository> task {--help|ls|show|new|add|delsub|run|share|approve|rm} ... build [-b <binary_repository_name>] <gear_repo_1> <gear_tag_1> ... acl {--help|<binary_repository_name> ...}
- gear: цели и задачи