Hvor præcis er et Linux-OS baseret på et andet Linux-OS?
Når du gennemgår forskellige smagsoplevelser af Linux, kommer du ofte på tværs af sætninger som "Ubuntu er baseret på Debian", men hvad betyder det egentligt?
Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.
Spørgsmålet
SuperUser-læser PLPiper forsøger at få et håndtag på, hvordan Linux-varianter fungerer:
Jeg har gennemgået en lang række Linux distros for nylig for at få en ide om, hvad der er omkring, og en sætning, der fortsætter med at komme op, er at "[dette OS] er baseret på [et andet OS]". For eksempel:
- Fedora er baseret på Red Hat
- Ubuntu er baseret på Debian
- Linux Mint er baseret på Ubuntu
For nogen der kommer fra et Mac-miljø forstår jeg, hvordan "OS X er baseret på Darwin", men når jeg kigger på Linux Distros, finder jeg mig selv at spørge "Er de ikke alle baseret på Linux ...?"
I denne sammenhæng, hvad betyder det præcist for et Linux OS at være baseret på et andet Linux-operativsystem?
Så hvad betyder det nøjagtigt, når vi taler om en version af Linux, der er baseret på en anden version?
Svaret
SuperUser bidragyder kostix giver et solidt overblik over hele systemet:
Linux er en kerne - et (komplekst) stykke software, der arbejder med hardware og eksporterer et bestemt API (Application Programming Interface) og binære konventioner om, hvordan man netop kan bruge det (Application Binary Interface, ABI) til rådighed for brugerrummet.
Debian, RedHat og andre er operativsystemer - komplette software miljøer, der består af kernen og et sæt brugerrum programmer, der gør computeren nyttig, da de udfører fornuftige opgaver (sende / modtage mail, så du kan surfe på internettet, køre en robot osv.).
Nu hver sådan OS, mens at sørge for stort set den samme software (der er ikke så mange gratis mail-serverprogrammer eller internetbrowsere eller desktop-miljøer, for eksempel) adskiller sig i fremgangsmåder til at gøre dette og også i deres angivne mål og frigivelsescyklusser.
Sædvanligvis kaldes disse operativsystemer "distributioner". Dette er, IMO, en noget forkert term, der skyldes det faktum, at du teknisk set er i stand til at bygge alle nødvendige software manuelt og installere den på en målmaskine, så disse operativsystemer distribuere den pakkede software, så du enten ikke behøver at bygge den (Debian, RedHat) eller de letter denne bygning (Gentoo). De leverer normalt også et installationsprogram, der hjælper med at installere operativsystemet på en målmaskin.
At lave og understøtte et operativsystem er a meget kompliceret opgave, der kræver en kompleks og indviklet infrastruktur (upload køer, build servere, en fejltracker og arkivservere, mailingliste software osv. osv.) og personale. Dette skaber selvfølgelig en høj barriere for at skabe et nyt, scratch OS. For eksempel giver Debian ca. 37 k pakker til fem hardwarearkitekturer - find ud af, hvor meget arbejde der er lagt i at støtte disse ting.
Stadig, hvis nogen tror de brug for at oprette et nyt operativsystem uanset årsag, kan det være en god idé at bruge en eksisterende grundlag for at bygge videre på. Og dette er præcis hvor OS'er baseret på andre operativsystemer forekommer. For eksempel bygger Ubuntu på Debian ved blot at importere de fleste pakker fra den og ompakke kun en lille delmængde af dem, plus at pakke deres egne, give deres egne illustrationer, standardindstillinger, dokumentation osv..
Bemærk at der er variationer i denne "baseret på" ting. Debian fremmer for eksempel oprettelsen af "rene blandinger" af sig selv: distributioner, der bruger Debian ret direkte, og blot tilføjer en masse pakker og andre ting, der kun er nyttige til temmelig små grupper af brugere som dem, der arbejder i uddannelse eller medicin eller musik industri mv.
Et andet twist er det ikke alle Disse operativsystemer er baseret på Linux. For eksempel leverer Debian også FreeBSD- og Hurd-kerner. De har ganske små brugergrupper, men alligevel.
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.