SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Debian Installer(d-i)
Промышленная платформа для создания
специализированных дистрибутивов и сред
инсталяции
Влад ’mend0za’ Шахов
Minsk Linux Users Group (MLUG)

LVEE-2008
Гродно, Беларусь

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

1

Архитектура и реализация Debian Installer
Архитектура D-I
Стадии установки
Вариативность компонент

2

Нетривиальное применение D-I
Сборка инсталяционных образов
LiveCD (не совсем о D-I)
Автоматическая установка в стиле Debian
Внесение изменений в инсталятор

3

Практические примеры проектов
ПО управления видео экранами
Распределённая установка с контролем оператором
Network Attached Storage для i386

4

Вопросы
Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Архитектура D-I
Стадии установки
Вариативность компонент

Архитектура и реализация D-I
АРХИТЕКТУРА И РЕАЛИЗАЦИЯ D-I

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Архитектура D-I
Стадии установки
Вариативность компонент

Основы D-I

Debian Installer - "дистрибутив в дистрибутиве":
Модульность - стандартные пакеты формата deb
Гибкое управление порядком установки пакета
Расширяемость - добавление своих модулей
Конфигурируемость - механизм debconf и задание
параметров установки

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Архитектура D-I
Стадии установки
Вариативность компонент

Стадии
Начальная загрузка

Каждая стадия инсталяции - пакет (UDEB) или несколько
пакетов
1

Инициализация shm, копирует содержимое initrd и pivot
root в полученную папку

2

Выбор языка, страны клавиатуры

3

Начальное определение hardware

4

Различные продолжения, в зависимости от источника
инсталяции

5

Загрузка дополнительных компонент инсталятора

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Архитектура D-I
Стадии установки
Вариативность компонент

Стадии
Установка базовой системы

1

Разбиение дисков и присваивание точек монтирования

2

Установка базовой системы (c cdrom, network)

3

Установка дополнительных компонент и ядра

4

Установка часов, временной зоны, паролей root и
пользователей

5

Настройка apt и установка задач (tasks)

6

boot loader

7

Перезагрузка

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Архитектура D-I
Стадии установки
Вариативность компонент

Многообразие возможных сценариев работы

Единица установки - компонент:
Компонент характеризуется приоритетом (специальное
поле пакета)
Каждая стадия - набор опций debconf

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Архитектура D-I
Стадии установки
Вариативность компонент

Многообразие возможных сценариев работы

Единица установки - компонент:
Компонент характеризуется приоритетом (специальное
поле пакета)
Каждая стадия - набор опций debconf
Варианты:
frontend - графический, текстовый, web, ssh,
non-interactive
Разбиение дисков - RAID 0/1/5, LVM, шифрование
Любые файловые системы
Источники для инсталяции: CD, Floppy, сеть, винчестер

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Сборка инсталяционных образов
LiveCD (не совсем о D-I)
Автоматическая установка в стиле Debian
Внесение изменений в инсталятор

Нетривиальное применение D-I

НЕТРИВИАЛЬНОЕ ПРИМЕНЕНИЕ D-I

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Сборка инсталяционных образов
LiveCD (не совсем о D-I)
Автоматическая установка в стиле Debian
Внесение изменений в инсталятор

Типовые задачи

Custom Debian Distribution (CDD)
Решение типовых задач построения своих дистрибутивов:
1

Изменение состава ПО в инсталяционном CD

2

Изменения в стандартном процессе инсталяции

3

Автоматическая (OEM) инсталяция (механизм preseed)

4

Распределённая сетевая установка

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Сборка инсталяционных образов
LiveCD (не совсем о D-I)
Автоматическая установка в стиле Debian
Внесение изменений в инсталятор

Изменение состава ПО
Old school: пакет debian-cd
Обширная система настроек через переменные
окружения Shell
Официальные, так и неофициальные сборки Debian
Требует высокой квалификации пользователя

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Сборка инсталяционных образов
LiveCD (не совсем о D-I)
Автоматическая установка в стиле Debian
Внесение изменений в инсталятор

