Книга посвя щается операц ио н ной системе ее дистрибутивам



Pdf просмотр
страница3/8
Дата11.11.2016
Размер5.04 Kb.
Просмотров1768
Скачиваний0
1   2   3   4   5   6   7   8
x и


(
, входящие в штатный комплект данной реализации Иксов например) по определению используют только главную Иксовую библиотеку и
,

"
"
, соответственно могут работать под голыми Иксами Это кстати
-
, иллюстрация традиции давать приложениям использующие определенные библиотеки характерные префиксы см ниже В тоже время с xlib

использованием только можно собрать и довольно сложные программы
,
b ox -
, например большинство оконных менеджеров семейства и даже
O p e nOffice.o rg,


хотя обычно при сборке их опциона льно привлекаются и
библиотеки более высокого уровня


Gtk, Qt, К графическим библиотекам более высокого уровня относятся а

: s dl (


), flt k, также многие другие особенное любят писатели игрушек и прочие Они предоставляют гораздо более широкие возможности


по стандартизации интерфейса Для п рограммЮ использующих библиотеку часто используется префикс который путается с префиксом- означающими дляiq
или. который редко с чем путается С
другими библиотеками ситуация схожая
Исторически первой высокоуровневой графической библиотекой. получившей широкое признание была библиотека Однако


,
o p e n m o tif долгое время она не была свободной а её открытая реализация была функционально существенно ограниченной по сравнению с

прототипом Это сдерживало распространение свободного софта

Motif,
основанного на библиотеке ив конце концов привело к развитию библиотеки Ныне открытая библиотека но программ на её
O p e n So u rce

(базе в мире используется относительно мало хотя в
Unix'


п ропр иентарн ых ах она очень широко распространена посей день -
,

Tr ollTec h библиотека разработанная норвежской фирмой t t p: / / t r olltec h.co m /
).

Существуют реализации этой библиотеки для различных операционных систем что позволяет разработчикам писать кроссплатформен н ые приложения и облегчает перенос графического интерфейса приложения из одной операционной системы в другую
Qt

:
(Библиотека распространяется в двух вариантах коммерческом за
,
,
)
,
немалые между прочим деньги и бесплатном подл и ценз ией

GPL.
основанной на
Последняя предполагает исключительно некоммерческое использование основанных на ней программ По этой причине библиотека не считается истинно свободной в понимании Библиотека написана на языке Си
В ней используется концепция- сигналов и при мн иков когда каждый виджет

win d o w ga d g e t)
искусственно образованное слово от слови при действии с

,
,
ним посылает сигналы а виджеты настроенные на обработку данного сигнала приёмн ики непосредственно обрабатывают данный сигнал Gtk (

Gtk 2 - Библиотека и её современная реализация написана на языке Си Поэтому программирование для неё является намного

,

более сложным делом чем программирование для библиотеки+ написанной на Сии использующей классы и другие преимущества Си
m m(g n o m e m Носу ществуют дополнительные библиотеки с суффиксом g n o m e ui m m)


C + +
которые предоставляют возможность писать над ля (Win d o w Man age r) -
, Менеджеры окон программы осуществляющие контроль

.


за положением и поведением окон Они могут быть написаны на базе самых
,

разных библиотеки обычно включают средства запуска приложений и

,
переключения между запущенными задачами виртуальные рабочие столы и т п KDE


(Desk t o p и
представляют собой интегрированный рабочие среды o n m e n t s,

).

, , так назывемые десктопы Помимо менеджера окон они. содержат прикладные программы тесно интегрированные между собой Они основаны на библиотеках соответственно и
однако в дополнение кн им в каждой из этих сред используются и собственные библиотеки Для
GNOME (
h t t p: / / g n o m e.o rg /
) lib s - g n o m e это будут и множество мелких


. дополнительных библиотек с весьма запутанными соотношениями же помимо требует только единой собственной. библиотеки и мультимедийной библиотеки С точки зрения программиста десктоп специфичные библиотеки это библиотеки более высокого уровня чем и
предоставляю щ ие е щ больше возможностей
,

,
Прикладные программы построенные на них в префиксах своих имен имеют
- g (
!) k
GNOME KDE опять и для и
соответствен но Gtk
XFCE (На также базируется h t t p: / / w ww.xfce.org /
),
претендует название полноценного десктопа Его разработчики сейчас занимаются освобождением- этой среды от связи с развивая собственную библиотеку Недавно семейство высокоуровневых библиотек пополнилось еще одним s, представителем что значит то есть
Enlig h t e n m e n t библиотекой проекта Изначально она писались исключительно для поддержки этого оконного менеджера но позже превратилась в самостоятельный проект Основу
: Imlib 2 evas. Evas
составляют две библиотеки и
может работать на основе
(Lin ux Fra m eBuffe r, DirectFB, X11, O p e nGL, QTo pia) различных движков и

.
EFL - поэтому является хорошо переносимой Все остальные библиотеки базируются на ней На основе в настоящее время несли ш ком много
,


,
. приложений но их число постоянно увеличивается а качество растет Сам же
Enlig h te n m e n t

оконный менеджер в последнее время активно развивается в
направлении интегрированного десктопа
Средства управления пакетами
, Ознакомившись спр иведен н ым нагромождением пакетов разрабатываемых в

,
рамках самостоятельных проектов в большинстве случаев с разработкой
Lin ux

,
, ядра никак несвязанных часто альтернативных с дублирующими функциями читатель вправе задать вопрос и где же здесь обещанная системная целостность Постараюсь ответить, Base Lin ux


,
,
, Да не являет собой столь стройной картины как скажем базовый
FreeBSD (
BSD -
),
комплект и других систем в которых ядро гармонично, сочетается с утилитами обрамления разрабатываясь одной командой в


,

рамках единого проекта Тем не менее все его компоненты вполне увязаны между собой И даже если исторически они создавались до вне и

,



(независимо от него то уже на протяжении многих лет основной или одной
)

Lin ux. из основных целевой платформой является именно Некоторые
Base Lin ux

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


, достаточно быстро ориентируются на новые возможности в них появляющиеся, Кстати и системы несмотря на свое внутреннее единство включают в "
",


GNU себя чужеродные компоненты происходящие из тех же проектов и

gcc (GNU наиболее показательным примером чего является компилятор точно тоже что используется ив- Что же до альтернативности многих пакетов так это



Lin ux - неотъемлемая черта этой операционной системы И потому ОС
не
(
,
)

.
, только а может быть и не столько ядро и набор базовых программ Это намой взгляд в первую очередь алгоритм для построения такого набора это и



, есть тот самый четвертый вариант определения операционной системы о

котором было упомянуто вначале статьи,

-

, -Остается рассмотреть как этот алгоритм сборка системы воедино реализуется практически и что для этого нужно Существует три вида
реализации сборки системы

; прямая компиляция из исходных текстов автоматизированная компиляция посредством специально предназначенных для этого систем

. развертывание системы из п рекомпи ли рован н ых бинарных пакетов



Прямая компиляция подразумевает ручную сборку каждого пакета в
,
определенной последовательности определяемой их взаимными- зависимостями Этот механизм требует дополнительного инструментария так называемых средств разработки хотя в данном случае они выступают в

).


C, качестве средств сборки В первую голову это компилятор языка на


Lin ux

- котором написана большая часть ОС
и программ для нее gcc
(
f t p: / / f t p.g n u.o rg / g n u / g cc /
).
-

(
,
. Далее средства обеспечения компиляции линкер ассемблер и т д
объединенные в два набора bin86 (
h t t p: / / w ww.cix.co.u k /%7Emay d ay /
) и binutils.


- Последний пакет существует в двух вариантах t p: / / f t p.g n u.o rg / g n u / bi n u tils /
) Ker n el.org (и h t t p: / / w w w.ke r n el.org
).
-

, Затем программа управления компиляцией конкретно f t p: / / f t p.g n u.o rg / g n u / m a k e /
)

