• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Research Seminar "Linux software distribution"

2024/2025
Academic Year
RUS
Instruction in Russian
3
ECTS credits
Course type:
Elective course
When:
1 year, 1-3 module

Instructor

Программа дисциплины

Аннотация

Дистрибьюция программного обеспечения в Linux является нетривиальной задачей как ввиду многообразия вариаций ОС Linux и используемых в них средств управления ПО, так и ввиду большого количества средств сборки приложений из исходного кода. Исторически, пер-выми универсальными способами распространения ПО в Linux являются пакеты в форматах RPM и Deb, активно используемые и сегодня. Принципиальные ограничения эти подходов обусловлены их ориентация на разработчиков конкретных дистрибутивов Linux, а не стороннего ПО — в частности, невозможно подготовить пакет RPM или Deb, подходящий для всех вариантов Linux, поддерживающих соответствующий формат пакетов. Это ограничивает возможности распротранени ПО, подготовленного сторонними программистами, а не разработчиками дистрибутивов. В качестве альтернативы, в последнее десятилетие был предложен ряд подходов, не привязанных к каким-то вариантам Linux. Наиболее распространенным на данный момент является применение контейнеров Docker, основанных использовании лекговесной виртуализации для изоляции приложений друг от друга и от основной системы.
Цель освоения дисциплины

Цель освоения дисциплины

  • Целью научно-исследовательского семинара “Дистрибьюция программного обеспечения в Linux” является формирование у студентов профессиональных компетенций, связанных с общей методологией научного исследования (сбор, анализ и синтез информации), понимания студентами базовых принципов построения и развертывания сложных программных комплексов в Linux, необходимых для практического использования на последующих этапах обучения и в профессиональной сфере деятельности будущего специалиста, реализации проектов (определение круга задач в рамках поставленной цели и выбор оптимальных способов решения исходя из действующих правовых форм, ресурсов и ограничений).
Планируемые результаты обучения

Планируемые результаты обучения

  • Знать основные недостатки Docker с точки зрения безопасности и уметь их нивелировать
  • Иметь представление о многообразии вариантов Linux и их основных отличиях
  • Иметь представления об аналогах Docker, их преимуществах и недостатках
  • Понимать основные задачи и проблемы, возникающие при дистрибьюции ПО в Linux
  • Уметь пользоваться инструментальными средствами RPM и/или Deb для сборки и установки пакетов
  • Уметь распознавать по исходному коду – какие инструменты нужны для его сборки
  • Уметь собирать контейнеры Docker
  • Уметь создавать проекты и собирать пакеты в среде сборки ABF (Automated Build Farm)
  • Уметь составлять инструкции по сборке приложений в форме spec-файлов для RPM
  • Уметь управлять множеством взаимосвязанных контейнеров Docker
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Традиционные средства управления ПО в Linux (RPM, Dpkg и аналоги) и соответствующие форматы пакетов.
  • Автоматизированные системы сборки и контроля качества пакетов
  • Основные средства сборки ПО из исходного кода
  • Инструментальные средства подготовки контейнеров Docker и аналогов
  • Вопросы безопасности Docker и аналогов
Элементы контроля

Элементы контроля

  • неблокирующий ДЗ 1
    Сборка RPM-пакета
  • неблокирующий ДЗ 3
  • неблокирующий ДЗ 2
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 3rd module
    0.4 * ДЗ 1 + 0.2 * ДЗ 2 + 0.4 * ДЗ 3
Список литературы

Список литературы

Рекомендуемая основная литература

  • Linux, Стахнов, А. А., 2011

Рекомендуемая дополнительная литература

  • Операционная система UNIX : учеб. пособие для вузов, Робачевский, А. М., 2003

Авторы

  • Силаков Денис Владимирович
  • Меликян Алиса Валерьевна
  • Буцкая Евгения Александровна