Изменение состава ПО
Old school: пакет debian-cd
Обширная система настроек через переменные
окружения Shell
Официальные, так и неофициальные сборки Debian
Требует высокой квалификации пользователя
New way: пакет simple-cdd
profiles: возможность задать конфигурацию
список пакетов
ответы на вопросы инсталятора
кэширование зеркала перед сборкой ISO
задание источников для установки компонент
инсталятора и пакетов
Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Сборка инсталяционных образов
LiveCD (не совсем о D-I)
Автоматическая установка в стиле Debian
Внесение изменений в инсталятор

LiveCD

Пакет live-helper
Создание ISO, netboot и USB образов
Поддержка шифрованной файловой системы
Гибкая система плагинов
Возможность настроить любую фазу создания образа

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Сборка инсталяционных образов
LiveCD (не совсем о D-I)
Автоматическая установка в стиле Debian
Внесение изменений в инсталятор

PRESEED
Preseed
текстовый файл с ответами на вопросы инсталятора
путь к preseed-файлу: локальный или url
специальный язык для задания разметки диска
задаётся в конфигурации simple-cdd (или debian-cd)

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Сборка инсталяционных образов
LiveCD (не совсем о D-I)
Автоматическая установка в стиле Debian
Внесение изменений в инсталятор

PRESEED
Preseed
текстовый файл с ответами на вопросы инсталятора
путь к preseed-файлу: локальный или url
специальный язык для задания разметки диска
задаётся в конфигурации simple-cdd (или debian-cd)
Пример (фрагмент miu.preseed)
d-i
d-i
d-i
d-i

netcfg/choose_interface select auto
mirror/http/hostname string mend0za.velesys.com
passwd/root-password-crypted password [MD5 hash]
preseed/late_command string 
in-target sed -i ’/DPMS/d’ /etc/X11/xorg.conf
Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Сборка инсталяционных образов
LiveCD (не совсем о D-I)
Автоматическая установка в стиле Debian
Внесение изменений в инсталятор

Проектирование
1 Выбрать этап инсталяции для изменения
2

Определить могут ли существующие модули сделать то
что вам надо

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Сборка инсталяционных образов
LiveCD (не совсем о D-I)
Автоматическая установка в стиле Debian
Внесение изменений в инсталятор

Проектирование
1 Выбрать этап инсталяции для изменения
2

Определить могут ли существующие модули сделать то
что вам надо

Как
1

Создать/изменить пакет udeb (Shell, C)

2

Задать приоритет udeb

3

Добавить к сборке образа (в simple-cdd)

4

(Опционально) Пересобрать D-I

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

ПО управления видео экранами
Распределённая установка с контролем оператором
Network Attached Storage для i386

Практические примеры проектов
ПРАКТИЧЕСКИЕ ПРИМЕРЫ ПРОЕКТОВ

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

ПО управления видео экранами
Распределённая установка с контролем оператором
Network Attached Storage для i386

Демонстрационнные экраны: Оконечные устройства

Техническое задание
OEM-Инсталяция с CD-ROM без единого вопроса
Установка собственного ПО
Работа из коробки
Дополнительно: Демо вариант LiveCD

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

ПО управления видео экранами
Распределённая установка с контролем оператором
Network Attached Storage для i386

Демонстрационнные экраны: Оконечные устройства

Техническое задание
OEM-Инсталяция с CD-ROM без единого вопроса
Установка собственного ПО
Работа из коробки
Дополнительно: Демо вариант LiveCD
Реализация - simple-cdd + preseed + live-helper
Пакетирование собственного ПО в .deb
simple-cdd + preseed + свои пакеты в ISO образ
live-helper - LiveCD

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

ПО управления видео экранами
Распределённая установка с контролем оператором
Network Attached Storage для i386

Распределённая установка видео экранов
Техническое задание
Автоматическая установка по сети
Сотни одновременно устанавливаемых устройств
Контроль человеком-оператором статус установок

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

