Ubuntu 16.04 LTS vs CentOS7
In questo articolo, faremo una panoramica generale sulle 2 distribuzioni Linux più diffuse per la gestione di un server, virtuale o dedicato che sia.
Sto parlando di una distribuzione Debian based: Ubuntu 16.04 LTS e di una distribuzione Red Hat based: CentOS7 (acronimo di Community enterprise Operating System).
Entrambe le distribuzioni sono gratuite, quindi possiamo utilizzarle anche noi.
- Red Hat Enterprise Linux (release corrente: 3 novembre 2016) è una distribuzione Linux enterprise a pagamento con supporto tecnico fornito da RedHat stessa, mentre CentOS7 (release corrente: 12 dicembre 2016) è molto simile a Red Hat ma il supporto lo dovremo cercare noi stessi tra i moltissimi forum sostenuti dalla community di CentOS7.
Possiamo scaricare CentOS7 dal seguente link:
https://www.centos.org
cliccando su “Get CentOS now”, quindi scegliendo tra la versione DVD, CD e minimal (quella indicata per i server, senza interfaccia grafica), quindi scegliamo un mirror e avviamo il download. - Debian (release corrente: 17 giugno 2017), a differenza di RedHat/EL, è gratuita.
Per questo motivo sono molte le distribuzioni derivate da Debian, un esempio è Raspbian per il raspberry, già vista in questo articolo:
https://www.recensionedigitale.it/raspberry-pi-3/
Altre sono:
Ognuna di queste soddisfa dei particolari requisiti per ogni categoria specifica di utente e funzionalità.
Tra queste distribuzioni Debian based troviamo anche Ubuntu server, che è arrivata alla versione 17.04, ma non è ancora in versione LTS (Long Time Support), per cui facciamo un passo indietro alla 16.04 LTS.
Scarichiamo Ubuntu server dal seguente link:
https://www.ubuntu-it.org/download
Le principali differenze
- La prima differenza più rilevante è la diversa tempistica di aggiornamento. CentOS e RedHat preferiscono mantenere la sicurezza e la stabilità per ogni propria release, con cicli di rilascio molto lunghi e versioni supportate per circa 10 anni ciascuna:
infatti CentOS6 è stata rilasciata nel 2010 e verrà supportata fino al 2020, mentre CentOS7 è stata rilasciata nel 2014 e la EOL (End Of Life) sarà nel 2024.
https://wiki.centos.org/About/Product#fndef-a91b3c0c287c782f9af063daff9e64b566d648c7-1
Cicli lunghi, sicurezza e stabilità sono le parole chiave della filosofia adottata da CentOS per le proprie releases.
Ubuntu e Debian, invece, mettono in primo piano l’innovazione, introducendo tante novità ad ogni propria release, quindi i cicli di rilascio sono più brevi; le versioni LTS sono supportate per 5 anni dalla data di rilascio. - La seconda differenza è la gestione dei pacchetti. CentOS7 utilizza il formato .rpm (acronimo di Red Hat Package Manager), quindi i due comandi principali per la gestione dei pacchetti sono rpm e yum.
Ubuntu server 16.04 LTS usa il formato .deb (acronimo di Debian), quindi il comando principale è apt-get.Come è facile intuire e solo per una questione di comodità, gli utenti che hanno più esperienza con Red Hat opteranno per CentOS7, mentre quelli che arrivano da distribuzioni Debian-based sceglieranno Ubuntu server.
Eccovi di seguito la diversa sintassi dei vari gestori di pacchetti.
Aggiungo alla lista i comandi apt e yum per l’aggiornamento.
Per aggiornare l’indice dei pacchetti, ed effettuare un semplice controllo dei pacchetti, su Ubuntu server dovremo digitare “apt-get update”, mentre su Centos dovremo digitare “yum check-update”.
Per aggiornare l’indice dei pacchetti, ed effettuare il download vero e proprio dei pacchetti e repositories, su Ubuntu server dovremo digitare “apt-get upgrade”, mentre su Centos dovremo digitare “yum update”.
Questo potrebbe creare confusione a chi proviene da sistemi Debian-based, ma tutto si risolve con l’abitudine!
Altre differenze
Altre differenze tra CentOS ed Ubuntu server riguardano la sicurezza.
I due moduli di sicurezza del kernel Linux sono AppArmor, utilizzato da Ubuntu server, e SELinux, utilizzato da CentOS.
In CentOS potremo creare l’utente root e assegnargli una password già in fase di installazione del sistema operativo, quindi non dovremo fare altro che loggarci con questo utente e usare sudo soltanto quando dovremo fare importanti operazione coma l’eliminazione istantanea di una cartella, altrimenti ci verrà chiesto se eliminare o meno un determinato file (è una sicurezza in più).
In Ubuntu, invece, viene creato un utente “normale” e in seguito dovremo porre “sudo” prima di ogni comando, oppure digitare “su root” per abilitare i privilegi di root, diventando di fatto l’utente root stesso.
Possiamo poi scegliere di utilizzare “iptables” (attivato di default su Ubuntu) o “firewalld” (attivato di default su Centos) per impostare le nostre regole di firewall consentendo o negando il traffico di rete su determinate porte.
Nulla vieta però di poter installare iptables o firewalld e usare quello che vogliamo sulla nostra distribuzione scelta.