La herramienta de paquete avanzado , o APT , es una interfaz de usuario de software gratuito que funciona con bibliotecas principales para manejar la instalación y eliminación de software en Debian y distribuciones de Linux basadas en Debian . [3] APT simplifica el proceso de gestión de software en sistemas informáticos tipo Unix al automatizar la recuperación, configuración e instalación de paquetes de software , ya sea a partir de archivos precompilados o compilando código fuente. [3]
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 de C++ ; APT también incluye programas de línea de comandos para manejar paquetes que utilizan la biblioteca. Tres de estos programas son apt
, apt-get
y apt-cache
. Se utilizan comúnmente en ejemplos porque son simples y ubicuos. 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 una interfaz para dpkg
, más amigable que la dselect
interfaz anterior. Mientras 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).
APT es a menudo aclamado como una de las mejores características de Debian, [4] [5] [6] [7] que los desarrolladores de Debian atribuyen a los estrictos controles de calidad en la política de Debian. [8] [9]
Una característica importante de APT es la forma en que llama dpkg
: realiza una clasificación topológica de la lista de paquetes que se instalarán o eliminarán y llama dpkg
en la mejor secuencia posible. En algunos casos, utiliza las --force
opciones de dpkg
. Sin embargo, sólo lo hace cuando no es capaz de calcular cómo evitar el motivo dpkg
que obliga a forzar la acción.
El usuario indica uno o más paquetes a instalar. Cada nombre de paquete está redactado solo como la parte del nombre del paquete, no como un nombre de archivo completo (por ejemplo, en un sistema Debian, libc6
el argumento proporcionado sería no libc6_1.9.6-2.deb
). En particular, APT obtiene e instala automáticamente paquetes de los que depende el paquete indicado (si es necesario). Esta era una característica distintiva original de los sistemas de gestión de paquetes basados en APT, ya que evitaba fallos en la instalación debido a dependencias faltantes, una especie de infierno de dependencias .
Otra distinción es la recuperación de paquetes de repositorios remotos. APT utiliza un archivo de configuración de ubicación ( /etc/apt/sources.list
) para localizar 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 dejar el software dependiente inoperable, por lo que el usuario debe tener cuidado.
Finalmente, el apt_preferences
mecanismo permite al usuario crear una política de instalación alternativa para paquetes individuales.
El usuario puede especificar paquetes utilizando una expresión regular POSIX .
APT busca en su lista de paquetes almacenados en caché y enumera las dependencias que deben instalarse o actualizarse.
APT recupera, configura e instala las dependencias automáticamente.
Los desencadenantes son el tratamiento de las acciones diferidas.
Los modos de uso apt
y apt-get
que facilitan la actualización de los paquetes instalados incluyen:
update
se utiliza para resincronizar los archivos de índice del paquete desde sus fuentes. Las listas de paquetes disponibles se obtienen de las ubicaciones especificadas en /etc/apt/sources.list
. Por ejemplo, cuando se utiliza un archivo Debian, este comando recupera y escanea los Packages.gz
archivos, de modo que esté disponible información sobre paquetes nuevos y actualizados.upgrade
se utiliza 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, ni 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 dejarán en su versión actual.full-upgrade
( apt
) y dist-upgrade
( apt-get
), además de realizar la función de upgrade
, también maneja inteligentemente el cambio de dependencias con nuevas versiones de paquetes; apt
y apt-get
tener un sistema de resolución de conflictos "inteligente", e intentará mejorar los paquetes más importantes a expensas de los menos importantes si es necesario. El /etc/apt/sources.list
archivo contiene una lista de ubicaciones desde las cuales recuperar los archivos de paquetes deseados. [3] aptitude tiene una dist-upgrade
característica más inteligente llamada full-upgrade
. [10]/etc/apt
Contiene las carpetas y archivos de configuración de APT.
apt-config
es el programa de consulta de configuración de APT. [11] apt-config dump
muestra la configuración. [12]
/etc/apt/sources.list
: [13] Ubicaciones desde las que recuperar paquetes./etc/apt/sources.list.d/
: Fragmentos adicionales de la lista de fuentes./etc/apt/apt.conf
: Archivo de configuración 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 se especifica "fijar", 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 de archivos de paquetes en tránsito./var/lib/apt/lists/
: Área de almacenamiento para información de estado de cada recurso de paquete especificado ensources.list
/var/lib/apt/lists/partial/
: Área de almacenamiento de información estatal en tránsito.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 de red o de CD-ROM . Al 14 de agosto de 2021, [actualizar]el proyecto Debian mantiene un repositorio central de más de 50.000 paquetes de software listos para su descarga e instalación. [14]
Se puede agregar cualquier cantidad de repositorios adicionales al archivo de configuración sources.list/etc/apt/sources.list
de APT ( ) y luego APT los consulta. Las interfaces gráficas a menudo permiten realizar modificaciones 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 utilizar discos compactos y otros medios de almacenamiento (llave USB, discos duros...), utilizando apt-cdrom
[15] o añadiendo file:/
URI [16] al archivo de lista de fuentes. apt-cdrom
Puede especificar una carpeta que no sea un CD-ROM, usando la -d
opción (es decir, un disco duro o una llave USB). Los CD de Debian disponibles para descargar contienen repositorios de Debian. Esto permite actualizar máquinas que no están en red. También se puede utilizar apt-zip
.
Pueden aparecer problemas cuando varias fuentes ofrecen los mismos paquetes. Los sistemas que tienen fuentes posiblemente conflictivas pueden utilizar la fijación APT para controlar qué fuentes deberían ser preferidas.
La función de fijación de APT 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 hayan sido suficientemente probadas para detectar cambios no deseados.
Para hacer esto, se deben modificar los pines en el archivo de preferencias de APT ( ), [17] aunque las interfaces gráficas a menudo simplifican la fijación./etc/apt/preferences
Existen varias otras interfaces para APT, que proporcionan funciones de instalación más avanzadas e interfaces más intuitivas. Éstas incluyen:
Las interfaces APT pueden:
Las interfaces de APT pueden enumerar las dependencias de los paquetes que se están instalando o actualizando, preguntar al administrador si los paquetes recomendados o sugeridos por los paquetes recién instalados también deben instalarse, instalar automáticamente las dependencias y realizar otras operaciones en el sistema, como eliminar archivos y paquetes obsoletos.
El esfuerzo original que condujo al apt-get
programa fue el dselect
proyecto de reemplazo conocido por su nombre clave Deity . [23] Este proyecto fue encargado en 1997 por Brian White, el gerente de lanzamiento de Debian en ese momento. apt-get
Se llamó la primera versión funcional dpkg-get
y solo estaba destinada a ser un programa de prueba para las funciones principales de la biblioteca que respaldarían la nueva interfaz de usuario (UI). [24]
Gran parte del desarrollo original de APT se realizó mediante chat de retransmisión de Internet (IRC), por lo que se han perdido registros. Los archivos de la lista de correo del 'Equipo de creación de la Deidad' incluyen sólo los aspectos más destacados.
El nombre 'Deidad' fue abandonado como nombre oficial del proyecto debido a preocupaciones sobre la naturaleza religiosa del nombre. El nombre de APT se decidió finalmente después de una considerable discusión interna y pública. Al final, el nombre fue propuesto en IRC, aceptado y luego finalizado en las listas de correo. [25]
APT se introdujo en 1998 y las versiones de prueba originales circularon en IRC. La primera versión de Debian que lo incluyó fue Debian 2.1, lanzada el 9 de marzo de 1999. [26]
Al final, el objetivo original del proyecto Deity de reemplazar la dselect
interfaz de usuario fue un fracaso. El trabajo en la parte de la interfaz de usuario del proyecto se abandonó (los directorios de la interfaz de usuario se eliminaron del sistema de versiones simultáneas ) después del primer lanzamiento público de apt-get
. La respuesta a APT como dselect
método y utilidad de línea de comandos fue tan grande y positiva que todos los esfuerzos de desarrollo se centraron en mantener y mejorar la herramienta. No fue hasta mucho más tarde que varias personas independientes crearon interfaces de usuario sobre libapt-pkg
.
Finalmente, un nuevo equipo retomó el proyecto, comenzó a crear nuevas funciones y lanzó la versión 0.6 de APT que introdujo la función Secure APT, utilizando una firma criptográfica sólida para autenticar los repositorios de paquetes. [27]
APT fue diseñado originalmente como una interfaz para que dpkg funcionara con .deb
los paquetes de Debian. Se lanzó una versión de APT modificada para funcionar también con el sistema RPM Package Manager como APT-RPM . [28] El proyecto Fink ha portado APT a Mac OS X para algunas de sus propias tareas de gestión de paquetes, [29] y APT también está disponible en OpenSolaris .
apt-file es un comando, empaquetado por separado de APT, para encontrar qué paquete incluye un archivo específico o para enumerar todos los archivos incluidos en un paquete en repositorios remotos. [30]
{{citation}}
: Mantenimiento CS1: posdata ( enlace )gnome-apt fue escrito por Havoc Pennington