Da RHEL a CentOS e viceversa: yum distro-sync

rhel2centosAvete mai avuto la necessità di trasformare un sistema da CentOS a Red Hat Enterprise Linux o viceversa?

Ho avuto questa necessità numerose volte; nel caso più semplice si è trattato di trasformare un ambiente di valutazione per qualche soluzione realizzata su CentOS in una Red Hat vera e propria alla fine della fase di test.

Nel caso opposto può essere utile per esempio per realizzare una copia speculare di un sistema già installato e agganciato alle subscription di Red Hat sul proprio portatile per questioni di sviluppo. Oppure perchè ci è semplicemente scaduta la subscription e non abbiamo la necessità del supporto Red Hat.

Come esempio prendiamo un sistema CentOS/RHEL 6.6 che desideriamo convertire. Ovviamente la procedura è identica anche se passiamo da una versione 6.3 ad una 6.6 durante la conversione.

Da Red Hat Enterprise Linux a CentOS

Questo caso è un po’ più semplice per due motivi; il primo è la possibilità di reperire su internet tutti i package necessari per l’installazione (non vi serve un account Red Hat con delle subscritpion valide) e sostanzialmente di andare a ridurre il numero di pacchetti installati rispetto ad un sistema Red Hat Enterprise Linux.

Per prima cosa dobbiamo rimuovere il package -release dal sistema e sostituirlo con quello che ci interessa. In questo modo i comandi yum saranno in grado di espandere le variabili necesssarie a recuperare i pacchetti necessari.

rpm -e --nodeps redhat-release-server-6Server
yum -y install http://mirror.centos.org/centos/6/os/x86_64/Packages/centos-release-6-6.el6.centos.12.2.x86_64.rpm

Nel caso di CentOS e Fedora, inoltre, il package che definisce la release di sistema contiene anche i file con le definizioni dei repository yum; semplificando utleriormente la conversione.

A questo punto non ci resta che allineare i pacchetti relativi al sistema che ci interessa. Yum si preoccuperà di fare il resto.

yum -y distro-sync
reboot

Se durante l’upgrade abbiamo fatto un importante salto di release (ad esempio da 6.3 a 6.6) è opportuno anche procedere con il reset dei contesti SELinux sul filesystem prima di riavviare:

fixfiles onboot

Pulizia del sistema dopo la conversione

Prima di riavviare, possiamo procedere con un paio di accorgimenti ulteriori; per esempio rimuovere i pacchetti di Red Hat network (che non verranno più utilizzati):

yum -y remove rhn\* subscription\* yum-rhn-plugin

O addirittura tutti i package non più presenti in nessun repository:

package-cleanup --orphans

E sostiture la pagina iniziale di Firefox che ci suggerisce di registrare il nostro sistema a Red Hat Network:

rpm -e --nodeps redhat-indexhtml
yum -y install http://mirror.centos.org/centos-6/6.6/os/x86_64/Packages/centos-indexhtml-6-2.el6.centos.noarch.rpm

Per rimuovere i kernel rimanenti (compresi i package contenenti gli header del kernel, i moduli, ecc.) possiamo procedere con questo comando che farà pulizia di tutti i vecchi kernel eccetto quello corrente:

package-clenup -y --oldkernels --count=1

Da CentOS a Red Hat Enterprise Linux

La procedura inversa è leggeremente più semplice in merito ai comandi da digitare (molti package di CentOS continuano a fornire il vecchio nome Red Hat nei Provides: ma decisamente più dispendiosa in termini di tempo; bisogna avere un account valido per poter scaricare i package necessari per la conversione prima di poter avere i repository disponibili.

Dopo aver ottenuto l’accesso sul portale di Red Hat, dobbiamo scaricare manualmente i seguenti package per registrare il sistema (nel nostro caso vogliamo passare ad una subscription di tipo Server):

redhat-release-server
rhn-check
rhn-client-tools
rhn-setup
rhn-setup-gnome
rhnlib
rhnsd
subscription-manager
subscription-manager-firstboot
subscription-manager-gnome
yum-rhn-plugin

A questo punto possiamo procedere con la conversione del sistema (di fatto yum penserà di girare su una Red Hat):

rpm -e --nodeps centos-release
yum install *rpm

Registrare il nostro host:

subscription-manager --register

E successivamente procedere con l’allineamento dei package:

yum -y distro-sync
reboot

Ti piacerebbe diventare anche tu uno di noi e pubblicare i tuoi articoli nel blog degli RHCE italiani?

Panoramica privacy
EXTRAORDY | Your Red Hat Trusted Mentor

Questo sito utilizza i cookie in modo da offrirti la migliore esperienza utente possibile. Le informazioni sui cookie sono memorizzate nel tuo browser e svolgono funzioni come riconoscerti quando ritorni sul nostro sito e aiutare il nostro team a capire quali sezioni del sito ritieni più interessanti e utili.

Pertanto per una completa fruizione del presente sito, si consiglia di configurare il browser in modo che accetti la ricezione dei cookie.

Cookie strettamente necessari

I cookie strettamente necessari dovrebbero essere abilitati in ogni momento in modo che possiamo salvare le tue preferenze per offrirti la miglior esperienza possibile sul nostro sito.

 

Se disabiliti questo cookie, non saremo in grado di salvare le tue preferenze. Ciò significa che ogni volta che visiti questo sito web dovrai abilitare o disabilitare nuovamente i cookie.

Cookie di terze parti

Questo sito utilizza Google Analytics per raccogliere informazioni anonime quali il numero di visitatori del sito e le pagine più popolari.

Mantenere abilitato questo cookie ci aiuta a migliorare il nostro sito.