Tutoriales

Cómo convertir paquetes de Linux usando Alien

Es posible que los desarrolladores y mantenedores no siempre empaqueten para todas las distribuciones de Linux. Es posible que algunos paquetes solo estén disponibles para una plataforma Linux específica. En tales casos, puede utilizar herramientas de conversión de paquetes como extraterrestre para convertir fácilmente paquetes de Linux en diferentes formatos. Esta guía le dirá qué es Alien, cómo instalar Alien en diferentes sistemas operativos Linux y luego convertir un paquete de Linux de un formato a otro usando Alien Package Converter.

¿Qué es extranjero?

Alien es un convertidor de paquetes de línea de comandos que convierte entre diferentes formatos de paquetes de Linux como Red Hat rpm, Debian deb, Stampede slp, Slackware tgz y Solaris pkg, etc.

Actualmente, Alien admite los siguientes formatos de paquete:

  • Base estándar de Linux (LSB),
  • Cumple con LSB .rpm Paquetes,
  • .deb,
  • Prisa (.slp),
  • Solaris (.pkg)
  • Slackware.tgz, .txz, .tbz,.tlz).

Los programas alienígenas vienen al rescate cuando un paquete en particular o una versión de un paquete no está disponible para su distribución de Linux. Puede convertir fácilmente dicho paquete a su formato de paquete preferido con Alien e instalarlo en su sistema.

Alien no es solo un convertidor de paquetes, también puede instalar automáticamente los paquetes generados después de que el paquete se haya convertido. Incluso puede tener la opción de convertir los scripts para que se ejecuten cuando se instala el paquete. Debe tener cuidado al utilizar esta opción. Debe revisar cuidadosamente los scripts y verificar qué hacen esos scripts antes de usar esta opción.

Aviso: Alien no debe usarse para convertir paquetes importantes del sistema, como: dentro, libcque son necesarios para el funcionamiento de su sistema Linux. Los paquetes del sistema especialmente diseñados para una distribución de Linux en particular no se pueden usar indistintamente y podrían dañar su sistema si intenta instalarlos a la fuerza.

Instalar Alien en Linux

Alien Package Converter está disponible en los repositorios estándar de las distribuciones populares de Linux.

Para instalar Alien en Alpine Linux, haga lo siguiente:

$ sudo apk add alien

Instale Alien en Debian, Ubuntu LTS, Linux Mint, Pop! _OS:

$ sudo apt install alien

Instale Alien en Fedora:

$ sudo dnf install alien

Instale Alien en CentOS 8, RHEL 8, AlmaLinux 8, Rocky Linux 8:

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

Conversión de paquetes de Linux con Alien

La sintaxis general para convertir paquetes de Linux con Alien de un formato a otro es:

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

¡Convertir paquetes con Alien es muy fácil!

Para a. para convertir .rpm Paquete en un .deb Paquete, solo ejecuta alien root o sudo Usuario:

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

Convierta de manera similar .deb Archivar a .rpm, Correr:

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

Aquí está la lista de indicadores compatibles para convertir paquetes de Linux a varios formatos.

  • -d, --to-deb – Construye paquetes Debian. Ésta es la configuración predeterminada.
  • -r, --to-rpm – Hacer paquetes RPM.
  • -l, --to-lsb – Cree un paquete LSB.
  • -t, --to-tgz – Crea paquetes Tgz.
  • --to-slp – Hacer paquetes slp.
  • -p, --to-pkg – Cree paquetes pkg de Solaris.

Veamos algunos ejemplos. Para esta guía estoy usando hello world .rpm Paquete. Tenga en cuenta que hello El paquete está empaquetado para casi todas las distribuciones de Linux. Entonces no tienes que convertirlo. Solo lo estoy usando para fines de demostración.

Convierta paquetes RPM en paquetes DEB con Alien

Ahora convierta el paquete hello rpm a .deb Formatee con alien de la siguiente manera:

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

O corto,

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

Esto transformará lo que se da .rpm Paquete en .deb Empaquete y guarde el paquete generado en el directorio actual.

Convierta un paquete RPM en un paquete Deb con Alien

Aviso: Si no se especifica ninguna bandera, Alien convierte los paquetes a .deb formato por defecto.

Puede instalar el paquete generado utilizando el administrador de paquetes estándar.

También podemos convertir varios paquetes al mismo tiempo. El siguiente comando convierte los paquetes especificados (hola y vim) a .deb Formato.

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

Convierta paquetes DEB en paquetes RPM con Alien

Podemos hacer lo mismo .deb Paquete en .rpm Archivo de paquete de la siguiente manera:

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

O corto,

$ sudo alien -r hello-2.10-5.fc34.x86_64.rpm
Conversión de un paquete deb en un paquete rpm con Alien
Conversión de un paquete deb en un paquete rpm con Alien

Instalar paquetes automáticamente

A veces, es posible que desee instalar automáticamente los paquetes generados.

Para convertir un paquete e instalarlo automáticamente con Alien, use -i Bandera.

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

Este comando convierte el paquete .rpm especificado al formato de paquete .deb y luego lo instala y finalmente elimina el paquete generado.

Salida de muestra:

	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) ...
Instalar paquetes automáticamente con Alien
Instalar paquetes automáticamente con Alien

Convierta a múltiples formatos de paquete

Alien puede crear varios formatos de archivo de paquete a partir de un solo archivo de paquete. El siguiente ejemplo muestra cómo puede .deb, y .tgz Paquetes de un .rpm Expediente.

$ sudo alien --to-deb --to-tgz hello-2.10-7.x86_64.rpm
Convierta un solo paquete a múltiples formatos de paquete
Convierta un solo paquete a múltiples formatos de paquete con Alien

Mantener los números de versión

De forma predeterminada, Alien agregará uno al número de versión menor de cada paquete convertido. Por ejemplo, si el número de versión es 1.2-3, Alien agregará uno a la versión secundaria y lo cambiará a 1.2-4.

Mire el siguiente resultado del comando.

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

La versión del paquete fuente en el comando anterior es 2.10.7. Después de la conversión del paquete, Alien cambió la versión secundaria de 7 a 8 en el archivo de destino.

Si no desea que Alien cambie el número de versión, use -k, --keep-version Marcar para mantener el número de versión original en el paquete generado.

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

Como puede ver arriba, el archivo de origen y el destino tienen el mismo número de versión.

consigue ayuda

Para obtener una breve descripción de Alien y todas las opciones generales que admite, consulte la sección Ayuda de Alien ejecutando el siguiente comando:

$ alien --help

Consulte también la página del manual.

$ man alien

diploma

No garantizaré la precisión del convertidor alienígena. Solo he probado algunos paquetes como Vim, Hello World y Nano. Por lo que he probado, Alien me funciona bien en Debian 11 Bullseye.

Probablemente no funcione para algunos paquetes que dependen de una gran cantidad de dependencias. El resultado puede variar de un paquete a otro.

En tales casos, es posible que deba compilarlos manualmente desde la fuente o usar otras aplicaciones confiables como: ComprobarInstalar o Fpm. Recomiendo consultar los siguientes recursos para aprender a empaquetar desde el código fuente.

Espero que ayude.

Recurso:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba