Articulo de referencia

APT (software)

apt requesting confirmation before an installation"},"developer":{"wt":"The [[Debian]] Project"},"released":{"wt":"{{Start date and age|1998|03|31|df=yes}} {{cite web\n | url = ...

Advanced Package Tool ( APT ) es una interfaz de usuario de software libre que trabaja con bibliotecas principales 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 a partir de archivos precompilados o mediante la compilación del código fuente. [ 4 ]

Uso

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 trabajar con paquetes que utilizan la biblioteca. Tres de estos programas son , apt-gety apt-cache. Se usan comúnmente en los ejemplos porque son simples y omnipresentes. El paquete apt tiene 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 dselectinterfaz anterior. Mientras que dpkgrealiza acciones en paquetes individuales, APT gestiona las relaciones (especialmente las dependencias) entre ellos, así como la obtención y gestión de decisiones de versionado de nivel superior como el seguimiento de versiones y la supresión de actualizaciones .

APT suele ser 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 principal de APT es su método de llamada dpkg: realiza una ordenación topológica de la lista de paquetes que se instalarán o eliminarán y los llama dpkgen la mejor secuencia posible. En algunos casos, utiliza las --forceopciones de dpkg. Sin embargo, solo lo hace cuando no puede calcular cómo evitar la razón dpkgque requiere que la acción se fuerce.

Instalación de software

El usuario indica uno o más paquetes para instalar. El nombre de cada paquete se expresa como solo la parte del nombre del paquete, no como un nombre de archivo completo (por ejemplo, en un sistema Debian, libc6serí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 fue una característica distintiva original de los sistemas de gestión de paquetes basados ​​en APT, ya que evitaba fallos 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 del sistema de resolución de conflictos de apt-get. Una opción es forzar una versión específica de un paquete. Esto puede degradar una versión del paquete y dejar inoperable el software dependiente, por lo que el usuario debe tener cuidado.

Finalmente, el apt_preferencesmecanismo 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 almacenada 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.

Actualizar, actualizar y actualizar la distribución

Los modos de uso aptque apt-getfacilitan la actualización de los paquetes instalados incluyen:

  • updateSe utiliza para resincronizar los archivos de índice de paquetes desde sus fuentes. Las listas de paquetes disponibles se obtienen de la(s) ubicación(es) especificada(s) en /etc/apt/sources.list. Por ejemplo, al usar un archivo Debian, este comando recupera y analiza los Packages.gzarchivos para que esté disponible la información sobre los paquetes nuevos y actualizados.
  • upgradeSe 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 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 permanecerá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 manejan de forma inteligente los cambios en las dependencias con las nuevas versiones de los paquetes; apty apt-gettienen un sistema de resolución de conflictos "inteligente" y tratarán de actualizar los paquetes más importantes a expensas de los menos importantes si es necesario. El /etc/apt/sources.listarchivo contiene una lista de ubicaciones desde las que recuperar los archivos de paquete deseados. [ 4 ] aptitude tiene una dist-upgradecaracterística más inteligente llamada full-upgrade. [ 11 ]

Configuración y archivos

/etc/aptContiene las carpetas y archivos de configuración de APT.

apt-configes el programa de consulta de configuración APT. [ 12 ]apt-config dump muestra la configuración. [ 13 ]

Archivos

  • /etc/apt/sources.list: [ 14 ] Ubicaciones desde donde obtener 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í se especifica la " fijación ", es decir, la preferencia por obtener ciertos paquetes de una fuente independiente o de una versión diferente de la distribución.
  • /var/cache/apt/archives/: Área de almacenamiento para los 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 para información estatal en tránsito.

Fuentes

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. Se puede especificar como una ubicación en red o en un CD-ROM . (Actualizado el 14 de agosto de 2021)  ,El proyecto Debian mantiene un repositorio central con más de 50.000 paquetes de software listos para su descarga e instalación. [ 15 ]

Se pueden agregar varios repositorios adicionales al archivo de configuración sources.list/etc/apt/sources.list de APT ( ) y luego APT los consultará. Las interfaces gráficas suelen permitir modificaciones más sencillas ( ). 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.sources.listapt-setup

Además de los repositorios de red, también se pueden usar discos compactos y otros medios de almacenamiento (unidad USB, discos duros...), usando apt-cdrom[ 16 ] o agregando file:/URI [ 17 ] al archivo de lista de fuentes. apt-cdromSe puede especificar una carpeta distinta a un CD-ROM, usando la -dopción (es decir, un disco duro o una unidad USB). Los CD de Debian disponibles para descargar contienen repositorios de Debian. Esto permite actualizar máquinas no conectadas a la red. También se puede usar apt-zip.

Pueden surgir problemas cuando varias fuentes ofrecen el mismo paquete o paquetes. Los sistemas que tienen fuentes potencialmente conflictivas pueden usar la fijación de APT para controlar qué fuentes deben tener prioridad.

Fijación APT

La función de fijación de APT permite a los usuarios forzar a APT a elegir versiones específicas de paquetes que pueden estar disponibles en diferentes versiones en distintos repositorios. Esto permite a los administradores garantizar que los paquetes no se actualicen a versiones que puedan entrar en conflicto con otros paquetes del sistema o que no se hayan probado suficientemente para detectar cambios indeseados.

Para ello, se deben modificar los pines en el archivo de preferencias de APT ( ), [ 18 ] aunque las interfaces gráficas a menudo simplifican la configuración de los pines./etc/apt/preferences

partes delanteras

Synaptic Package Manager es una de las interfaces disponibles para APT.

Existen otras interfaces para APT que ofrecen funciones de instalación más avanzadas y interfaces más intuitivas. Estas incluyen:

  • Synaptic , una interfaz gráfica de usuario GTK
  • Centro de software de Ubuntu , una interfaz gráfica de usuario GTK desarrollada por el proyecto Ubuntu.
  • aptitude , un cliente de consola coninterfaces CLI y TUI basadas en ncurses.
  • Gestor de paquetes Adept , una interfaz gráfica de usuario para KDE (deb, rpm, bsd)
  • PackageKit , una interfaz D-Bus mantenida por freedesktop.org , es la base de GNOME Software y KDE Discover.
  • GDebi , una herramienta basada en GTK patrocinada para Ubuntu. (También existe una versión Qt, disponible en los repositorios de Ubuntu como gdebi-kde).
  • apt-cdrom es una herramienta para añadir un nuevo CD-ROM a la lista de repositorios disponibles de APT (sources.lists). Es necesario usar apt-cdrom para añadir CD al sistema APT; no se puede hacer manualmente.
  • apt-zip , una forma de usar apt con medios extraíbles , específicamente unidades flash USB .
  • aptURL , un paquete de software de Ubuntu que permite instalar aplicaciones de usuario final con un solo clic a través de un navegador. [ 19 ] [ 20 ]
  • Cydia , un gestor de paquetes para iOS con jailbreak basado en APT (portado a iOS como parte del proyecto Telesphoreo). [ 21 ] [ 22 ]
  • Sileo , al igual que Cydia , es un gestor de paquetes para iOS con jailbreak basado en versiones más recientes de APT (adaptado a iOS por el equipo de Electra).
  • gnome-apt , una interfaz gráfica basada en widgets GTK/ GNOME . Desarrollada por Havoc Pennington [ 23 ].
  • Muon discover (anteriormente Muon software center) , una interfaz gráfica de usuario basada en Qt.
  • Gestor de aplicaciones Hildon (aplicación Maemo) , una interfaz de usuario de Maemo
  • apticron , un servicio diseñado para ejecutarse mediante cron para enviar notificaciones por correo electrónico sobre actualizaciones pendientes a un administrador del sistema (sysadmin).
  • APT Daemon , una interfaz que se ejecuta como un servicio para permitir a los usuarios instalar software a través de PolicyKit y que, a su vez, es el marco utilizado por el centro de software de Ubuntu (junto con el gestor de software de Linux Mint ).
  • Instalador de paquetes , parte de MX Linux .
  • APTus , una colección de scripts y una interfaz gráfica, forma parte de SparkyLinux .
  • Apt-offline : Una forma práctica de realizar cualquier cambio disponible sin usar contenedores en cualquier instalación de Linux tipo Debian sin necesidad de una conexión directa a Internet. Sin embargo, puede ser necesaria una conexión directa temporal, por ejemplo, para instalar Apt-offline en algunos tipos de Linux relevantes y para añadir repositorios PPA a la lista de fuentes.

Los front-ends APT pueden:

  • buscar nuevos paquetes;
  • paquetes de actualización;
  • instalar o eliminar paquetes y
  • Actualizar todo el sistema a una nueva versión.

Las interfaces APT pueden mostrar las dependencias de los paquetes que se están instalando o actualizando, preguntar al administrador si también se deben instalar los paquetes recomendados o sugeridos por los paquetes recién instalados, instalar automáticamente las dependencias y realizar otras operaciones en el sistema, como eliminar archivos y paquetes obsoletos.

Historia

El esfuerzo original que condujo al apt-getprograma fue el dselectproyecto de reemplazo conocido por su nombre en 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 apt-getse llamó dpkg-gety solo estaba destinada a ser un programa de prueba para las funciones de la biblioteca principal que sustentarían la nueva interfaz de usuario (UI). [ 25 ]

Gran parte del desarrollo original de APT se realizó mediante el chat de retransmisión por Internet (IRC), por lo que se han perdido registros. Los archivos de la lista de correo del "equipo creador de Deity" incluyen solo los aspectos más destacados.

El nombre «Deidad» se descartó como nombre oficial del proyecto debido a la preocupación por su carácter religioso. Finalmente, se decidió el nombre APT tras un considerable debate interno y público. El nombre se propuso en IRC, se aceptó y se finalizó en las listas de correo. [ 26 ]

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, publicada el 9 de marzo de 1999. [ 27 ]

Al final, el objetivo original del proyecto Deity de reemplazar la dselectinterfaz de usuario fracasó. 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 concurrentes ) después del primer lanzamiento público de apt-get. La respuesta a APT como dselectmé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 desarrollar nuevas funciones y lanzó la versión 0.6 de APT, que introdujo la función APT segura, utilizando una firma criptográfica robusta para autenticar los repositorios de paquetes. [ 28 ]

Variantes

APT fue diseñado originalmente como una interfaz para que dpkg trabajara con los paquetes de Debian . Se lanzó .debuna versión de APT modificada para que también funcionara con el sistema de gestión de paquetes RPM como APT-RPM . [ 29 ] El proyecto Fink ha portado APT a Mac OS X para algunas de sus propias tareas de gestión de paquetes, [ 30 ] y APT también está disponible en OpenSolaris .

archivo apt

apt-file is a command, packaged separately from APT, to find which package includes a specific file, or to list all files included in a package on remote repositories.[31]

See also

References

  1. "Initial release". apt package changelog. The Debian project. 31 March 1998. Retrieved 18 December 2021.
  2. "3.2.0". 7 April 2026. Retrieved 10 April 2026.
  3. 123456"The apt - Advanced Package Tool Open Source Project on Open Hub: Languages Page". Open Hub. Retrieved 2 May 2024.
  4. 123"apt-get(8)". Debian Manpages. Retrieved 18 December 2021.
  5. Byfield, Bruce (9 December 2004). "An apt-get primer". Retrieved 18 December 2021.
  6. "From the archives: the best distros of 2000". Tux radar. Archived from the original on 26 July 2020.
  7. Dorgan, David (19 January 2004). "Migrating to Debian". linux.ie. Archived from the original on 13 May 2006.
  8. "Mobile Linux development with Familiar and a minimal Debian". Mobile Tux. Archived from the original on 15 September 2008.
  9. "Why Debian". Retrieved 18 December 2021.
  10. "Debian policy manual". Retrieved 18 December 2021.
  11. "Discussion on dist-upgrade vs. full-upgrade". Retrieved 18 December 2021.
  12. "apt-config(8)". Debian Manpages. Retrieved 18 December 2021.
  13. "Query APT configuration using apt-config - Debian admin". 2 December 2006. Retrieved 18 December 2021.
  14. "SourcesList". Debian Wiki. Retrieved 18 December 2021.
  15. "Debian 11 "bullseye" released". www.debian.org. Archived from the original on 2021-08-14. Retrieved 2022-05-11.
  16. "apt-cdrom(8)" . Páginas de manual de Debian . Consultado el 27 de diciembre de 2021 .
  17. Por ejemplo, archivo deb: /mnt/install estable principal contrib no libre.
  18. "AptConfiguration" . Wiki de Debian . Consultado el 18 de mayo de 2020 .
  19. "AptURL" . Wiki de Ubuntu . Consultado el 27 de diciembre de 2021 .
  20. "Cómo instalar software en Ubuntu Linux: una guía completa para principiantes" . 17 de junio de 2018. Consultado el 27 de diciembre de 2021 .
  21. Jurick, David (2009). iPhone hacks: Llevando el iPhone y el iPod touch más allá de sus límites . O'Reilly Media, Inc. pág. 20. ISBN  9780596516642Consultado el 27 de diciembre de 2021 .
  22. Adhikari, Richard (20 de marzo de 2008). "Android, Schmandroid: Linux en el iPhone" . LinuxInsider . Consultado el 27 de diciembre de 2021 .
  23. Mullikin, Glenn (diciembre de 2001). "La evolución de los sistemas de gestión de paquetes de Debian" . AUUGN . Vol. 22, n.º 4, pág. 50. ISSN 1035-7521 . gnome-apt fue escrito por Havoc Pennington.    
  24. White, Brian C. (11 de abril de 1997) .Proyecto de reemplazo "dselect" ("deity")" . deity@lists.debian.org (Lista de correo).
  25. Gunthorpe, Jason (2 de marzo de 1998). "Está funcionando" . deity@lists.debian.org (Lista de correo).
  26. Gunthorpe, Jason (19 de marzo de 1998). "Re: 2 cosas (!)" . deity@lists.debian.org (Lista de correo).
  27. "Una breve historia de Debian" . debian.org. Archivado del original el 24 de agosto de 2003.
  28. "APT seguro" . Wiki de Debian . Consultado el 27 de diciembre de 2021 .
  29. "APT-RPM" . apt-rpm.org. Archivado del original el 21 de abril de 2008. Consultado el 27 de diciembre de 2021 .
  30. "Fink - Acerca de" . www.finkproject.org. Archivado del original el 11 de mayo de 2008. Consultado el 27 de diciembre de 2021 .
  31. "Inspeccionando y extrayendo el contenido de los paquetes Debian" . Blog de Packagecloud . 13 de octubre de 2015. Consultado el 27 de diciembre de 2021 .