Критерії класифікації дистрибутивів

Перший клас - дистрибутиви пакетні: всі їхні компоненти, від ядра і базових утиліт, і до самого распоследній користувальницького додатка, встановлюються з заздалегідь зібраних (прекомпілірованние, бінарних) пакетів. Відповідно і поширюються ці дистрибутиви у вигляді набору прекомпілірованние пакетів. А невід'ємним компонентом такого дистрибутива буде система пакетного менеджменту.

За другим класом закріпилася назва Source Based дистрибутивів. На мій погляд - не найвдаліший, і з двох причин. По-перше, пакетні дистрибутиви в кінцевому рахунку, також збираються з вихідних (бо більше їх просто нема з чого збирати). А головне - дистрибутиви ці не просто збираються за допомогою компілятора і супутніх утиліт, а збираються за цілком певними правилами, що забезпечує реєстрацію встановлених компонентів і дозвіл їх взаємних залежностей. Набір таких правил споконвіку носить ім'я системи портів, яке прийшло зі світу BSD. І тому другий клас правильніше було б називати збірками портіруемость: будь-яка з портообразних систем виявляється настільки ж неодмінною їх складової, як система управління бінарними пакета - для пакетних дистрибутивів.

На відміну від пакетних дистрибутивів, дистрибутиви портіруемость поширюються зазвичай у вигляді якогось базового прекомпілірованние комплекту, більш-менш відповідного за складом виділеного вище Base Linux - з тією лише різницею, що тут компілятор і утиліти для збірки виявляються вже неодмінною його складовою. Плюс - власне система правил для отримання і складання всіх інших необхідних додатків. Причому правила ці поширюються і на компоненти базового комплекту - кошти пересборки його (bootstrapping) практично обов'язкові для будь-якого портіруемость дистрибутива. Втім, деякі з портіруемость дистрибутивів (Archlinux - типовим прикладом) поширюються переважно в прекомпілірованние вигляді, чому це поняття не тотожне поняттю дистрибутива Source Based (власне, останні можна розглядати як підмножину портіруемость дистрибутивів).

Чітку межу між пакетними і портіруемость збірками провести нелегко. З одного боку, розвинені системи пакетного менеджменту має на увазі можливість побудови пакету безпосередньо з вихідних. Правда, зазвичай ця можливість не є "наскрізною" (тобто розповсюджується на систему в цілому). Але Debian і його похідні (включаючи Ubuntu і Kubuntu) включають кошти тотального пересбора системи, у чому ми переконаємося в кінці глави 9.

З іншого боку, як уже було сказано, ряд портіруемость дистрибутивів (CRUX, наприклад, або Archlinux) поширюється переважно в прекомпілірованние вигляді, а система портирования виступає в якості опції. З третього ж - системи пакетного менеджменту є настільки ж невід'ємною частина портіруемость дистрибутивів, як і дистрибутивів пакетних. Інша справа, що, як правило, вони виявляються вторинними по відношенню до системи портирования і похідними від неї. Тобто розділити портіруемость і пакетні дистрибутиви можна по субтрактивна принципом: перші мають і систему портів, і систему пакетного менеджменту, тоді як другі - тільки останню - але, знову-таки, в дистрибутивах сімейства Debian остання цілком в змозі виконати роль системи портів.

Схожі статті