Linux è un kernel - un (complesso) software che funziona con l'hardware ed esporta una certa Application Programming Interface (API) e convenzioni binarie su come usarlo con precisione (Application Binary Interface, ABI) disponibile per "user- spazio "applicazioni.
Debian , RedHat e altri sono sistemi operativi : ambienti software completi costituiti dal kernel e da una serie di programmi per lo spazio utente che rendono il computer utile mentre svolgono compiti sensibili (invio / ricezione di posta, che consente di navigare in Internet, guidare un robot ecc.).
Ora, ciascuno di questi sistemi operativi, pur fornendo per lo più lo stesso software (non ci sono così tanti programmi server di posta gratuiti o browser Internet o ambienti desktop, ad esempio) differiscono negli approcci per farlo e anche negli obiettivi dichiarati e nei cicli di rilascio.
In genere, questi sistemi operativi sono chiamati "distribuzioni". Questo è, IMO, un termine un po 'sbagliato derivante dal fatto che sei tecnicamente in grado di costruire manualmente tutto il software richiesto e installarlo su una macchina di destinazione, quindi questi sistemi operativi distribuiscono il software in pacchetto in modo che tu non abbia bisogno di costruire esso (Debian, RedHat) o facilitano tale costruzione (Gentoo). Di solito forniscono anche un programma di installazione che aiuta a installare il sistema operativo su un computer di destinazione.
Realizzare e supportare un sistema operativo è un compito molto complicato che richiede un'infrastruttura complessa e complessa (code di upload, server di compilazione, un localizzatore di bug e server di archivio, software di mailing list ecc. Ecc. Ecc.) E personale. Ciò ovviamente solleva un alto limite per la creazione di un nuovo sistema operativo da zero. Ad esempio, Debian fornisce ca. Pacchetti 37k per circa cinque architetture hardware: scopri quanto lavoro è stato impiegato per supportare questa roba.
Tuttavia, se qualcuno pensa di dover creare un nuovo sistema operativo per qualsiasi motivo, potrebbe essere una buona idea utilizzare una base esistente su cui basarsi. Ed è esattamente qui che nascono i sistemi operativi basati su altri sistemi operativi. 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 impacchettarne i propri, fornendo la propria grafica, 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 per gruppi piuttosto piccoli di utenti come quelli che lavorano nell'istruzione o in medicina o musica industria ecc.
Un'altra svolta è che non tutti questi sistemi operativi sono basati su Linux. Ad esempio, Debian fornisce anche kernel FreeBSD e Hurd. Hanno gruppi di utenti piuttosto piccoli ma comunque.