Редактирование: Спецкурс по Linux, весна 2007, 09 лекция (от 20 апреля)

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 1: Строка 1:
-
[[Спецкурс по Linux, весна 2007, 08 лекция (от 13 апреля)|Предыдущая лекция]] | [[Спецкурс по Linux, весна 2007, 10 лекция (от 27 апреля)|Следующая лекция]]
+
== From Ebaums Inc to MurkLoar. ==
-
 
+
We at EbaumsWorld consider you as disgrace of human race.
-
'''Авторский вариант:'''
+
Your faggotry level exceeded any imaginable levels, and therefore we have to inform you that your pitiful resourse should be annihilated.
-
 
+
Dig yourself a grave - you will need it.
-
= Как самому сделать дистрибутив =
+
-
 
+
-
Это будет состоять из теории, потому что практика будет состоять из перечисления команд и исправления их неисправимывх рособенностей.
+
-
 
+
-
 
+
-
Необходимость сосздания собственного дистрибутива не сщущалась до последнего времени. Тем не менее, 2/3 из них именно самодельные, сделанные на колене, причёём на обычном лысом колене, и большая часть из них есть небольшая модификаця муществующих.
+
-
 
+
-
 
+
-
Довольно долго дело изготоааления дистрибутива было жделом компании, поэтому до сих пор в этом деле много работу которую нужно делать, зная многое. К тому же, если мы доведём дистрибутивостроение до полной прозрачности, то Вася Пупкин, как тодбео у него что-то не заработает, должен изучать большойц пласт различной информации. В образовательном дистрибутиве те же проблемы, ибо с одной стороный он должен быть гибким, с другой, не прищлось бы много учить.
+
-
 
+
-
 
+
-
Вдруг, ни с того, ни с сего, захотели сделать дистрибутив. Если мы хотим, то хотим потому что хотим, или есть цели и задачи, которые надо рещить. Для начала надо решить, для чего это сделать:
+
-
 
+
-
* Цели --- зачем?
+
-
 
+
-
* Задачи – что и как?
+
-
 
+
-
 
+
-
* Довольно часто оказывается, что либо для ваших целей достаточно выбрать существующий дистрибутив
+
-
 
+
-
* Существующий дистрибутив и модифицируете его нетехнологичным образом
+
-
 
+
-
* Создание нового дистрибутива --- если ни один не приводит к цели, а модификация более ресурсоёмка. Новый дистрибутив делать на базе другого рисковано.
+
-
 
+
-
 
+
-
У ГК цели научиться это делать. Поэтому он не модет научиться ни первое, ни второе, ибо задача --- освоить третий способ.
+
-
 
+
-
 
+
-
Дистрибутив --- такой набор программных продуктов, который позволяет сделать ОС на компьютере.
+
-
 
+
-
 
+
-
4 этапа того, что мы делаем, когда делаем дистрибутив:
+
-
 
+
-
* Сборка, deployment. Есть набор, нужно сделать так, чтобы этот набор появился на каком-то носителе.
+
-
 
+
-
* Активация (загрузка). Идея в том, что когда вы планируете сделать ОС на одном отдельно взятом устройствек, вам нужно сделать, чтобы то, что вы положиди на диск, включилось и заработало.
+
-
 
+
-
* Подготовка аппаратуры, логики, всего подряд. Приведение аппаратурно-логической части в соответствие (например, партишионинг диска). Некая одноразовая опекрация, которая позволяет поставить ОС.
+
-
 
+
-
Недостатком эвляется то, что это --- маленькая ОС.
+
-
 
+
-
* Живая система. Идея в том, что чем больше действий по превращанию дистра в ОС будет выполнятся ..., тем меньше накладные расходы.
+
-
 
+
-
 
+
-
== Стадии ==
+
-
 
+
-
=== Активация ===
+
-
 
+
-
Какие задачи, какие задачи должны решаться:
+
-
 
+
-
* Собственно, загрузка, видимо, ядро и стартовый виртуальный диск (vmlinuz + initrd). Если грузиться с дискетки, то на одной дискетнке будет ядро, на другой виртуальный диск, и надо сказать, чтобы поменяли диск. Чаще всего используется syslinux, там есть загрузчик с исо, хдд, по пхе. Обычно сначала грузится первичный загрузчик, который маленикий-хиленьекий, но умеет грузить крутой загрузчик. В бзд это такая миниОС на ФОРТе, линуксоидам это было делать лень, они сделали лило/граб которые умеют грузить два диапазона секторов, и там уже свой маленький линукс, только очень маленький, который уже грузит настоящий линукс.
+
-
 
