Как перечислить все версии пакетов, которые когда-либо были доступны для определенного выпуска Debian?
Мне нужно выяснить, какие версии произвольного пакета Debian когда-либо существовали для определенной основной версии Debian.
При новой установке Debian политика apt-cache показывает только последнюю доступную версию пакета.
Давайте возьмем libssl1.0.0, например. Debian Wheezy 7.0 поставлялся с библиотекой libssl1.0.0, которая была уязвима для ошибки. Позже ошибка была исправлена, и была выпущена новая версия (1.0.1e-2+deb7u5).
Мне нужен список всех этих патчей, от первой выпущенной основной версии Debian до текущей даты. Я бы предпочел сделать это с помощью существующих инструментов (например, apt-cache).
Я мог предположить, что это можно решить, используя дополнительные записи sources.list, но я безуспешно искал в Интернете более двух часов.
У кого-нибудь есть идеи как это сделать?
Справочная информация: В настоящее время я расследую появление CVE-исправлений в пакетах Debian. Это довольно громоздкая работа, поэтому я хотел бы избегать обхода каждого журнала изменений для проверки дат выпуска, номеров версий и т. Д. (Это необходимо в любом случае позже, однако я бы хотел отложить эту задачу).
1 ответ
Пакеты Debian предоставляют журнал изменений, который может быть легко проанализирован. Список изменений можно получить с помощью
apt-get changelog <pkgname>
или же
aptitude changelog <pkgname>
Выполняя поиск определенной версии пакета, можно отследить все выпущенные исправления определенного пакета для текущей используемой версии Debian. Например:
aptitude changelog libssl1.0.0 | grep "1.0.1k"
Это печатает список всех исправлений для версии 1.0.1k пакета libssl1.0.0. На Debian Jessie это будет:
vagrant@debian-jessie:~$ aptitude changelog libssl1.0.0 | grep "1.0.1k"
openssl (1.0.1k-3+deb8u1) jessie-security; urgency=medium
openssl (1.0.1k-3) unstable; urgency=medium
openssl (1.0.1k-2) unstable; urgency=high
openssl (1.0.1k-1) unstable; urgency=medium