I sistemi operativi En­ter­pri­se, ideati quindi per le aziende, devono sod­di­sfa­re alcuni criteri im­por­tan­ti: per esempio è es­sen­zia­le che il relativo software per la gestione del sistema sia collegato a un supporto completo offerto dal team degli svi­lup­pa­to­ri, perché solo così vengono garantiti per­ma­nen­te­men­te i mi­glio­ra­men­ti del software e la ri­so­lu­zio­ne degli errori a in­ter­val­li di tempo regolari, oltre che gli ag­gior­na­men­ti per la sicurezza per la pro­te­zio­ne da nuovi malware e per la chiusura delle falle di sicurezza scoperte.

Ugual­men­te im­por­tan­te per il fun­zio­na­men­to costante delle ap­pli­ca­zio­ni aziendali è la garanzia della stabilità delle in­ter­fac­ce tra il sistema operativo e i programmi uti­liz­za­ti (com­pa­ti­bi­li­tà re­troat­ti­va). Una soluzione En­ter­pri­se par­ti­co­lar­men­te amata nel web e anche open source è la di­stri­bu­zio­ne Linux CentOS.

CentOS: la storia del derivato di RHEL

Community Enterprise Operating System, ab­bre­via­to in CentOS, è una di­stri­bu­zio­ne Linux ri­la­scia­ta a marzo 2004. Il progetto open source, svi­lup­pa­to e sup­por­ta­to da un’enorme community, si basa sui pacchetti sorgente di Red Hat En­ter­pri­se Linux (RHEL), cioè una di­stri­bu­zio­ne com­mer­cia­le che può essere uti­liz­za­ta solo in com­bi­na­zio­ne con contratti di supporto a pagamento. Da parte sua, Red Hat, il fornitore di RHEL, è tenuto a rendere pubblico il codice sorgente per sod­di­sfa­re le varie licenze gratuite dei com­po­nen­ti software integrati. Nell’ambito del progetto CentOS gli svi­lup­pa­to­ri hanno perciò potuto basarsi fa­cil­men­te sul codice sorgente di RHEL per la pro­gram­ma­zio­ne di un equi­va­len­te uti­liz­za­bi­le gra­tui­ta­men­te.

Tutte le versioni di CentOS ri­la­scia­te finora si ispirano alle relative release di RHEL e hanno impostato anche la com­pa­ti­bi­li­tà binaria con il prodotto Red Hat. Tutte le ap­pli­ca­zio­ni di­spo­ni­bi­li per il sistema En­ter­pri­se com­mer­cia­le fun­zio­na­no quindi anche senza com­pi­la­to­re ag­giun­ti­vo e senza li­mi­ta­zio­ni di sorta. All’inizio del 2014 i di­pen­den­ti di Red Hat e gli svi­lup­pa­to­ri del progetto CentOS, rimasto in­di­pen­den­te, si unirono nel co­sid­det­to “Governing Board”. Da allora questo team è re­spon­sa­bi­le prin­ci­pal­men­te per lo sviluppo della di­stri­bu­zio­ne e la gestione dei diversi gruppi di lavoro (core del sistema, supporto, design, ecc.).

Cosa con­trad­di­stin­gue la di­stri­bu­zio­ne CentOS

