Когато преглеждате различни вкусове на Linux, често се появявате фрази като "Ubuntu се базира на Debian", но какво точно означава това?
Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.
Плейър на SuperUser PLPiper се опитва да се справи с начина, по който работят вариантите на Linux:
Проведох съвсем наскоро доста дистрибуции на Linux, за да разбера какво има наоколо и една фраза, която продължава да се появява, е, че "[тази операционна система] се основава на [друга операционна система]". Например:
- Fedora се базира на Red Hat
- Ubuntu се базира на Debian
- Linux Mint се базира на Ubuntu
За някой, който идва от Mac среда, разбирам как "OS X се основава на Дарвин", но когато гледам Linux Distros, аз се питам "Не всички ли са базирани на Linux ...?"
В този контекст, какво точно означава за една OS Linux?базиран на друга операционна система Linux?
И така, какво точно означава това, когато говорим за една версия на Linux, която се основава на друга версия?
Сътрудникът на SuperUser kostix предлага солиден преглед на цялата система:
Linux еядро - (комплексен) софтуер, който работи с хардуера и изнася определен интерфейс за приложно програмиране (API) и бинарни конвенции за използването му (Application Binary Interface, ABI), достъпни за приложенията за "потребителско пространство".
Debian, RedHat и други саоперационна система - цялостни софтуерни среди, които се състоят от ядрото и набор от програми за потребителско пространство, които правят компютъра полезен, тъй като изпълняват разумни задачи (изпращане / получаване на поща, което ви позволява да сърфирате в интернет, да управлявате робот и т.н.).
Сега всяка такава операционна система, докатоосигуряване най-вече един и същ софтуер (няма толкова много безплатни програми за сървъри за поща или интернет браузъри или настолни среди например) се различават в подходите за това, както и в обявените цели и цикли на освобождаване.
Обикновено тези OS се наричат "дистрибуции". Това е IMO, донякъде погрешен термин, произтичащ от факта, че сте технически способни да изградите необходимия софтуер на ръка и да го инсталирате на целевата машина, така че тези OSesразпространяват пакетирания софтуер, така че или не е нужно да го изграждате (Debian, RedHat), или те улесняват подобна сграда (Gentoo). Те също така обикновено осигуряват инсталатор, който помага да инсталирате операционната система на целевата машина.
Осъществяването и поддръжката на OS е aмного сложна задача, изискваща сложна и сложна инфраструктура (опашки за качване, изграждане на сървъри, проследяване на грешки и архивни сървъри, софтуер за пощенски списъци и т.н. и т.н. и т.н.) и персонал. Това очевидно повдига висока бариера за създаването на нова, от нулата операционна система. Например, Debian осигурява около. 37k пакети за няколко хардуерни архитектури - вижте колко много работа се полага в поддръжката на тези неща.
И все пак, ако някой мислитрябва за да създадете нова операционна система по каквато и да е причина, може би е добра идея да я използватесъществуващ да се надграждат. И точно там се намират OSesвъз основа на други OSs съществуват. Например, Ubuntu се основава на Debian, като само внася повечето пакети от него и препакетира само малка част от тях, както и собствени опаковки, осигурявайки свои собствени произведения на изкуството, настройки по подразбиране, документация и т.н.
Имайте предвид, че съществуват вариации в това "основано на" нещо. Дебиан например насърчава създаването на сами чисти смеси: дистрибуции, които използват Дебиан по-скоро директно и просто добавят куп пакети и други неща, които са полезни само за по-малки групи потребители като тези, работещи в сферата на образованието или медицината или музиката промишлеността и т.н.
Друг обрат е, че невсичко тези OS са базирани на Linux. Например, Debian предоставя и FreeBSD и Hurd ядра. Те имат доста малки потребителски групи, но така или иначе.
Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.