Темы для экзамена по курсу «Сопровождение пакетов в Linux»

  1. Дистрибутив ОС на основе свободного ПО
    • Что такое СПО
    • Принципы формирования свободного сообщества
    • Структура свободного сообщества
    • Определение дистрибутива (любое разумное)
    • Хранилище
  2. Пакет как составная часть дистрибутива
    • FHS
    • Пакет-дистрибутив, пакет-дерево каталогов и пакет-архив (3 подхода)
    • Возможности пакета-архива (FHS, регистрация в системе, служебные сценарии, триггеры)
    • Свойства пакета в дистрибутиве (зависимости, конфликты, альтернативы)
    • Причины возникновения зависимостей; зависимости и разноверсица
    • Виды зависимостей
    • Установщик пакета (rpm)
    • Диспетчер пакетов (apt)
  3. Сопровождающий (maintainer) пакета
    • Структура сообщества вокруг технологической площадки (дистрибутива/хранилища)
    • Действия сопровождающего
      1. Получить исходники
      2. Развернуть сборочную среду
      3. Создать/обновить спецификацию
      4. Собрать пакет
      5. Оттестировать пакет
      6. Поместить пакет в хранилище
      7. Реагировать на собощения об ошибках
    • Необходимый сопровождающему уровень знаний
    • Как записаться в майнтейнеры?
  4. Сборка пакета
    • upstream
    • спецификация
    • сборочные зависимости и их поиск
    • заплатки
    • понятие об инструментах сборки («что такое configure; make; make install»?)
    • поиск зависимостей
    • пакет исходников (src.rpm)
  5. Спецификация пакета («spec-файл»)
    • Для чего нужен spec-файл?
    • Разделы (паспорт, развёртывание, сборка, установка, архив, changelog)
    • Макросы и зачем они нужны
    • Типичный фронт работ в борьбе с upstream: пути, разноверсица, сборка/установка из-под root
  6. Изолированная среда сборки
    • Недостатки configure; make; make install
    • Недостатки сборки в базовой системе с помощью сборщика (rpm)
    • Защищённость, воспроизводимость и системная независимость изолированной сборки
    • Hasher как пример среды изолированной сборки
    • Недостатки hasher
  7. Выкладывание пакета в хранилище и обратная связь с пользователями
    • Путь пакета в хранилище после его сборки сопровождающим на своей домашней машине
    • Безопасность установки пакетов из хранилища и угрозы этой безопасности
    • Выкладывание пакета в хранилище посредством gear и git.alt
    • BTS как класс программных инструментов: цели и задачи
    • Bugzilla: разделение product и component; зависимости и дубли ошибок
    • Статус ошибки
    • Списки рассылки
    • Как правильно задавать вопросы
    • Как правильно отвечать на вопросы
  8. VCS, DVCS и GIT
    • VCS, назначение и примеры
    • Отличие VCS от DVCS (например, SVN от GIT), в т. ч. на примере организации групповой работы
    • GIT
      • /!\

  9. ALT-специфичный инструментарий: gear и git.alt
    • /!\