Linux esiste in un ambiente open source complesso, con molte distribuzioni (distribuzioni) sviluppato da programmatori ovunque e, allo stesso tempo, sostenuto da grandi aziende. Quale distribuzione dovresti installare sul tuo nuovo server?
Qual è la differenza tra tutte queste distribuzioni??
Quando si esegue Linux su un server cloud, probabilmente stai accedendo tramite SSH e non una GUI, quindi le differenze nell'ambiente desktop non contano molto (se lo fanno). Anche se tecnicamente puoi eseguire qualsiasi versione di Linux su un server, è meglio selezionare una distribuzione ottimizzata per l'uso del server.
La maggior parte delle distribuzioni varia a seconda del software preinstallato e della sua posizione nel “albero genealogico” de Linux. Quasi tutte le distribuzioni Linux sono open source, tante distribuzioni saranno basate su altre. Come esempio, Ubuntu è basato su Debian e molte distribuzioni si concentrano su Ubuntu. Red Hat Enterprise Linux si è biforcato ed è diventato CentOS, con Red Hat (l'azienda) supportare lo sviluppo di CentOS. Amazon ha biforcato CentOS per lanciare la propria distribuzione. Ognuna di queste distribuzioni installerà software equivalente, anche se i numeri di versione esatti variano da una distribuzione all'altra.
In pratica, la maggior parte delle distribuzioni destinate al server sarà relativamente simile. Dopotutto, tutto è linux, quindi fintanto che non stai usando una distribuzione oscura, il software che vuoi eseguire è probabilmente compilato per il tuo sistema, o semplicemente essere compatibile comunque. Il problema più grande è che la struttura delle cartelle è diversa su alcune distribuzioni., anche quando è possibile che ci si debba anche abituare alle idiosincrasie della distribuzione, come Ubuntu usando il apt
gestore di pacchetti, mentre RHEL, CentOS e Amazon Linux utilizzano yum
.
Un modo per risolvere completamente questo problema è utilizzare un servizio di containerizzazione come Docker. Docker impacchetta le tue applicazioni in container, che funzionano allo stesso modo indipendentemente dal sistema operativo su cui sono in esecuzione (supponendo che la distribuzione abbia un binario Docker compilato). puoi anche “emulare” altre distribuzioni; come esempio, potresti avere un server su Ubuntu che esegue un'app containerizzata che pensare è in esecuzione su CentOS. Questo perché Docker modifica solo gli spazi dei nomi del contenitore e tutto viene eseguito sullo stesso kernel Linux sotto il cofano. Puoi cambiare quel server con un altro provider che esegue Fedora e tutto ciò che dovresti fare per far funzionare di nuovo la tua applicazione sarebbe copiare ed eseguire il contenitore dell'applicazione sul nuovo sistema.
Ubuntu Server LTS
Ubuntu è forse la distribuzione Linux più conosciuta. È gratuito e open source, quindi quasi tutti i provider cloud lo offriranno come opzione, se non è ancora l'impostazione predefinita. Se in futuro passerai a un nuovo fornitore, la transizione dovrebbe essere senza soluzione di continuità.
Ubuntu Server è una distribuzione molto generica. Se non ti dispiace approfondire tutti i dettagli delle distribuzioni del competitor, non avrai problemi a installare Ubuntu e a dimenticartene.
C'è un alcuni gusti di Ubuntu Server, ma suggeriamo di installare l'ultima versione del supporto a lungo termine (È), pubblicato ogni due anni ad aprile. A quest'ora, l'ultima versione è Ubuntu 18.04.2 È (castoro bionico), insieme a 20.04 LTS in programma per il prossimo aprile. Nonostante questo, Canonical continua a supportare Ubuntu 18.04 LTS fino a 2022 con patch di sicurezza estese fino a 2027.
Ubuntu è open source e le patch Canonical sono gratuite, ma l'azienda offre un servizio di pagamento chiamato Ubuntu Advantage, fornire supporto telefonico e web 24 ore al giorno, 7 Giorni della settimana. Soprattutto, ti dà anche accesso a due servizi molto utili:Canonical Livepatch e paesaggio.
Livepatch installa automaticamente gli aggiornamenti del kernel senza riavviare il sistema, permettendoti di mantenere il tuo server in esecuzione anche attraverso errori critici del kernel. Non ha alcun costo per tre macchine, ma qualsiasi altra cosa ha bisogno di Ubuntu Advantage. Scenario è uno strumento di amministrazione progettato per monitorare lo stato del tuo sistema e installare aggiornamenti batch per i pacchetti su più server.
Se vuoi una distribuzione minima equivalente a Ubuntu, puoi provare a correre Debian, la distribuzione su cui si basa Ubuntu. Nonostante questo, il supporto di base per Debian è basato sulla comunità e non così popolare.
Amazon Linux
Amazon lancia la propria versione di Linux da utilizzare nei suoi servizi. Viene fornito preinstallato con strumenti per gestire le tue risorse AWS, come interfaccia AWS CLI. In più c'è “ottimizzato per prestazioni ottimali su Amazon EC2”, anche se l'esatto vantaggio in termini di prestazioni dell'utilizzo di Amazon Linux su un'altra distribuzione non è chiaro.
È probabile che Amazon Linux contenga ottimizzazioni delle prestazioni progettate per ridurre i costi da parte di Amazon durante l'esecuzione di più istanze EC2 su un hypervisor, e in realtà non vedrai il tuo sistema funzionare più velocemente rispetto a Ubuntu.
Amazon Linux è offerto come Immagine della macchina Amazon (QUALE) durante la creazione di una nuova istanza EC2. È la prima opzione, quindi se hai attivato rapidamente un server EC2, probabilmente è in esecuzione su Amazon Linux, a meno che tu non specifichi diversamente.
Sebbene una distribuzione creata appositamente per il tuo provider cloud sia dotata di ottime integrazioni, il principale svantaggio di Amazon Linux è che è esclusivo di AWS. Se vuoi cambiare il tuo provider cloud, potrebbe essere necessario dedicare del tempo alla configurazione del software su un nuovo sistema operativo, che inevitabilmente porterà a problemi. La transizione più semplice sarebbe probabilmente a CentOS, la distribuzione su cui si basa Amazon Linux.
Amazon non offre alcun tipo di servizio di patching del kernel live, anche se consiglia di utilizzare il KernelCare di terze parti, quanto costa $ 2 per server, al mese.
CentOS, Red Hat Enterprise Linux, Fedora
Queste tre distribuzioni condividono le comunità e sono abbastanza simili tra loro.. Red Hat Enterprise Linux (RHEL) è una distribuzione molto popolare per i server aziendali, ma a differenza della maggior parte delle versioni di Linux, no non ha alcun costo. Recentemente, Red Hat ha iniziato a offrire RHEL costruisce solo per lo sviluppo.
Fedora è la a monte fonte cappello rosso, il che significa che le nuove funzionalità sono implementate e testate in Fedora prima di entrare in RHEL. Come tale, la distribuzione verrà aggiornata abbastanza frequentemente ed è più “avanguardia” di una distribuzione server stabile.
CentOS è la fonte a valle di RHEL. È essenzialmente la versione gratuita di RHEL, ma è gestito da un team indipendente ed è indipendente da Red Hat. Se stai cercando una distribuzione gratuita diversa da Ubuntu, CentOS è il principale contendente. È usato molto meno di Ubuntu, ma viene aggiornato meno frequentemente, cosa può essere buono o cattivo nel mondo dei server cloud.
Una nota importante su RHEL e CentOS è che sono l'unica distribuzione che supporta ufficialmente cPanel, un popolare pannello di controllo di web hosting. Se stai cercando di utilizzare cPanel, dovrai usare CentOS o provare a eseguirlo su a Immagine Docker, che è probabilmente più un problema di quanto non lo sia per un'app progettata per farti risparmiare tempo.
Red Hat è lo sviluppatore di Kpatch, un'utilità per l'applicazione di patch al kernel live. Kpatch è gratuito, ma non è automatizzato e richiede l'applicazione manuale delle patch quando necessario. Funziona su RHEL e CentOS, così come in Debian.