Non so se questa domanda letta su ziobudda sia retorica o veramente la persona che l’ha formulata non abbia in fondo una propria idea, comunque sia, diciamo che è una domanda in apparenza semplice ma effettivamente molto complessa e stimolante . Cercherò di dare una risposta sottintendendo che veramente il lettore di ziobudda non abbia la minima idea dell’argomento(mi sembra una cosa strana) .
Già nella tua domanda ci sono delle imprecisioni, quando parliamo di Linux ci riferiamo al kernel, quando parliamo di distro ci riferiamo a sistemi operativi costruiti attorno al kernel linux.

il kernel è il nocciolo del sistema in parole molto semplici è il ponte tra i programmi e l’hardware, in pratica il kernel serve a dare accesso e controllo ai programmi . Non starò a spiegare i vari tipi di kernel visto che nella fattispecie non ci interessano, dirò solamente le caratteristiche del kernel linux cercando di sfatare alcune leggende. Il kernel linux è ritenuto erroneamente da molti un “semplice e antiquato” kernel monolitico, un kernel monolitico è un unico programma che con uno spazio apposito(kernel space) che gestisce tutto il sistema,ma il kernel linux non è un kernel monolitico bensì un kernel monolitico modulare. Il punto di forza dei kernel monolitici risiede nell’alta uniformità del sistema che essendo racchiuso e costruito su una struttura portante unica e quindi avendo tutti i processi strettamente interdipendenti può raggiunge un’ efficienza elevata, d’altra parte la struttura monolitica implica oltre all’elevata difficoltà di costruzione una chiusura del sistema all’aggiunta di hardware supplementare. Nel kernel linux monolitico alcuni moduli possono essere inseriti dall’utente, ecco perchè la definizione di monolitico modulare. In definitiva il kernel linux oltre a possedere le doti dei kernel monolitici allo stesso tempo ne raggira anche i difetti.
Torniamo alle distribuzioni, vorrei precisare che non cercherò di convincerti su quale sia la migliore o la più efficiente distribuzione, visto che in merito la mia opinione personale è che non esiste una distribuzione in assoluto migliore di un’altra ,ma esiste sicuramente una distribuzione per ogni esigenza. Vorrei chiarire anche il mio concetto di distribuzione. Esistono delle distribuzioni “madri” che in pratica considero le vere e proprie distribuzioni, ovvero progetti che partendo dal kernel costriscono integralmente un nuovo sistema o almeno danno una propria struttura generale alla distro del tutto diversa dalle altre. Le distribuzioni madri si differenziano per la maggior parte degli elementi fondamentali del sistema operativo , secondo la mia opinione personale gli aspetti da ritenere di maggiore importanza per valutare queste differenze sono:
1) il processo d’installazione.
Anche se apparentemente ,soprattutto per un utente windows, questo aspetto è del tutto marginale per i sistemi GNU/linux rappresenta una parte di non poca importanza. L’installazione è il modo con cui si presenta una distribuzione. Ci sono distro come Archlinux , Gentoo e slackware che sviluppano e costruiscono il proprio sistema partendo proprio dal processo d’installazione, procedura che richiede una viva e concentrata partecipazione dell’utente visto che quest’ultimo sarà chiamato a scegliere ogni aspetto del sistema in base alle proprie e svariate esigenze. Altre distribuzioni come Debian, Red Hat(fedora) o OpenSuse hanno un processo d’installazione molto più semplice ma meno personalizzabile, spesso le uniche richieste riguardano principalmente la scelta delle partizioni e dell’ambiente desktop. In una visione molto generale e generalizzata le differenze sono queste due, logicamente ogni progetto sviluppa il proprio programma e le proprie metodiche d’installazione cosi che due distro “plasmabili” come Gentoo e Slackaware hanno dei processi d’installazione differenti.
2) i programmi e la loro gestione
Questo è il vero punto cruciale non poco complesso che differenzia in profondità tutte le distribuzioni “madri” e le loro derivate. un pacchetto contiene tutte le informazioni necessarie all’esecuzione del programma. i sistemi GNU/linux inizialmente erano accessibili ai soli esperti installare e rimuovere un programma richiedeva una certa conoscenza informatica. Con l’idea di rendere disponibile a tutti l’uso di linux si è dovuta trovare una soluzione al problema dell’installazione del software e alla gestione delle relative dipendenze. Le soluzioni arrivano con la nascita di Debian e Red Hat e dei relativi pacchetti deb e rpm. la creazione dei pacchetti porta naturalmente anche alllo sviluppo di gestori dei pacchetti,in cui sono contenute tutte le informazioni sui programmi e varie opzioni per la gestione delle dipendenze e degli aggiornamenti. Se tutto fosse cosi ,sarebbe molto più semplice di come in realtà stanno le cose. Ogni distribuzione(“madre”) ha il suo parco software e il suo gestore di pacchetti, il formato dei pacchetti quindi non si ferma ai più diffusi deb e rpm. Gentoo gestisce i programmi scaricando il codice sorgente grazie a portage, in questo caso l’utente deve compilare e installare. Slackaware utilizza pacchetti .tgz senza un tools d’installazione grafica che gestisca le dipendenze(anche se ora sono disponibili strumenti che lo consentono).ArchLinux con Pacman scarica direttamente da internet gli appositi pacchetti binari oltre a rendere disponibile un sistema di costruzione dei pacchetti molto semplice e potente che permette ad ogni utente di poter usare per se e far usare ad altri nuovo software. Anche se red hat(fedora) e openSuse usano lo stesso formato di pacchetti difficilmente questi saranno compatibili. C’è da dire che il formato adottato dalla distribuzione non è l’unico metodo con cui si possono installare i programmi, in debian per esempio i programmi si possono compilare da file compressi o convertire attraverso appositi tools da .rpm in deb. è facile comprendere che ogni filosofia di gestione software porta con se dei difetti,difetti che vanno dallo scarso numero di programmi disponibili alle difficoltà di installazione o di gestione degli aggiornamenti e delle dipendenze. Le differenze non si limitano solo a come i programmi sono resi disponibili, ogni distribuzione adotta un metodo di trattamento diverso dei vari pacchetti; parlando sempre di Debian, è difficile che nuovo software quindi potenzialmente instabile sia inserito nel rilascio finale della distribuzione, in slackaware sempre per fare un esempio, la possibilità di scelta dei programmi non è molto ampia perchè l’idea generale è quella di fornire un sistema minimale ma efficiente, in Gentoo può essere compilato sempre nuovo software ma questo crea una potenziale instabilità di fondo.
3) gestione della distribuzione.
bisogna precisare e ricordare sempre che i sistemi GNU/linux sono nati grazie alla filosofia open source che poi è quella da cui è nata e con cui si è evoluta l’informatica. una distribuzione può nascere per la volontà di una comunità, per l’idea di un singolo o per le più o meno benevole intenzioni di qualche società.
Ogni comunità di sviluppo cosi come ogni tipo di organizzazione umana ha le sue regole e i suoi valori comportamentali che logicamente vanno a incidere in profondità nelle scelte generali di lavoro, una distribuzione generalmente rispecchia a pieno la filosofia e la mentalità della comunità del singolo o della società da cui è nata. Non tutte le distribuzioni sono organizzate allo stesso modo, Debian nasce da una comunità libera di sviluppatori con l’intenzione di creare una distribuzione solo open source già da questo si capisce che in Debian non troverai mai software proprietario,altra caratteristica del lavoro Debian e la scrupolosità prussiana e la ferma organizzazione dalle linee guida chiare. Anche Archlinux e Gentoo nascono da delle comunità ma non sono organizzate cosi fermamente come Debian ,mi riferisco soprattutto a Gentoo, queste due distribuzioni hanno in comune l’idea di dare all’utente la possibilità di plasmare il proprio sistema in base alle proprie esigenze. Differente è il discorso per Slackware, la distro più longeva di tutte nata e gestita essenzialmente dalla mente di Patrick Volkerding , Slackaware nasce come sistema unix-like, molto essenziale complessivamente difficile (non tanto come si dice ) , ma stabile e veramente utile per chi vuole comprendere il funzionamento dei sistemi GNU/linux. Infine ci sono le distribuzioni gestite da società .Una delle società GNU/Linux più conosciute nel mondo è Red Hat. Fondata nel 1995 da Bob Young e Marc Ewing, nel 2003 Red Hat ha deciso di focalizzarsi sul business e ha smesso di rilasciare la sua distribuzione gratuitamente. La compagnia ha scelto invece di sponsorizzare un progetto chiamato Fedora. lo stesso vale per suse nata in Germania ma poi acquistata dalla novell che decidendo di puntare sul business ha rilasciato openSuse versione libera di suse.
conclusioni
Avrai certamente capito che secondo la mia opinione le distribuzioni principali sono Debian, Red Hat(fedora), Gentoo,Slackware,Archlinux e openSuse effettivamente ci può stare anche knoppix. Ho scelto queste distribuzioni perchè personalmente penso che siano le sole ad avere un’impronta del tutto particolare oltre che una più o meno solida affermazione nel campo delle distribuzioni GNU/linux. Certamente esisteranno progetti originali cosi come sono esistiti in passato. Dalle distro che ti ho elencato derivano la maggior parte di tutte le altre distribuzioni che possono essere più o meno differenti dal progetto base. Spesso troverai versioni Debian appena modificate altre volte, come nel caso Ubuntu progetti con intenzioni serie che si differenziano per svariati aspetti dalla rispettiva derivata . Le differenze non si fermano a i soli tre aspetti da me enunciati ce ne sono tanti altri ma è anche logico che in poche pagine non si possa trattare sotto ogni aspetto e scrupolosamente un argomento cosi complesso e delicato. Spero di averti aiutato e spero che con le dovute letture potrai raggiungere una semplice idea generale al riguardo!
3 Commenti
Commenti RSS TrackBack Identifier URI
Lascia un commento

Bell’articolo
Solo una cosa:
“… già da questo si capisce che in Debian non troverai mai software proprietario…”
Non sarebbe più corretto dire “nel sistema base”? IMHO, detta così sembrerebbe che debian impedisca di installare software come opera o i driver fglrx…
@ notoriousxi
Hai ragione, è molto più corretta la tua espressione; nel post ci sono certamente altre definizini ambigue , ma in un post del genere che si rivolge idealmente a uno che non sa un cacchio del mondo GNU/linux, argomentare con superficialità è un dovere.
Ma probabilmente neanche la mia “definizione” è corretta, visto che sono un niubbo con le doppie B maiuscole. :p
), intendevo solo che quel “mai” potesse spaventare chi non avesse mai visto Debian.
Condivido perfettamente la tua scelta della superficialità (visto che è tornata utile anche a me