ПО управления видео экранами
Распределённая установка с контролем оператором
Network Attached Storage для i386

Распределённая установка видео экранов
Техническое задание
Автоматическая установка по сети
Сотни одновременно устанавливаемых устройств
Контроль человеком-оператором статус установок
Реализация - simple-cdd + preseed + netboot + udeb
DHCP + TFTP + отдача preseed по сети (http)
Серверное CGI-based ПО
udeb-пакет c хуками в фазы инсталяции
сервер содержит зеркало пакетов (установка и
обновление)
фактически два дистрибутива - серверный и клиентский
(simple-cdd)
Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

ПО управления видео экранами
Распределённая установка с контролем оператором
Network Attached Storage для i386

Network Attached Storage для i386

Техническое задание
Портирование функционала с Alt Linux на Debian
Управление функциями NAS через EVMS
WebGUI на Java
Hotplug для 4 винчестеров

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

ПО управления видео экранами
Распределённая установка с контролем оператором
Network Attached Storage для i386

Network Attached Storage для i386

Техническое задание
Портирование функционала с Alt Linux на Debian
Управление функциями NAS через EVMS
WebGUI на Java
Hotplug для 4 винчестеров
Реализация - simple-cdd
Полная пересборка D-I с модификацией ядра
Замена стандартного partman на partman-evms
Пакетирование GUI

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа
Архитектура и реализация Debian Installer
Нетривиальное применение D-I
Практические примеры проектов
Вопросы

Вопросы?

Ваши вопросы
http://www.debian.org/devel/debian-installer
http://wiki.debian.org/Simple-CDD
http://debian-live.alioth.debian.org
lumpen.intellectual@gmail.com

Влад ’mend0za’ Шахов

Debian Installer (d-i). Промышленная платформа

Contenu connexe

Tendances

Вячеслав Бирюков - Дистрибутивы Linux
Вячеслав Бирюков - Дистрибутивы LinuxВячеслав Бирюков - Дистрибутивы Linux
Вячеслав Бирюков - Дистрибутивы LinuxYandex
 
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...DEPO Computers
 
Новый Windows Server
Новый Windows ServerНовый Windows Server
Новый Windows ServerDEPO Computers
 
Cовременные решения для ЦОД от DEPO и Intel
Cовременные решения для ЦОД от DEPO и IntelCовременные решения для ЦОД от DEPO и Intel
Cовременные решения для ЦОД от DEPO и IntelDEPO Computers
 
Стажировка-2014, занятие 3. Конфиги, сборка, автоматические тесты.
Стажировка-2014, занятие 3. Конфиги, сборка, автоматические тесты.Стажировка-2014, занятие 3. Конфиги, сборка, автоматические тесты.
Стажировка-2014, занятие 3. Конфиги, сборка, автоматические тесты.7bits
 
Технологии создания публичного облака DEPO Cloud на базе платформы Intel для ...
Технологии создания публичного облака DEPO Cloud на базе платформы Intel для ...Технологии создания публичного облака DEPO Cloud на базе платформы Intel для ...
Технологии создания публичного облака DEPO Cloud на базе платформы Intel для ...DEPO Computers
 

Tendances (7)

Вячеслав Бирюков - Дистрибутивы Linux
Вячеслав Бирюков - Дистрибутивы LinuxВячеслав Бирюков - Дистрибутивы Linux
Вячеслав Бирюков - Дистрибутивы Linux
 
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
 
CVEhound
CVEhoundCVEhound
CVEhound
 
Новый Windows Server
Новый Windows ServerНовый Windows Server
Новый Windows Server
 
Cовременные решения для ЦОД от DEPO и Intel
Cовременные решения для ЦОД от DEPO и IntelCовременные решения для ЦОД от DEPO и Intel
Cовременные решения для ЦОД от DEPO и Intel
 
Стажировка-2014, занятие 3. Конфиги, сборка, автоматические тесты.
Стажировка-2014, занятие 3. Конфиги, сборка, автоматические тесты.Стажировка-2014, занятие 3. Конфиги, сборка, автоматические тесты.
Стажировка-2014, занятие 3. Конфиги, сборка, автоматические тесты.
 
