Scenario: nella configurazione del sistema controllata dalla versione basata su Puppet, Chef ecc., È necessario riprodurre un determinato stato del sistema. Questo viene fatto specificando esplicitamente le versioni del pacchetto di sistema.
Di recente abbiamo riscontrato un problema in cui alcune versioni dei pacchetti mancavano nei repository Debian. Un esempio: il pacchetto "patch" era richiesto nella versione 2.7.5-1 + deb9u1, ma era disponibile solo 2.7.5-1 + deb9u2. Un altro esempio ancora più grave: è richiesto "linux-headers-4.9.0-9-common" (a causa dell'installazione del kernel associato) ed è disponibile solo "linux-headers-4.9.0-11-common".
Ciò rende impossibile riprodurre un certo stato di un sistema.
I pacchetti di cui sopra sono solo esempi (che in effetti ho riscontrato). Sono interessato a comprendere e risolvere il problema generale.
Qual è l'idea alla base di questi aggiornamenti, pacchetti "in via di estinzione" e versioni dei pacchetti?
Dove posso trovare le versioni precedenti (non le vecchie versioni, ma le versioni che sono vecchie di un paio di settimane) dei pacchetti Debian? Dovrebbe essere possibile automatizzare il processo di installazione in modo generale.
stable
rimane coerente, almeno fino al rilascio del punto successivo. stable-updates, testing e unstable contengono solo l'ultima versione di un determinato pacchetto. Per qualsiasi altra cosa, dovresti guardare su archive.debian.org (o snapshot.debian.org come menzionato nella risposta di SK)
linux
nome pkg è un'eccezione: in generale, i pacchetti di Debian stable hanno lo stesso nome di pacchetto e cambiano solo il numero di versione. linux-image-amd64
non cambia mai nome e dipende sempre dalle ultime linux-image-4.9.0-*
. Il nuovo linux-image-4.9.0-*
nome pkg contrassegna le modifiche incompatibili ABI del kernel richieste per eseguire il backport di alcune correzioni di bug e consente di gestire la necessaria ricompilazione di moduli personalizzati (dkms, ecc.). Allo stesso modo per linux-headers-*
.
apt-get changelog packagename