Convertir des RPM en .deb

Il arrive parfois que certain éditeur de logiciel ne fournisse que des paquets RPM, sans source, pas de .deb.

Une solution existe : Alien!

Ainsi vous pouvez convertir vos RPM en DEB et l’installer sur votre Debian préféré :)

1° – Installer Alien

 

Sous Debian ou Ubuntu, rien de plus simple :

coccinux:~# apt-get install alien
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les paquets supplémentaires suivants seront installés :
rpm
Paquets suggérés :
lsb-rpm lintian
Les NOUVEAUX paquets suivants seront installés :
alien rpm
0 mis à jour, 2 nouvellement installés, 0 à enlever et 288 non mis à jour.
Il est nécessaire de prendre 1209ko dans les archives.
Après cette opération, 4338ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ?

 

2° – Convertir le rpm en .deb

 

Nous allons ensuite convertir à titre d’exemple le RPM MegaCli qui sert à monitorer les controllers RAID PERC5 SAS (utilisé sur les serveur Dell PowerEdge par exempe).

Le RPM en question s’appelle MegaCli-1.01.39-0.i386.rpm

coccinux:~# alien -k -c -v MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{NAME} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{VERSION} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{RELEASE} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{ARCH} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{CHANGELOGTEXT} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{SUMMARY} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{DESCRIPTION} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{COPYRIGHT} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{PREFIXES} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{POSTIN} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{POSTUN} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{PREUN} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qp --queryformat %{PREIN} MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qcp MegaCli-1.01.39-0.i386.rpm
rpm -qpi MegaCli-1.01.39-0.i386.rpm
LANG=C rpm -qpl MegaCli-1.01.39-0.i386.rpm
mkdir MegaCli-1.01.39
chmod 755 MegaCli-1.01.39
rpm2cpio MegaCli-1.01.39-0.i386.rpm | (cd MegaCli-1.01.39; cpio --extract --make-directories --no-absolute-filenames --preserve-modification-time) 2>&1
chmod 755 MegaCli-1.01.39/./
chmod 755 MegaCli-1.01.39/./opt
chmod 755 MegaCli-1.01.39/./opt/MegaRAID
chmod 755 MegaCli-1.01.39/./opt/MegaRAID/MegaCli
chown 0:0 MegaCli-1.01.39//opt/MegaRAID/MegaCli/MegaCli
chmod 755 MegaCli-1.01.39//opt/MegaRAID/MegaCli/MegaCli
chown 0:0 MegaCli-1.01.39//opt/MegaRAID/MegaCli/MegaCli64
chmod 755 MegaCli-1.01.39//opt/MegaRAID/MegaCli/MegaCli64
mkdir MegaCli-1.01.39/debian
hostname -f
date -R
hostname -f
date -R
chmod 755 MegaCli-1.01.39/debian/rules
debian/rules binary 2>&1
megacli_1.01.39-0_i386.deb generated
find MegaCli-1.01.39 -type d -exec chmod 755 {} ;
rm -rf MegaCli-1.01.39

 

Et voila un jolie megacli_1.01.39-0_i386.deb

3° – Installation du paquet Debian

 

Il ne reste plus qu’a installer le paquet en question :

coccinux:~# dpkg -i megacli_1.01.39-0_i386.deb
Sélection du paquet megacli précédemment désélectionné.
(Lecture de la base de données... 28225 fichiers et répertoires déjà installés.)
Dépaquetage de megacli (à partir de megacli_1.01.39-0_i386.deb) ...
Paramétrage de megacli (1.01.39-0) ..

 

Il également possible de générer le paquet et de l’installer en 1 seul ligne de commande en ajoutant l’option -i :

# alien -k -c -i MegaCli-1.01.39-0.i386.rpm
dpkg --no-force-overwrite -i megacli_1.01.39-0_i386.deb
Sélection du paquet megacli précédemment désélectionné.
(Lecture de la base de données... 28225 fichiers et répertoires déjà installés.)
Dépaquetage de megacli (à partir de megacli_1.01.39-0_i386.deb) ...
Paramétrage de megacli (1.01.39-0) ..

Article lu 1032 fois

Laisser un commentaire