Escenario: en la configuración del sistema controlada por la versión basada en Puppet, Chef, etc., es necesario reproducir un cierto estado del sistema. Esto se realiza especificando explícitamente las versiones del paquete del sistema.
Recientemente nos encontramos con un problema en el que faltaban ciertas versiones de paquetes en los repositorios de Debian. Un ejemplo: el paquete "parche" se requería en la versión 2.7.5-1 + deb9u1, pero solo 2.7.5-1 + deb9u2 estaba disponible. Otro ejemplo aún más severo: se requiere "linux-headers-4.9.0-9-common" (debido a que se está instalando el kernel asociado) y solo está disponible "linux-headers-4.9.0-11-common".
Esto hace que sea imposible reproducir un cierto estado de un sistema.
Los paquetes anteriores son solo ejemplos (que de hecho encontré). Estoy interesado en comprender y resolver el problema general.
¿Cuál es la idea detrás de estas actualizaciones, 'desaparecer' paquetes y versiones de paquetes?
¿Dónde puedo obtener versiones anteriores (no versiones realmente antiguas, sino versiones que tienen un par de semanas) de paquetes Debian? Debería ser posible automatizar el proceso de instalación de manera general.
stable
permanece constante, al menos hasta el próximo punto de lanzamiento. Las actualizaciones estables, las pruebas y las inestables solo contienen la última versión de cualquier paquete dado. Para cualquier otra cosa, tendrá que buscar en archive.debian.org (o snapshot.debian.org como se menciona en la respuesta de SK)
linux
nombre del paquete es una excepción: en general, los paquetes de Debian stable tienen el mismo nombre de paquete y solo cambian el número de versión. linux-image-amd64
nunca cambia de nombre y siempre depende de lo último linux-image-4.9.0-*
. El nuevo linux-image-4.9.0-*
nombre del paquete marca los cambios incompatibles de ABI del kernel necesarios para respaldar algunas correcciones de errores y permite tratar con la compilación necesaria de módulos personalizados (dkms, etc.). Del mismo modo para linux-headers-*
.
apt-get changelog packagename