¿Por qué hay archivos deb en /var/cache/apt/archives/
?
¿En qué casos se descargaron los archivos deb en ese directorio?
¿Por qué hay archivos deb en /var/cache/apt/archives/
?
¿En qué casos se descargaron los archivos deb en ese directorio?
Hay dos cosas en Ubuntu (y en Debian, en las que se basa Ubuntu) que comúnmente se llaman "el administrador de paquetes": dpkg
y APT.
dpkg
es un programa que instala y elimina paquetes y mantiene una base de datos de qué paquetes están instalados y en qué versiones. Cuando instala paquetes, lo hace desde .deb
archivos de almacenamiento. Estos archivos son la forma en que se distribuyen los paquetes.
dpkg
hace más que copiar (o eliminar) archivos y actualizar su base de datos; también ejecutará scripts de instalación y scripts de eliminación. Puede considerarse bastante sofisticado. Pero lo que no hará es encontrar y descargar paquetes.
APT encuentra y descarga paquetes, y se ejecuta dpkg
adecuadamente para instalarlos, actualizarlos y eliminarlos. APT no es realmente una sola pieza de software, aunque hay un paquete apto que proporciona sus partes esenciales.
APT incluye una biblioteca ( libapt-pkg ) que proporciona funcionalidad central, a la que acceden varias herramientas. Algunas de estas herramientas, como apt-get
, también son proporcionadas por el paquete apt . Otras herramientas se instalan por separado. APT también proporciona varios archivos de configuración que controlan cómo funciona su biblioteca principal y los programas que la utilizan.
Más que eso, APT es un sistema para almacenar y recuperar datos sobre qué fuentes de software proporcionan qué paquetes en qué versiones, y para actuar sobre esos datos para realizar automáticamente tareas de administración de paquetes como instalar y actualizar paquetes. Esto incluye hacer un seguimiento de qué paquetes son necesarios para que otros paquetes funcionen, y elegir e instalar automáticamente los paquetes apropiados para satisfacer estas dependencias.
Por ejemplo, cuando le digo a la apt-get
utilidad que instale el paquete chocolate-doom , descubre qué otros paquetes deben instalarse para que funcione y también los recuperará e instalará automáticamente:
$ sudo apt-get install chocolate-doom
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
doom-wad-shareware libmikmod3 libsdl-mixer1.2 libsdl-net1.2 libsdl1.2debian
Recommended packages:
doom-engine
The following NEW packages will be installed:
chocolate-doom doom-wad-shareware libmikmod3 libsdl-mixer1.2 libsdl-net1.2
libsdl1.2debian
0 upgraded, 6 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/2,846 kB of archives.
After this operation, 8,626 kB of additional disk space will be used.
Las herramientas gráficas como el Centro de software, el Actualizador de software / Administrador de actualizaciones y Synaptic realizan funciones similares a apt-get
. También usan el sistema APT, mediante una combinación de observar sus reglas y utilizar la funcionalidad proporcionada por las bibliotecas principales, para cambiar qué paquetes están instalados, para darle al usuario lo que él / ella quiere (generalmente), de tal manera que las cosas (por lo general) continúan trabajando.
/var/cache/apt/archives
se usa la carpetaCuando apt-get
, aptitude
, Centro de Software , Synaptic , Actualización de Software Update Manager / o cualquier otro paquete de descargas de utilidad de gestión de paquetes (y los otros paquetes que dependen) desde configurados fuentes de software y los instala, los paquetes descargados (es decir, los ficheros de archivo .deb desde donde se instalan) se almacenan en /var/cache/apt/archives
.
Si tiene un archivo .deb en el disco y lo instala con dpkg
, eso no hace que se haga una copia /var/cache/apt/archives
. Pero cuando un programa que usa o implementa el sistema APT de resolución automática de dependencia y recuperación de paquetes descarga paquetes, ahí es donde los almacena.
Si bien los archivos .deb para paquetes descargados automáticamente se almacenan e instalan desde /var/cache/apt/archives
, en realidad no se descargan directamente a esa ubicación. En cambio, existen descargas de archivos .deb incompletas (es decir, en progreso) /var/cache/apt/archives/partial
y luego se trasladan a ellas /var/cache/apt/archives
cuando finalizan.
Los archivos de paquete .deb permanecen en caché /var/cache/apt/archives
incluso después de una instalación exitosa en caso de que sean necesarios para su uso futuro. Pero puede eliminar de forma segura los archivos .deb que tienen la edad suficiente para que no sea necesario volver a usarlos sudo apt-get autoclean
, o borrar los .deb
archivos en caché por completo sudo apt-get clean
. Ver man apt-get
para más información.
Para ilustrar la función de sudo apt-get autoclean
comandos similares y para determinar si desea ejecutarlos, puede simular sus acciones ejecutándolas luego con la -s
bandera. Es mejor pasar esta bandera antes del autoclean
verbo de acción (o cualquier otro). Por lo general, no es necesario ejecutar una utilidad como root sudo
cuando se usa -s
, porque no se están realizando cambios reales.
Por ejemplo, en mi sistema:
$ apt-get -s autoclean
NOTE: This is only a simulation!
apt-get needs root privileges for real execution.
Keep also in mind that locking is deactivated,
so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
Del libubsan0 4.9.1-15ubuntu1 [83.7 kB]
Del cups-server-common 1.7.5-3 [519 kB]
Del python2.7 2.7.8-9 [205 kB]
Del g++-4.9 4.9.1-15ubuntu1 [17.4 MB]
Del libstdc++-4.9-dev 4.9.1-15ubuntu1 [1,121 kB]
....
Los paquetes enumerados no se desinstalarían ; en cambio, solo los archivos .deb en caché se eliminarían. (De hecho, tampoco sucedió cuando ejecuté ese comando, ya que era simplemente una simulación).
El software instalado a través de dpkg
(a través de APT o de otro modo) no se ejecuta realmente desde el archivo .deb que lo proporciona. Como se señaló en la sección Información básica , se extraen los archivos .deb. Es por eso que se pueden eliminar y el paquete instalado continúa funcionando.
Los archivos en todo el sistema que se instalan desde paquetes .deb no se descargan a sus ubicaciones actuales, sino que se extraen de ellos desde los archivos .deb que los proporcionan (o tal vez especialmente creados durante la instalación o posteriormente, como es el caso para algunos archivos de configuración).
Pero los archivos .deb no son los únicos archivos descargados por las utilidades de administración de paquetes. A menudo se descargan otros archivos que proporcionan información sobre dónde existen los paquetes.
Por ejemplo, cuando ejecuto sudo apt-get update
, la salida incluye líneas como:
Get:13 http://us.archive.ubuntu.com utopic/main i386 Packages [1,341 kB]
Esto significa que un archivo como http://us.archive.ubuntu.com/ubuntu/dists/utopic/main/binary-amd64/Packages.bz2 fue descargado y examinado para ayudar a actualizar la base de datos APT con información sobre qué paquetes están disponibles ( y en qué versiones) de esa fuente de software en particular. Puede encontrar archivos de paquetes y otros archivos similares en el /var/lib/apt/list
directorio. Las copias almacenadas allí reciben nombres distintivos como us.archive.ubuntu.com_ubuntu_dists_utopic_main_binary-amd64_Packages
, ya que puede haber muchos de esos archivos.
Usted preguntó sobre apt-cache
específicamente. Consulta la base de datos del paquete, pero no realiza ningún cambio en el sistema ni descarga ningún archivo.
Cuando el Centro de software de Ubuntu descarga datos para su propio uso, específicos y no relacionados con la funcionalidad general APT (o dpkg
), los almacena /var/cache/software-center
.
Por ejemplo, en mi sistema (y en la mayoría de los sistemas), esa carpeta contiene una xapian
subcarpeta:
ek@Ilex:/var/cache/software-center/xapian$ ls
flintlock postlist.baseB record.baseB spelling.baseB termlist.baseB
iamchert postlist.DB record.DB spelling.DB termlist.DB
postlist.baseA record.baseA spelling.baseA termlist.baseA
El Centro de software utiliza Xapian para indexar información para realizar búsquedas rápidas.
Algunas utilidades adicionales que funcionan con el sistema APT descargan y almacenan archivos como parte de su operación. apt-file
no está instalado de manera predeterminada en Ubuntu, pero puede instalarse desde el paquete apt-file .
apt-file
almacena información sobre qué archivos son proporcionados por qué paquetes (incluso para paquetes que no están instalados localmente). Obtiene esta información sobre el contenido de los paquetes descargando Contents
archivos comprimidos :
$ sudo apt-file update
Downloading complete file http://us.archive.ubuntu.com/ubuntu/dists/utopic/Contents-amd64.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 29.6M 100 29.6M 0 0 856k 0 0:00:35 0:00:35 --:--:-- 832k
Cuando apt-file update
se ejecuta como root (como arriba), estos archivos se descargan al /var/cache/apt/apt-file
directorio. Para descubrir esto, corrí:
$ sudo updatedb
$ locate Contents-amd64
/var/cache/apt/apt-file/us.archive.ubuntu.com_ubuntu_dists_utopic-proposed_Contents-amd64.gz
/var/cache/apt/apt-file/us.archive.ubuntu.com_ubuntu_dists_utopic_Contents-amd64.gz
Tenga en cuenta que la información provista en esta publicación brinda una serie de ejemplos de archivos de datos descargados y almacenados por las utilidades de administración de paquetes en Ubuntu, pero no debe considerarse una lista exhaustiva de instancias donde dichos archivos se usan y almacenan.
apt-cache
o / yapt-file
también descargar muchas cosas? Si es así, ¿dónde están?