Особенности дистрибутивов GNU/Linux
(долг за прошлую лекцию): Пример: загрузка GNU/Linux системы
- Досистемная загрузка
- Boot ROM
- Boot block
- Boot prog
- Ядро
- Linux: +initrd
- Системная загрузка
- Ядро: опрос устройств
- монтирование ФС (/etc/fstab)
- запуск init
- init: стартовые сценарии
TODO .d-схема
- консоль/DM
Финал: принципы 4U:
- распределения ресурсов (физиологических, эмоциональных, умственных),
- информационной открытости (для себя, для эффективности взаимодействия, для свободы ориентации),
- умопостижимости контекста (human-readable, human-writeable, "7 +/- 2"),
- оправданной ответственности (захотел -- получил, достаточность знаний).
Кто пользователи дистрибутива (а не отдельных программ)?
- Инженеры (постановка+решение задачи)
- Интеграторы, внедренцы, …
- Разработчики самого дистрибутива и его инфраструктуры
- Вообще сообщество
Bottom half:
- Разработка
- совместная
- открытая
- в основном, адаптация существующего
- отдельно: установщик (и некоторые другие программы,если они нужны для таргетинга)
- Согласование
Репозиторий (TODO)
- очень много компонентов (разный upstream)
- библиотеки и вообще идея зависимости
- проверка свойств, не поддающихся индивидуальному тестированию
- технологические преимущества сообщества
- Release management (не столько для конечных пользователей, сколько для самих разработчиков и инженеров
- Community namagement (например, «все переходим на PHP7!»
Top half:
- Доставка:
- С чего ставиться
- Доступ к репозиторию (-ям)
- Надёжность
- Деплоймент
- Много ⇒ автоматически
но не всё
- дальнейшая настройка профессионалом
- Зависимости (информация из репозитория!)
- Много ⇒ автоматически
- Сопровождение
- Обновление (по безопасности, по добавлению потребительских свойств, болезнь новых версий)
- Диагностика и контроль (ОС)
- Обновление аппаратуры/переезд
- Стабильность vs новизна (кому как ⇒ гибко)