У репозиториев Debian есть официальные снапшоты репозиториев. В этой небольшой заметке я покажу что это такое и как этим можно пользоваться.
Введение
Официальные снапшоты репозиториев Debian доступны по адресу: https://snapshot.debian.org/.
Здесь можно выбрать определённый архив и определённую временную метку. Используя эту информацию можно настроить свой sources.list, чтобы обновлять сервер до определённого момента времени. Я это использовал, чтобы обновить множество серверов на Debian, до одинаковых версий пакетов.
И думаю, что программистам возможность просматривать исходный код для любой даты может быть очень полезна в поисках проблем. Например стало известно что после определённой даты пользователи столкнулись с проблемой, программист может посмотреть код программы до этой даты и после, чтобы найти что было изменено.
Этот архив снапшотов доступен, как любой обычный apt репозиторий, что позволяет легко использовать его всем.
Использование
Перейдя на сайт вы можете выбрать определённый архив репозитория. Например, вначале выберем Debain:
Затем нужно выбрать год и месяц снапшота репозитория:
Затем выбираем день и время создания снапшота репозитория:
Дальше смотрим на адресную строку в вашем браузере. У меня получился такой url — https://snapshot.debian.org/archive/debian/20210916T090242Z/
Значит в sources.list вводим:
deb https://snapshot.debian.org/archive/debian/20210917T030649Z/ bullseye main deb-src https://snapshot.debian.org/archive/debian/20210917T030649Z/ bullseye main
Точно также находим снапшот для debian-security, выбираем время наиболее близкое к предыдущему. Например — https://snapshot.debian.org/archive/debian-security/20210917T195500Z/. И вводим в sources.list:
deb https://snapshot.debian.org/archive/debian-security/20210917T195500Z/ bullseye-security main deb-src https://snapshot.debian.org/archive/debian-security/20210917T195500Z/ bullseye-security main
Особенности использования снапшотов репозиториев
Для доступа к репозиториям по https вам также нужно будет установить пакет ca-certificates. А если ваша версия apt ниже чем 1.5, то дополнительно установите apt-transport-https. И, кстати, доступ по http тоже работает.
Если вы хотите использовать снимки старше 12 дней то обновление (apt-get update или aptitude update) нужно выполнять с определёнными опциями:
# apt-get -o Acquire::Check-Valid-Until=false update # aptitude -o Acquire::Check-Valid-Until=false update
Или можно эту опцию прописать в конфиг, тогда не придётся указывать её вручную:
# nano /etc/apt/apt.conf.d/80snaprepo Acquire::Check-Valid-Until "false";
Итог
Теперь вы знаете что такое снапшоты репозиториев Debian и можете ими пользоваться. А про обычные репозитории для Debian и Ubuntu я писал в этой статье.