Come il suo modello RHEL, CentOS è una piat­ta­for­ma En­ter­pri­se che è adatta prima di tutto per l’uso nelle aziende e nelle grandi or­ga­niz­za­zio­ni. In linea di principio la di­stri­bu­zio­ne Linux può essere anche usata nel settore privato, malgrado gli svi­lup­pa­to­ri non si con­cen­tri­no affatto su questo ambito. Inoltre la di­stri­bu­zio­ne Linux gode di una grande po­po­la­ri­tà come sistema operativo per il web server, infatti, secondo le sta­ti­sti­che di w3techs.com (ag­gior­na­to a gennaio 2017) Ubuntu e Debian sono i sistemi operativi uti­liz­za­ti mag­gior­men­te. Come di­stri­bu­zio­ne En­ter­pri­se CentOS è con­trad­di­stin­to dalle stesse proprietà che, agli occhi delle aziende, rendono prezioso anche RHEL:

  • Stabilità: CentOS viene svi­lup­pa­to con­ti­nua­men­te per poter offrire anche ai software attuali la piat­ta­for­ma perfetta. Così l’aspetto della com­pa­ti­bi­li­tà delle ap­pli­ca­zio­ni più vecchie viene sempre trattata con ac­cor­tez­za. I passaggi di sviluppo per il futuro vengono così sempre eseguiti di modo che anche la stabilità dei com­po­nen­ti attivi sia garantita. Inoltre il sistema convince per le sue elevate pre­sta­zio­ni nei settori della vir­tua­liz­za­zio­ne (sulla base di una macchina virtuale basata sul kernel, KVM) e dell’elevata di­spo­ni­bi­li­tà, motivi per cui la di­stri­bu­zio­ne fa una bella figura anche nell’ambito del fun­zio­na­men­to dei server cloud e virtuali.
  • Sicurezza: il tema sicurezza oggi è più im­por­tan­te che mai, perciò CentOS come soluzione En­ter­pri­se con base RHEL rap­pre­sen­ta un’ottima scelta. Infatti il codice sorgente alla base di Red Hat è già ad un alto livello per quanto riguarda la sicurezza, grazie alla scoperta proattiva di vul­ne­ra­bi­li­tà da parte del team di sicurezza dell’azienda di software americana. Inoltre per ogni ag­gior­na­men­to CentOS e per l’in­te­gra­zio­ne dei nuovi programmi viene data massima priorità alla verifica della sicurezza e degli errori. In più la di­stri­bu­zio­ne Linux supporta l’esten­sio­ne kernel SELinux (Security-Enhanced Linux), un prodotto open source che deriva dalla col­la­bo­ra­zio­ne tra Red Hat e l’NSA. Questo programma im­ple­men­ta i controlli dei permessi per l’utilizzo delle risorse del computer e in questo modo protegge dagli accessi non au­to­riz­za­ti.
  • Cicli di supporto e gestione nel lungo periodo: a partire dalla prima versione di CentOS sia grandi sia piccole release sono stret­ta­men­te collegate alle relative pub­bli­ca­zio­ni di RHEL. Per mettere in moto il processo per l’adat­ta­men­to del codice, il team di sviluppo prevede un arco di tempo dalle 2 alle 6 settimane (o anche di poche ore nel caso di piccoli ag­gior­na­men­ti). I numeri della versione vengono così sem­pli­ce­men­te mantenuti (ad esempio RHEL 6.2 à CentOS 6.2). A partire dalla versione 7, in aggiunta viene allegata una marca temporale che rimanda alla pub­bli­ca­zio­ne del codice di base, ad esempio la versione 7.0-1406 fa ri­fe­ri­men­to al rilascio del codice sorgente a giugno 2014. Oltre al numero delle versioni, CentOS ha anche ripreso le stesse linee guida per i periodi di gestione: così ora sono previsti fino a 7 anni per il supporto generale e fino a 10 anni per l’ot­te­ni­men­to degli ag­gior­na­men­ti di sicurezza (fino alla versione 5.0 erano ancora ri­spet­ti­va­men­te fino a 4 e 7 anni). 

L’in­stal­la­zio­ne avviene, come anche su RHEL, tramite il manager grafico e user-friendly Anaconda e anche per quanto riguarda il gestore di pacchetti (RPM) e la gestione del software (yum) CentOS si serve di com­po­nen­ti affermati di Red Hat. Ma anche quando di solito i programmi RHEL fun­zio­na­no sul suo derivato gratuito, spesso gli mancano le cer­ti­fi­ca­zio­ni, oltre che il supporto del ri­spet­ti­vo pro­dut­to­re, perciò non è sempre garantito che fun­zio­ni­no cor­ret­ta­men­te su CentOS. 

