GNU/Linux >> Tutoriels Linux >  >> Linux

Comment convertir des packages Linux avec Alien

Les développeurs et les mainteneurs de packages ne créent pas toujours des packages pour toutes les distributions Linux. Certains packages peuvent être disponibles uniquement pour une plate-forme Linux spécifique. Dans de tels cas, vous pouvez utiliser des outils de conversion de packages comme Alien pour convertir facilement les packages Linux en différents formats. Dans ce guide, nous verrons ce qu'est Alien, comment installer Alien dans divers systèmes d'exploitation Linux, puis comment convertir un package Linux d'un format à un autre à l'aide du convertisseur de package Alien.

Qu'est-ce qu'un extraterrestre ?

Alien est un convertisseur de paquets en ligne de commande qui convertit entre différents formats de paquets Linux tels que Red Hat rpm, Debian deb, Stampede slp, Slackware tgz et Solaris pkg etc.

Alien prend actuellement en charge les formats de package suivants :

  • Base standard Linux (LSB),
  • Compatible avec LSB .rpm forfaits,
  • .deb ,
  • Débandade (.slp ),
  • Solaris (.pkg )
  • Slackware (.tgz , .txz , .tbz , .tlz ).

Les programmes extraterrestres viennent en secours lorsqu'un package spécifique ou une version spécifique d'un package n'est pas disponible pour votre distribution Linux. Vous pouvez facilement convertir ce package dans votre format de package préféré à l'aide d'Alien et l'installer sur votre système.

Alien n'est pas seulement un convertisseur de packages, il peut également installer automatiquement les packages générés après la conversion des packages. Il peut même avoir la possibilité de convertir les scripts destinés à être exécutés lors de l'installation du package. Vous devez être prudent lorsque vous utilisez cette option. Vous devez examiner attentivement les scripts et vérifier ce qu'ils font avant d'utiliser cette option.

Attention : Alien ne doit pas être utilisé pour convertir des packages système importants, tels que init , libc , nécessaires au fonctionnement de votre système Linux. Les packages système spécialement conçus pour une distribution Linux particulière ne peuvent pas être utilisés de manière interchangeable et peuvent casser votre système si vous essayez de les installer de force.

Installer Alien sous Linux

Le convertisseur de packages Alien est disponible dans les référentiels par défaut des distributions Linux populaires.

Pour installer Alien dans Alpine Linux, exécutez :

$ sudo apk add alien

Installez Alien dans Debian, Ubuntu LTS, Linux Mint, Pop!_OS :

$ sudo apt install alien

Installez Alien dans Fedora :

$ sudo dnf install alien

Installez Alien dans CentOS 8, RHEL 8, AlmaLinux 8, Rocky Linux 8 :

$ sudo dnf install epel-release
$ sudo dnf install alien

Convertir les packages Linux à l'aide d'Alien

La syntaxe générale pour convertir les packages Linux utilisant Alien d'un format à un autre est :

alien [--to-deb] [--to-rpm] [--to-tgz] [--to-slp] [options] file [...]

Convertir des packages avec Alien est très simple !

Pour convertir un .rpm package dans un .deb package, lancez simplement alien en tant que root ou sudo utilisateur :

$ sudo alien --to-deb /path/to/file.rpm

De même, pour convertir .deb fichier en .rpm , exécutez :

$ sudo alien --to-rpm /path/to/file.deb

Voici la liste des drapeaux pris en charge pour convertir les packages Linux en différents formats.

  • -d , --to-deb - Créer des paquets debian. C'est la valeur par défaut.
  • -r , --to-rpm - Créer des paquets rpm.
  • -l , --to-lsb - Créer un package LSB.
  • -t , --to-tgz - Créer des paquets tgz.
  • --to-slp - Créer des packages slp.
  • -p , --to-pkg - Créer des packages pkg Solaris.

Voyons quelques exemples. Pour les besoins de ce guide, j'utiliserai hello world .rpm emballer. Veuillez noter que hello package est fourni pour presque toutes les distributions Linux. Vous n'avez donc pas besoin de le convertir. Je l'utilise juste pour le plaisir de la démonstration.

Convertir les packages RPM en packages DEB à l'aide d'Alien

Convertissons maintenant le package hello rpm en .deb format utilisant Alien comme ci-dessous :

$ sudo alien --to-deb hello-2.10-5.fc34.x86_64.rpm

Ou bientôt,

$ sudo alien -d hello-2.10-5.fc34.x86_64.rpm

Cela convertira le .rpm donné package dans .deb package et enregistrez le package généré dans le répertoire courant.

Attention : Si aucun indicateur n'est spécifié, Alien convertira les packages en .deb format par défaut.

