• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Бакалаврская программа «Программная инженерия»

21
Апрель

Научно-исследовательский семинар "Дистрибьюция программного обеспечения в Linux"

2020/2021
Учебный год
RUS
Обучение ведется на русском языке
3
Кредиты
Статус:
Курс по выбору
Когда читается:
1-й курс, 1-3 модуль

Преподаватель

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Экзамен (Э)
    Экзамен письменный, без прокторинга. Технические требования: web-камера, микрофон, наушники / колонки
  • неблокирующий Домашняя работа 1 (ДР1)
  • неблокирующий Домашняя работа 2 (ДР2)
  • неблокирующий Домашняя работа 3 (ДР3)
  • неблокирующий Контроль посещаемости (КП)
Промежуточная аттестация

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

  • Промежуточная аттестация (3 модуль)
    0.1 * Домашняя работа 1 (ДР1) + 0.1 * Домашняя работа 2 (ДР2) + 0.1 * Домашняя работа 3 (ДР3) + 0.1 * Контроль посещаемости (КП) + 0.6 * Экзамен (Э)
Список литературы

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

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

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

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

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