Hur exakt är ett Linux-OS baserat på ett annat Linux-OS?
När du granskar olika smaker av Linux kommer du ofta att stöta på fraser som "Ubuntu är baserat på Debian" men vad betyder det egentligen??
Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Frågan
SuperUser-läsare PLPiper försöker få hand om hur Linux-varianter fungerar:
Jag har tittat igenom ganska många Linux distros nyligen för att få en uppfattning om vad som finns och en fras som fortsätter att komma upp är att "[detta OS] är baserat på [annat OS]". Till exempel:
- Fedora är baserat på Red Hat
- Ubuntu är baserat på Debian
- Linux Mint är baserat på Ubuntu
För någon som kommer från en Mac-miljö förstår jag hur "OS X är baserat på Darwin", men när jag tittar på Linux Distros, befinner jag mig själv att fråga "Är de inte alla baserade på Linux ...?"
I det här sammanhanget, vad betyder det för ett Linux OS att vara baserat på ett annat Linux-operativsystem?
Så, vad exakt betyder det när vi pratar om en version av Linux som bygger på en annan version?
Svaret
SuperUser bidragsgivaren kostix erbjuder en gedigen översikt över hela systemet:
Linux är en kärna - ett (komplext) programvara som arbetar med hårdvaran och exporterar ett visst applikationsprogrammeringsgränssnitt (API) och binära konventioner om hur man precis använder den (Application Binär Interface, ABI) tillgängligt för användarutrymme-applikationerna.
Debian, RedHat och andra är operativsystem - kompletta mjukvarumiljöer som består av kärnan och en uppsättning program för användarutrymme som gör datorn användbar eftersom de utför förnuftiga uppgifter (skicka / ta emot mail, så att du kan bläddra på Internet, köra en robot etc).
Nu varje sådant OS, medan tillhandahålla mestadels samma programvara (det finns inte så många gratis mail-serverns program eller Internet-webbläsare eller skrivbordsmiljöer) till exempel olika metoder för att göra detta och även i de angivna målen och släppcyklerna.
Vanligtvis kallas dessa operativsystem "distributioner". Detta är, IMO, en något fel term som härrör från det faktum att du tekniskt kan bygga all nödvändig programvara för hand och installera den på en målmaskin, så dessa operativsystem distribuera den förpackade mjukvaran så att du antingen inte behöver bygga den (Debian, RedHat) eller de underlättar sådan byggnad (Gentoo). De tillhandahåller vanligtvis en installatör som hjälper till att installera operativsystemet på en målmaskin.
Att göra och stödja ett operativsystem är a mycket komplicerad uppgift som kräver en komplex och invecklad infrastruktur (uppladdningsköer, byggservrar, en buggspårare och arkivservrar, postlistor mm etc) och personal. Det här uppenbarligen uppenbarligen ett högt hinder för att skapa ett nytt, från-skrapa OS. Debian ger till exempel ca 37k paket för fem hårdvara arkitekturer - se hur mycket arbete som läggs till för att stödja dessa saker.
Fortfarande, om någon tycker att de behöver att skapa ett nytt operativsystem av vilken anledning som helst, kan det vara en bra idé att använda en existerande grund för att bygga vidare. Och detta är precis där operativsystem baserad på andra operativsystem uppstår. Till exempel bygger Ubuntu på Debian genom att bara importera de flesta paket från den och ompaketera endast en liten delmängd av dem, plus att förpacka sina egna, tillhandahålla egna bilder, standardinställningar, dokumentation mm.
Observera att det finns variationer i denna "baserad på" sak. Debian främjar till exempel skapandet av "rena blandningar" i sig: distributioner som använder Debian ganska direkt och bara lägger till en massa paket och andra saker som endast är användbara för ganska små grupper av användare som de som arbetar inom utbildning eller medicin eller musik industri mm.
En annan vridning är det inte Allt Dessa operativsystem är baserade på Linux. Debian tillhandahåller till exempel FreeBSD och Hurd-kärnor. De har ganska små användargrupper men ändå.
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.