Desarrollador(es) | El proyecto Debian |
---|---|
Lanzamiento inicial | 31 de marzo de 1998 ( 31-03-1998 ) | [1]
Versión estable | 2.9.7 [2] / 30 de julio de 2024 ( 30 de julio de 2024 ) |
Repositorio |
|
Escrito en | C++, [3] script de shell, [3] lenguaje de marcado extensible, [3] CMake, [3] C, [3] Perl [3] |
Sistema operativo | Similar a Unix |
Tipo | Gestor de paquetes |
Licencia | Licencia GPLv2+ |
Sitio web | wiki.debian.org/AptCLI |
APT ( Advanced Package Tool ) es una interfaz de usuario de software libre que funciona con bibliotecas centrales para gestionar la instalación y eliminación de software en Debian y distribuciones Linux basadas en Debian . [4] 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 desde archivos precompilados o compilando el código fuente. [4]
APT es una colección de herramientas distribuidas en un paquete llamado apt . Una parte significativa de APT está definida en una biblioteca de funciones de C++apt
; APT también incluye programas de línea de comandos para tratar con paquetes, que utilizan la biblioteca. Tres de estos programas son , apt-get
y apt-cache
. Se utilizan comúnmente en ejemplos porque son simples y ubicuos. El paquete apt es de prioridad " importante " en todas las versiones actuales de Debian y, por lo tanto, se incluye en una instalación de Debian predeterminada. APT puede considerarse una interfaz para dpkg
, más amigable que la dselect
interfaz anterior. Si bien dpkg
realiza acciones en paquetes individuales, APT administra las relaciones (especialmente las dependencias) entre ellos, así como el abastecimiento y la gestión de decisiones de control 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, [5] [6] [7] [8] lo que los desarrolladores de Debian atribuyen a los estrictos controles de calidad en la política de Debian. [9] [10]
Una característica importante de APT es la forma en que realiza las llamadas dpkg
: realiza una clasificación topológica de la lista de paquetes que se instalarán o eliminarán y realiza las llamadas dpkg
en la mejor secuencia posible. En algunos casos, utiliza las --force
opciones de dpkg
. Sin embargo, solo lo hace cuando no puede calcular cómo evitar el motivo dpkg
por el que se debe forzar la acción.
El usuario indica uno o más paquetes para instalar. El nombre de cada paquete se expresa simplemente como la parte del nombre del paquete, no como un nombre de archivo completo (por ejemplo, en un sistema Debian, libc6
sería el argumento proporcionado, no libc6_1.9.6-2.deb
). Cabe destacar que APT obtiene e instala automáticamente los paquetes de los que depende el paquete indicado (si es necesario). Esta era una característica distintiva original de los sistemas de administración de paquetes basados en APT, ya que evitaba fallas de instalación debido a dependencias faltantes, un tipo de infierno de dependencias .
Otra distinción es la recuperación de paquetes desde repositorios remotos. APT utiliza un archivo de configuración de ubicación ( /etc/apt/sources.list
) para localizar los paquetes deseados, que pueden 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 ofrece 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 inoperativo el software dependiente, 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 de apt
y apt-get
que facilitan la actualización de los paquetes instalados incluyen:
update
se utiliza para resincronizar los archivos de índice de paquetes desde sus fuentes. Las listas de paquetes disponibles se obtienen de las ubicaciones especificadas en /etc/apt/sources.list
. Por ejemplo, al utilizar un archivo Debian, este comando recupera y escanea los Packages.gz
archivos, de modo que esté disponible la información sobre los paquetes nuevos y actualizados.upgrade
se utiliza para instalar las versiones más nuevas de todos los paquetes instalados actualmente en el sistema desde las fuentes enumeradas en /etc/apt/sources.list
. Los paquetes instalados actualmente con nuevas versiones disponibles se recuperan y actualizan; bajo ninguna circunstancia se eliminan los paquetes instalados actualmente ni se recuperan e instalan los paquetes que aún no están instalados. Las nuevas versiones de los paquetes instalados actualmente 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 de forma inteligente los cambios de dependencias con nuevas versiones de los paquetes; apt
y apt-get
tiene un sistema de resolución de conflictos "inteligente", e intentará actualizar 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 que se pueden recuperar los archivos de paquetes deseados. [4] aptitude tiene una dist-upgrade
característica más inteligente llamada full-upgrade
. [11]/etc/apt
Contiene las carpetas y archivos de configuración de APT.
apt-config
es el programa de consulta de configuración de APT. [12] apt-config dump
muestra la configuración. [13]
/etc/apt/sources.list
: [14] Ubicaciones desde donde obtener paquetes./etc/apt/sources.list.d/
:Fragmentos de lista de fuentes adicionales./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 los archivos de preferencias de versiones. Aquí se especifica la "fijación", es decir, la preferencia para obtener determinados paquetes de una fuente independiente 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 información de estado para 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. Puede especificarse como una ubicación en red o en CD-ROM . A fecha de 14 de agosto de 2021, [actualizar]el proyecto Debian mantiene un repositorio central de más de 50.000 paquetes de software listos para descargar e instalar. [15]
Se puede agregar cualquier cantidad de repositorios adicionales al archivo de configuración de fuentes/etc/apt/sources.list
de APT ( ) y luego APT puede consultarlos. Las interfaces gráficas suelen permitir 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 de ese repositorio se pueden instalar sin especificar una fuente y se mantendrán actualizados automáticamente.
Además de los repositorios en red, también se pueden utilizar discos compactos y otros medios de almacenamiento (memoria USB, discos duros...), utilizando apt-cdrom
[16] o añadiendo file:/
la URI [17] al archivo de lista de fuentes. apt-cdrom
se puede especificar una carpeta distinta a un CD-ROM, utilizando la -d
opción (es decir, un disco duro o una memoria USB). Los CD de Debian disponibles para descarga contienen repositorios Debian. Esto permite actualizar máquinas que no están en red. También se puede utilizar apt-zip
.
Pueden surgir problemas cuando varias fuentes ofrecen los mismos paquetes. Los sistemas que tienen fuentes que pueden entrar en conflicto pueden usar la fijación APT para controlar qué fuentes deben preferirse.
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 en distintos 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 probados lo suficiente para detectar cambios no deseados.
Para hacer esto, se deben modificar los pines en el archivo de preferencias de APT ( ), [18] aunque las interfaces gráficas a menudo hacen que la fijación sea más sencilla./etc/apt/preferences
Existen otras interfaces para APT que ofrecen funciones de instalación más avanzadas e interfaces más intuitivas. Entre ellas se incluyen:
Los front-ends de APT pueden:
Los front-ends de APT pueden listar 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 dependencias automáticamente 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 . [24] Este proyecto fue encargado en 1997 por Brian White, el administrador de versiones de Debian en ese momento. La primera versión funcional de apt-get
se llamó dpkg-get
y solo estaba destinada a ser un programa de prueba para las funciones de la biblioteca central que respaldarían la nueva interfaz de usuario (IU). [25]
Gran parte del desarrollo original de APT se realizó en el chat de retransmisión por Internet (IRC), por lo que se han perdido los registros. Los archivos de la lista de correo del "Equipo de creación de la Deidad" incluyen solo los puntos más destacados.
El nombre "Deidad" fue abandonado como nombre oficial del proyecto debido a preocupaciones sobre la naturaleza religiosa del nombre. El nombre APT fue finalmente decidido después de un considerable debate interno y público. Finalmente, el nombre fue propuesto en IRC, aceptado y luego finalizado en las listas de correo. [26]
APT se introdujo en 1998 y se difundieron versiones de prueba originales en IRC. La primera versión de Debian que lo incluyó fue Debian 2.1, publicada el 9 de marzo de 1999. [27]
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 fue abandonado (los directorios de la interfaz de usuario fueron eliminados del sistema de versiones concurrentes ) después del primer lanzamiento público de apt-get
. La respuesta a APT como dselect
método y como 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 después que varias personas independientes construyeron interfaces de usuario sobre libapt-pkg
.
Finalmente, un nuevo equipo retomó el proyecto, comenzó a desarrollar nuevas funciones y lanzó la versión 0.6 de APT, que introdujo la función Secure APT, utilizando una firma criptográfica fuerte para autenticar los repositorios de paquetes. [28]
APT fue diseñado originalmente como una interfaz para que dpkg trabajara con los paquetes de Debian . Se lanzó .deb
una versión de APT modificada para que también funcionara con el sistema de administración de paquetes RPM, denominada APT-RPM . [29] El proyecto Fink ha portado APT a Mac OS X para algunas de sus propias tareas de administración de paquetes, [30] 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. [31]
{{citation}}
: Mantenimiento de CS1: postscript ( enlace )gnome-apt fue escrito por Havoc Pennington