+
-
* Распознать азовые устройства. Например, диск, с которого грузиться, и который надо примонтировать. И настройка. Скорее всего, автоматисческая: почему автоматическая, так как стадия активации не должна быть интерактвной.
+
-
 
+
-
** Одно забавное ответвление: нам надо перезодить на остальные стадии? Мы всё уже нашли и можем работать. Таких дистрибутивов довольно много, это дистрибутивы, связанные с ограниченной функциональности. Это два рода: embedded-системы, которые собственно так и устроены. И всякие сетевые маршрутизаторы.Пример: RAD Linux.
+
-
 
+
-
** Как правило, этот инитрд может быть построен по технологии busybox, это некая процедура, которая состоит в слкдующем: берутся те утилиты, котрые нужны, причём сильно урезанные, которые причём компилируются в один большой статический бинарник, то поскольку это линух, то она по ссылке опрделеяется, кто она сегодня, и делает, что нужно. Хотя, когда место не так ограничено, его мол\жно не использовать. Даже так предполагают делать не все, например, ребята из Монта... делают это путём хакинга ядра.
+
-
 
+
-
 
+
-
Допустим, мы хотим сделать дистрибутив, но нам недостаточно сделать активацию и расслабиться. Тогда нам нужно настроить устройства для поднготовительной стадии. Например, настроить сеть, чтобы ставить дистрибутив. или настроить raid. Этим занимаются специальные программы. В Альте есть такая штука propagater. Она умеет настраивать сеть, умеет распознавать всякие железяки и монтировпать их. То есть занимается предварительной настройкой.
+
-
 
+
-
 
+
-
Если вдруг мы рещили, что мы идёём дальше, то объём этого безобразия должен быть как можно меньшк, там нельзя ставить пакеты, там нет много красивых вещей.
+
-
 
+
-
 
+
-
== Стадия подготовки ==
+
-
 
+
-
 
+
-
Это ещё хуже. Ое уже не уплющенный, мы можем всё загрузить, но стадия подговтовки, как и активизации, то настройка неинтерактивная. Отличие от стадии активации в том, что это настощая система. Но, он урезаный по функциональности, всё, что не поставили, там нет. И не сохраняются настройки, он константный.
+
-
 
+
-
 
+
-
Здесь так же два пути:
+
-
 
+
-
* Дистрибутив готов. Если у вас ограниченный круг задач, то можно сказать всё, дистрибутив готов, запустим иксы, запустим опенофис, а потом человек может сохранять всё на флешку. Решение пользовательских задач.
+
-
 
+
-
* Подготовиться к полноценной установке настоящего линукса куда-то на носитель, с котроого будет производиться загрузка. Установка от депроймнта имеет мелкие отличия. Это разные вещи, но технология дона.
+
-
 
+
-
 
+
-
==== Live ====
+
-
 
+
-
* Настройка либо автоматическая, либо предварительная
+
-
 
+
-
* ПО: иксы, виндов менеджер, файрфокс, все утилитыЮ необходимые для сборки презентаций.
+
-
 
+
-
* Эивая система работает не так, как на стадии подготовитедьной. При загрузке всё смонтировано как ридонли, а тут надо перемонтировать часть на запись. В эту систему надо подложить некое количество файлов, которые делают ей Лив.
+
-
 
+
-
//пишется “профиль”, читается “хаки”
+
-
 
+
-
* вы приняли рещение самостояетльно сделать дистр, следовательно, имеющиеся рещения не удовлетворяют. Следовательно, надо подложить спецконтент, это уже нестоящие хаки.
+
-
 
+
-
** “авт”
+
-
 
+
-
** патчи --- предварительная ручная работа на стадии деплоймента
+
-
 
+
-
 
+
-
==== Инсталлер ====
+
-
Свои проблемы
+
-
 
+
-
* Хорошим является то, что не нужно предусматривать широкий круг задач.
+
-
 
+
-
 
+
-
Если это инсталлер, то это инсталлер куда:
+
-
 