CentOS: quali requisiti di sistema valgono per la di­stri­bu­zio­ne?

A seconda della ri­spet­ti­va versione di CentOS, lo­gi­ca­men­te l’hardware deve sod­di­sfa­re diversi requisiti. CentOS 5 se la cava ancora ad esempio con 512 MB di RAM se volete uti­liz­za­re un’in­ter­fac­cia utente grafica, e con dei par­si­mo­nio­si 128 MB se vi ac­con­ten­ta­te dell’uso tramite riga di comando. Inoltre sono con­si­glia­ti 5 GB di memoria (minimo 1 GB).

Invece per la versione a riga di comando, che non esiste più come opzione separata su CentOS 7, la versione 6 prevede già 392 MB di RAM e necessita di 1 GB sulle ar­chi­tet­tu­re non di tipo x86. La già nominata versione 7 della di­stri­bu­zio­ne Linux prevede so­li­ta­men­te 1 GB di RAM così come 20 GB di spazio su disco fisso (minimo 10 GB).

Le diverse release del derivato di RHEL si dif­fe­ren­zia­no anche per quanto riguarda le ar­chi­tet­tu­re hardware sup­por­ta­te. Molte delle por­ta­bi­li­tà per la versione 7 vengono così eseguite dal gruppo di lavoro Al­ter­na­ti­ve Ar­chi­tec­tu­re Special Interest Group” (AltArch SIG) e aggiunte suc­ces­si­va­men­te. La seguente tabella fornisce una pa­no­ra­mi­ca sulle possibili ar­chi­tet­tu­re di sistema:

Ar­chit­te­tu­ra CentOS 4 CentOS 5 CentOS 6 CentOS 7  
Sistemi i386 (AMD, Via, 32-bit Pentium)  
Sistemi x86_64 (AMD64/EM64T)  
Sistemi ia64 (Itanium2) No No No  
Sistemi s390/s390x (IBM zSeries & IBM S/390) No No No  
Sistemi ppc/ppc64 (IBM Power, Mac) No No No  
Sistemi SPARC (pro­ces­so­ri Sun SPARC) No No No  
Sistemi Alpha (pro­ces­so­ri DEC Alpha) No No No  
Sistemi armhfp (arm32) No No No  
Sistemi aarch64 (arm64) No No No  

Le funzioni che offre il sistema operativo Linux

La versione attuale 7.0 di CentOS (ag­gior­na­ta a gennaio 2017) si basa sul kernel Linux 3.10.0, com­pren­si­vo della già nominata esten­sio­ne di sicurezza SELinux, e ha im­ple­men­ta­to GCC (GNU Compiler Col­lec­tion). Questa col­le­zio­ne comprende il com­pi­la­to­re per i linguaggi di pro­gram­ma­zio­ne più im­por­tan­ti, come C, C++ e Java. La di­stri­bu­zio­ne Linux supporta inoltre l’Hyper-Threading, ovvero una tec­no­lo­gia che prevede la divisione di un pro­ces­so­re in due pro­ces­so­ri virtuali per aumentare la per­for­man­ce, Plug and Play, il Bluetooth e la versione 6 del pro­to­col­lo Internet (IPv6). Per le versioni più datate di CentOS 5 e 6 esistono le librerie di com­pa­ti­bi­li­tà. Il pacchetto standard della di­stri­bu­zio­ne comprende inoltre i seguenti com­po­nen­ti software:

  • Web server: httpd 2.4.6 (Apache)
  • Gestore di rete LAN: Samba-4.1.x
  • Database: MariaDB 5.5.x, Post­gre­SQL 9.2.x
  • Linguaggi di scripting: PHP 5.4, Python 2.7, Perl 5.16.3
  • In­ter­fac­cia desktop: Gnome 3.14, KDE 4.14
  • Server grafico: X.org 7.7
  • Client di posta elet­tro­ni­ca: Evolution 3.12, Thun­der­bird 45
  • Browser: Firefox 45
  • Suite di Office: Li­breOf­fi­ce 4.3.7

