En un sistema embebido con un espacio en disco muy limitado, tengo la carpeta /var/cache/aptllena con unos 700 MB srcpkgcache.bin.*y un par de *.binarchivos grandes .
Actuar sudo apt-get cleanno hizo una diferencia visible.
¿Es seguro eliminar manualmente estos *.bin*archivos?

*.binarchivos en dicha carpeta, suponiendo que actualmente no se esté ejecutando ningún proceso relacionado con apt. El siguienteapt-get updateregenerará los*.binarchivos. Esta pregunta definitivamente no se trata de los archivos/var/cache/apt/archives, sino de los archivos/var/cache/apt/*.bin. Gran diferencia. El primero se puede limpiar emitiendoapt-get clean, el último debe eliminarse manualmente. Claramente, aquellos que votaron para cerrar la pregunta no la han leído correctamente. Lamentablemente, no puedo votar para reabrir después de otorgar algunos de mis representantes en recompensas.archivesdentro/var/cache/apt/, este es sobre los*.bin*archivos.Respuestas:
Realmente no. Esos archivos ayudan a su sistema a determinar qué está disponible y qué no. Vaciar ese directorio dará como resultado un sistema apt-get roto. Aquí hay un par de consejos.
Primero, limpieza automática
Agrega un
hasta el final de
/etc/apt/apt.conf. Hará que los procesos apt y dpkg tarden más, pero lo hará para que su directorio de caché esté siempre limpio.A continuación, eliminar archivos
Comience eliminando y deshabilitando todos los archivos fuente (que no está usando). En un sistema integrado, es probable que no los necesite. Luego, elimine todos los archivos que no están en uso. Puede ejecutar
apt-cache policypara averiguar de qué repositorio proviene un paquete si no está seguro.Más eliminación de archivos
Algunos PPA son horribles por tener una gran cantidad de paquetes en ellos cuando solo necesita 1 o 2. Intente deshabilitar esos PPA e instalar los archivos deb manualmente. Ahorra espacio en esos casos, pero pierde la actualización automática. Tenga en cuenta que dpkg manejará las dependencias, por lo que aún puede instalar thing-with-tons-of-deps.deb y luego ejecutar
apt-get -f installpara buscar las dependencias.Respuesta totalmente extrema 1
Debido a que estamos hablando de un sistema integrado, el 90% de los repositorios principales no te harán ningún bien. Para manejar esto, puede ejecutar su propio servidor apt-get repo. Vea este enlace . No es fácil, y es un PIA para una sola máquina. Pero si tiene varias de estas máquinas, vale la pena. (Su servidor de repositorios apto puede alojar solo un subconjunto de paquetes que realmente utiliza. No necesita duplicar todo)
Respuesta Totalmente Extrema 2
Si el espacio es realmente un problema tan grande, puede deshabilitar apt todo junto y volver a la instalación manual a través de dpkg. He tenido que hacer esto en varios sistemas integrados. Funciona, pero es una pesadilla administrativa.
fuente
*.binarchivos? Cualquier ejecución deapt-get updateregenerará esos archivos desde cero (probado). Por ejemplo, mi caso de uso es que quiero crear plantillas de contenedor LXC y quiero eliminar el archivo tanto como sea posible. No veo ninguna razón para que sea inseguro. Y su respuesta no indica una razón, solo indica que no es segura. Probado que es perfectamente seguro en Ubuntu 14.04.apt-cache cleanuna llamada dpkg dará como resultado un caché más limpio, pero el usuario diceapt-cache cleanque no limpió nada para ellos. Además, su respuesta es totalmente incorrecta porque dpkg no usa/var/cache/apt/*contenido para informarse sobre la estadística del paquete.cleancomo * clean borra el repositorio local de los archivos de paquetes recuperados. Elimina todo menos el archivo de bloqueo de / var / cache / apt / archives / y /var/cache/apt/archives/partial/.* Si es peligroso, no habría tal función para limpiar.Por supuesto, puede eliminar
pkgcache.binysrcpkgcache.binno pasa nada. Solo correapt-get updatepara recrearlos.fuente
.debarchivos?Mantenga el
pkgcache.binysrcpkgcache.bin, puede eliminar con seguridad los otros. ¡No toques los directorios!fuente
*bin.*archivos a una carpeta de respaldo. Sin embargo, ¿por qué apt-get gestiona el caché dentro del caché? Un directorio de caché debe ser un almacenamiento temporal por naturaleza.Por supuesto, puede crear un NFS-share (sistema de archivos de red) para esto. Deje estos archivos en un servidor y monte el recurso compartido solo cuando desee actualizar / instalar paquetes. En entornos integrados, la instalación generalmente será relativamente estática de todos modos.
sshfs es otra buena opción, es mucho más fácil de configurar (básicamente solo requiere SSH, que es estándar), pero tiene más sobrecarga (más lenta).
fuente