Red Hat vs Debian: Come trasferire la lista dei pacchetti e installarli

Qualche tempo fa mi sono imbattuto in un problema che con Debian ho sempre risolto in una manciata di secondi con Red Hat ci ho dovuto pensare su un po’…

In Debian mi capita spesso di fare due macchine identiche per un cluster in HA, e dopo che ne ho configurata una preparo l’altra e gli passo la lista dei pacchetti e li installo, come?

Ecco qua, dalla prima Debian estrapolo la lista dei pacchetti con “dpkg” e la metto su un file:

root@debian1:~# dpkg –get-selections > debian1-pkgs

poi bisogna copiare la lista sulla macchina secondaria, solitamente uso scp:

root@debian1:~# scp debian1-pkgs root@debian2:/root/.

ora che abbiamo la lista sulla secondaria, la carichiamo sempre usando “dpkg”:

root@debian2:~# dpkg –set-selections < debian1-pkgs

adesso non ci resta che fargli installare i pacchetti usando “apt”:

root@debian2:~# apt-get dselect-upgrade

Et voilà! Le jeux son fait!

E con Reh Hat?!?

per prima cosa recuperiamo tutti i pacchetti installati su un file, usando “yum” (il gestore dei pacchetto di RedHat et simili), e copiamolo sull’altro nodo:

[root@redhat1 ~]# yum list installed > redhat1-pkg
[root@redhat1 ~]# scp redhat1-pkg root@redhat2:/root/.

ora dovremmo dire a “yum” di installare la lista, ma sfortunatamente ha delle diciture in più che non ci servono, questo che segue è l’esempio di come si presenta il file:

Loaded plugins: rhnplugin, security
Installed Packages
Deployment_Guide-en-US.noarch             5.2-11                       installed
GConf2.i386                               2.14.0-9.el5                 installed
GConf2.x86_64                             2.14.0-9.el5                 installed
GConf2-devel.x86_64                       2.14.0-9.el5                 installed
MAKEDEV.x86_64                            3.23-1.2                     installed
NetworkManager.i386                       1:0.7.0-10.el5_5.2           installed
NetworkManager.x86_64                     1:0.7.0-10.el5_5.2           installed
NetworkManager-glib.i386                  1:0.7.0-10.el5_5.2           installed
NetworkManager-glib.x86_64                1:0.7.0-10.el5_5.2           installed
NetworkManager-gnome.x86_64               1:0.7.0-10.el5_5.2           installed

puliamo tutto con il comando “cut” e  prendiamo la prima parte di ogni riga, per cui il solo nome del pacchetto, e lo diamo in pasto a “yum” direttamente

[root@phbe2pr ~]# yum -y install $(cut -f 1 -d” ” < redhat1-pkg)

Ora inizierà il download e l’installazione di tutto.

Spero che vi sia stato utile :-)

Comments are closed.