Debian, Fedora, CentOS o Ubuntu? Le principali differenze tra queste distro Linux

Linux, ormai, è uscito da tempo dalla dimensione di nicchia che lo caratterizzava, e potremmo scrivere senza timore di sbagliare che lo conoscono tutti: come alternativa ai sistemi operativi classici, come autentico mondo da esplorare e ricomporre a piacere. Se la differenza tra sistemi Linux e Windows è in qualche modo chiara, infatti (per quanto in molti casi sia banalizzata o riferita in modo troppo semplicistico), meno scontata è sicuramente la differenza tra le varie distribuzioni Linux.

Che cosa cambia tra le diverse distribuzioni Linux? Bisogna considerare che non esiste una risposta breve a questa domanda, e bisogna considerare in primis che ogni distro è generalmente stata sviluppata in contesti differenti, per cui le principali diversità riflettono il modo in cui è stato architettato e programmato il tutto. Quasi tutte le distribuzioni sono architettate a kernel monolitico che, nel caso di Ubuntu, è anche modulare: questo tipo di organizzazione è ormai uno standard del settore, dopo essere stata oggetto di raffronto e discussione con i cosiddetti microkernel. Queste quattro distribuzioni – ovvero Debian, Fedora, CentOS e Ubuntu – si basano inoltre su software con licenza GNU GPL 3.0, ideata da Richard Stallman e fondata, tra le altre cose sul concetto di copyleft.

Proviamo adesso ad entrare più nel dettaglio, per provare a capire meglio le differenze in questione.

Tipo di licenze delle “distro”

A differenza di quelli che sono i sistemi operativi Windows e MacOS, le distribuzioni Linux sono un mondo complesso e variegato: esse, infatti, non riflettono soltanto i cambi di versione e di adeguamento all’hardware sottostante, ma sono altresì espressione di un certo “modo di vedere” il mondo del software. Di fatto, parlando di distribuzioni o “distro” Debian, RedHat, CentOS o Ubuntu sempre di Linux si tratta, e quello che cambia è legato in prima istanza al modo di concepire l’open source stesso.

Open source infatti non è semplicemente “codice aperto” e disponibile per tutti: ci sono vari modi per pubblicarlo, e corrispondono ad altrettanti tipi di licenze d’uso. Un esempio classico, e di cui facciamo uso senza saperlo in alcuni ambiti, è il software open source specificatamente libero per uso commerciale con licenza MIT, oppure con quella Free Software Foundation. Questa ultima, per inciso, ha introdotto un tipo di open source meno restrittivo a livello contrattuale rispetto al codice a sorgente aperto classico.

Questo mondo, nella sua accezione più generale, fa anche riferimento al fatto che il codice sorgente di una certa app, di un servizio web o di un sito sia pubblicamente disponibile per gli sviluppatori, e questo può avvenire nello specifico sia gratis che a pagamento. Sono numerose le librerie per realizzare grafici su pagina web che sono liberi per l’utilizzo gratuito e che si pagano, pur essendo open source, per uso commerciale. Lo stereotipo diffuso per la maggiore, del resto, stabilisce che Linux sia un mondo interamente aperto al pubblico, in cui per una strana associazione di idee tutto sia gratuito, ma alla prova dei fatti non è proprio così. Lo provano le centinaia di startup ed aziende che basano su Linux e sul sorgente aperto il proprio modello di business.

Software a disposizione

Sebbene le applicazioni disponibili in ambiente Linux siano pressappoco sempre le stesse su ogni sistema, cambia qualcosa a seconda della distro che abbiamo installato. Considerando il fatto che è possibile (per non dire consigliabile) fare uso di ambienti Linux per la messa a punto di tecnologie quali i cloud server (con l’offerta Seeweb linkata è possibile, per inciso, scegliere tra varie versioni di Debian, CentOS, Red Hat e Ubuntu), è chiaro che bisognerà tenere conto di questo aspetto a seconda delle nostre effettive necessità. Certo, i pacchetti dei vari repository si possono sempre aggiungere, ma non sempre è garantita la compatibilità al 100% a seconda della distribuzione in gioco.

Come vedremo nel prossimo punto, la distinzione di disponibilità tra i vari pacchetti software, a livello tecnico, si riflette nell’uso dei comandi da terminale necessari per installarli: dpkg e apt per sistemi Debian e Ubuntu, RPM e yum per CentOS e RedHat.

Tipi di pacchetti disponibili

I pacchetti disponibili sotto ambiente Linux sono, di fatto, le app e le librerie che sono sfruttabili all’interno dei sistemi operativi: vediamo a questo punto qualche esempio concreto giusto per renderci conto meglio della situazione.

Su Debian, per citare una distribuzione Linux molto diffusa, non sono disponibili pacchetti che non seguano una determinata filosofia open source, e non è consentito per policy fare uso di pacchetti SCILAB, Apple Public Source, Nvidia o LaTeXToHTML (vedi nel sito ufficiale per maggiori dettagli). Su Ubuntu, al contrario, la licenza è molto più flessibile e permissiva, e permette all’utente di poter installare ed usare sia software open source che pacchetti chiusi al pubblico lato codice. Sembra una cosa di poco conto ma, di fatto, su questo tipo di distribuzione è consentito ad esempio installare un client Steam oppure, a livello ancora più pratico, i driver delle schede grafiche AMD o Nvidia, che non seguono in moltissimi casi la filosofia open.

Ovviamente poi – per via di come è stato concepito ogni sistema operativo (onorando il principio secondo cui ogni utente possa e debba fare del proprio PC ciò che desidera senza blocchi e limitazioni), queste non sono regole tassative, e anzi sono parecchio comuni i casi in cui gli hacker ed i programmatori più esperti spingono il sistema “oltre” i propri limiti formali. Su Debian il gestore pacchetti è costituito da file .deb, su Fedora possiamo usare DNF, RPM, YUM, su Ubuntu c’è il gestore Snappy ed il supporto sia a file di installazione .dpkg e anche .deb.

Desktop environment

Un ulteriore aspetto tutt’altro che di poco conto riguarda l’uso di vari desktop environment per ogni distribuzione: parliamo ovviamente dell’interfaccia grafica con cui ogni utente ha la possibilità di interagire. Plasma KDE e GNOME Shell sono certamente tra gli esempi più diffusi, essendo ottimizzati per la maggioranza dell’hardware in circolazione, mentre XFCE rientra nelle preferenze di chi desideri un sistema snello e funzionale ad uno graficamente troppo elaborato. Ogni ambiente desktop si può installare su quasi qualsiasi distribuzione, sfruttando la linea di comando (con cui, generalmente, in Linux si riesce a fare di tutto o quasi), per cui XFCE è tipico di Debian e Ubuntu, mentre ulteriori possibili scelte possono riguardare Gnome, KDE, XFCE, LXDE, Mate e Cinnamon.

Foto di OpenClipart-Vectors da Pixabay

Salvatore Capolupo

Ingegnere e consulente informatico, vivo e lavoro a Roma.

Potrebbero interessarti anche...

Seguici sul canale Telegram ufficiale @leultime

Leultime.info è un progetto web Capolooper