Vous pouvez installer le package généré à l'aide du gestionnaire de packages par défaut.

Nous pouvons également convertir plusieurs packages à la fois. La commande suivante convertira les packages donnés (hello &vim) en .deb formater.

$ sudo alien hello-2.10-7.x86_64.rpm vim-enhanced-8.2.2637-1.fc34.x86_64.rpm 

Convertir les packages DEB en packages RPM à l'aide d'Alien

De même, nous pouvons convertir le .deb package dans .rpm fichier de package comme ci-dessous :

$ sudo alien --to-rpm hello-2.10-5.fc34.x86_64.rpm

Ou bientôt,

$ sudo alien -r hello-2.10-5.fc34.x86_64.rpm

Installer les packages automatiquement

Parfois, vous souhaiterez peut-être installer automatiquement les packages générés.

Pour convertir un paquet et l'installer automatiquement avec Alien, utilisez -i drapeau.

$ sudo alien -d -i hello-2.10-7.x86_64.rpm 

Cette commande convertira le package .rpm donné au format de package .deb, puis l'installera et supprimera enfin le package généré.

Exemple de résultat :

	dpkg --no-force-overwrite -i hello_2.10-8_amd64.deb
Selecting previously unselected package hello.
(Reading database ... 52712 files and directories currently installed.)
Preparing to unpack hello_2.10-8_amd64.deb ...
Unpacking hello (2.10-8) ...
Setting up hello (2.10-8) ...
Processing triggers for man-db (2.9.4-2) ...

Convertir en plusieurs formats de package

Alien peut créer plusieurs formats de fichiers de package à partir d'un seul fichier de package. L'exemple suivant montre comment créer .deb , et .tgz paquets à partir d'un .rpm fichier.

$ sudo alien --to-deb --to-tgz hello-2.10-7.x86_64.rpm

Conserver les numéros de version

Par défaut, Alien ajoute un au numéro de version mineure de chaque package qu'il convertit. Par exemple, si le numéro de version est 1.2-3, Alien en ajoutera un à la version mineure et le changera en 1.2-4.

Jetez un œil à la sortie de la commande suivante.

$ sudo alien --to-deb hello-2.10-7.x86_64.rpm 
hello_2.10-8_amd64.deb generated

La version du package source dans la commande ci-dessus est 2.10.7. Après la conversion du package, Alien a changé la version mineure de 7 à 8 dans le fichier cible.

Si vous ne voulez pas qu'Alien change le numéro de version, utilisez -k , --keep-version flag pour conserver le numéro de version d'origine dans le package généré.

$ sudo alien -k --to-deb hello-2.10-7.x86_64.rpm 
hello_2.10-7_amd64.deb generated

Comme vous le voyez ci-dessus, le fichier source et la cible ont le même numéro de version.

Obtenir de l'aide

Pour afficher la brève description d'Alien et de toutes les options générales prises en charge, reportez-vous à la section d'aide d'Alien en exécutant la commande suivante :

$ alien --help

Consultez également la page du manuel.

$ man alien

Conclusion

Je ne donnerai aucune garantie quant à la précision du convertisseur Alien. Je n'ai testé que quelques packages tels que Vim, Hello world et Nano. Pour autant que j'ai testé, Alien fonctionne très bien pour moi dans Debian 11 bullseye.

Cela ne fonctionnera probablement pas pour certains packages qui dépendent d'un grand nombre de dépendances. Le résultat peut varier d'un emballage à l'autre.

Dans de tels cas, vous devrez peut-être les créer manuellement à partir de la source ou en utilisant d'autres applications fiables telles que CheckInstall ou Fpm . Je vous suggère de consulter les ressources suivantes pour apprendre à créer des packages à partir de la source.

  • Comment créer des packages Debian à partir de la source
  • Comment créer des packages à partir de la source à l'aide de CheckInstall
  • Comment créer facilement des packages Linux pour plusieurs plates-formes
  • Recréer les paquets binaires Debian déjà installés sur un système
  • Comment convertir des packages DEB en packages Arch Linux

J'espère que cela vous aidera.


Linux
  1. Gestion des packages Linux avec apt

  2. Comment créer des paquets rpm

  3. Comment utiliser XBPS Package Manager sur Void Linux

  4. Comment créer un package RPM Linux

  5. Comment convertir un PDF en JPG avec une ligne de commande sous Linux ?

Comment répertorier les packages installés sous Linux

Comment sécuriser les serveurs Linux avec SE Linux

Comment convertir une page Web en PDF sous Linux

Comment rétrograder des packages sur le système Linux :le guide ultime

Comment répertorier les packages installés sous Linux à l'aide de la gestion des packages

Comment exécuter les packages .run et .bin dans le système Linux