Kuidas täpselt on üks Linux OS “Põhineb” Teine Linux OS?
Linuxi erinevate maitsete ülevaatamisel kohtute sageli selliste fraasidega nagu “Ubuntu põhineb Debianil”, aga mida see täpselt tähendab?
Tänane küsimuste ja vastuste seanss saabub meiega kohtades, kus on SuperUser-Stack Exchange'i alajaotis, kogukondlikult juhitav Q&A veebisaitide rühmitus.
Küsimus
SuperUser lugeja PLPiper üritab saada käepide selle kohta, kuidas Linuxi variandid töötavad:
Ma olen hiljuti läbi vaadanud üsna palju Linuxi distros, et saada ülevaade sellest, mis on, ja üks fraas, mis jätkub, on see, et „[see OS] põhineb [teisel operatsioonisüsteemil]”. Näiteks:
- Fedora põhineb Red Hatil
- Ubuntu põhineb Debianil
- Linux Mint põhineb Ubuntul
Kui keegi saabub Maci keskkonda, siis saan aru, kuidas „OS X põhineb Darwinnel”, aga kui ma vaatan Linuxi Distrosse, siis leian end küsides „Kas nad kõik ei põhine Linuxil…?”
Selles kontekstis, mida täpselt tähendab see ühe Linuxi operatsioonisüsteemi jaoks põhineb teise Linuxi operatsioonisüsteemi?
Niisiis, mida see täpselt tähendab, kui räägime ühest Linuxi versioonist, mis põhineb teisel versioonil?
Vastus
SuperUser'i toetaja kostix pakub terviklikku ülevaadet kogu süsteemist:
Linux on a tuuma - (kompleksne) tarkvara, mis töötab riistvaraga ja ekspordib teatud rakenduse programmeerimisliidese (API) ja binaarseid konventsioone selle kohta, kuidas seda täpselt kasutada (rakenduste binaarliides, ABI), mis on saadaval „kasutaja-ruumi” rakendustele.
Debian, RedHat ja teised on operatsioonisüsteemid - täielikud tarkvarakeskkonnad, mis koosnevad tuumast ja kasutajateruumide programmidest, mis muudavad arvuti kasulikuks, kui nad täidavad mõistlikke ülesandeid (posti saatmine / vastuvõtmine, võimaldab sirvida internetti, sõita robotiga jne).
Nüüd on iga selline OS pakkudes enamasti sama tarkvara (näiteks ei ole nii palju tasuta postiserveri programme või Interneti-brausereid või töölauakeskkondi), mis erinevad sellest, kuidas seda teha, samuti oma seatud eesmärkides ja vabastustsüklites.
Tavaliselt nimetatakse neid operatsioonisüsteeme "levitamiseks". See on IMO, mõnevõrra vale mõiste, mis tuleneb asjaolust, et teil on tehniliselt võimalik ehitada kogu vajalik tarkvara käsitsi ja installida see sihtmasinale, nii et need operatsioonisüsteemid levitada pakendatud tarkvara, nii et te ei pea seda ehitama (Debian, RedHat) või hõlbustavad sellist ehitamist (Gentoo). Samuti pakuvad nad tavaliselt paigaldajat, mis aitab operatsioonisüsteemi paigaldada sihtmasinale.
OS-i loomine ja toetamine on a väga keeruline ülesanne, mis nõuab keerulist ja keerulist infrastruktuuri (üleslaadimisjärjekorrad, serverite ehitamine, vigade jälgija ja arhiiviserverid, meililistide tarkvara jne) ja personal. See tekitab ilmselgelt uue tõkke uue, nullist OS-i loomiseks. Näiteks pakub Debian ca. 37k paketti viie riistvara arhitektuuri jaoks - vaata, kui palju tööd selle materjali toetamiseks tehakse.
Siiski, kui keegi arvab neid vajadus uue operatsioonisüsteemi loomiseks mingil põhjusel võib olla hea kasutada olemasolev alus. Ja just see on koht, kus operatsioonisüsteemid on põhineb teistes operatsioonisüsteemides. Näiteks ehitab Ubuntu Debiani peale, importides sellest kõige enam pakette ja pakkides ümber ainult väikese osa alamhulka ning pakkides omaenda, pakkudes oma kunsti, vaikesätteid, dokumentatsiooni jne..
Pange tähele, et selles „asjas“ asjas on erinevusi. Näiteks soodustab Debian iseenesest „puhtate segude” loomist: jaotusi, mis kasutavad Debiani pigem otse, ja lihtsalt lisavad hulga pakette ja muid asju, mis on kasulikud vaid üsna väikestele kasutajarühmadele, näiteks haridus- või meditsiinitöötajatele või muusikale tööstus jne.
Teine väände on see, et mitte kõik need operatsioonisüsteemid põhinevad Linuxil. Näiteks pakub Debian ka FreeBSD ja Hurdi tuuma. Neil on üsna väikesed kasutajagrupid, kuid ikkagi.
Kas teil on midagi lisada selgitusele? Hääletage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Vaadake siin täielikku arutelu lõiku.