Advanced Packaging Tool

De Wikipedia, la enciclopedia libre
Ir a la navegación Ir a la búsqueda
Advanced Packaging Tool
Apt-get install mediawiki.png
Apt-get instalando MediaWiki.
Información general
Tipo de programa Sistema de gestión de paquetes
Desarrollador Proyecto Debian
Lanzamiento inicial 16 de agosto de 1998
Licencia GNU GPL
Información técnica
Programado en C
Plataformas admitidas multiplataforma
Versiones
Última versión estable 1.8.2.2 (info) ( 09 de diciembre de 2020 (1 año, 8 meses y 7 días))
Última versión en pruebas 2.2.2 (info) ( 01 de marzo de 2021 (1 año, 5 meses y 15 días))
Enlaces

Advanced Packaging Tool[1][2]​ (Herramienta Avanzada de Empaquetado), abreviado APT, es una interfaz de usuario de software libre, bajo la concepción de la gestión de paquetes de software, creado por el proyecto Debian. APT simplifica el proceso de administración de software en sistemas informáticos similares a Unix (tales como GNU/Linux) al automatizar la recuperación, configuración e instalación de paquetes de software, ya sea desde archivos precompilados o mediante la compilación del código fuente.

Uso[editar]

APT es una colección de herramientas distribuidas en un paquete llamado apt. Una parte importante de APT se define en una biblioteca de funciones C++; APT también incluye programas de línea de comandos para manejar paquetes, que usan la biblioteca. Éstos tres programas son apt, apt-get y apt-cache. Se usan comúnmente en ejemplos porque son simples y omnipresentes. El paquete apt tiene una prioridad ''importante" en todas las versiones actuales de Debian y, por lo tanto, se incluye en una instalación predeterminada de Debian. APT puede considerarse un front-end para dpkg, más amigable que el anterior dselect front-end. Mientras que dpkg realiza acciones en paquetes individuales, APT gestiona las relaciones (especialmente las dependencias) entre ellos, así como el abastecimiento y la gestión de decisiones de versiones de nivel superior (seguimiento de versiones y fijación de versiones).

Existen también programas que proporcionan un frontispicio para APT, generalmente basados en apt-get, como aptitude con una interfaz de texto ncurses, Synaptic con una interfaz gráfica GTK+, o Adept con una interfaz gráfica Qt. Existe un repositorio central con más de ~25 000 paquetes apt utilizados por apt-get y programas derivados para descargar e instalar aplicaciones directamente desde Internet, conocida como una de las mejores cualidades de Debian.

APT es a menudo aclamado como una de las mejores características de Debian,[3][4][5][6]​ que los desarrolladores atribuyen a los estrictos controles de calidad en la política de Debian.[7][8]

Una característica importante de APT es la forma en que llama a dpkg: realiza un ordenamiento topológico de la lista de paquetes que se instalarán o eliminarán y llama a dpkg de la mejor manera posible. secuencia posible. En algunos casos, utiliza las opciones --force de dpkg. Sin embargo, solo hace esto cuando no puede calcular cómo evitar la razón por la cual dpkg requiere que se fuerce la acción.

APT fue rápidamente utilizado para funcionar con paquetes .deb, en los sistemas Debian y distribuciones derivadas, pero desde entonces ha sido modificado para trabajar con paquetes RPM, con la herramienta apt-rpm, y para funcionar en otros sistemas operativos, como Mac OS X (Fink) y OpenSolaris (distribución Nexenta OS). Cabe mencionar que a partir de la versión 1.0, esta incluye una barra de progreso que muestra el porcentaje de instalación.

Instalando Software[editar]

El usuario indica uno o más paquetes a instalar. Cada nombre de paquete se expresa como solo la parte del nombre del paquete, no como un nombre de archivo completamente calificado (por ejemplo, en un sistema Debian, libc6 sería el argumento provisto, no libc6_1.9.6- 2.deb). En particular, APT obtiene e instala automáticamente los paquetes de los que depende el paquete indicado (si es necesario). Esta fue una característica distintiva original de los sistemas de administración de paquetes basados en APT, ya que evitó fallas en la instalación debido a la falta de dependencias, una especie de infierno de dependencias.

Otra distinción es la recuperación de paquetes desde repositorios remotos. APT usa un archivo de configuración de ubicación (/etc/apt/sources.list) para ubicar los paquetes deseados, que podrían estar disponibles en la red o en un medio de almacenamiento extraíble, por ejemplo, y recuperarlos, y también obtener información sobre los paquetes disponibles, pero no instalados.

