Chiunque si trovi a dover scegliere una distribuzione Linux per il proprio server privato, virtuale o dedicato che sia, ha praticamente un numero illimitato di opzioni. Ciò è dovuto alla natura open source del sistema operativo del pinguino, che consente a chiunque abbia le opportune skill di creare la propria distribuzione "ad-hoc" per le esigenze più svariate.
Va detto, però, che ci sono pochi standard "de facto", oggi, nell'ambito dei server Linux. Dando uno sguardo alle opzioni gratuite, e quindi accessibili praticamente a tutti, le due distribuzioni dominanti sono CentOS ed Ubuntu Server. In questo articolo vedremo, sommariamente, quali sono le caratteristiche principali che differenziano queste due distribuzioni, ed in quali casi è meglio sceglierne una piuttosto che un'altra. Va chiarito sin da subito, comunque, che entrambe sono valide soluzioni, largamente utilizzate proprio perchè ottime.
Ubuntu VS CentOS: le principali differenze
Ubuntu, come è noto, è forse la principale derivata di Debian, mentre CentOS è un clone (gratuito, e nato per essere tale) di Red Hat Enterprise Linux. Dal momento che le due distribuzioni hanno origini diverse, è lecito aspettarsi alcune differenze, che ci consentono di scegliere quale delle due distribuzioni utilizzare, in base alle nostre esigenze.
Il sistema di gestione dei pacchetti
La prima differenza che analizzeremo è forse la più evidente dal punto di vista dell'utente: il sistema di gestione dei pacchetti.
Ubuntu utilizza il formato .deb (che sta per Debian, appunto) per i pacchetti software su cui è basato. Di conseguenza, i tool che sono utilizzati nel contesto di questo sistema operativo sono per lo più basati su apt-get e simili.
CentOS, invece, adotta il formato .rpm (acronimo di Red Hat Package Manager), con la conseguenza di doversi affidare ad altri tool. In genere, i due comandi principali per la gestione dei pacchetti sono infatti rpm e yum.
La conseguenza di ciò è che gli utenti che provengono da sistemi Debian-based preferiranno adottare Ubuntu, mentre chi ha più esperienza con Red Hat e derivate opterà per CentOS. In generale, però, entrambi i sistemi di gestione dei pacchetti permettono di svolgere le stesse funzioni; per questo motivo questa differenza non è molto discriminante dal punto di vista delle funzionalità offerte dai due sistemi.
La diversa sintassi dei comandi apt
, yum
, dpkg
ed rpm
(fonte: blog.mypapit.net)
(click per ingrandire)
Filosofia e cicli di rilascio
Altra caratteristica che questi sistemi ereditano dai relativi predecessori è la filosofia, in termini di tempi di rilascio e tendenza all'innovazione. La filosofia di Red Hat Enterprise Linux (ereditata anche da CentOS) è, da sempre, tendenzialmente conservatrice, preferendo la stabilità e la sicurezza all'innovazione (che porta sempre con sè qualche rischio). Ciò implica una maggiore durata dei cicli di rilascio, che si traduce in versioni supportate per un tempo maggiore. CentOS 6, ad esempio, era stata rilasciata nel 2010 e sarà supportata fino a Novembre 2020.
Ubuntu, invece, è molto più orientata all'innovazione, introducendo novità rilevanti in ogni nuova versione del sistema, e con cicli di rilascio più brevi. La massima durata del supporto, inoltre, è quella delle versioni LTS, supportate per 5 anni dalla data di rilascio.
Altre differenze
Oltre a quelle descritte, altre differenze (di minore rilievo) tra CentOS ed Ubuntu Server riguardano la sicurezza. Per esempio, Ubuntu utilizza AppArmor, mentre CentOS si affida a SELinux, quali moduli di sicurezza del kernel Linux. Ubuntu utilizza sudo
di default, e disabilita l'account root, mentre CentOS è più "tradizionalista", non applicando questo tipo di politica. Da questo punto di vista, comunque, la scelta diventa molto personale, ed ognuno può preferire un sistema all'altro in base alle esigenze, senza perdere troppo in termini di funzionalità.
Va detto, infine, che CentOS è in genere maggiormente compatibile con i software di gestione utilizzati nell'industria del web hosting (come ad esempio InterWorx e cPanel). Non a caso, CentOS è la distribuzione server più utilizzata in questo contesto, e probabilmente è la più indicata per questo tipo di applicazioni. Nulla vieta, tuttavia, di utilizzare Ubuntu Server, che può comunque essere un'ottima alternativa, e rimane una valida opzione per ogni altro tipo di applicazione pratica.