Special Interest Groups: i gruppi di lavoro della community CentOS

Con la fon­da­zio­ne del Governing Board è stata creata una struttura per lo sviluppo del sistema Linux. A partire da quel momento diversi team (composti da membri dell’ampia community) lavorano in diversi gruppi di lavoro che hanno l’obiettivo di ampliare la di­stri­bu­zio­ne CentOS o di ot­ti­miz­za­re gli aspetti fun­zio­na­li del progetto CentOS (in­fra­strut­tu­ra, do­cu­men­ta­zio­ne, ecc.).

Per via del codice sorgente aperto è perciò anche possibile apportare le modifiche al sistema senza ap­par­te­ne­re a uno di questi Special Interest Groups (SIG), anche se poi non potranno essere ri­la­scia­ti con il brand “CentOS”. I singoli SIG di­spon­go­no di un certo grado di autonomia e sono prin­ci­pal­men­te re­spon­sa­bi­li per il processo di sviluppo. Prima che il risultato possa essere segnalato e ri­la­scia­to, serve però l’ap­pro­va­zio­ne del Governing Board.

I tre tipi di­chia­ra­ti di Special Interest Groups sono i seguenti:

  1. Core SIG: i Core SIG elaborano contenuti che sono rilevanti per la versione prin­ci­pa­le della di­stri­bu­zio­ne Linux. Questi gruppi devono ar­mo­niz­za­re il processo di sviluppo su altri ag­gior­na­men­ti di RHEL e occuparsi infine della firma e del rilascio. Inoltre nelle licenze e nei post devono svi­lup­pa­re le linee guida per la pub­bli­ca­zio­ne tramite Git.

  2. Variant SIG: se il core delle versioni CentOS deve essere mo­di­fi­ca­to o ampliato in­di­pen­den­te­men­te dalla serie di release ufficiali, ciò avviene nei Variant SIG. Il pre­re­qui­si­to per un simile progetto è che presenti un uso concreto per un gruppo della community. Tutti i pacchetti software ag­giun­ti­vi uti­liz­za­ti devono essere conformi alle licenze del progetto CentOS e devono poter essere de­com­pres­si ed emessi in base allo stato attuale. Inoltre è compito del gruppo di lavoro con­trol­la­re il codice ag­giun­ti­vo scritto da altri utenti per la variante in questione e pub­bli­ca­to tramite un re­po­si­to­ry git, e in­clu­der­lo se ne­ces­sa­rio

  3. Func­tio­nal SIG: i Func­tio­nal SIG hanno l’incarico di creare e gestire i com­po­nen­ti im­por­tan­ti del progetto CentOS. L’obiettivo di questi gruppi di lavoro è quello di rendere il più facile possibile la col­la­bo­ra­zio­ne dello sviluppo per gli utenti in­te­res­sa­ti. Inoltre il senso di questo SIG è quello di raf­for­za­re la community, di­stri­buen­do tra i membri attivi la re­spon­sa­bi­li­tà e il carico di lavoro in modo mirato e secondo le ri­spet­ti­ve abilità.