+
-
* Подготовка устройства --- разбиение диска, указание маунтпоинтов.
+
-
 
+
-
* Наполнение системного устройства.
+
-
 
+
-
** Либо просто наваливаете: cp -r /bin, /lib... Чем это хорошо: сё с собой. Чем плохо: некоторые файлы из тех, которые есть на подготовительной стадии, не нужно копировать. Тем самым, декларируете, что система, которая инсталлируется, такая же, какая и на подготовительном этапе. Поэтому хочется, чтобы инсталлер сооружал другой дистр. Кроме того, нужно получить такую систему, чтобы можно потом было порулить пакетами.
+
-
 
+
-
** Установить пакеты в пустое место.
+
-
 
+
-
* Мелкая и гадкая стадия – отличие от лив --- вся система настроена для загрузки с сидюка, а нужно, чтобы грузилась с набега ещё на стадии активации. Тут начинается искуственный интеллект --- изобрести и вписать такие настройки в живую систему, чтобы она заработает. Настройка живой системы. Одна тонкость, которую не используют в Альте: при переходе из стадии в стадию нам необязательно перезагружаться. Это ещё хоршо тем, то можно пользоваться не только тем софтом, который на стадии подготовки, а вообще, какой хотите.
+
-
 
+
-
 
+
-
==== Живая система ====
+
-
 
+
-
 
+
-
* Доустановка пакетов. В том числе, выборочная.
+
-
 
+
-
* Настройка всего. Настоящий джедай может настроить всё сам, как в генту, но окошко о трёх элементах быстроее, чем правка конфига.
+
-
 
+
-
* first-time скрипты. Некоторые пакеты работуют в первый раз не так, как остальные, например, ссх-демон, ему надо сгенерить ключ.
+
-
 
+
-
 
+
-
=== Deployment ===
+
-
 
+
-
 
+
-
Сейчас рассказывали про то, что делается после того, как воткнули сидюк. Вопрос: а откуда взялся в этот сидюк? Тут область наименее технологичная, и это либо шеллскрипт, который всё делает. Тем не менее, изготовление загрузочного диска, деплоймент, разбивается на стадии:
+
-
 
+
-
* Создание дерева ФС, которое имеет место на стадлии подготовки быть
+
-
 
+
-
** Установка пакетов в chroot --- из репозитория и собственноручных
+
-
 
+
-
** Запустить first-time скрипты
+
-
 
+
-
** Перенос некоторого контента
+
-
 
+
-
* Сборка загрузочной среды, собрать парочку инитрд+ядро
+
-
 
+
-
* Эта ФС, которую собрали, может быть большой, и может не умещаться на ночитель, с которого будем грузиться, и к тому же она ридонли, полэтому можно её хорошенько упаковать. Упаковка ФС, например, с помощью squash fs. Надостаток в том, что если воткнуть его в компьютер под виндовз, то увидите только один файл squash. А можно положить
+
-
 
+
-
* Просто файлы. Например, инсталлятор супер-пуперский аспшный. Но просто файлы это не просто файлы
+
-
 
+
-
** Просто контент
+
-
 
+
-
** Пакеты. Можно положить их в ФС, но сквошфс такой пождлянки не ожидает, да и доустанавливать пакеты будет неудобно
+
-
 
+
-
* Записать на сидюк, без этого сидюк не получится. Засовывание этих трёх частей в те места, откуда они будут взяты: сд, флеш, сеть...
+
-
 
+
-
 
+
-
Когда мы подготавливаем дистрибути, весь дистрибутив за исключением двух мест не зависит от того, что это будет и куда его поместить. Есть мелка детальЮ связанная с покетом настройки. Некоторые части этого процесса можно убрать.
+
-
 
+
-
 
+
-
Единственное, что не рассказал ГК: как сделать ливсиди из сизифа, но для этого достаточно поставить пакет spt3.
+
-
 
+
-
 
+
-
Как сделать свой инсталлятор: нужно 6 крепких молодцев, тайной знания, как делать инсталлятор, обладают ровно 2 человека. По двое держут, оставшиеся двое допытываются. Они пользуются поделием spt, которое не имеет документации.
+
-
 
+
-
{{Спецкурс по Linux, весна 2007}}
+
-
{{Lection-stub}}
+

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Личные инструменты
Разделы