In che modo un solo sistema operativo Linux è basato su un altro sistema operativo Linux?
Quando si esaminano diversi tipi di Linux, si incontrano frequentemente frasi come "Ubuntu è basata su Debian", ma cosa significa esattamente ciò??
La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte basato sulla comunità.
La domanda
Lettore SuperUser PLPiper sta cercando di capire come funzionano le varianti di Linux:
Di recente ho passato in rassegna un buon numero di distribuzioni Linux per avere un'idea di cosa c'è in giro, e una frase che continua a venire è che "[questo sistema operativo] è basato su [un altro sistema operativo]". Per esempio:
- Fedora è basata su Red Hat
- Ubuntu è basato su Debian
- Linux Mint è basato su Ubuntu
Per chi proviene da un ambiente Mac, capisco come "OS X è basato su Darwin", tuttavia quando guardo a Linux Distros, mi ritrovo a chiedere "Non sono tutti basati su Linux ...?"
In questo contesto, cosa significa esattamente per un sistema operativo Linux basato su un altro SO Linux?
Quindi, cosa significa esattamente quando parliamo di una versione di Linux basata su un'altra versione?
La risposta
Il collaboratore di SuperUser kostix offre una solida panoramica dell'intero sistema:
Linux è un nocciolo - un software (complesso) che funziona con l'hardware ed esporta una determinata API (Application Programming Interface) e convenzioni binarie su come utilizzarlo con precisione (Application Binary Interface, ABI) disponibile per le applicazioni "user-space".
Debian, RedHat e altri sono sistemi operativi - ambienti software completi che consistono nel kernel e in una serie di programmi user-space che rendono il computer utile quando svolgono compiti sensibili (invio / ricezione della posta, consentendo di navigare in Internet, guidare un robot, ecc.).
Ora ognuno di questi sistemi operativi, mentre fornitura per lo più lo stesso software (non ci sono così tanti programmi server di posta elettronica o browser Internet o ambienti desktop, per esempio) differiscono in approcci per fare questo e anche nei loro obiettivi dichiarati e cicli di rilascio.
Abbastanza tipicamente questi sistemi operativi sono chiamati "distribuzioni". Questo è, IMO, un termine un po 'errato derivante dal fatto che sei tecnicamente in grado di costruire tutto il software richiesto a mano e installarlo su una macchina target, quindi questi SO distribuire il software pacchettizzato in modo che non sia necessario crearlo (Debian, RedHat) o facilitano tale sviluppo (Gentoo). Di solito forniscono anche un programma di installazione che aiuta a installare il sistema operativo su un computer di destinazione.
Fare e supportare un sistema operativo è un molto attività complicate che richiedono un'infrastruttura complessa e complessa (code di caricamento, server di compilazione, un bug tracker e server archivio, software di mailing list ecc. ecc.) e personale. Ovviamente ciò crea un'alta barriera per la creazione di un nuovo sistema operativo da zero. Ad esempio, Debian fornisce ca. Pacchetti 37k per alcune cinque architetture hardware - vai a capire quanto lavoro è stato fatto per supportare questa roba.
Eppure, se qualcuno li pensa bisogno per creare un nuovo sistema operativo per qualsiasi motivo, potrebbe essere una buona idea usare un esistente fondazione su cui costruire. E questo è esattamente dove i sistemi operativi basato su altri sistemi operativi esistono. Ad esempio, Ubuntu si basa su Debian semplicemente importando la maggior parte dei pacchetti da esso e riconfezionando solo un piccolo sottoinsieme di essi, oltre a creare i propri pacchetti, fornendo le proprie illustrazioni, le impostazioni predefinite, la documentazione ecc..
Nota che ci sono variazioni a questa cosa "basata su". Ad esempio, Debian promuove la creazione di "pure miscele" di sé: distribuzioni che usano Debian piuttosto direttamente, e aggiungono solo un mucchio di pacchetti e altre cose utili solo a gruppi piuttosto piccoli di utenti come quelli che lavorano nell'educazione, nella medicina o nella musica industria ecc.
Un'altra svolta è che no tutti questi sistemi operativi sono basati su Linux. Ad esempio, Debian fornisce anche i kernel di FreeBSD e Hurd. Hanno gruppi di utenti abbastanza piccoli, ma comunque.
Hai qualcosa da aggiungere alla spiegazione? Sound off nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.