Описаны основные формы распространия программного обеспечения. Показаны отличия дистрибутива свободного ПО от произвольного набора программ. Введно и раскрыто понятие пакет. Описаны средства работы с пакетвми.
Предпосылки дистрибутивостроения
- Компонентная архитектура UNIX
- Независимая разработка компонентов — свободные проекты
- Полноценное рабочее окружение (десктоп), построенное из независимых компонентов
- Задачи компонентного подхода к строению ОС:
- зависимости между компонентами
- синхронизация версий компонентов
- упрощение работы администратора: установка, удаление, обновление компонентов
Управление программным обеспечением
Основные роли
- разработчик
- системный администратор
- пользователь
Формы распространения ПО
В двоичной форме или в исходных текстах?
В двоичной форме:
В исходных текстах:
Виды дистрибутивов
Сборка программ из исходных текстов:
Двоичные пакеты:
Дистрибутив Linux
Система — не свалка
Дистрибутив — коллекция ПО, следующая строгой дисциплине:
- Использование общего хранилища
- Каждый пакет имеет сопровождающего
- Сборка ПО из исходного текста
- Свободный доступ к исходным текстам ПО
- Совместное тестирование (в идеале — всех) программ
- Стандарт на размещение файлов (FHS)
Сложнее при создании ПО, проще при использовании.
Архив с удобствами
Прокатись и выбрось
Задача: обеспечить удобную установку, проверку и удаление ПО в пакете
- Архив файлов в стандартных каталогах
- Дополнительная информация
- Регистрация в системе: список, тип и контрольная сумма файлов
- Настройка системы и служб: post-сценарии
- Следствие: «прозрачная» установка и удаление пакета
Пакеты в разных дистрибутивах: rpm, deb,...
Зависимости и конфликты — 1
Общественная собственность на средства производства
Что входит в «полный» пакет прикладных программ:
Что должно входить в отдельные пакеты:
Некоторые пакеты бессмысленно устанавливать порознь, а некоторые — вместе.
Зависимости и конфликты — 2
Правила коммунального общежития
Установщик пакетов
— У нас все ходы записаны!
Установщик работает с одним пакетом
Чего не умеет установщик
Диспетчер пакетов
— Контора пишет!
Диспетчер работает с хранилищами пакетов
Пакеты, установленные только по зависимостям: удалять или нет?
Где и как искать программу
У нас есть всё! Ищите сами...
Пакет — инструмент решения задачи. Где найти нужный?
- За поясом:
apropos
, info --apropos
, /usr/share/doc
- В сундуке:
apt-cache search
- В мастерской: актуальное хранилище, backports
- У соседа: скачать с сайта производителя
Инструмент можно изготовить:
- По аналогии (
src.rpm
из хранилища + пересборка)
- По совету незнакомца (
src.rpm
с сайта производителя + доводка)
- Крибле! Крабле! Бумс! (
configure; make; make install
)
Надёжнее всего изготовить «настоящий» src.rpm
для хранилища.
Главы учебника
+2
Have built a package?
Welcome to Linux world!
+3
Учебник «Введение в ОС Linux» глава 14.