comparando un paquete .pkg.tar.xz (Arch), un .rpm (OpenSuse) y un .deb (Debian)

¿Qué tienen dentro los paquetes que instalamos desde los repositorios de nuestras distros linux?

No me apetecía buscar información teórica de esto por internet, quería investigarlo yo mismo, por lo que me he puesto manos a la obra y he elegido un paquete, en este caso el editor de texto simple Leafpad, he seleccionado mis tres distros favoritas (que en mi opinión son las 3 mejores distribuciones GNU/Linux que existen), he descargado la última versión del paquete «leafpad» que había en cada una (la 0.8.18.1) y aquí los tengo sobre la mesa de disección listos para ser destripados. ¡Bisturí!

Los tres paquetes obtenidos son archivos comprimidos, aunque cada uno lleve al final la extensión de su sistema de instalación pueden ser descomprimidos en una carpeta como si de un zip, un rar o un 7z se tratase.

No voy a hacer ningún análisis sesudo, dejo eso para gente con más formación en programación y paquetería linux que yo. Esto es una mera descripción de laboratorio. Una apertura de cajas chinas para linuxeros curiosos. Nada más. Empecemos:

 
paquete ARCHLINUX: leafpad-0.8.18.1-4-x86_64.pkg.tar.xz

descomprimimos el paquete y nos sale un directorio llamado leafpad-0.8.18.1-4-x86_64.pkg que contiene dentro una única carpeta:

paquete-arch
podemos ver que en el caso de ARCH todo es muy simple, tan sólo una carpeta usr que contiene dos subcarpetas, una bin con el binario (ejecutable) y otra share que contiene el típico archivo .destktop (para colocar el lanzador de la aplicación) así como los iconos y los locales de idioma. Será el poderoso pacman de ARCH quien se encargará de colocar cada cosa en su sitio y listo. Simple y perfecto, puro ArchLinux.

 
paquete OPENSUSE: leafpad-0.8.18.1-9.1.3.x86_64.rpm

como todo el mundo sabe, los paquetes de OpenSuse (así como los de Fedora, CentOS, Mageia, etc, etc) llevan la extensión .rpm. Es ese mundo de las distros Linux que yo llamo «rpm world» o mundo rpm. A diferencia del paquete de ARCH, que se descomprime sin problema alguno, el paquete .rpm he tenido que renombrarlo a .rar para poder descomprimirlo, hecho lo cual, sí que se descomprime y lo que tiene dentro es otro paquete comprimido con la extensión .cpio que si a su vez lo descomprimimos obtenemos como resultado una carpeta usr:

paquete-opensuse

tal y como podemos ver el contenido y organización es similar al paquete de ARCH, sólo que aquí también hay un subdirectorio doc dentro de share que contiene algunos documentos de texto simple descriptivos y de contenido legal del paquete. Excelentes programas de OpenSuse como yum o zypper, se encargarán de todo en la instalación.

 
paquete DEBIAN: leafpad_0.8.18.1-4_amd64.deb

supongo que los paquetes .deb son los archivos de instalación más famosos del mundo GNU/Linux. Debian, es tal vez la más grande distro que existe (para qué negarlo aunque algunos tengamos otras preferencias). La fuerza del mundo de paquetes deb reside no sólo en la misma Debian, sino en que es madre y abuela de otras grandes distribuciones muy conocidas, como UBUNTU y LinuxMint.
El paquete .deb se descomprime sin problemas dándonos el directorio leafpad_0.8.18.1-4_amd64 que contiene «cositas» diferentes a los paquetes anteriores, como podemos ver:

paquete-debian1
vemos que hay 3 archivos: un pequeño archivo de texto llamado debian-binary que tan sólo contiene un número de versión (2.0) y dos archivos comprimidos, data.tar.xz y control.tar.gz. Descomprimamos el primero a ver qué contiene:

paquete-debian2

vemos que data.tar.xz contiene el típico directorio usr, con los consabidos subdirectorios bin y share. En este caso share contiene aún más archivos que en OpenSuse, pues los chicos de Debian han incluido también las páginas man de Leafpad.

Descomprimamos finalmente control.tar.gz :

paquete-debian3contiene un directorio control dentro del cual hay scripts e información importante del paquete como por ejemplo sus dependencias. El superfamoso programa de instalación de Debian APT se encargará de leer este directorio de control para instalar correctamente el paquete.

 
Conclusión: 3 formas distintas de hacer un excelente trabajo, desde la simplicidad de ARCH hasta la exhaustividad de DEBIAN, con el punto medio del equilibrio y bien hacer de OPENSUSE. Hazlo como quieras, pero hazlo bien.

Un comentario en “comparando un paquete .pkg.tar.xz (Arch), un .rpm (OpenSuse) y un .deb (Debian)”

  1. Nunca se me habia ocurrido probar ha hacer eso! Buena idea, muy interesante. Algún día investigaré como crear estos paquetes a partir de mis programas en python 🙂

Deja un comentario