APT proporciona otras opciones de comando para anular las decisiones tomadas por el sistema de resolución de conflictos de apt-get. Una opción es forzar una versión particular de un paquete. Esto puede degradar un paquete y hacer que el software dependiente quede inoperable, por lo que el usuario debe tener cuidado.

Finalmente, el mecanismo apt_preferences permite al usuario crear una política de instalación alternativa para paquetes individuales.

El usuario puede especificar paquetes usando una expresión regular POSIX.

APT busca en su lista de paquetes en caché y enumera las dependencias que deben instalarse o actualizarse.

APT recupera, configura e instala las dependencias automáticamente.

Los disparadores son el tratamiento de las acciones diferidas.

Update, upgrade y dist-upgrade[editar]

Los modos de uso de apt y apt-get que facilitan la actualización de paquetes instalados incluyen:

  • update se utiliza para volver a sincronizar los archivos de índice del paquetes desde sus fuentes. Las listas de paquetes disponibles se obtienen de las ubicaciones especificadas en /etc/apt/sources.list. Por ejemplo, cuando se usa un archivo Debian, este comando recupera y analiza los archivos Packages.gz, de modo que la información sobre los paquetes nuevos y actualizados esté disponible.
  • upgrade se usa para instalar las versiones más recientes de todos los paquetes actualmente instalados en el sistema desde las fuentes enumeradas en /etc/apt/sources.list. Los paquetes actualmente instalados con nuevas versiones disponibles se recuperan y actualizan; bajo ninguna circunstancia se eliminan los paquetes actualmente instalados, o se recuperan e instalan los paquetes que aún no están instalados. Las nuevas versiones de los paquetes actualmente instalados que no se pueden actualizar sin cambiar el estado de instalación de otro paquete se mantendrán en su versión actual.
  • full-upgrade (apt) y dist-upgrade (apt-get), además de realizar la función de actualización, también maneja de manera inteligente las dependencias cambiantes con nuevas versiones de paquetes; apt y apt-get tienen un sistema de resolución de conflictos inteligente e intentarán actualizar los paquetes más importantes a expensas de los menos importantes si es necesario. El archivo /etc/apt/sources.list contiene una lista de ubicaciones desde las que recuperar los archivos de paquetes deseados. aptitude tiene una función de actualización de dist-upgrade más inteligente llamada full-upgrade.[9]

Configuración y archivos[editar]

/etc/apt contiene las carpetas y archivos de configuración de APT.[10]

apt-config es el programa de consulta de configuración de APT.[10]

apt-config dump muestra la configuración.[11]

Archivos[editar]

  • /etc/apt/sources.list:[12]​ Ubicaciones desde las que buscar paquetes.
  • /etc/apt/sources.list.d/: Fragmentos adicionales de la lista de fuentes.
  • /etc/apt/apt.conf: Archivo de configuración de APT.
  • /etc/apt/apt.conf.d/: Fragmentos del archivo de configuración de APT.
  • /etc/apt/preferences.d/: Directorio con archivos de preferencias de versión. Aquí es donde especificaría "pinning", es decir, una preferencia para obtener ciertos paquetes de una fuente separada o de una versión diferente de una distribución.
  • /var/cache/apt/archives/: Área de almacenamiento para archivos de paquetes recuperados.
  • /var/cache/apt/archives/partial/: Área de almacenamiento para archivos de paquetes en tránsito.
  • /var/lib/apt/lists/: Área de almacenamiento para la información de estado de cada paquete de recursos especificado en sources.list
  • /var/lib/apt/lists/partial/: Área de almacenamiento de información de estado en tránsito.

Sources (Fuentes)[editar]

APT se basa en el concepto de repositorios para encontrar software y resolver dependencias. Para APT, un repositorio es un directorio que contiene paquetes junto con un archivo de índice. Esto se puede especificar como una ubicación en red o de CD-ROM. El proyecto Debian mantiene un repositorio central de más de 50.000 paquetes de software listos para descargar e instalar.[13]

Se puede agregar cualquier cantidad de repositorios adicionales al archivo de configuración sources.list de APT (/etc/apt/sources.list) y luego APT puede consultarlos. Las interfaces gráficas a menudo permiten modificar sources.list de forma más sencilla (apt-setup). Una vez que se ha especificado un repositorio de paquetes (como durante la instalación del sistema), los paquetes en ese repositorio se pueden instalar sin especificar una fuente y se mantendrán actualizados automáticamente.

