C’era una volta CentOS (Community ENTerprise Operating System), sistema operativo e distribuzione Linux basata sul codice sorgente di Red Hat Enterprise Linux (RHEL). Versione gratuita e open source di RHEL, CentOS si è guadagnata vasta popolarità tra i professionisti. Poteva infatti offrire molte delle caratteristiche avanzate di RHEL e assicurare, allo stesso tempo, massima compatibilità. A dicembre 2020, tuttavia, Red Hat ha annunciato un cambiamento epocale per il progetto spostando il supporto a lungo termine (LTS, Long Term Support), essenziale per chi gestisce sistemi server e applicativi in-cloud, da CentOS Linux 8 a CentOS Stream. AlmaLinux è una delle distribuzioni Linux che sono nate, per volontà della comunità, a valle di quell’annuncio.
La decisione assunta da Red Hat, infatti, deluse molti utenti e aziende che facevano affidamento su CentOS come alternativa gratuita e stabile a RHEL. Così si cercarono delle soluzioni convincenti, che potessero offrire garanzie a lungo termine: lo sviluppo di AlmaLinux nasce dalle ceneri di CentOS ed è sostenuto da un’organizzazione senza scopo di lucro chiamata AlmaLinux OS Foundation.
Di recente abbiamo visto, ad esempio, come installare WordPress su AlmaLinux e iniziare con un proprio progetto su server cloud.
AlmaLinux: compatibilità binaria con RHEL
Ponendosi sullo stesso solco di CentOS, AlmaLinux ha come obiettivo quello di fornire agli utenti una distribuzione Linux binariamente compatibile con RHEL e garantire una transizione agevole per la comunità degli utenti di CentOS.
Quando diciamo che una distribuzione è “binariamente compatibile con RHEL” significa che i pacchetti software compilati per RHEL possono essere eseguiti senza alcuna modifica su quella specifica distribuzione. In altre parole, i file binari (o eseguibili) destinati a RHEL possono essere utilizzati su AlmaLinux senza necessità di una nuova compilazione e senza bisogno di alcun adattamento. Questa compatibilità binaria è essenziale perché consente agli utenti di utilizzare software progettato per RHEL senza dover affrontare problemi di incompatibilità. Può essere particolarmente importante in ambienti aziendali in cui le applicazioni sono spesso certificate e testate specificamente su una determinata distribuzione, come RHEL.
A metà agosto 2023, un gruppo di aziende di primo piano (Oracle, SUSE e CIQ) ha formato un’alleanza per sostenere lo sviluppo di distribuzioni RHEL-compatibili.
La distribuzione alternativa resta compatibile RHEL senza usare codice Red Hat
L’alleanza tra Oracle, SUSE e CIQ mette sul tavolo un ulteriore problema, presentatosi più di recente dopo la decisione iniziale Red Hat di fine 2020. L’azienda dal cappello rosso ha infatti reso più complesso accedere al codice di RHEL: è quindi oggettivamente molto più difficile, per i progetti come AlmaLinux, mantenere la compatibilità con il sistema Red Hat.
Piuttosto che entrare in conflitto con Red Hat sulle restrizioni d’uso del codice sorgente di RHEL, AlmaLinux OS Foundation ha deciso di adottare una strategia diversa. Invece di mirare a una compatibilità “uno a uno” con RHEL, AlmaLinux vuole essere “Application Binary Interface (ABI) compatible“. Ciò significa appunto mantenere la compatibilità binaria, come spiegato in precedenza, con le applicazioni progettate per RHEL.
AlmaLinux sta utilizzando il codice sorgente di CentOS Stream, che Red Hat continua a supportare, come base principale. Gli sviluppatori prelevano inoltre codice dalle Red Hat Universal Base Images. L’obiettivo è quello di ricalcare il più possibile l’aspetto e il comportamento di RHEL: circa il 99% dei pacchetti utilizzati da AlmaLinux è identico ai corrispondenti di RHEL. Solo il 24% circa di quelli che presentano differenze, richiedono l’applicazione di modifiche manuali.
Una sfida notevole è rappresentata dagli aggiornamenti del kernel Linux di Red Hat, ai quali AlmaLinux non può accedere direttamente senza violare gli accordi di licenza Red Hat. AlmaLinux estrae pertanto le patch di sicurezza da varie fonti alternative.
La distribuzione AlmaLinux non vuole però essere semplicemente un clone di RHEL, ma punta sull’aggiunta di una serie di caratteristiche e funzionalità proprie. Ad esempio, supporta software proveniente dal repository Extra Packages for Enterprise Linux (EPEL) e offre anche il software chiamato Synergy, che contiene programmi richiesti dalla comunità AlmaLinux ma non presenti né in EPEL né in RHEL.