и тесно с ней связанные утилиты o n f /
)
для построения средств автоматического, конфигурирован ия при сборке и automake (
ft p: / / f t p.g n u.o rg / g n u / a u t o m a k e /
)
m a k e -
, для автоматизации создания файлов описывающих процесс компиляции Кроме этого практически необходимыми оказываются также
лексический анализатор- g n u / flex /
),
синтаксический анализатор иногда требуется также его прототип yacc - h t t p: / / d i n o s a u r.co m piler t o ols. n e t /
, - для


) сборки некоторых программ необходим именно они макропроцессор m4
(
f t p: / / f t p.g n u.o rg / g n u / m 4 /
).



Механизм ручной сборки системы прекрасно описано Герардом Бикмансом в
LFS Book (Lin ux Fro m Scra tc h -
его знаменитом что в данном контексте можно "Lin ux
", перевести как из кусочков h t t p: / / w w w.lin uxf r o m s c r a tc h.o rg
). Есть и


,
прекрасный русскоязычный сайт Сергея Каминского посвященный этой теме
(
h t t p: / / lf s - r u. n m.r u /
).



Сам по себе процесс сборки системы сводится к повторению трех волшебных (слов для всех пакетов /configure, make, make install).
, Очевидно что он
,

,
Lin ux - требует наличия кроме необходимых пакетов исходников некоей -

LiveCD, -
системы на диске или в виде содержащей весь необходимый инструментарий Ипр и этом не обеспечивает контроля зависимостей пакетов
-


все они должны разрешаться вручную И потому этот механизм- применяется исключительно энтузиастами ив основном в целях самообразования На практике же появляется резонное желание автоматизировать процесс


сборки Для этой цели разработано множество специальных систем


FreeBSD. прототипом которых послужила система управления портами
Были



Lin ux. и попытки прямого их переноса в некоторые дистрибутивы
Кроме того

p k g s r c, для многих из них существует система разработанная в рамках
NetBSD

-
, проекта как изначально кросс платформенное средство аналогичное- портам Нов большинстве случаев разработчики дистрибутивов шли- своим путем приняв основные принципы построения системы портов
,

, автоматическое конфигури рован ие сборку и установку пакета учет и
,

, - контроль зависимостей автоматическое их разрешение они создавали) функционально аналогичные или даже более богатые собственные инструменты для этого
,
Причиной такого подхода кроме понятных амбиций май нтай неров

,


Lin ux BSD - ли нуксоидов было также и различие моделей разработки и
систем
( ,
,

).

и как следствие их внутреннего устройства Как уже было сказано ранее
BSD -


(
) системы в базовой своей части представляют почти органичные целостности построение которых контролируется собственными (механизмами процедура make world

). со всеми ее вариациями И система
(
p k g s rc)

портов или в них выступает своего рода внешним придатком призванным прикрутить к базису операц ионк и надстройку из приложений сторонних разработчиков не являющихся собственно частями данной ОС Lin ux,


,

:
В
как мы только что убедились ситуация совершенно иная там весь

,
,
базис система насквозь альтернативен ив сущности сшивается из лоскутков
(fro m Scratc h).

, И потому естественным видится то что механизм портирован ия можно распространить на всю систему


В связи с этим наибольшую известность из всех портообразн ых систем для- получила система портежей дистрибутива именно в ней
,

,

"впервые насколько мне известно была реализована идея сквозного ",

Base Lin ux -

,
портирован ия вплоть до святого святых ядра Кроме этого

портежи привнесли с собой изощренные средства автоматического "построения зависимостей основанные на аккумулятивном эффекте
переменной Однако портежи далеко не единственная из портообразн ых систем
Lin ux.


"
мира
В том же ряду можно назвать систему волшебных заклинаний из дистрибутива и его потомков ив последнем она правда видоизменилась и получила собственное- имя система дистрибутива наиболее близкая к, ABS - Arc hlin ux Buildi ng Sys te m -
прототипу из одноименного дистрибутива
и еще несколько аналогичных Очевидно что поскольку при использовании любой портообразной системы



