Hvor nøyaktig er ett Linux OS basert på et annet Linux-OS?
Når du vurderer forskjellige smaker av Linux, kommer du ofte over setninger som "Ubuntu er basert på Debian", men hva betyr det egentlig??
Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.
Spørsmålet
SuperUser-leser PLPiper prøver å få tak i hvordan Linux-varianter fungerer:
Jeg har sett gjennom ganske mange Linux distros nylig for å få en ide om hva som er rundt, og en setning som fortsetter å komme opp er at "[dette OS] er basert på [et annet OS]". For eksempel:
- Fedora er basert på Red Hat
- Ubuntu er basert på Debian
- Linux Mint er basert på Ubuntu
For noen som kommer fra et Mac-miljø forstår jeg hvordan "OS X er basert på Darwin", men når jeg ser på Linux Distros, finner jeg meg selv å spørre: "Er de ikke alle basert på Linux ...?"
I denne sammenheng, hva betyr det egentlig for ett Linux OS å være basert på et annet Linux-operativsystem?
Så, hva betyr det egentlig når vi snakker om en versjon av Linux som er basert på en annen versjon?
Svaret
SuperUser bidragsyter kostix gir en solid oversikt over hele systemet:
Linux er en kernel - et (komplekst) stykke programvare som fungerer med maskinvaren og eksporterer et visst programmeringsgrensesnitt (API), og binære konvensjoner om hvordan man nettopp kan bruke det (Application Binary Interface, ABI) tilgjengelig for "brukerrom" -applikasjoner.
Debian, RedHat og andre er operativsystemer - Komplett programvare miljøer som består av kjernen og et sett med brukerrom programmer som gjør datamaskinen nyttig som de utfører fornuftige oppgaver (sende / motta post, slik at du kan surfe på Internett, kjører en robot osv.).
Nå hvert slikt OS, mens gi for det meste den samme programvaren (det er ikke så mange gratis e-postserverprogrammer eller nettlesere eller skrivebordsmiljøer, for eksempel) avviker i tilnærminger for å gjøre dette og også i sine oppgitte mål og utgivelser.
Vanligvis kalles disse operativsystemene "distribusjoner". Dette er, IMO, en noe feil periode som skyldes at du teknisk sett er i stand til å bygge all nødvendig programvare for hånd og installere den på en målmaskin, så disse operativsystemene distribuere den pakkede programvaren, slik at du enten ikke trenger å bygge den (Debian, RedHat) eller de letter slike bygninger (Gentoo). De gir også vanligvis et installasjonsprogram som hjelper til med å installere operativsystemet på en målmaskin.
Å lage og støtte et operativsystem er a veldig komplisert oppgave som krever en komplisert og intrikat infrastruktur (opplastingskøer, build-servere, en feilsporing og arkivservere, mailinglisteprogramvare etc etc etc) og ansatte. Dette gir åpenbart en høy barriere for å skape et nytt, fra-skrap OS. For eksempel gir Debian ca. 37k pakker for fem maskinvarearkitekturer - se hvor mye arbeid er satt inn for å støtte dette.
Likevel, hvis noen tror de trenge å lage et nytt operativsystem uansett grunn, kan det være lurt å bruke en eksisterende grunnlag for å bygge på. Og dette er akkurat der OSes basert på andre operativsystemer kommer inn i eksistens. For eksempel bygger Ubuntu på Debian ved bare å importere de fleste pakker fra den og ompakke bare en liten delmengde av dem, pluss å pakke sine egne, gi egne bilder, standardinnstillinger, dokumentasjon osv..
Vær oppmerksom på at det er variasjoner i denne "basert på" tingen. Debian fremmer for eksempel etableringen av "rene blandinger" av seg selv: distribusjoner som bruker Debian ganske direkte, og bare legger til en haug med pakker og andre ting som bare er nyttige for ganske små grupper av brukere som de som arbeider i utdanning eller medisin eller musikk industri osv.
En annen vri er det ikke alle Disse operativsystemene er basert på Linux. For eksempel tilbyr Debian også FreeBSD- og Hurd-kjerner. De har ganske små brukergrupper, men likevel.
Har du noe å legge til forklaringen? Lyde av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.