GNU/Linux >> Tutoriels Linux >  >> Linux

Comment convertir un package RPM en DEB et DEB en RPM à l'aide d'Alien

Comme vous le savez sûrement déjà, il existe de nombreuses façons d'installer des logiciels sous Linux :en utilisant le système de gestion de paquets fourni par votre distribution (aptitude, yum ou zypper, pour ne citer que quelques exemples), en compilant à partir des sources (bien qu'un peu rare de nos jours, c'était la seule méthode disponible au début de Linux), ou en utilisant un outil de bas niveau tel que dpkg ou tr/min avec .deb et .rpm packages autonomes et précompilés, respectivement.

Dans cet article, nous allons vous présenter alien , un outil qui convertit entre différents formats de packages Linux, avec .rpm vers .deb (et vice versa) étant l'utilisation la plus courante.

Cet outil, même lorsque son auteur ne le maintient plus et déclare sur son site Web qu'alien restera probablement toujours à l'état expérimental, peut être utile si vous avez besoin d'un certain type de package mais que vous ne pouvez trouver ce programme que dans un autre format de package.

Par exemple, extraterrestre m'a sauvé la journée quand je cherchais un .deb pilote pour un jet d'encre imprimante et n'en a pas trouvé - le fabricant n'a fourni qu'un .rpm emballer. J'ai installé alien, converti le paquet et en peu de temps j'ai pu utiliser mon imprimante sans problème.

Cela dit, nous devons préciser que cet utilitaire ne doit pas être utilisé pour remplacer des fichiers système et des bibliothèques importants car ils sont configurés différemment selon les distributions. N'utilisez alien qu'en dernier recours si les méthodes d'installation suggérées au début de cet article sont hors de question pour le programme requis.

Enfin et surtout, nous devons noter que même si nous utiliserons CentOS et Debian dans cet article, alien est également connu pour fonctionner dans Slackware et même dans Solaris , outre les deux premières distributions et leurs familles respectives.

Étape 1 :Installer Alien et ses dépendances

Pour installer étranger dans CentOS /RHEL 7 , vous devrez activer le EPEL et le Nux Dextop (oui, c'est Dextop - pas Desktop), dans cet ordre :

# yum install epel-release
# rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

La dernière version du package qui active ce dépôt est actuellement 0.5 (publié le 10 août 2015 ). Vous devriez vérifier http://li.nux.ro/download/nux/dextop/el7/x86_64/ pour voir s'il existe une version plus récente avant de continuer :

# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

alors fais,

# yum update && yum install alien

Dans Fedora , vous n'aurez qu'à exécuter la dernière commande.

Dans Debian et ses dérivés, faites simplement :

# aptitude install alien

Étape 2 :Conversion d'un package .deb en package .rpm

Pour ce test, nous avons choisi dateutils , qui fournit un ensemble de date et temps utilitaires pour traiter de grandes quantités de données financières. Nous allons télécharger le .deb package à notre CentOS 7 box, convertissez-le en .rpm et installez-le :

# cat /etc/centos-release
# wget http://ftp.us.debian.org/debian/pool/main/d/dateutils/dateutils_0.3.1-1.1_amd64.deb
# alien --to-rpm --scripts dateutils_0.3.1-1.1_amd64.deb

Important :(Veuillez noter comment, par défaut, alien augmente le numéro de version mineure du package cible. Si vous souhaitez remplacer ce comportement, ajoutez le –keep-version drapeau).

Si nous essayons d'installer le package tout de suite, nous rencontrerons un léger problème :

# rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm 

Pour résoudre ce problème, nous allons activer le référentiel epel-testing et installez le rpmrebuild utilitaire pour modifier les paramètres du package à reconstruire :

# yum --enablerepo=epel-testing install rpmrebuild

Alors lancez,

# rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm

Ce qui ouvrira votre éditeur de texte par défaut. Allez dans les %files section et supprimez les lignes qui font référence aux répertoires mentionnés dans le message d'erreur, puis enregistrez le fichier et quittez :

Lorsque vous quittez le fichier, vous serez invité à poursuivre la reconstruction. Si vous choisissez O , le fichier sera reconstruit dans le répertoire spécifié (différent du répertoire de travail actuel) :

# rpmrebuild –pe dateutils-0.3.1-2.1.x86_64.rpm

Vous pouvez maintenant procéder à l'installation du package et vérifier comme d'habitude :

# rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm
# rpm -qa | grep dateutils

Enfin, vous pouvez répertorier les outils individuels inclus avec dateutils et alternativement vérifier leurs pages de manuel respectives :

# ls -l /usr/bin | grep dateutils

Étape 3 :Conversion d'un package .rpm en package .deb

Dans cette section, nous allons illustrer comment convertir à partir de .rpm vers .deb . Dans une Debian Wheezy 32 bits box, téléchargeons le .rpm paquet pour le zsh shell du système d'exploitation CentOS 6 dépôt. Notez que ce shell n'est pas disponible par défaut dans Debian et ses dérivés.

# cat /etc/shells
# lsb_release -a | tail -n 4
# wget http://mirror.centos.org/centos/6/os/i386/Packages/zsh-4.3.11-4.el6.centos.i686.rpm
# alien --to-deb --scripts zsh-4.3.11-4.el6.centos.i686.rpm

Vous pouvez ignorer en toute sécurité les messages concernant une signature manquante :

Après quelques instants, le .deb le fichier doit avoir été généré et être prêt à être installé :

# dpkg -i zsh_4.3.11-5_i386.deb

Après l'installation, vous pouvez vérifier que zsh est ajouté à la liste des shells valides :

# cat /etc/shells

Résumé

Dans cet article, nous avons expliqué comment convertir de .rpm en .deb et vice versa pour installer des packages en dernier recours lorsque ces programmes ne sont pas disponibles dans les référentiels ou en tant que code source distribuable. Vous voudrez ajouter cet article à vos favoris car nous aurons tous besoin d'extraterrestres à un moment ou à un autre.

N'hésitez pas à partager vos réflexions sur cet article en utilisant le formulaire ci-dessous.


Linux
  1. Debian :comment installer ou supprimer des packages DEB à l'aide de dpkg

  2. Comment désinstaller neovim d'Ubuntu

  3. Comment convertir des vidéos m4v et wmv au format mp4 en utilisant ffmpeg ?

  4. Comment modifier un paquet deb ?

  5. Comment convertir le jour de l'année et l'année en une date AAAAMMJJ ?

Comment convertir des packages entre .deb et .rpm

Comment installer et gérer des packages sur CentOS à l'aide de RPM

Comment convertir des packages Linux avec Alien

Comment créer un package RPM à partir d'une archive tar

Comment installer Java 8 JRE et JDK à partir du fichier RPM sous Linux

Comment afficher et extraire des fichiers à partir de packages rpm, deb, depot et msi