Технологии создания публичного облака DEPO Cloud на базе платформы Intel для ...
Технологии создания публичного облака DEPO Cloud на базе платформы Intel для ...Технологии создания публичного облака DEPO Cloud на базе платформы Intel для ...
Технологии создания публичного облака DEPO Cloud на базе платформы Intel для ...
 

En vedette

Обучение Linux в корпоративном секторе
Обучение Linux в корпоративном сектореОбучение Linux в корпоративном секторе
Обучение Linux в корпоративном сектореVladimir Shakhov
 
MindSurf 2013 - SharePoint Out of the Box Project Management
MindSurf 2013 - SharePoint Out of the Box Project ManagementMindSurf 2013 - SharePoint Out of the Box Project Management
MindSurf 2013 - SharePoint Out of the Box Project ManagementDon Donais
 
SharePoint 2010 Data View webparts - Advanced editing methods
SharePoint 2010 Data View webparts - Advanced editing methodsSharePoint 2010 Data View webparts - Advanced editing methods
SharePoint 2010 Data View webparts - Advanced editing methodsOrbit One - We create coherence
 
Speaker Presention by Irena Bojanova of the University of Maryland University...
Speaker Presention by Irena Bojanova of the University of Maryland University...Speaker Presention by Irena Bojanova of the University of Maryland University...
Speaker Presention by Irena Bojanova of the University of Maryland University...Tim Harvey
 
Linux firmware for iRMC controller on Fujitsu Primergy servers
Linux firmware for iRMC controller on Fujitsu Primergy serversLinux firmware for iRMC controller on Fujitsu Primergy servers
Linux firmware for iRMC controller on Fujitsu Primergy serversVladimir Shakhov
 
Pragmatic Test Driving Development.
Pragmatic Test Driving Development.Pragmatic Test Driving Development.
Pragmatic Test Driving Development.Vladimir Shakhov
 

En vedette (7)

Обучение Linux в корпоративном секторе
Обучение Linux в корпоративном сектореОбучение Linux в корпоративном секторе
Обучение Linux в корпоративном секторе
 
Cloud mobility final
Cloud mobility finalCloud mobility final
Cloud mobility final
 
MindSurf 2013 - SharePoint Out of the Box Project Management
MindSurf 2013 - SharePoint Out of the Box Project ManagementMindSurf 2013 - SharePoint Out of the Box Project Management
MindSurf 2013 - SharePoint Out of the Box Project Management
 
SharePoint 2010 Data View webparts - Advanced editing methods
SharePoint 2010 Data View webparts - Advanced editing methodsSharePoint 2010 Data View webparts - Advanced editing methods
SharePoint 2010 Data View webparts - Advanced editing methods
 
Speaker Presention by Irena Bojanova of the University of Maryland University...
Speaker Presention by Irena Bojanova of the University of Maryland University...Speaker Presention by Irena Bojanova of the University of Maryland University...
Speaker Presention by Irena Bojanova of the University of Maryland University...
 
Linux firmware for iRMC controller on Fujitsu Primergy servers
Linux firmware for iRMC controller on Fujitsu Primergy serversLinux firmware for iRMC controller on Fujitsu Primergy servers
Linux firmware for iRMC controller on Fujitsu Primergy servers
 
Pragmatic Test Driving Development.
Pragmatic Test Driving Development.Pragmatic Test Driving Development.
Pragmatic Test Driving Development.
 

Similaire à Debian Installer (D-I): Промышленная платформа создания специализированных дистрибутивов и сред инсталяции

Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerAnton Maksimov
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Ruslan Sharipov
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ciАлександр Сигачев
 
управление сборками и развертыванием веб приложений
управление сборками и развертыванием веб приложенийуправление сборками и развертыванием веб приложений
управление сборками и развертыванием веб приложенийSergii Shmarkatiuk
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Ontico
 
