Перейти к основному содержимому

🧭 Подготовка окружения и вступление в профессию

🎯 Цель раздела

Этот документ познакомит вас с профессией инженера по сопровождению RPM-пакетов в экосистеме ROSA Linux и поможет подготовить рабочее окружение. После прохождения этого этапа вы:

  • поймёте, чем занимается инженер сопровождения;
  • узнаете, что такое RPM и зачем нужны SRPM-пакеты;
  • установите необходимые инструменты и настроите окружение для сборки;
  • получите общее представление о цикле жизни пакета в ROSA.

💡 Кто такой инженер по сопровождению RPM-пакетов

Инженер сопровождения пакетов (Package Maintainer) — это специалист, отвечающий за:

  • сборку и обновление пакетов в дистрибутиве (например, ROSA Linux);
  • адаптацию исходного кода под экосистему дистрибутива;
  • применение патчей, поддержку зависимостей и соответствие политикам качества;
  • реакцию на ошибки сборки, обновления зависимостей, уязвимости и новые версии ПО.

Проще говоря, вы — посредник между разработчиками программ и пользователями дистрибутива, обеспечивающий стабильность и актуальность пакетов.


🧩 Основные понятия

ТерминОпределение
RPMФормат пакетов в дистрибутивах семейства RedHat/ROSA. Хранит бинарные файлы, метаданные и сценарии установки.
SRPMSource RPM — архив с исходниками и SPEC-файлом. Используется для сборки бинарного RPM.
SPEC-файлИнструкции для сборки пакета: откуда брать исходники, как собирать, какие зависимости и скрипты использовать.
BuildrootИзолированное окружение, где происходит сборка пакета.
rpmbuildОсновная утилита для сборки RPM-пакетов.

🧰 Подготовка окружения

Перед началом работы убедитесь, что у вас установлена ROSA Linux (Fresh или Enterprise). Для разработки удобнее использовать ROSA Fresh с актуальными пакетами.

1. Установка необходимых инструментов

sudo dnf install rpm-build rpmdevtools git gnupg1

2. Создание рабочей структуры каталогов

rpmdev-setuptree

После выполнения команды появится структура:

~/rpmbuild/
├── BUILD
├── RPMS
├── SOURCES
├── SPECS
└── SRPMS

3. Проверка версии сборочных инструментов

rpm --version
rpmbuild --version

Если видите что-то вроде RPM version 4.19.1, — всё готово.


🧱 Настройка Git и репозитория

Сопровождающий инженер обязательно работает с Git — все пакеты хранятся в репозиториях ROSA.

git config --global user.name "Ваше имя"
git config --global user.email "you@example.com"

Далее потребуется доступ в систему Automated Build Farm (ABF) — об этом подробно будет в отдельном разделе.


⚙️ Проверка готовности системы

Проверьте, что утилиты из списка доступны:

КомандаНазначение
rpmbuildСборка пакетов
rpmУправление установленными пакетами
dnfМенеджер пакетов ROSA
rpmlintПроверка качества пакетов
mockИзолированная среда сборки
gitКонтроль версий

Если чего-то не хватает, установите:

sudo dnf install rpmlint mock

🔍 Проверка работы на тестовом пакете

Создадим тестовый SPEC для тренировки:

rpmdev-newspec hello

В папке ~/rpmbuild/SPECS появится файл hello.spec — основа будущих практических заданий.


🧭 Итого

Теперь вы:

  • понимаете роль инженера сопровождения;
  • настроили базовое окружение;
  • подготовили структуру для сборки пакетов;
  • сделали первые шаги к работе с RPM.

Следующий документ будет посвящён основам Linux и командной строки, которые необходимы для уверенной навигации и сборки пакетов.


💬 Совет: сохраняйте свои изменения в Git и ведите личный журнал изучения — это поможет вам выстроить системное понимание и быстро адаптироваться к работе в ROSA Team.