
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.
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
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) ...
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
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: