Сценарій: у конфігурації системи, керованої версіями, заснованої на Лялькові, шеф-кухарі тощо, потрібно відтворити певний стан системи. Це робиться, чітко вказавши версії системного пакету.
Нещодавно ми зіткнулися з проблемою, коли в сховищах Debian відсутні деякі версії пакетів. Один приклад: Пакет "патч" був потрібний у версії 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 stable діють під тим самим іменем пакета і змінюють лише номер версії. linux-image-amd64
ніколи не змінює ім'я і завжди залежить від останнього linux-image-4.9.0-*
. Нове linux-image-4.9.0-*
ім'я pkg позначає несумісні зміни ABI ядра, необхідні для підтримки деяких помилок і дозволяє вирішити необхідну перекомпіляцію вбудованих модулів (dkms тощо). Аналогічно для linux-headers-*
.
apt-get changelog packagename