# Formatos de paquetes en GNU/Linux

Un Formato de paquetes en GNU/Linux, es un tipo de archivo que contiene programas de ordenador y metadatos que necesitan los gestores de paquetes para su funcionamiento e instalación de software
Si bien el formato de archivo de almacenamiento en sí puede no cambiar, los formatos de paquete contienen metadatos adicionales, como un archivo de manifiesto o ciertos diseños de directorio.
Los paquetes pueden contener código fuente o archivos ejecutables/binarios. Los paquetes se pueden convertir de un tipo a otro con softwares como Alien.
Los paquetes existentes en GNU/Linux, son dependientes de la distribución en la que se estén usando; son usados comúnmente para la compresión de aplicaciones en diferentes formatos para distintos medios de instalación. Estos son un conjunto de ficheros que contienen instrucciones para la reconstrucción de la aplicación dentro del sistema nuevo, dentro de estos, podemos encontrar, Paquetes Binarios y Paquetes de código Fuente.
Los Paquetes Binarios, contienen, como se menciona, la información necesaria para reconstruir una aplicación en un sistema nuevo, sin necesidad de encontrarse en el mismo ordenador/computador(a).

## Formatos especializados

| Nombre Formato (Sigla) | Utilizado por / Descripción |
| .apk | Alpine Linux usa el Alpine package manager, apk-tools, el cual fue originalmente era una colección de scripts de shell, pero más tarde fue reescribió en C. |
| AppImage | Independiente de la distribución Linux. (Binario autónomo) |
| .deb | Contienen ejecutables, archivos de configuración, páginas de información, derechos de copyright y otras documentaciones, los paquetes Debian se colocan en archivos .deb. El nombre del paquete debe contener: <NumeroDeVersión>-<VersiónDeDebian>-<ArquitecturaDeDebian>.deb Una desventaja de este tipo de paquetes, es su sistema de actualización, debido a que, se necesita tener todos los archivos, como si se tratase una nueva instalación. Lo utilizan Distros. basadas en .deb, tanto como Debian GNU/Linux y distros. derivadas de Debian; y como Ubuntu y distros. derivadas de Ubuntu. |
| ebuild | Paquete usado solo por la distribución Gentoo. Consiste en un script en Bash ejecutable solo en un entorno específico. Sus archivos, deben de ser archivos de texto con la extensión .ebuild. Contiene información sobre cómo obtener, compilar e instalar un paquete en el sistema Portage, pkgcore o Paludis. A partir de estos también se pueden crear paquetes binarios. Las distribuciones basadas en Gentoo, utilizan también el sistema ebuilds, compartiendo total o parcialmente mismo árbol de Portage. El nombramiento de este paquete debe obedecer la siguiente regla: nombre-versión.ebuild El contenido del nombre solo puede contener letras minúsculas sin acentuar, dígitos del cero al nueve, guiones, guiones bajos o el signo de adición; también, si se desea, se puede agregar alguno de los siguientes sufijos: SufijoSignificado _alphaLiberación alpha _betaLiberación beta _preLiberación previa a liberación candidata final _rcLiberación candidata final Sin sufijoVersión normal. _pVersión con parches |
| .fpm | Frugalware, que utiliza el gestor de paquetes Pacman de Arch Linux, pero la extensión formatos de paquetes se denominan .fpm, Frugalware Package Manager |
| eopkg | Solus utiliza este formato de pquetes, eopkg: (Evolve OS Package), el cual es una bifurcación del gestor de paquetes PiSi de Pardus. |
| Flatpak | Todos los sistemas Linux |
| PiSi | PiSi (Packages Installed Successfully as Intended): Fue utilizado por Pardus, hasta que finalmente dicha distribución pasó a basarse en Debian. Actualmente está en desarrollo una nueva distribución denominada Pisi Linux que utiliza dicho formato de paquetes. |
| .pkg.tar.xz | pkg.tar.xz es el formato de paquetes estándar, manejado por Pacman, de Arch Linux y distribuciones derivadas de Arch. Pacman combina un paquete binario simple, con un sistema de fácil construcción. La meta de pacman es el facilitamiento de la instalación de paquetes, sea que estén dentro de los repositorios oficiales de Arch, o creaciones de los mismos usuarios. Se encuentra escrito en el lenguaje de programación C, y usa el formato de compresión .pkg.tar.xz. Su ventaja sobre los demás tipos de paquetes, es la actualización que estos ofrecen, pues se sincronizan directamente con el servidor maestro, permitiendo así que el usuario pueda instalar paquetes (incluyendo dependencias) con un solo comando. A partir de la versión 2010.05, los paquetes se comprimen en el formato pkg.tar.xz, con compresión LZMA2, lo cual provee muchas ventajas tanto de espacio (hasta un 30% más de compresión respecto a su antiguo formato, pkg.tar.gz). Todo esto resulta en una menor carga para los servidores por el menor tamaño de los paquetes. |
| MO | SLAX utiliza este formato de paquetes. Se abre con el Gestor de módulos de SLAX, y a continuación, se instala al Menú de KDE como un fichero de configuración de escritorio. Puede ser colocado en la carpeta de los módulos de SLAX CD para instalar en el arranque. |
| PUP y PET | Puppy Linux, usa a PET, (Puppy Enhanced Tarball), formato PUP está en desuso desde la versión 3.0. Se instala solamente haciendo un clic sobre el tipo de paquete. El sistema operativo puede ser instalado en una memoria flash por portabilidad, y traer aplicaciones con él. |
| .rpm | RPM — Red Hat Package Manager, fue desarrollado para la distribución de Red Hat, con el fin de crear un sistema fácil de crear e instalar. Una poderosa ventaja, sobre este tipo de paquetes sobre otros, es su forma de actualización para las aplicaciones, estos, no necesitan tener los mismos datos que el instalador original, solamente puede incluir (si se desea) los archivos que se actualizarán, esto reduce altamente el peso del paquete. Es utilizado por muchas otras distribuciones, como también por openSUSE y Mandriva; Red Hat Enterprise Linux, Fedora, derivadas tales como CentOS, and SUSE Linux Enterprise Server. |
| Snap | Compatible con la mayoría de la distribuciones Linux, pero principalmente desarrollada por Ubuntu |
| .tbz2 | Gentoo Linux y distribuciones derivadas de Gentoo utilizan este formato de paquetes; tal como la descontinuada Sabayon Linux que utilizó este formato de paquetes, manejado por Entropy. Gentoo Linux admiten los siguientes formatos: bzip2, gzip, lz4, lzip, lzop, xz y zstd. |
| .tlz | Dragora poseía este formato de paquetes estándar. |
| .tgz | Es un archivo de paquetes específico para Unix, comprimido con el compresor GNU Zip. Es un paquete de código fuente, ocupado para contener aplicaciones, y su código fuente, para no tener que crear un tipo de paquete específico para cada distribución. A diferencia de los paquetes .deb, o .rpm, este no contiene instrucciones particulares de instalación para cada distribución, por lo que la instalación del contenido deberá ser compilado por el usuario. |
| .txz | Slackware y distros. derivadaa de Slackware utilizan estos formatos de paquetes, los cuales son comprimidos en un tarball (El formato .tgz fue utilizado hasta la versión 12.2) en vez de .tar.gz. |