«Альт Платформа» как основа ИТ-инфраструктуры вуза (Андрей Черепанов, OSEDUCONF-2024)
- Докладчик
- Андрей Черепанов
Рассматривается архитектура и вопросы использования «Альт Платформы» для сопровождения ИТ-инфраструктуры вуза как для хозяйственной деятельности, так и для образовательного процесса.
Содержание
Видео
Презентация
Thesis
Технологии сборки
На протяжении почти четверти века ALT Linux Team поддерживает собственный репозиторий Sisyphus. Для сопровождения этого, одного из крупнейших репозиториев в мире, были разработаны и используются множество технологий и инструментов. Для того, чтобы репозиторий из множества взаимозависимых пакетов был целостным и содержал меньше ошибок, команда решала следующие задачи:
- Воспроизводимая сборка. Для того чтобы пакет однозначно собирался в любое время и в любых условиях, необходимо предоставить все необходимые материалы в изолированной среде. Это значит, что среда должна помимо исходного кода содержать минимальный и достаточный набор зависимостей (в том числе инструментов сборки) и не иметь выход в сеть для исключения рисков недоступности необходимых ресурсов или их возможной подмены. Этот инструмент получил название Hasher.
- Для упрощения сборки и ведения совместной с апстримом истории был предложен инструмент Gear, который позволяет встроить непосредственно в репозиторий правила сборки и файлы .spec для сборки пакетов RPM и собирать непосредственно из апстримных тегов, минуя промежуточные стадии создания архивов исходного кода и их хранения (как в Fedora, например).
- Проверка на принятые правила через sisyphus-check. Например, запрет на размещение файлов вне принятых каталогов структуры FHS.
- Контроль зависимостей и ABI. В Sisyphus зависимости пакетов генерируются автоматически на основе опакеченного кода и зависимостей исполняемых файлов. При этом зависимости добавляются не только на библиотеки, но и на упомянутые в коде модули различных скриптовых языков. Зависимости на разделяемые библиотеки не просто выставляются по их именам, как в других дистрибутивах, но и учитывают ABI библиотек (set-версии).
Помимо программ для сборки пакетов был создан инструментарий сборки дистрибутивов mkimage-profiles. В настоящий момент на основе этих профилей Makefile собираются все дистрибутивы ОС «Альт» и иные образы (например, виртуальных машин).
«Альт Платформа» как продукт
«Альт Платформа» — первый в России технологический комплекс по сборке и распространению программного обеспечения и собственных дистрибутивов. Мы взяли следующие компоненты:
- стабильный репозиторий «Альта», качество которого организационно поддерживается жёстким контролем качества собираемых пакетов;
- дистрибутив ALT Platform Builder, который позволяет развернуть зеркало стабильного репозитория «Альта» и обновлять его, а также использовать технологии ALT Linux Team для надёжной, безопасной и эффективной сборки как пакетов в единый репозиторий, так и дистрибутивов на его базе (alterator-mirror, gear, hasher, mkimage-profiles).
«Альт Платформа» входит в российский реестр программного обеспечения (регистрационный номер ПО:~21540) и может быть использована для следующих задач:
- создавать собственные дистрибутивы;
- вести собственный единый репозиторий из различных компонентов:
- более 50.000 пакетов, собранных и поддерживаемых в стабильном репозитории;
- собственное ПО;
- стороннее ПО;
- обновлять из поддерживаемого репозитория собственную инфраструктуру.
Свой поддерживаемый репозиторий нужен для снижения рисков ухода вендоров, возможности самостоятельно комбинировать существующие решения для собственных сборок ОС (что актуально для больших организаций).
При этом не нужно считать, что «Альт Платформа» — это только сборочница. Это неверно и технологически (в «Альт Платформе» не используется girar, который используется для сборки в сам Sisyphus и стабильные репозитории), так и методологически (так как упор сделан не на сборку пакетов, а на использование общего репозитория).
Как продукт «Альт Платформа» доступен свободно для создания собственных дистрибутивов под лицензией GNU General Public License. В случае, если кто-то захочет создавать свой дистрибутив под несвободной лицензией и получить полноценную поддержку по договору, это обсуждается в рамках коммерческой истории.
Использование как основы ИТ-инфраструктуры вуза
Ключевые преимущества использования «Альт Платформы»:
- изучение промышленных практик работы с кодом в Git и сборки программного обеспечения;
- возможность создать собственный дистрибутив (как для использования внутри вуза, так и для целей обучения);
- использование единой базы программного обеспечения, включая сборки как собственных, так и сторонних компонентов;
- гарантированная совместимость программных продуктов с операционными системами семейства «Альт» при использовании инструментария «Альт Платформы»;
- централизованное обновление ОС «Альт» и собственных дистрибутивов в рамках вуза.
Литература
- Дмитрий Левин, Hasher: технология безопасной сборки пакетов // Первая международная конференция разработчиков свободных программ на Протве. Тезисы докладов. М., 2004. С.28—30.
- Дмитрий Левин, От SRPMS к GEAR // Четвёртая международная конференция разработчиков свободных программ на Протве. Тезисы докладов. М., 2007. С. 14—18.
- Алексей Турбин, Комплементарное хеширование подмножеств // Седьмая конференция разработчиков свободных программ. Тезисы докладов. М., 2010. С. 63—66.
- Михаил Шигорин, Макраме из дистрибутивов: mkimage-profiles // Девятая конференция разработчиков свободных программ. Тезисы докладов. М., 2012. C. 48—49