Разликите между различните дистрибуции на Linux се свеждат до следните основни аспекти:
*
инсталираща програма;
*
логическа структура на файловата система (йерархията на директориите);
*
организация на скриптовете за инициализация на системата (заедно с традиционният за Linux стил, наследен от Unix System V, в някои дистрибуции се използва BSD стил за начално зареждане [1]);
*
формата на пакетите, в които се разпространява дистрибуцията и системата за тяхното управление;
*
комплектуването на потребителските приложения (между другото, във връзка с “набъбването” на дистрибуциите и широкото разпространение на интегрираните графични среди KDE и GNOME, важността на този аспект все повече намалява).
С отчитането (в различна степен) на тези признаци, дистрибуциите на Linux традиционно се разделят на три линии, наречени по техните предшественици: клоновете Red Hat, Slackware и Debian. Съществували са ( и вероятно, продължават да съществуват), и системи, които не попадат в тази схема (например Stampede), но те или не са получили разпространение, или са се използвали за строго специализирани цели.
В момента, традиционната класификация не отразява съвсем точно съществуващото положение. Клонът Slackware (с изключение на SuSE, която вече се е отдалечила доста от прототипа си) обикновено са системи със специално предназначение. Възникващите периодично клонове на Debian също така периодично изчезват, без да намерят широко приложение. И фактически, широко разпространени и интензивно развиващи са единствено многочислените клонове на Red Hat. При това, най-популярните от тях – Caldera OpenLinux, Mandrake и у нас – Altlinux и ASPLinux, също са се отдалечили в голяма степен от прототипа си, за който напомня само формата на пакетите.
Най-главното е, че между представителите на всички три генерални линии има много повече общи неща, отколкото изглежда на пръв поглед. Всички те са пакетни дистрибуции, основани на прекомпилирани набори програми, в състава на които влизат ядрото на Linux, средства за поддържане на файловата система, системни и потребителски помощни програми [2] (тоест това, което може да се определи с понятието base linux (основа на linux), плюс прозоречната система X-Window, различни мениджъри на прозорци и интегрирани среди, а също така и приложни програми с най-различно предназначение (и с произволна, избрана от съставителите на дистрибуцията, комплектация).
Много важен елемент от всяка пакетна дистрибуция (и това следва от определението на цялата група) е системата за управление на пакетите. Тя в себе си не само средства за разгръщане на прекомпилираните двоични компоненти на програмата (изпълними файлове, споделени библиотеки, документация и т. н.), но и инструменти за контрол на зависимостите между пакетите и база данни за регистрация на инсталираните (и което е много важно, на отстраняваните) програми. И тук при пакетните дистрибуции наблюдаваме конвергенция: методът apt-get, разработен за пакетите Debian, все по-широко се използват пакети във RPM формат, характерен за клоновете на Red Hat.
Наред с традиционните пакетни системи, все по-активно се развиват дистрибуции, наречени source based (по-нататък – SB-дистрибуции), които може да се нарекат и портвани, тъй като са основани на аналогичната система на портовете, идеята за която е заета от FreeBSD. В такива дистрибуции от прекомпилирани пакети се инсталират, по правило, само компонентите на основата на операционната система, докато потребителските приложения в по-голяма или по-малка степен се свалят автоматично от във вид на изходен код и се компилират по определена схема, за реализацията на която отговаря самата системата на портване. Към този тип дистрибуции се отнасят, например, Sorcerer и неговите модификации – SourceMage и Lunar-Linux.
Има и междинни между пакетните и пределно портваните дистрибуции. Така дистрибуцията CRUX, освен основните компоненти, съдържа и някакъв набор от прекомпилирани приложни програми, които не са задължителни при инсталацията и могат да бъдат сменяни (или допълвани) от компилирани от системата за портване приложения. А дистрибуцията RockLinux, макар и да се инсталира (заедно с основните приложения) от пакети, съдържа средства за автоматично получаване на пълния набор от изходни кодове и преустройство на цялата система от самото начало [3]
превод: Николай Ангелов
[1] Например при Slackware
[2] Така наречените utilities
[3] Аналог на командата make world във FreeBSD
Публикувана от admin
на December 19 2006
|