Estoy construyendo una imagen para un Linux embebido basado en Debian. Usé apt-get update
antes en el dispositivo que quiero usar como base para esa imagen, por lo que las listas debajo de /var/lib/apt/lists
son bastante grandes (casi 100 MB de tamaño).
Quiero mantener la funcionalidad apt-get
(por lo que no quiero eliminar los repositorios apt) pero quiero liberar el espacio utilizado en estas listas (las listas casi duplican el tamaño de la imagen).
¿Alguien sabe cómo hacer eso? ¿Puedo eliminar los archivos debajo de /var/lib/apt/lists
?
Respuesta
Puede usar:
rm /var/lib/apt/lists/*
Esto eliminará las listas de paquetes. No se eliminarán repositorios, están configurados en el archivo de configuración en /etc/apt/sources.list
. Todo lo que puede suceder es que herramientas como apt-cache
no puede obtener información del paquete a menos que actualice las listas de paquetes. Además, apt-get install
fallará con E: Unable to locate package <package>
, porque no la información está disponible ab sacar el paquete.
Luego, simplemente ejecute:
apt-get update
para reescribir esas listas y el comando funcionará nuevamente.
De todos modos, se recomienda ejecutar apt-get update
antes de instalar nada.
Comentarios
Respuesta
Las listas son el conocimiento de lo que está disponible, por lo que si las borra, no podrá instalar nada; eso es exactamente equivalente a eliminar los repositorios de sus fuentes. list (que dices que no quieres hacer).
Una opción es que podrías comprimir las listas y recordar descomprimirlas antes de update
.
Lo que hago a menudo (particularmente cuando quiero experimentar con fuentes adicionales) es crear un directorio /etc/apt/sources.available
y agregar entradas para distribuciones. Entonces puedo habilitar fácilmente cualquier subconjunto creando enlaces simbólicos desde /etc/apt/sources.list.d
y deshabilitarlos eliminando esos enlaces simbólicos.
Con la lista de fuentes vacía, podría apt-get update
: debería borrar su /var/lib/apt/lists
. Luego, vincule las fuentes apropiadas de nuevo en /etc/apt/sources.list.d
, pero no «t update
hasta el momento en que realmente desee usarlas.
rm -rf /var/lib/apt/lists/*