,
происходит все та же компиляция из исходников она предъявляет те же
,

: требования что и механизм ручной сборки наличие полного инструментария для оной Плюс к тому необходимо само по себе дерево
(


-


) портов или каких ни назови суть дела от этого не меняется и


специфичные именно для данной портообразной системы средства для работы с ним перечислять а тем более описывать которые было бы очень долго и скучно Наконец установка системы из би нар н иков то есть предварительно откомпилированных пакетов Каковые разумеется также собираются из
(
,


,

исходников потому что как сказал бы Вилл и Старк больше их просто не из
),
-

. чего собирать но это забота май нтай нера данного дистрибутива То есть



для пользователя отпадает необходимость иметь в своем арсенале тот самый инструментарий разработчика о котором говорилось выше Однако

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



-Средства эти столь многообразны что говорить он их можно было бы долго
,

Base Lin ux

тем более что прямого отношения к теме они не имеют Так что
,

-
отметим только что их наличие необходимость для дистрибутива

,
распространяемого в пакетной форме и отложим тему до соответствующей главы
Несколько слов в заключение,


Итак входе столь длинного разговора мы установили следующее комплекс имеет место быть в природе по крайней мере во "
" : - ); второй
-
комплекс этот насквозь альтернативен почти каждый его компонент


; может быть заменен аналогичным по задачам

замена эта может быть выполнена как май нтайнерами дистрибутива

; таки индивидуальными пользователями) каковые располагают возможностью скомпоновать почти по
. собственному усмотрению Видимо именно этими привлекает определенную категорию пользователей возможностью соучастия в построении основы основ
,

Win d o w s,

BSD системы недостижимую не то что в но даже в мире сего камерным стилем разработки Не зря дедушка русского ли нуксописан ия
,

,
Владимир Водолазки й отметил в свое время что быть просто пользователем, скучно От себя я добавлю пожалуй что и невозможно
,



- Действительно рано или поздно любой ли нуксоид становится творцом по
,

. крайней мере в масштабах своей локальной машины В результате чего



(система становится похожей не на своего родителя исходный дистрибутива подобно собаке на своего хозяина сиречь пользователя И очень многие


Lin ux -
- пользователи со временем приходят и к сборке собственной системы
,

,

,

или по крайней мере проходят эту стадию как нечто вроде болезни роста
(
,
).

своего информационного А некоторые в конце концов на базе таких


,
, самострой н ых систем создают в конце новые собственные дистрибутивы
,

,
Впрочем это уже отдельная история которая будет предметом следующей
главы.
,


Однако даже если амбиции пользователя и не простираются на сборку
( ,
,
собственной системы и тем более разработку своего дистрибутива
Base Lin ux,

,
представление о по моему мнению очень поспособствует ему в

.
понимании установки и настройки системы Именно поэтому я и рискнул включить эту главу в книгу рассчитанную на начинающих Глава 3. Слово о дистрибутивах

Алексей Федорчук
2 0 0 6

Что такое дистрибутив Критерии классификации О пакетах и пакетных дистрибутивах

Порты и портируемые дистрибутивы О предназначении О распространении Вопросы генетики дистрибутивов

Несколько слов в заключение Что такое дистрибутив, Итак в

предыдущей главе

Base мы сформулировали сформулировали понятие

Lin ux,

,
,
определили его состава заодно и выяснили что этот разнородный системный комплекс разрабатывается множеством независимых


. разработчиков в рамках столь же самостоятельных проектов Возникает очередной вопроса кто же берет на себя труд собрать этот комплекс (воедино нарастив его заодно разнообразными опциона льн ым и то есть


) выходящими за пределы базовой функциональности приложениями включая оконную систему оконными менеджерами для нее
,
, интегрированными десктопами офисными пакетами браузерами

коммуникационными программами и прочими столь необходимыми
широким народным массам вещами- Имя этим героям фронта май нтай неры дистрибутивов
-
:
,
Что такое май нтайнер ответить нетрудно это тот кто взваливает на себя


вышеозначенную непосильную ношу В физическом воплощении это могут быть -

, Re d разнома шстабн ые фирмы наиболее популярные дистрибутивы t Suse,

и
собираются силами сотрудников одноименной компании и
Novell,
; корпорации соответственно крупные общественные объединения ярким примером чему служит


Debia n; уже более чем десятилетнее развитие дистрибутива,

отдельные разработчики формирующие вокруг себя нечто вроде
-
-
индивидуально частного предприятия тут мы вспоминаем Патрика
,



Фолькерди нга на котором вот уже чертову дюжину лет держится
Slackwa r e; дистрибутив
-
,
такие же разработчики индивидуалы обрастающие со временем неким
-

сообществом наиболее показательным примером тут будет Дэн иел

Gen t o o;
Роббинс сего дистрибутивом,

, наконец простои нд ивидуальн ые пользователи решившие собрать

"
,
" - индивидуальный же дистрибутив для себя любимого однако чаша формирования вокруг своего произведения более или менее


,
- обширного сообщества не минет и их свидетельством чему судьба
CRUX
Arc hlin ux
. Пера Лидена и
Джадда Винета

,

Я привожу лишь примеры наиболее известные миру или хорошо знакомые
-


мне на самом деле вариантов образования майнтайнерским команд намного
,

-
больше вплоть до прямого Госзаказа примером чего выступит

Re d Flag.
,
, разрабатываемый в Китае дистрибутив
Или скажем деятельность
-

Интернет предпринимателя и космического туриста Марка Шаттлворта

вдохновляющего и финансирующего команду разработчиков дистрибутива
Ub u n t u,

-
вообще трудно уложить в какие то традиционные рамки,
Lin ux -
, Одним словом май нтайнер дистрибутива не профессия а образ



жизни И редкий пользователь этой системы не мечтает на некотором этапе


своего развития собрать дистрибутив собственный А некоторые даже и

.

воплощают свою мечту в жизнь В результате число дистрибутивов растет из
:
дня вдень только на сайте h t t p: / / d i s t r o w a tc h.co m
,
самом полном ресурсе по
Lin ux -
,
учету и контролю дистрибуции их зарегистрировано почти полтысячи но даже туда попадают не все дистрибутивы
,

-
Lin Остается определить только что же это такое дистрибутив -
Для начала о самом термине дистрибутив (Distributions). Как тона, е возник вопрос об адекватном русском его эквиваленте И после

,
,
обсуждения и обмена мнениями участники постановили что таковым будет
слово дистрибутив.
?
,
Dis t rib u tio n Почему Да потому что английское. приобретает весьма разный смысл в зависимости от контекста Для


: Win d ow s доказательство чего достаточно сравнить три словосочетания n s.
,

Действительно какие ассоциации вызывает у нас словосочетание дистрибутив
Win do ws?


CD -Перед глазами сам собой возникает образ бокса с голограммой
,
1 0 0 подтверждающей подлинность приобретаемый зап р имер но


, американских рублей в респектабельном компьютерном салоне Или чаще, его базарная копия купленная за рублей уже постсоветских подчас более или менее точно воспроизводящая и внешний вид оригинала В тоже время FreeBSD Distributions -

, понятие нематериальное а скорее



идейное Оно включает в себя ядро и комплекс самодостаточных средств для


его функционирования и использования То есть собственно и является
операционной системой,
, И наконец слова
Lin u x
дистрибутив
(
- di s t r o, в обиходе а дальнейшем речь

)


пойдет именно о нем рождают в уме самые различные образы Здесь будут и

красивые коробки с книжками документации толщиной в десятки
,
CD -

, сантиметров и аскетические боксики с тонкой брошюркой и сотни мегабайт качаемых из Сети ш н иков записываемых на болванки в
,


-
домашних условиях и даже набор чик и из двух дискет все это дистрибутивы
Lin ux.

,


Lin ux Главное же в том что вслед за словами дистрибутив практически

- Re d Ha t
Debia n, Slackwa r e неизбежно следует имя собственное или или имя им легион
,
-
Подобно человеческому имени имя дистрибутива неотрывный его атрибут
-


Lin ux Однако каких либо правил имяобразован ия для дистрибутивов не



сложилось Обычно они образуются из некоего символического названия и
-
(
, Re d Hat Lin ux),
слова эпон има ОС например которое в обиходе часто



опускается Нередко символическое имя представляет собой более или менее
.

ASPLin ux осмысленную аббревиатуру Так именная часть первоначально. расшифровывалась как
Многие май нтай неры


GNU считают своим долгом подчеркнуть роль проекта в формировании софта



Debia n для своих дистрибутивов В результате возникают названия вроде /Lin ux,
So u rceMage GNU /Lin ux.
или В ходу также аббревиатуры от

,
, SLES - Su se Lin ux Ente r p rise полного именования дистрибутивов например Важно также что номер версии дистрибутива никак не коррелирует с
Lin ux. ,
,

таковым ядра
И в общем случае не коррелирует ни с чем вообще, вовсе необязательно начинаясь с какой тома ленькой цифры Так первая повремени версия несла на борту номер соответствующий версии материнского говорят была еще и версия но ее на Русин икто не
).

: Slackwa r e
видел Возможны провалы в нумерации версий версии волшебным образом преобразовалась версию видимо чтобы не отстать
Re d Ha t).

