Темы к экзамену по курсу «Программное обеспечение Linux»
Замечание для сдающих экзамен: это не развёрнутые планы самих тем, а только их формулировки (в первых строках) и некоторые частные вопросы, которые стоит поднять. Иногда — просто список некоторых наиболее интересных подтем. Нередко чтобы объяснить эти частные вопросы и подтемы, надо сначала объяснить более очевидные вещи.
Замечание и для сдающих, и для принимающих экзамен: тем получилось много, просьба рассчитывать время.
- Что такое «дистрибутив GNU/Linux»?
- Что означают все эти три слова по отдельности?
- Сходства и различия дистрибутивов на базе GNU/Linux
- Откуда берутся те и другие и чем полезны/вредны?
- Особенности нематериального производства.
- Сущность, польза и вред «безущербного копирования».
- Открытая (академическая) и закрытая разработка.
- Цель разработки и вытекающие из неё требования к процессу: информационное пространство, состав разработчиков, отношение к ©.
- Свободное лицензирование.
- 4 свободы им. тов. Столлмана. Копилефт. Множественное лицензирование.
- Терминал.
- Откуда взялся и зачем нужен (в т. ч. зачем нужен в данном курсе).
- Командная строка.
- Принципы организации, достоинства и недостатки.
Файловая система.
- FHS. Устройства и другие спецфайлы. Принцип «всё — файл».
- Процессы и управление ими.
- Что происходит при нажатии Ctrl+C?
- Права доступа.
- Доступ — это чего к чему доступ? Использование SETUID.
- Попытка стандартов прикладного уровня в распространённом ПО для Linux.
Udev, DBus, PolicyKit etc.
- Пакеты.
- Архив, регистрация, сопутствующие сценарии, триггеры. Зависимости и конфликты.
- Установщик и диспетчер пакетов.
- Что выполняет их роль в source-based дистрибутиве?
- Изолированное (a-lá MacOS X) и «самодостаточное» (a-lá Windows) пакетирование
- Достоинства и недостатки.
- ПО не из пакетной базы.
- Недостатки сторонних пактов, бинарной установки и ручной сборки. Запуск программ для других ОС.
- Хранилище пакетов и глобальное пакетирование.
- Достоинства, недостатки глобального пакетирования. Почему оно вообще возможно? Роль хранилища как среды сборки, проверки и хранения.
- Сборка ПО.
- Этапы сборки ПО из исходника. Понятие «upstream».
- Обязанности сопровождающего пакет (maintainer). Сборка пакета.
- Этапы сборки пакета. Помещение пакета в хранилище. При каких условиях сопровождать пакет самому проще, чем не сопровождать?
- Свободное сообщество.
- Принципы формирования свободного сообщества. Сообщество вокруг свободного программного продукта: ядро → разработчики → пользователи. Требования ко всем группам.
- ЖЦ дистрибутива
- Хранилище → ветка → дистрибутив
- Информационные ресурсы сообщества.
- Документация в дистрибутиве → специализированные сайты → Google. Списки рассылки и форумы, правила поведения в них.
- Установка дистрибутива на ПК.
- Этапы установки.
- Разметка диска.
- Что нужно для установки Linux второй системой?
- Досистемная загрузка.
- BIOS → Первичный загрузчик → Вторичный загрузчик → Ядро ОС → ОС. Роль стартового виртуального диска в «реальной» последовательности загрузки.
- Современные дистрибутивы GNU/Linux.
- Базовые, производные и модифицированные дистрибутивы. Критерии выбора дистрибутива.