Сценарий: в конфигурации системы с управлением версиями, основанной на Puppet, Chef и т. Д., Требуется воспроизвести определенное состояние системы. Это делается путем явного указания версий системного пакета.
Недавно мы столкнулись с проблемой, когда некоторые версии пакетов отсутствовали в репозиториях Debian. Один пример: пакет "patch" требовался в версии 2.7.5-1 + deb9u1, но был доступен только 2.7.5-1 + deb9u2. Требуется другой, еще более серьезный пример: «linux-headers-4.9.0-9-common» (из-за установки соответствующего ядра), и доступен только «linux-headers-4.9.0-11-common».
Это делает невозможным воспроизведение определенного состояния системы.
Вышеуказанные пакеты являются лишь примерами (с которыми я на самом деле сталкивался). Я заинтересован в понимании и решении общей проблемы.
Какова идея этих обновлений, «исчезающих» пакетов и версий пакетов?
Где я могу получить предыдущие версии (не очень старые версии, но версии, имеющие пару недель) пакетов Debian? Должна быть предусмотрена возможность автоматизации процесса установки в целом.
stable
остается последовательным, по крайней мере, до следующего выпуска. стабильные обновления, тестирование и нестабильная версия содержат только последнюю версию любого данного пакета. Для чего-то еще, вы должны посмотреть на archive.debian.org (или snapshot.debian.org, как упомянуто в ответе SK)
linux
имя pkg является исключением: в общем случае пакеты стабильной версии Debian идут с тем же именем пакета и меняют только номер версии. linux-image-amd64
никогда не меняет имя и всегда зависит от последних linux-image-4.9.0-*
. Новое linux-image-4.9.0-*
имя pkg помечает несовместимые изменения ABI ядра, необходимые для бэкпорта некоторых исправлений, и позволяет справиться с необходимой перекомпиляцией пользовательских модулей (dkms и т. Д.). Аналогично для linux-headers-*
.
apt-get changelog packagename