Scenariusz: w konfiguracji systemu sterowanej wersją opartej na Puppet, Chef itp. Wymagane jest odtworzenie określonego stanu systemu. Odbywa się to poprzez jawne określenie wersji pakietu systemowego.
Ostatnio natrafiliśmy na problem polegający na braku niektórych wersji pakietów w repozytoriach Debiana. Jeden przykład: Pakiet „łatka” był wymagany w wersji 2.7.5-1 + deb9u1, ale dostępny był tylko 2.7.5-1 + deb9u2. Wymagany jest jeszcze jeden, jeszcze poważniejszy przykład: „linux-headers-4.9.0-9-common” (ze względu na zainstalowane powiązane jądro) i dostępny jest tylko „linux-headers-4.9.0-11-common”.
To uniemożliwia odtworzenie określonego stanu systemu.
Powyższe pakiety są tylko przykładami (z którymi faktycznie się spotkałem). Jestem zainteresowany zrozumieniem i rozwiązaniem ogólnego problemu.
Jaki jest sens tych aktualizacji, „znikających” pakietów i wersji pakietów?
Gdzie mogę uzyskać poprzednie wersje (nie tak naprawdę stare, ale wersje sprzed kilku tygodni) pakietów Debiana? Powinna istnieć możliwość zautomatyzowania procesu instalacji w ogólny sposób.
stable
pozostaje spójny, przynajmniej do następnego wydania punktu. stabilne aktualizacje, testy i niestabilne zawierają tylko najnowszą wersję dowolnego pakietu. Aby znaleźć cokolwiek innego, musisz zajrzeć na archive.debian.org (lub snapshot.debian.org, jak wspomniano w odpowiedzi SK)
linux
nazwa pkg jest wyjątkiem: ogólnie, pakiety stabilne Debiana mają tę samą nazwę i zmieniają tylko numer wersji. linux-image-amd64
nigdy nie zmienia nazwy i zawsze zależy od najnowszych linux-image-4.9.0-*
. Nowa linux-image-4.9.0-*
nazwa pkg oznacza niekompatybilne zmiany ABI jądra wymagane do backportu niektórych poprawek błędów i pozwala na radzenie sobie z konieczną rekompilacją niestandardowych modułów (dkms itp.). Podobnie dla linux-headers-*
.
apt-get changelog packagename