Web deployment
Web deploymentWeb deployment
Web deploymentGetDev.NET
 
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019corehard_by
 
Инсталляторы
ИнсталляторыИнсталляторы
Инсталляторыaepetelin
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...DrupalCamp MSK
 
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...MskDotNet Community
 
Тестирование серверной конфигурации
Тестирование серверной конфигурацииТестирование серверной конфигурации
Тестирование серверной конфигурацииTimur Batyrshin
 
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"Provectus
 
Docker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяDocker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяСергей Ладыгин
 
Drupal организация разработки
Drupal   организация разработкиDrupal   организация разработки
Drupal организация разработкиAnna Fedoruk
 
Drupal -organizaciya_razrabotki
Drupal  -organizaciya_razrabotkiDrupal  -organizaciya_razrabotki
Drupal -organizaciya_razrabotkidrupalconf
 
Docker - быстро, просто, наглядно
Docker - быстро, просто, наглядноDocker - быстро, просто, наглядно
Docker - быстро, просто, наглядноFallenKain
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаMikhail Chinkov
 
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"LogeekNightUkraine
 

Similaire à Debian Installer (D-I): Промышленная платформа создания специализированных дистрибутивов и сред инсталяции (20)

Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на Docker
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
 
управление сборками и развертыванием веб приложений
управление сборками и развертыванием веб приложенийуправление сборками и развертыванием веб приложений
управление сборками и развертыванием веб приложений
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
 
Express test BSD desktop
Express test BSD desktopExpress test BSD desktop
Express test BSD desktop
 
Web deployment
Web deploymentWeb deployment
Web deployment
 
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
 
Инсталляторы
ИнсталляторыИнсталляторы
Инсталляторы
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
 
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
 
Тестирование серверной конфигурации
Тестирование серверной конфигурацииТестирование серверной конфигурации
Тестирование серверной конфигурации
 
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
 
Docker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяDocker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоваться
 
Instalarea DSpace
Instalarea DSpaceInstalarea DSpace
Instalarea DSpace
 
Drupal организация разработки
Drupal   организация разработкиDrupal   организация разработки
Drupal организация разработки
 
Drupal -organizaciya_razrabotki
Drupal  -organizaciya_razrabotkiDrupal  -organizaciya_razrabotki
Drupal -organizaciya_razrabotki
 
Docker - быстро, просто, наглядно
Docker - быстро, просто, наглядноDocker - быстро, просто, наглядно
Docker - быстро, просто, наглядно
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
 

