Pregunta general:
¿Alguien podría explicar qué es el comando apt-get update
? ¿Qué hace y cuándo realmente debería usarlo?
Observaciones
Proporcione una respuesta detallada . No solo una copia de la página de manual, a menos que su versión sea realmente detallada (puse una definición de la página de manual a continuación).
apt-get update :se utiliza para volver a sincronizar los archivos de índice del paquete desde sus orígenes. Los índices de los paquetes disponibles se obtienen de las ubicaciones especificadas en /etc/apt/sources.list(5). Siempre se debe realizar una actualización antes de una actualización o actualización de dist.
Sub-preguntas:
- ¿Dónde se almacena el índice del paquete? ¿En una base de datos? ¿En un archivo?
- ¿Qué sucede si hago
apt-get install
? sin actualizar la caché? ¿Existe la posibilidad de que el paquete remoto ya no exista y que el enlace se rompa? - ¿Existe alguna política acordada sobre los repositorios de deb? Por ejemplo, ¿un repositorio debería contener solo la última versión de un paquete o, por el contrario, debería contener todas las versiones disponibles para una versión de distribución específica?
Contexto
Hago mi pregunta porque estoy estudiando el marco Docker. Una de sus características es el Dockerfile , que le permite crear una especie de imagen del sistema operativo mediante la ejecución de algunas instrucciones de este archivo.
Una propiedad de esta imagen es que siempre debe ser la misma, independientemente del contexto (momento de creación, etc.).
Me temo que si ejecuto apt-get update
comando en otro momento, el resultado sería diferente y mis imágenes serían diferentes.
Respuesta aceptada:
apt-get update
descarga la lista de paquetes disponibles.
La lista de paquetes puede cambiar con el tiempo. Se agregan nuevos paquetes y se eliminan los paquetes antiguos. Por lo tanto, si tiene un caché realmente antiguo e intenta hacer un apt-get install
, podría intentar descargar un paquete que ya no existe.
El tiempo que un paquete antiguo se mantiene en un repositorio depende del mantenedor del repositorio (su distribución). Como tal, si está utilizando algo como docker, donde el caché puede estar muy desactualizado, siempre debe ejecutar apt-get update
antes de instalar cualquier paquete.
La razón para eliminar y agregar paquetes es principalmente la corrección de errores y las actualizaciones de seguridad. Aunque si está utilizando repositorios de terceros como PPA, todo vale.
Relacionado:¿Cuándo aparece el mensaje de error "trabajos:no encontrados"?Al usar algo como Docker para la creación de contenedores en un entorno corporativo, debe compilar el contenedor una vez y luego mover ese contenedor a través de los diversos entornos de lanzamiento (desarrollo, ensayo, producción) y no reconstruir el contenedor cada vez. Esto asegurará que no obtenga un contenedor diferente que no haya sido probado.
Para responder a su pregunta sobre dónde se encuentran los archivos de caché, /var/lib/apt/lists
.