Además de los repositorios de red, también se pueden usar compact discs y otros medios de almacenamiento (memoria USB, discos duros...), usando apt-cdrom[14]​ o añadiendo file:/ URI[15]​ al archivo de la lista de fuentes. apt-cdrom puede especificar una carpeta que no sea un CD-ROM, utilizando la opción -d (es decir, un disco duro o una llave USB). Los CD de Debian disponibles para descargar contienen repositorios de Debian. Esto permite actualizar las máquinas que no están en red. También se puede usar apt-zip.

Pueden surgir problemas cuando varias fuentes ofrecen los mismos paquetes. Los sistemas que tienen fuentes posiblemente conflictivas pueden usar la fijación APT para controlar qué fuentes deben preferirse.

sources.list[editar]

Captura de ejemplo del fichero /etc/apt/sources.list, o bien, sources.list en una distribución Linux basada en Debian.

Sources.list es el archivo hallado, siguiendo la localización completa /etc/apt/sources.list,[16]​ en distribuciones GNU/Linux derivadas de Debian GNU/Linux; donde se enlistan las "fuentes" o "repositorios" disponibles de los paquetes de software candidatos a ser: actualizados, instalados, eliminados, buscados, sujetos a comparación de versiones, etc.

La herramienta APT administra el acceso a dichos paquetes, utilizando el fichero sources.list, para realizar las acciones previamente mencionadas.