от соплеменного А некоторые май нтайнеры вообще именуют версии

, -

Altlin ux погоду и сезону выхода примером тому старая практика и
- Gen t o o Man d riva.
,
современная и
Последняя система намой взгляд


наиболее осмысленна и информативна для ориентации во времени выхода версий Так чем же завлекательно таинственный отличается от
Arc hlin ux' ,
ASP - фундаментального а неопределенная аббревиатура от вполне' прозрачной крестоносный от легкомысленного а Base Lin ux,
Комплекс обеспечивая исходную функциональность системы


далеко неспособен удовлетворить запросы большинства пользователей И


- потому нуждается в наращивании самыми разнообразными программами от
X,
,
, оконной системы менеджеров окон интегрированных десктопов до
,
,

, редакторов браузеров серверн ых и офисных приложений итак далее
,
,
Которые в свою очередь связаны зависимостями с самыми разнообразными. библиотеками и иными разделяемыми компонентами Разрешение таких
-
,
зависимостей задача нетривиальная и требует определенной системы И


Lin ux. тут мы приходим к определению дистрибутива
Каковое я
сформулировал бы так
Lin ux -







Дистрибутив это система комплектации ядра ОС и комплекса его окружения


.
утилитами и прикладными программами (

Система комплектации коль скоро речь идет именно о системной
)


- целостности должна включать в себя все аспекты таковой получение установку обновление и удаление программ контроль их зависимостей и

,
средства для разрешения оных а также средства учета установленных компонентов И вот тут мы приходим к первому из главных критериев классификации дистрибутивов
Критерии классификации,


Как известно посей день человечество придумало лишь два способа

-
управления программным обеспечением сборку их непосредственно из

(
) пакетов исходных текстов авторских пакетов и установку из

(
). п рекомпи ли рован н ых бинарных пакетов дистрибутивных пакетов В


Lin ux соответствие с чем мы и разделяем изобилие дистрибутивов на два больших класса -
:

,
Первый класс дистрибутивы пакетные все их компоненты от ядра и
,

базовых утилит и до самого распоследнего пользовательского приложения, устанавливаются из заранее собранных прекомпи ли рован н ых бинарных пакетов Соответственно и распространяются эти дистрибутивы в виде набора
.
п рекомпи ли рован н ых пакетов А неотъемлемым компонентом такого

дистрибутива будет система пакетного менеджмента

