Ya aprendimos cómo construir paquetes para múltiples plataformas y cómo construir paquetes desde la fuente . Hoy vamos a aprender cómo convertir paquetes DEB en paquetes Arch Linux.
Quizás se pregunte por qué necesito convertir un paquete DEB en un paquete Arch Linux mientras AUR , el repositorio de software no oficial más grande, contiene casi todo el software?
¡Verdadero! Sin embargo, algunos paquetes no pueden compilarse (por ejemplo, paquetes de código cerrado) o no pueden compilarse desde AUR por varios motivos, como errores durante la compilación o archivos de dependencia no disponibles.
O el desarrollador no tiene tiempo para crear un paquete en AUR o no le gusta crear un paquete AUR. Las razones pueden ser muchas.
En tales casos, puede usar un script de shell llamado Debtap para convertir paquetes DEB en paquetes Arch Linux. Para aquellos que se preguntan, Debtap significa DEB T o A rch (Linux) P paquete.
Instalar Debtap en Arch Linux
Debtap está disponible en AUR , para que pueda instalarlo usando las herramientas auxiliares de AUR como Paru o Yay .
Para instalar Deudap usando Paru, ejecuta:
$ paru -S debtap
Usando Yay:
$ yay -S debtap
Y asegúrese de que su sistema Arch tenga bash, binutils , archivo pkg y raíz falsa paquetes instalados.
Después de instalar Debtap y todas las dependencias mencionadas anteriormente, ejecute el siguiente comando para crear/actualizar el archivo pkgfile y la base de datos dedeudap.
$ sudo debtap -u
Salida de muestra:
==> Synchronizing pkgfile database... :: Updating 6 repos... download complete: archlinuxfr [ 151.7 KiB 67.5K/s 5 remaining] download complete: multilib [ 319.5 KiB 36.2K/s 4 remaining] download complete: core [ 707.7 KiB 49.5K/s 3 remaining] download complete: testing [ 1716.3 KiB 58.2K/s 2 remaining] download complete: extra [ 7.4 MiB 109K/s 1 remaining] download complete: community [ 16.9 MiB 131K/s 0 remaining] :: download complete in 131.47s < 27.1 MiB 211K/s 6 files > :: waiting for 1 process to finish repacking repos... ==> Synchronizing debtap database... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 34.1M 100 34.1M 0 0 206k 0 0:02:49 0:02:49 --:--:-- 180k % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 814k 100 814k 0 0 101k 0 0:00:08 0:00:08 --:--:-- 113k % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 120k 100 120k 0 0 61575 0 0:00:02 0:00:02 --:--:-- 52381 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 35.4M 100 35.4M 0 0 175k 0 0:03:27 0:03:27 --:--:-- 257k ==> Downloading latest virtual packages list... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 149 0 149 0 0 49 0 --:--:-- 0:00:03 --:--:-- 44 100 11890 0 11890 0 0 2378 0 --:--:-- 0:00:05 --:--:-- 8456 ==> Downloading latest AUR packages list... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 264k 0 264k 0 0 30128 0 --:--:-- 0:00:09 --:--:-- 74410 ==> Generating base group packages list... ==> All steps successfully completed!
Debe ejecutar el comando anterior al menos una vez.
Ahora es el momento de la conversión de paquetes.
Convierta paquetes DEB en paquetes de Arch Linux usando Debtap
Para convertir cualquier paquete DEB, diga Quadrapassel , al paquete Arch Linux usando deudap, haga:
$ debtap quadrapassel_3.22.0-1.1_arm64.deb
El comando anterior convertirá el archivo .deb dado en un paquete Arch Linux. Se le pedirá que ingrese el nombre del mantenedor del paquete y la licencia. Simplemente ingréselos y presione la tecla ENTER para iniciar el proceso de conversión.
La conversión del paquete tomará desde unos pocos segundos hasta varios minutos dependiendo de la velocidad de su CPU. Toma una taza de café.
Salida de muestra:
==> Extracting package data... ==> Fixing possible directories structure differencies... ==> Generating .PKGINFO file... :: Enter Packager name: quadrapassel :: Enter package license (you can enter multiple licenses comma separated): GPL *** Creation of .PKGINFO file in progress. It may take a few minutes, please wait... Warning: These dependencies (depend = fields) could not be translated into Arch Linux packages names: gsettings-backend ==> Checking and generating .INSTALL file (if necessary)... :: If you want to edit .PKGINFO and .INSTALL files (in this order), press (1) For vi (2) For nano (3) For default editor (4) For a custom editor or any other key to continue: ==> Generating .MTREE file... ==> Creating final package... ==> Package successfully created! ==> Removing leftover files...
Si no desea responder ninguna pregunta durante la conversión del paquete, use -q
marcar para omitir todas las preguntas, excepto la edición de archivos de metadatos.
$ debtap -q quadrapassel_3.22.0-1.1_arm64.deb
Para omitir todas las preguntas (aunque no se recomienda), use -Q
bandera.
$ debtap -Q quadrapassel_3.22.0-1.1_arm64.deb
Una vez que se realiza la conversión, puede instalar el paquete recién convertido usando "pacman" en su sistema Arch como se muestra a continuación.
$ sudo pacman -U <package-name>
Obteniendo ayuda
Para mostrar la sección de ayuda, use -h
bandera:
$ debtap -h Syntax: debtap [options] package_filename Options: -h --h -help --help Prints this help message -u --u -update --update Update debtap database -q --q -quiet --quiet Bypass all questions, except for editing metadata file(s) -Q --Q -Quiet --Quiet Bypass all questions (not recommended) -s --s -pseudo --pseudo Create a pseudo-64-bit package from a 32-bit .deb package -w --w -wipeout --wipeout Wipeout versions from all dependencies, conflicts etc. -p --p -pkgbuild --pkgbuild Additionally generate a PKGBUILD file -P --P -Pkgbuild --Pkgbuild Generate a PKGBUILD file only
Lectura relacionada:
- Cómo compilar paquetes Debian desde el código fuente
- Cómo convertir paquetes de Linux con Alien