Meglio Debian o Ubuntu su Server?
Preambolo
Da quando è uscita Ubuntu, ormai più di dieci anni fa, il panorama delle distribuzioni GNU/Linux è cambiato. Ubuntu ha cercato di creare un sistema completo, semplice da installare e usare. Canonical ha stabilito una politica di aggiornamenti chiara e precisa, distinguendo tra rilasci normali e LTS, e un calendario di supporto stabiito prima ancora dell'uscita della versione stessa.
Ho più volte parlato di Ubuntu, e già otto anni fa ne davo un giudizio abbastanza positivo. In questi otto anni, la posizione della distribuzione basata su Debian più famosa al mondo (ahimè, più di Debian stessa) si è consolidata e ha raggiunto una sua importante fetta di mercato. In un mio lamento dello scorso anno ho criticato il passaggio a Unity e nel complesso la strada che le distribuzioni stanno prendendo, sempre meno fedeli al proprio progetto iniziale e sempre più ricche di effetti speciali (market di applicazioni, di contenuti, ecc. Ma non bastavano i cari, vecchi repository?)
Una delle critiche maggiori che ho sempre mosso a Debian è la mancanza di prevedibilità sul supporto a lungo termine. Debian esce "quando è pronta" e da quel momento inizia il conto alla rovescia sugli aggiornamenti di sicurezza della release precedente. Sempre tempi abbondantemente lunghi, ma ci sono server su cui non si può dover aggiornare ogni due anni. Gestisco dei server contenenti siti di e-commerce, ed essi sono stati ottimizzati a puntino sulle specifiche versioni delle piattaforme installate, ad esempio sulla versione di PHP. In questi casi, un aggiornamento potrebbe richiedere un importante lavoro di rifacimento, di risistemazione e di sviluppo moduli e il cliente non è sempre rapido o ben disposto sull'effettuazione delle modifiche. "Ma non possiamo lasciare tutto alla versione attuale? Sembra funzionare bene! Se non facciamo modifiche, perché dovrebbe smettere di andare?", chiedono. E quando rispondo che "No, non si può fare, ci bucherebbero il server in men che non si dica", mi guardano come se stessi cercando di fregarli o di mettere fretta.
Debian Stable vs Ubuntu LTS
Dopo alcuni scambi di opinione1 con alcuni clienti proprio in merito a queste problematiche, ho iniziato a pensare che avrei avuto bisogno di una distribuzione più prevedibile. Un supporto di cinque anni, ad esempio, sarebbe stato sufficiente per gestire la situazione al meglio. CentOS ha un supporto addirittura più a lungo termine, ma non ho mai avuto particolare simpatia per le distribuzioni rpm-based. Probabilmente sbaglio, ma ho sempre avuto la sensazione che fossero difficilmente aggiornabili. Hanno un supporto a lungo termine, ma aggiornare diventa più complesso. Sono dunque sempre stato più legato alle distribuzioni deb-based, e ho iniziato a valutare le candidate. La scelta è stata quasi automatica: Ubuntu LTS.
Vantaggi rispetto a Debian (al momento della scelta):
- Aggiornamenti di sicurezza automatici. Non sono mai stato un fan degli aggiornamenti automatici, ma a volte è necessario, specialmente quando si tratta di aggiornamenti di sicurezza. Se si hanno in giro centinaia di server attivi e in produzione, non si riesce ad aggiornarli tutti prima che qualcuno tenti di sfruttare la falla appena pubblicata. Gestibile anche su Debian con gli unattended-upgrades, ma test fatti allora non davano buoni risultati.
- Supporto a lungo termine, dunque un tempo di vita prevedibile e concreto, senza sorprese.
- Moderno, generalmente Kernel e versioni delle applicazioni principali sono più recenti di quelle inserite nella Debian Stable
- Ottimizzato, a parità di installazione, Ubuntu sembrava decisamente più performante, grazie anche alle configurazioni di base diverse specifiche per le poche architetture supportate
- Miglior supporto per lxc
Ho dunque installato e messo in produzione moltissimi Ubuntu 12.04 LTS e, più recentemente 14.04 LTS su server. I risultati sono sempre stati buoni, nessun problema particolare e nessuna sorpresa negativa. A distanza di qualche anno, posso dunque dire che Ubuntu LTS su Server si comporta egregiamente, e lo consiglierei senza particolari esitazioni
MA...
Ad un certo punto, Debian ha annunciato un esperimento di supporto LTS per Squeeze. E ingranato la marcia. Wheezy e Jessie sono moderne, rispetto agli standard medi di release Debian, e decisamente tornate ai vecchi fasti. Supportano alcune delle belle funzioni introdotte da Ubuntu, e allo stesso tempo restano fedeli alla filosofia Debian originale.
Uno dei principali vantaggi di Debian rispetto ad Ubuntu LTS è il fatto che è, appunto, una distribuzione che tende a restare ferma, a meno di aggiornamenti di sicurezza. Un server richiede questo: stabilità e prevedibilità.
Ubuntu LTS, infatti, aggiorna spesso. TROPPO spesso. Ogni paio di giorni ci sono aggiornamenti da fare, non necessariamente di sicurezza. E questo, su server, non è il massimo. I Virtualmin che ho su Debian non mi scrivono mai nulla, mentre gli Ubuntu LTS si fanno vivi ogni paio di giorni: nel primo caso, installano da soli gli aggiornamenti di sicurezza e amen, nel secondo caso, invece, ogni giorno vengo allertato che ci sono degli aggiornamenti (non importanti) da fare. Il kernel, poi, è il più gettonato: mi basta non entrare in ssh per qualche giorno sulle Ubuntu che, al login successivo, appare il messaggio "È necessario riavviare per applicare gli aggiornamenti di sicurezza". Peggio di Windows, insomma :-)
Gli uptime che ho su Debian non li ho mai raggiunti su Ubuntu, principalmente per la ragione appena esposta. Confido in kpatch, perché non sempre è possibile riavviare senza problemi un server. Non per problemi di boot, ma di tempo di riavvio che, in alcuni casi, diventa estremamente alto e problematico.
Ad oggi, dunque, ho ricominciato ad installare server Debian al posto di Ubuntu LTS.
Conclusioni
Dopo 19 anni di Debian (eh, si, ho in giro roba con Debian dentro dal lontano 1996!) e 11 anni di Ubuntu, posso dire che, alla luce della mia esperienza, non c'è un vincitore e un perdente, ma sono entrambe delle ottime scelte, dettate più dalla preferenza personale che da vere e proprie motivazioni tecniche.
Personalmente, sto tornando ad installare Debian. Il supporto LTS aiuta negli aggiornamenti, e il minor numero di aggiornamenti inutili ne semplifica anche la gestione quotidiana.
-
Chi lavora nel settore, sa bene che gli scambi di opinione con i clienti sono spesso molto più simpatici di quanto si possa pensare. Il cliente crede di capire tutto, perché ormai il web è solo una questione di click, l'informatico è sempre quello che cerca di fregare complicando le cose semplici, e la rete è pericolosa perché non abbiamo comprato "l'ultimo prodotto di sicurezza informatica" ↩