Sou rce Base d
За вторым классом закрепилось название дистрибутивов Намой, взгляд не самое удачное и по двум причинам Во первых пакетные

,

(дистрибутивы в конечном счете также собираются из исходников потому



).
-
что больше их просто не из чего собирать А главное дистрибутивы эти непросто собираются посредством компилятора и сопутствующих утилита, собираются по вполне определенным правилам обеспечивающим регистрацию установленных компонентов и разрешение их взаимных зависимостей Набор таких правил испокон века носит имя системы портов

BSD.

пришедшее из мира И потому второй класс правильнее было бы

:
-
величать дистрибутивами портируемыми какая либо из портообразн ых



, систем оказывается столь же непременной их составляющей как система

-
управления бинарными пакета для пакетных дистрибутивов
"
" Практически единственным чисто исходняч н ым дистрибутивом можно
LFS (Lin ux fr o m Scra tc h - считать)
Герарда


- BLFS (Beyo n d
Бикманса и варианты его многочисленных последователей

Lin ux Fro m Scra tc h -
LFS

), расширенный для конечного пользователя повышенной секретности ux Fro m Scra tc h -
-
LFS).
, кросс платформенный Однако характерно что их
,
,


"
"
пользователи те что не сделали сборку системы с нуля целью своей жизни а используют их для практической работы рано или поздно приходят к


автоматизации процесса сборки посредством всякого рода самосоч и нен н ых
(
ALFS - Au t o m a t e d Lin ux Fro m Scra tc h, скриптов субпроект то есть
LFS),
автоматизированный получая в итоге очередные разновидности
.
дистрибутивов портируемых Именно таково было и происхождение)
,
Клиффорда Вольфа первого год в истории дистрибутива


Sou rce Base d, который можно было бы отнести к категории возникшего доп роекта и до появления самого термина кстати говоря Процесс "
"
LFS

скриптизац и и исходного прекрасно описан Сергеем Каминским на его
(сайте h t t p: / / lf s - r u. n m.r u /
).


, В отличие от пакетных дистрибутивов дистрибутивы портируемые

распространяются обычно в виде некоего базового прекомп или рован ного
,


комплекта более или менее соответствующего по составу выделенному выше стойл ишь разницей что тут компилятор и утилиты для сборки


- оказываются уже непременной его составляющей Плюс собственно система


правил для получения и сборки всех остальных необходимых приложений Причем правила эти распространяются и на компоненты базового комплекта средства пересборки его практически обязательны для любого портируемого дистрибутива Впрочем некоторые из портируемых
(Arc hlin ux -

) дистрибутивов типичным тому примером распространяются

,
преимущественно в прекомп или рован ном виде почему это понятие не

Sou rce Base d (
, тождественно понятию дистрибутива собственно последние можно рассматривать как подмножество портируемых дистрибутивов

Четкую грань между пакетными и портируемыми дистрибутивами провести нелегко С одной стороны развитые системы пакетного менеджмента

подразумевают возможность построения пакета непосредственно из
,


"
" (исходников Правда обычно эта возможность не является сквозной то есть

).
Debia n распространяемой на систему в целом Но и его производные включая и
располагают средствами тотального пересбора
,

системы в чем мы убедимся в конце 2

главы

,

,
С другой стороны как уже было сказано ряд портируемых дистрибутивов
(CRUX,
,
Arc hlin ux)
например или распространяется преимущественно в
,
п рекомпи ли рован ном виде а система портирован ия выступает в качестве
(

).
- опции или средства наращивания функциональности С третьей же


системы пакетного менеджмента являются столь же неотъемлемой часть
,


,
портируемых дистрибутивов как и дистрибутивов пакетных Другое дело

,
, что в портируемых дистрибутивах они как правило оказываются


вторичными по отношению к системе портирован ия и производными от нее


То есть разделить портируемые и пакетные дистрибутивы можно по
:

, субтрактивному принципу первые имеют и систему портов и систему
,

-
-
,
- пакетного менеджмента тогда как вторые только последнюю но опять,
Debia n
таки в дистрибутивах семейства средства управления пакетами

вполне в состоянии выполнить роль системы портов,
,


, Важно что хотя понятие пакета фигурирует как в пакетных таки в
,

. портируемых дистрибутивах в него вкладывается разный смысл В

-