De esta manera el archivo sources.list es una pieza importante en la administración, por parte del usuario o administrador de sistemas, en Debian GNU/Linux y en las distribuciones derivadas. El archivo puede ser editado mediante un editor de texto (tales como gedit, Kate, Vi, nano o pico), o directamente desde una línea de comandos, para la modificación de la lista de repositorios, ya sea, comentando la línea, (agregado el símbolo # al inicio de una lista de paquetes de software), o eliminando una línea. Es recomendable sólo comentarla para evitar complicaciones futuras.

Acciones a realizar[editar]

Tras realizar alguna modificación, ya sea para actualizar un repositorio cambiando parámetros; agregar una línea, si se desea poder descargar otro software; eliminar un repositorio (agregando un símbolo #), etc., se debe escribir en consola lo siguiente:

Para actualizar lo realizado o la lista de paquetes:[17]apt-get update o apt update (Ultimas versiones).

Para actualizar la versión de uno o más paquetes: apt-get upgrade

Similar al anterior pero de una forma más inteligente en la resolución de conflictos: apt-get dist-upgrade

sources.list en Debian GNU/Linux (y derivadas)[editar]

El contenido del archivo sources.list en una versión estable de Debian GNU/Linux, normalmente posee el siguiente formato:

deb http://web.archive.org/web/http://http.PAIS.debian.org/debian stable main contrib non-free
deb http://web.archive.org/web/http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free
    
#deb-src http://web.archive.org/web/http://http.PAIS.debian.org/debian stable main contrib non-free
#deb-src http://web.archive.org/web/http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free


Ejemplo en formato http de repositorio para la versión estable:

deb http://ftp.debian.org/debian/ stable main
#deb-src http://ftp.debian.org/debian/ stable main

Ejemplo de repositorio para la versión de pruebas:

deb http://ftp.debian.org/debian/ testing main
#deb-src http://ftp.debian.org/debian/ testing main

Ejemplo de repositorio para la versión inestable:

deb http://ftp.debian.org/debian/ unstable main
#deb-src http://ftp.debian.org/debian/ unstable main

Ejemplo de repositorio de paquetes Experimentales

deb http://ftp.debian.org/debian/ ../project/experimental main
#deb-src http://ftp.debian.org/debian/ ..project/experimental main

sources.list en Ubuntu (y derivadas)[editar]

El contenido del archivo sources.list en Ubuntu normalmente posee un formato similar a este:

deb http://PAIS.archive.ubuntu.com/ubuntu/ VersiónDeDesarrollo main restricted
#deb-src http://PAIS.archive.ubuntu.com/ubuntu/ VersiónDeDesarrollo main restricted
deb http://PAIS.archive.ubuntu.com/ubuntu/ VersiónDeDesarrollo-updates main restricted
#deb-src http://PAIS.archive.ubuntu.com/ubuntu/ VersiónDeDesarrollo-updates main restricted
deb http://PAIS.archive.ubuntu.com/ubuntu/ VersiónDeDesarrollo universe
#deb-src http://PAIS.archive.ubuntu.com/ubuntu/ VersiónDeDesarrollo universe
deb http://PAIS.archive.ubuntu.com/ubuntu/ VersiónDeDesarrollo-backports main restricted universe multiverse
#deb-src http://PAIS.archive.ubuntu.com/ubuntu/ VersiónDeDesarrollo-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu VersiónDeDesarrollo-security main restricted
#deb-src http://security.ubuntu.com/ubuntu VersiónDeDesarrollo-security main
deb http://security.ubuntu.com/ubuntu VersiónDeDesarrollo-security universe
#deb-src http://security.ubuntu.com/ubuntu VersiónDeDesarrollo-security universe

Editar un archivo[editar]

Para editarlo, se puede utilizar el software gedit, nano o cualquier otro editor de texto instalado:

Comandos Imagen

# gedit /etc/apt/sources.list

# nano /etc/apt/sources.list

o, en su defecto, en modo superusuario (es decir, precedido de sudo)

$ sudo gedit /etc/apt/sources.list

$ sudo nano /etc/apt/sources.list

sudo nano /etc/apt/sources.list

APT pinning[editar]

La característica APT pinning permite a los usuarios obligar a APT a elegir versiones particulares de paquetes que pueden estar disponibles en diferentes versiones de diferentes repositorios. Esto permite a los administradores asegurarse de que los paquetes no se actualicen a versiones que puedan entrar en conflicto con otros paquetes del sistema o que no se hayan probado lo suficiente para detectar cambios no deseados.

Para hacer esto, se deben modificar los pins en el archivo de preferencias de APT (/etc/apt/preferences),[18]​ aunque las interfaces gráficas a menudo simplifican la fijación (el pinning).

Huevo de pascua[editar]

Apt-get tiene un huevo de pascua, también conocido como easter egg, muy famoso. Se trata de escribir apt-get moo en una línea de comandos, lo que dará como resultado la aparición de una vaca hecha en arte ASCII, que variará su imagen dependiendo del sistema operativo sobre el cual se ejecuta.

Referencias[editar]

  1. «Debian -- Details of package apt in buster». packages.debian.org. Consultado el 13 de agosto de 2021. 
  2. «apt-get(8) — apt — Debian unstable — Debian Manpages». manpages.debian.org. Consultado el 13 de agosto de 2021. 
  3. Byfield, Bruce (9 December 2004). «An apt-get primer». Consultado el 18 December 2021. 
  4. «From the archives: the best distros of 2000». Tux radar. Archivado desde el original el 26 July 2020. 
  5. Dorgan, David (19 January 2004). «Migrating to Debian». linux.ie. Archivado desde el original el 13 de mayo de 2006. 
  6. «Mobile Linux development with Familiar and a minimal Debian». Mobile Tux. Archivado desde el original el 15 September 2008. 
  7. «Why Debian». Consultado el 18 December 2021. 
  8. «Debian policy manual». Consultado el 18 December 2021. 
  9. «Discussion on dist-upgrade vs. full-upgrade». Consultado el 18 December 2021. 
  10. a b «apt-config(8)». Debian Manpages. Consultado el 18 December 2021. 
  11. «Query APT configuration using apt-config - Debian admin». Consultado el 18 December 2021. 
  12. «SourcesList». Debian Wiki. Consultado el 18 de diciembre de 2021. 
  13. «Debian 11 "bullseye" released». www.debian.org. Consultado el 11 de mayo de 2022. 
  14. «apt-cdrom(8)». Debian Manpages. Consultado el 27 de diciembre de 2021. 
  15. p. ej. deb file:/mnt/install stable main contrib non-free. .
  16. APT HOWTO - Configuración Básica
  17. Guía de referencia Debian - Actualizando una distribución
  18. «AptConfiguration». Debian Wiki. Consultado el 18 de mayo de 2020. 

Véase también[editar]

  • dpkg, usado por APT para instalar y desinstalar paquetes Debian.
  • aptitude, frontispicio en modo texto para apt-get
  • apt-rpm, versión de APT modificada para usar RPM Package Manager.
  • Fink, un proyecto para portar programas Linux a Mac OS X, que utiliza APT.
  • Synaptic, GUI GTK.
  • Adept, GUI Qt.

Enlaces externos[editar]