Debian Installer (D-I): Промышленная платформа создания специализированных дистрибутивов и сред инсталяции

  • 1. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Debian Installer(d-i) Промышленная платформа для создания специализированных дистрибутивов и сред инсталяции Влад ’mend0za’ Шахов Minsk Linux Users Group (MLUG) LVEE-2008 Гродно, Беларусь Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 2. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы 1 Архитектура и реализация Debian Installer Архитектура D-I Стадии установки Вариативность компонент 2 Нетривиальное применение D-I Сборка инсталяционных образов LiveCD (не совсем о D-I) Автоматическая установка в стиле Debian Внесение изменений в инсталятор 3 Практические примеры проектов ПО управления видео экранами Распределённая установка с контролем оператором Network Attached Storage для i386 4 Вопросы Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 3. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Архитектура D-I Стадии установки Вариативность компонент Архитектура и реализация D-I АРХИТЕКТУРА И РЕАЛИЗАЦИЯ D-I Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 4. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Архитектура D-I Стадии установки Вариативность компонент Основы D-I Debian Installer - "дистрибутив в дистрибутиве": Модульность - стандартные пакеты формата deb Гибкое управление порядком установки пакета Расширяемость - добавление своих модулей Конфигурируемость - механизм debconf и задание параметров установки Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 5. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Архитектура D-I Стадии установки Вариативность компонент Стадии Начальная загрузка Каждая стадия инсталяции - пакет (UDEB) или несколько пакетов 1 Инициализация shm, копирует содержимое initrd и pivot root в полученную папку 2 Выбор языка, страны клавиатуры 3 Начальное определение hardware 4 Различные продолжения, в зависимости от источника инсталяции 5 Загрузка дополнительных компонент инсталятора Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 6. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Архитектура D-I Стадии установки Вариативность компонент Стадии Установка базовой системы 1 Разбиение дисков и присваивание точек монтирования 2 Установка базовой системы (c cdrom, network) 3 Установка дополнительных компонент и ядра 4 Установка часов, временной зоны, паролей root и пользователей 5 Настройка apt и установка задач (tasks) 6 boot loader 7 Перезагрузка Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 7. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Архитектура D-I Стадии установки Вариативность компонент Многообразие возможных сценариев работы Единица установки - компонент: Компонент характеризуется приоритетом (специальное поле пакета) Каждая стадия - набор опций debconf Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 8. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Архитектура D-I Стадии установки Вариативность компонент Многообразие возможных сценариев работы Единица установки - компонент: Компонент характеризуется приоритетом (специальное поле пакета) Каждая стадия - набор опций debconf Варианты: frontend - графический, текстовый, web, ssh, non-interactive Разбиение дисков - RAID 0/1/5, LVM, шифрование Любые файловые системы Источники для инсталяции: CD, Floppy, сеть, винчестер Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 9. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Сборка инсталяционных образов LiveCD (не совсем о D-I) Автоматическая установка в стиле Debian Внесение изменений в инсталятор Нетривиальное применение D-I НЕТРИВИАЛЬНОЕ ПРИМЕНЕНИЕ D-I Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 10. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Сборка инсталяционных образов LiveCD (не совсем о D-I) Автоматическая установка в стиле Debian Внесение изменений в инсталятор Типовые задачи Custom Debian Distribution (CDD) Решение типовых задач построения своих дистрибутивов: 1 Изменение состава ПО в инсталяционном CD 2 Изменения в стандартном процессе инсталяции 3 Автоматическая (OEM) инсталяция (механизм preseed) 4 Распределённая сетевая установка Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 11. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Сборка инсталяционных образов LiveCD (не совсем о D-I) Автоматическая установка в стиле Debian Внесение изменений в инсталятор Изменение состава ПО Old school: пакет debian-cd Обширная система настроек через переменные окружения Shell Официальные, так и неофициальные сборки Debian Требует высокой квалификации пользователя Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 12. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Сборка инсталяционных образов LiveCD (не совсем о D-I) Автоматическая установка в стиле Debian Внесение изменений в инсталятор Изменение состава ПО Old school: пакет debian-cd Обширная система настроек через переменные окружения Shell Официальные, так и неофициальные сборки Debian Требует высокой квалификации пользователя New way: пакет simple-cdd profiles: возможность задать конфигурацию список пакетов ответы на вопросы инсталятора кэширование зеркала перед сборкой ISO задание источников для установки компонент инсталятора и пакетов Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 13. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Сборка инсталяционных образов LiveCD (не совсем о D-I) Автоматическая установка в стиле Debian Внесение изменений в инсталятор LiveCD Пакет live-helper Создание ISO, netboot и USB образов Поддержка шифрованной файловой системы Гибкая система плагинов Возможность настроить любую фазу создания образа Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 14. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Сборка инсталяционных образов LiveCD (не совсем о D-I) Автоматическая установка в стиле Debian Внесение изменений в инсталятор PRESEED Preseed текстовый файл с ответами на вопросы инсталятора путь к preseed-файлу: локальный или url специальный язык для задания разметки диска задаётся в конфигурации simple-cdd (или debian-cd) Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 15. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Сборка инсталяционных образов LiveCD (не совсем о D-I) Автоматическая установка в стиле Debian Внесение изменений в инсталятор PRESEED Preseed текстовый файл с ответами на вопросы инсталятора путь к preseed-файлу: локальный или url специальный язык для задания разметки диска задаётся в конфигурации simple-cdd (или debian-cd) Пример (фрагмент miu.preseed) d-i d-i d-i d-i netcfg/choose_interface select auto mirror/http/hostname string mend0za.velesys.com passwd/root-password-crypted password [MD5 hash] preseed/late_command string in-target sed -i ’/DPMS/d’ /etc/X11/xorg.conf Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 16. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Сборка инсталяционных образов LiveCD (не совсем о D-I) Автоматическая установка в стиле Debian Внесение изменений в инсталятор Проектирование 1 Выбрать этап инсталяции для изменения 2 Определить могут ли существующие модули сделать то что вам надо Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 17. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Сборка инсталяционных образов LiveCD (не совсем о D-I) Автоматическая установка в стиле Debian Внесение изменений в инсталятор Проектирование 1 Выбрать этап инсталяции для изменения 2 Определить могут ли существующие модули сделать то что вам надо Как 1 Создать/изменить пакет udeb (Shell, C) 2 Задать приоритет udeb 3 Добавить к сборке образа (в simple-cdd) 4 (Опционально) Пересобрать D-I Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 18. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы ПО управления видео экранами Распределённая установка с контролем оператором Network Attached Storage для i386 Практические примеры проектов ПРАКТИЧЕСКИЕ ПРИМЕРЫ ПРОЕКТОВ Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 19. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы ПО управления видео экранами Распределённая установка с контролем оператором Network Attached Storage для i386 Демонстрационнные экраны: Оконечные устройства Техническое задание OEM-Инсталяция с CD-ROM без единого вопроса Установка собственного ПО Работа из коробки Дополнительно: Демо вариант LiveCD Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 20. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы ПО управления видео экранами Распределённая установка с контролем оператором Network Attached Storage для i386 Демонстрационнные экраны: Оконечные устройства Техническое задание OEM-Инсталяция с CD-ROM без единого вопроса Установка собственного ПО Работа из коробки Дополнительно: Демо вариант LiveCD Реализация - simple-cdd + preseed + live-helper Пакетирование собственного ПО в .deb simple-cdd + preseed + свои пакеты в ISO образ live-helper - LiveCD Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 21. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы ПО управления видео экранами Распределённая установка с контролем оператором Network Attached Storage для i386 Распределённая установка видео экранов Техническое задание Автоматическая установка по сети Сотни одновременно устанавливаемых устройств Контроль человеком-оператором статус установок Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 22. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы ПО управления видео экранами Распределённая установка с контролем оператором Network Attached Storage для i386 Распределённая установка видео экранов Техническое задание Автоматическая установка по сети Сотни одновременно устанавливаемых устройств Контроль человеком-оператором статус установок Реализация - simple-cdd + preseed + netboot + udeb DHCP + TFTP + отдача preseed по сети (http) Серверное CGI-based ПО udeb-пакет c хуками в фазы инсталяции сервер содержит зеркало пакетов (установка и обновление) фактически два дистрибутива - серверный и клиентский (simple-cdd) Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 23. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы ПО управления видео экранами Распределённая установка с контролем оператором Network Attached Storage для i386 Network Attached Storage для i386 Техническое задание Портирование функционала с Alt Linux на Debian Управление функциями NAS через EVMS WebGUI на Java Hotplug для 4 винчестеров Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 24. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы ПО управления видео экранами Распределённая установка с контролем оператором Network Attached Storage для i386 Network Attached Storage для i386 Техническое задание Портирование функционала с Alt Linux на Debian Управление функциями NAS через EVMS WebGUI на Java Hotplug для 4 винчестеров Реализация - simple-cdd Полная пересборка D-I с модификацией ядра Замена стандартного partman на partman-evms Пакетирование GUI Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа
  • 25. Архитектура и реализация Debian Installer Нетривиальное применение D-I Практические примеры проектов Вопросы Вопросы? Ваши вопросы http://www.debian.org/devel/debian-installer http://wiki.debian.org/Simple-CDD http://debian-live.alioth.debian.org lumpen.intellectual@gmail.com Влад ’mend0za’ Шахов Debian Installer (d-i). Промышленная платформа