Uno dei gruppi di lavoro più im­por­tan­ti è il già nominato AltArch SIG che ha già ri­la­scia­to diversi programmi della versione 7 di CentOS. La prima reale variante è però quella ri­la­scia­ta da CentOS Atomic SIG, ovvero CentOS Atomic Host. Questa si basa sul costrutto core ed è creata spe­ci­fi­ca­men­te per l’uso dei container Docker. Tra gli altri progetti che si trovano in fase di pia­ni­fi­ca­zio­ne o sviluppo vi sono:

  • Public CI: in­fra­strut­tu­ra per test pubblici.
  • Hardening: variante con focus su un core del sistema e del codice sorgente sicuro e raf­for­za­to.
  • Cloud Instance: di­stri­bu­zio­ne che CentOS Linux ottimizza per cloud pubblici o privati.
  • PaaS: Platform-as-a-Service sulla base di CentOS.
  • NFV: Network Functions Vir­tua­li­za­tion mette a di­spo­si­zio­ne uno stack di software che serve come struttura di base per la di­stri­bu­zio­ne e la verifica delle funzioni di rete virtuale.
  • Promo: gruppo di lavoro che si occupa del design esteriore di CentOS.

Come funziona l’in­stal­la­zio­ne di CentOS

Per in­stal­la­re il sistema operativo open source sul vostro computer o server, scaricate prima di tutto la giusta ar­chi­tet­tu­ra e variante nel download center ufficiale di CentOS. Oltre alle release attuali, trovate anche i file di in­stal­la­zio­ne e i re­po­si­to­ries delle vecchie versioni di CentOS. In alcuni casi tra le immagini offerte, che dopo il download dovete tra­sfe­ri­re su CD, DVD o un altro supporto di memoria portatile come una penna USB, avete a di­spo­si­zio­ne tre diverse varianti, a parte la consueta in­stal­la­zio­ne completa:

  • LiveCD: un’immagine simile può essere avviata dal boot e mette a di­spo­si­zio­ne un ambiente di runtime che parte di­ret­ta­men­te dal supporto di memoria, senza che sia ne­ces­sa­ria un’in­stal­la­zio­ne.
  • ServerCD: con questa immagine avete tra le mani una variante in­stal­la­bi­le che dispone di una varietà limitata del pacchetto per le in­stal­la­zio­ni server.
  • Ne­tIn­stall: l’immagine Ne­tIn­stall, che in alcuni casi è elencata anche con la de­no­mi­na­zio­ne “Minimal” nella lista di download, vi consente un’in­stal­la­zio­ne di rete mi­ni­ma­li­sta, collegata alla ri­spet­ti­va release. Con l’ISO Ne­tIn­stall di CentOS 6.2 non potete, ad esempio, in­stal­la­re la versione 6.3. 

Una volta creato il supporto boot de­si­de­ra­to, avviate l’in­stal­la­zio­ne di CentOS di­ret­ta­men­te da questo. Scegliete sem­pli­ce­men­te l’in­ter­fac­cia “Install CentOS” e per con­clu­de­re con­fer­ma­te la vostra selezione con il tasto Invio. Dopo venite guidati nel passaggio suc­ces­si­vo nella variante minimale di Ne­tIn­stall dal wizard di in­stal­la­zio­ne grafico. Di default è impostata la lingua e la tastiera inglese, ma è possibile impostare entrambe in italiano.

In sintesi

Molto spesso CentOS non rientra tra gli esponenti che vengono nominati per primi nell’elenco dei derivati di Linux più per­for­man­ti. Ciò non toglie però che la di­stri­bu­zio­ne per il suo settore di ri­fe­ri­men­to, ovvero nell’ambito server ed En­ter­pri­se, disponga di tutto il ne­ces­sa­rio. Quindi chi è alla ricerca di un sistema stabile da poter uti­liz­za­re per un arco di tempo più lungo, non rischia di sbagliare ri­cor­ren­do alla variante di RHEL. CentOS non può offrire il supporto esclusivo del modello com­mer­cia­le e non presenta neanche una cer­ti­fi­ca­zio­ne per tutti i software, com’è il caso nel sistema Red Hat. Anche sul sistema open source, grazie alla com­pa­ti­bi­li­tà binaria, fun­zio­na­no però diverse ap­pli­ca­zio­ni e funzioni di sicurezza, offrendo inoltre il vantaggio di essere uti­liz­za­bi­li in modo com­ple­ta­men­te gratuito.

Vai al menu prin­ci­pa­le