,
портируемых дистрибутивах пакет это набор исходников программы скомпонованный разработчиком и служащий основой при сборке через
(
,

, систему портов то что мы ранее в

предыдущей главе, назвали авторским пакетом

В пакетных дистрибутивах под пакетом понимается набор исполняемых (бинарных файлов и необходимых им компонентов дистрибутивный пакет
,



Разумеется основой для его сборки служит тот же авторский пакет
,


исходников однако корреляция между ними отнюдь неоднозначная Обычной практикой пакетных дистростроителей является дробление авторского пакета на серию пакетов дистрибутивных каждый из которых


.
может быть установлен независимо от других Обычно такое дробление, проделывается со сложными пакетными пакетными комплексами вроде


вычленения отдельных монофункц иона льн ых пакетов из состава Иксов или из больших авторских пакетов

Таким путем достигается большая компактность инсталлированной системы



пользователь пакетного дистрибутива может выбрать для установки только те

,

(компоненты авторского пакета которые необходимы лично ему например, дистрибутивный пакет из всего авторского пакета тогда

как в портируемом дистрибутиве в большинстве случаев приходится устанавливать авторский пакет целиком- Впрочем возможна и обратная процедура группировка нескольких



, авторских пакетов в единый дистрибутивный метапакет или метапорт что


.
, призвано избавить пользователя отл и ш них размышлений Так выбрав для
(
,

Debia n установки метапакет или как это называется в и его клонах
) k d e,
виртуальный пакет пользователь автоматически получит в свое


распоряжение все нужные ему компоненты этой графической среды
,

,
-
Впрочем в сочетании с кучей вещей заведомо ненужных в примере сими наверняка окажется все изобилие поддерживаемых ею локалей включая весьма экзотические например зулусскую или маори йскую
О пакетах и пакетных дистрибутивах

Возможна ли более дробная классификация дистрибутивов каждого класса
,

.
, Возможна причем по независимым критериям Так для пакетных. дистрибутивов напрашивается разделение по формату пакетов Которые


-
,


- можно разделить на две группы те что содержат внутри себя мета (
,

), информацию в частности информацию о зависимостях пакетов и пакеты таковой лишенные Начнем со второй группы как более простой Это самые обычные тарбал л ы
t a r -
то есть компрессирован н ые архивы типа *tar.gz/ *tar.bz2 (часто
фигурирующие в форме tgz и tbz).
,

Важно что сами по себе tgz и tbz - это

,
(
форматы вовсе не пакета а именно архива то есть определяются

- используемой утилитой компрессии gzip или, соответственно А важно это потому что те же самые tgz/ tbz
архивы могут прекрасно содержать в себе и мета информацию автоматически попадая тем самым в
.
Lin ux -


, первую группу Примеры из мира мне на ум не приходят однако packages FreeBSD,
,
в которых при формальной принадлежности к обычным
,
тарбал лам содержится исчерпывающая информация о зависимостях
,

показывают что ничего невероятного в этом нет

Однако типичными представителями первой группы являются широко распространенные форматы пакетов

характерный для одноименного дистрибутива и его многочисленных, потомков и свойственный дистрибутиву и его клонам И тот и


, другой также представляют собой компрессирован н ые архивы которые


помимо набора собственно бинарных файлов с указанием путей их

,
размещения в целевой файловой системе содержат данные о зависимостях

.
,

- хотя и представленные в разной форме Впрочем детали описания мета

, информации в аспекте классификации дистрибутивов неважны а d e b -

непосредственно к пакетам мы еще вернемся в
1 2
главе



Отсутствие в составе пакета информации о его зависимостях отнюдь не

:

препятствует контролю над ними он может осуществляться за счет внешних баз данных репоз итор иев пакетов и локальных баз данных пакетов

установленных А функции удовлетворения зависимостей в этом случае

,
целиком ложатся на программы осуществляющие пакетный менеджмент И
,
"
"
надо отметить что управление чистыми тарба л лами подчас оказывается
,

более гибким чем пакетами си нформац ией об их зависимостях
-

Программы пакетного менеджмента еще один из критериев классификации Правда собственно средства установки пакетов жестко привязаны к их
- r p m -

(r p формату для установки пакетов служит одноименная утилита, пакеты устанавливаются посредством утилиты для пакетных тарбал лов предусмотрены собственные средства в зависимости от их
(
-
-
,

, формата и обычно дистрибутив специфичные несмотря на похожие и

,
, даже подчас одинаковые имена типа pkg_add).
, Конечно существуют (средства взаимной трансформации пакетов разных форматов типа rpm2cpio, rpm2tgz

или почти универсальной утилиты однако возможности их
-
, r p m -
( применения ограничены очевидно что из пакета и тем более "
"
) d e b -чистого тарбал ла получить полноценный пакет невозможно

-
, Однако существуют еще и средства пакетного мета менеджмента если так
(
,
-
можно выразиться собственно только они то и заслуживают названия систем
).


- управления пакетами Наиболее известное и распространенное из них' Появившийся сначала в е и рассчитанный- соответственно на пакеты он очень быстро стал универсальным кросс
,

, пакетным механизмом установки удаления и обновления программ успешно, работая с пакетами дистрибутивы тарба л лами
Slack aw a r e механизм Ив принципе невидно препятствий к


-
"
" прикручиванию его к тарба л лам любого формата от чистых до сколь
угодно насыщенных метаинформац ией
Под явным влиянием- возникли и иные системы пакетного менеджмента y u m, u r p mi
.

r p m - итак далее Однако они ориентированы только на пакеты
(
,


,
вероятно их можно использовать и для иных форматов но кому это нужно a p t?)

при наличии и потому не получили столь широкого распространения- оставаясь принадлежностью родительских дистрибутивов и более менее

, y u m,

,
точных их клонов Так насколько мне известно используется только в
Re d Ha t /Fe d o r a ASPlin ux, u r p mi -
Man d r a k e,
и
достояние и судьба его после
Man d riva (
-
Co n n ec tiva, образования потомка кросс кузен ного брака с впервые a p t r p m -
) прикрутившей к
пакетам неясна -Так что если классификация пакетных дистрибутивов по формату пакетов
, r p m - b a s e d, d e b - b a s e d t a r b all - b a s e d, - условно говоря на и
имеет некоторый резон то разделение их по средствам управления оными все больше утрачивает смысл
Порты и портируемые дистрибутивы
.
Обратимся теперь к дистрибутивам портируемым Их также можно разделить на две группы дистрибутивы распространяемые преимущественно в виде
(

Sou rce Base d) исходников то есть собственно и дистрибутивы

распространяемые главным образом в п рекомпи ли рован ной форме
Самым известными распространенным представителем первой группы
Gen t o o,

Sorce re r является меньшей популярностью пользуются и его потомки
- So u rceMage Lun a r.


(
и
Все они образованы из базового тарба л ла или набора
,

взаимоисключающих тарба л лов рассчитанных на разные условия установки
Gen t o o)
,
,
, как и системы получения компиляции установки учета и контроля
(


Base Lin ux) зависимостей сторонних то есть выходящих зап редел ы пакетов


(Несмотря на их принципиальное сходство обусловленное наследованием идейных традиций портов двух одинаковых среди них мы не
- p o r t age
Ge n t o o
"
" (so rce обнаружим система из отличается от заклинаний из как реализацией таки приемами использования Преимущественно исходняч ное распространение дистрибутивов не исключает их пакетирования так распространяется

).
,
ив п рекомп или рован ном варианте Соответственно имеют они и средства
-

управления пакетами однако те не образуют самостоятельной целостности а являются составной частью системы портов
, Представителями прекомп или рован н ых дистрибутивов обладающими системой портов являются и
В отличие от предыдущей) группы в них портообразн ые системы и
соответствен но мирно) сосуществуют с самостоятельными и весьма развитыми средствами
:
, p ac m a n
Arc hli n ux,

пакетного менеджмента так из если еще и не достиг мощи овского а то стремительно движется в этом направлении Тем не
,
,

, менее сами пакеты распространяемые в составе дистрибутива генерируются за счет портообразной системы которая позволяет также легко выполнить и


.
пересборку базовой системы в соответствии с запросами пользователя (К слову говоря пакеты представляющие собой как и пакеты

) "
"
, большинства дистрибутивов этой группы чистые тарбал л ы являют пример- эффективного контроля зависимостей за счет внешних баз данных базы
(


) пакетного репозитор ия на установочном диске и на сервере проекта и базы
,

.
"пакетов установленных на локальной машине Гибкость такого внешнего метода пакетного менеджмента определяется тем что пользователь может



, легко создать собственный пакетный репоз итор и й в базой данных в которой

описаны только нужные ему зависимости
О предназначении


Я столь подробно остановился на системах пакетного менеджмента потому

что полагаю их основополагающим критерием классификации дистрибутивов вытекающим из самой их природы Однако и остальные критерии классификации игнорировать не след И одним из таких критериев

.
традиционно выступает назначение дистрибутива В этом аспекте обычно, выделяется три их группы дистрибутивы серверн ые десктопн ые и системы
(
) специального подчас узкоспециализированного назначения Давайте

,
посмотрим насколько это обоснованно Для начала отметаем различие между серверн ым и и десктопн ыми системами
, Man d r a k e Lin ux,
Действительно со дня своего возникновения, позиционируемый как типичный ориентированный дистрибутив даже в


-
своей установочной программе имеет опцию установки в качестве сервера

,
Red Ha t
Su se С другой стороны серверн ые редакции или ничем технологически не отличаются от своих младших десктопн ых
,

родственников и вполне могут быть использованы в качестве последних- Правда никто скорее всего делать этого не будет при изобилии существенно более дешевых альтернатив однако это уже относится к сфере ценовой политики Конечно существуют и чисто серверн ые разновидности дистрибутивов


просто не содержащие в комплекте поставки никаких пользовательских. приложений вплоть до отсутствия оконной системы
В качестве


Altlin ux Cas tle. характерного примера тут можно упомянуть
Однако такие


системы правильнее было бы отнести к разряду узкоспециализированных- Так что мы опять таки приходим к бинарной классификации на

(
) дистрибутивы общего назначения или универсальные и назначения специального не так ли Не совсем Потому что специализированные. системы как правило самостоятельного значения не имеют Создаваясь на

-


. базе систем универсальных за счет сознательного урезания их функций А


,
универсальность дистрибутива именно в томи состоит что из него можно

, f t p - h t t p -
,
выкроить и сетевой роутер и или сервер и даже игровую станцию вспомним проекта или некий аналог бытового телевизора
(MoviX).

,
С другой стороны разделение на универсальные и специализированные- дистрибутивы на практике имеет некоторое значение В первую очередь из
LiveCD - Lin ux -
, за расплодившихся в последнее время систем способных не
,

-
,
только запуститься но и функционировать с компакт диска без установки на
,

-
"винчестер Правда большинство из них производные нормальных. дистрибутивов из того же их можно печь как блины А
-
Kno p pix' - самостоятельные разработки типа а играют сугубо
.


, демонстративную роль Если же они используются как рабочие топ ревра щ а ются в самый обычный применительно к примеру' а
,


,
, Тем не менее разделить дистрибутивы по назначению можно но иначе а
:
"
"
"
" - именно на дистрибутивы для себя и дистрибутивы для всех в

главе об
Lin ux
истории

,


мы увидим что эта альтернатива красной нитью проходит через
Unix Lin ux.

всю историю и
Первая группа представляют собой скорее

конструкторские наборы для построения индивидуальной системы
-

отличаясь более менее простыми и нстал ляторами и слаборазвитыми средствами конфигури рован ия с выраженной тенденцией круч н ым
).


- Gen t o o, настройкам Самый характерный пример этой группы вообще не

,
(
,
имеющий ни и нстал лятора ни конфигуратора точнее в нем в этом качестве

выступают командная оболочка и текстовый редактор "
" -
,
"
",
, Дистрибутивы для всех это системы работающие из коробки такие как
Re d Ha t, Su se, Man d r a k e.
Они отличаются красивыми графическими, и нстал ляторами и средствами сквозного конфигурирован ия делающими- установку и настройку легкой и простой Оборотная сторона чего


,
недостаточная гибкость того и другого а также сложность глубокой
:
,

индивидуализации системы очевидно что представления об идеале у всех
,

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

"
"
Очевидно что к категории дистрибутивов для себя относятся все системы
,

портируемого класса тогда как среди пакетных дистрибутивов преобладают "
".

системы для всех Однако в последнем случае исключений ненамного меньше чем правил Так типично пакетный дистрибутив,

"
". Debia n, безусловно нужно отнести к системам для себя А
в зависимости от
,


, стратегии инсталляции может быть превращен в систему и той и другой категории Говоря о дистрибутивах для себя я отнюдь не подразумеваю их малой распространенности так за последние годы прочно обосновался

(
,
, среди лидеров по популярности ара нее испокон веков в этом качестве
Slackwa r e).
,
,
"стабильно пребывала
И не отрицаю опять же что система для "


- всех может быть также весьма индивидуализирована просто внутреннее устройство или пользователя к тому отнюдь не
. ,
, YAST
Suse

подталкивает А скажем из до недавнего времени так просто "
"
(
, п репятствовл ручному вмешательству в настройки видимо полагая это
).
,
разновидностью рукоблудия С другой стороны готовые решения на базе


портируемых дистрибутивов часто приближаются по своим качествам к "
" -

CRUX Evolu tio системам для всех и тут можно вспомнить пользовательский вариант комплектации изначального" В общем грань между дистрибутивами для всех и для себя достаточно условна как первые за редчайшими исключениями создавались в том числе, и для себя иначе не удалось бы убедить других использовать то чем не
),
,
,

, пользуешься сам таки вторые как правило собирались в расчете на то что

-
,
они потребуются еще кому нибудь Впрочем к этому вопросу мы еще вернемся в заключительном разделе

- Есть и другой критерий аналогичного разделения на дистрибутивы
,
,
, дружественные к пользователю и дистрибутивы дружественные по

(
Rocklin ux -
выражению Клиффорда Вольфа создателя одного из первых
So u rce Base d
),

дистрибутивов к администратору Причем последнее отнюдь не

:
предполагает серверной ориентации дистрибутива ведь на десктопе каждый

. ,
пользователь сам себе администратор И позаботившись о своем удобстве в
,


первом качестве нелишним было бы вспомнить и о собственных же
- интересах во втором


, И тут встает вопрос оп редмете общ есистемного конфигурирован ия что в


значительной своей части сводится к стилям стартовых сценариев Конечно разделение дистрибутивов поэтому признаку на две группы стиль BSD -
) -
,
и
подобн ы й стиль объективная реальность весьма важная для, пользователя в ипостаси администратора и тем более для собственно администратора И тут можно наблюдать интересную закономерность

"
" практически все дистрибутивы для всех придерживаются схемы
Sys te m V,

инициализации в стиле тогда как среди дистрибутивов для себя

BSD -
. доминируют вариации на тему подобного стиля Наводит на
,
размышления не так ли О распространении

: Можно разделить дистрибутивы и по условиям распространения на
.


- свободные и коммерческие Где лежит грань между ними проще пояснить напр имере Так типичным примером свободных дистрибутивов можно
Debia n.

,

.
считать Это не значит что его нельзя продавать Вполне даже можно



скачать полный набор из почти полутора десятков образов
,

, растиражировать их вложить в красивую коробку и сопроводив печатной
,


документацией продавать за деньги А если еще обеспечить сопровождение и поддержку то даже за деньги большие Однако поскольку поступить так

,


имеет право каждый на изначальной свободе дистрибутива это никак не скажется -


Debia n,
А можно взяв за основу тоже дополнить его п ропр иетарн ым и
(

компонентами купив соответствующие лицензии у их разработчиков продавать полученный комплект И это будет уже дистрибутив коммерческий Правда часто грань между коммерческими и свободными дистрибутивами
,


Re d оказывается трудноуловимой примером чему служат сопряженные пары /Fe d o r a Su se / O p e nS u s e,

,
, и
которые представляют собой в сущности одни и те же системы разница между которыми сводится к наличию или отсутствию пропр иетарн ых компонентов и технической поддержки Хотя не
,



: O p e nS u s e совсем второй пример показываете ще один тип соотношений, выступает по отношению кв качестве своего рода фронтира на

,

котором обкатываются инновации прежде чем быть включенными в
.

Fed o r a

"Re d Hat коммерческий вариант Так что если можно трактовать как
",
O p e nS u se -
"Su se для бедных то это скорее для смелых
Вопросы генетики дистрибутивов
Широкой популярностью пользуется классификация дистрибутивов по
,

,
генетическим если так можно выразиться линиям Таковых в первом

:
Slackw ar e, Debia n Re d приближении выделяется три клоны и

. происходящие от одноименных патриархов дистростроен ия В значительной мере она совпадает спр иведен ной выше классификацией по формату
- t a r b all - , d e b - r p m - b a s e d,
,
пакетов и
однако как показывает неоднократно
Suse,
приводимый пример отнюдь ей неидентична Направленность развития основных генетических линий весьма различна. Клоны традиционно развиваются в двух направлениях С одной
,

стороны на ее базе создаются специализированные монофункц иона льн ые
-
системы С другой немалое число энтузиастов занимается совершенствованием исходного дистрибутива путем прикручивания к нему

-
развитых систем управления пакетами от традиционно вездесущего механизма до новомодного заимствованного из FreeBSD

, p k g s rc,
портов и даже такой экзотики как привнесенного из
Debia n
История и направленность клонирования подробно рассмотрена в
7
главе .

,

Здесь отмечу лишь что семейство это отличается наибольшей- степенью совместимости вплоть до того что большинство клонов


могут безболезненно комбинировать пакетные репозитори и друг друга и материнской системы


Red Hat.
Наибольшее разнообразие царит в линии Самые популярные его
,
,
, Man d r a k e,
"
" - производные как прямые например таки внучатые примером потомок последнего очень быстро утрачивали сходство и с
,
.


,
первопредком и с непосредственным родителем Даже те из его дериватов


которые первоначально возникали как точные клоны исходного

- дистрибутива с некоторыми дополнительными возможностями именно так
ASPLin ux, -

. , позиционировался постепенно приобретали своеобразие И несмотря на то что линия использует наиболее распространенный формат пакетов о совместимости би нар н иков между ее представителями в

общем случае говорить не приходится Интересно рассмотреть количественные соотношения между тремя
Lin ux -
выделенными линиями дистрибуции Бытует устойчивое" представление о том что наиболее клонируемым из патриархов является
Re d Ha t.
,
,

Что однако не выдерживает элементарной проверки цифрами В
1

таблице собраны сведения о количестве производных трех ветеранов
(Slackwa r e, Debia n, Re d Ha t) -

, дистростроен ия как ныне здравствующих таки в Бозе почивших. Таблица Семейства дистрибутивов
Дистрибутив
Slackwa r e Debia n Re d Ha t Fe d o r a Man d r a k e Suse RPM - Base Активные Всего 6 1 5 2 4 2 7 2 1 7 6
1 3 7
%% активности 82 8 0 5 0 7 2 8 8 6 7 6 7

Каталог: kitab


Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал