пятница, 13 января 2012 г.

Debian - как откатить версию пакета

Иногда как что-нибудь обновишь... лучше бы не обновлял =) Сегодня это был php5-fpm из репозитория dotdeb.
Как из командной строки сделать downgrade?
Элементарно, вообще-то (возможно, придётся указывать -f... это лучше сначала сделать вместе с -s -V и внимательно прочитать вывод команды):
apt-get install php5-fpm=5.3.8...............
Упс... а какая версия стояла до того? И какие версии, собственно, вообще доступны?
Можно напрямую залезть в pool репозитория... но это же неудобно! А если репозиториев несколько?
Открыл для себя удобную утилиту - apt-show-versions. C ключом -a и именем пакета она выдаёт именно то, что надо - список доступных версий пакета. С указанием, из какого репозитория доступны. По умолчанию в минимальном дебиане не установлена, пакет так и называется apt-show-versions.
Опять не то - владелец dotdeb выкладывает в репозитории только последние версии пакета, убирая предыдущие...
Ага, оказывается, есть archives.dotdeb.org - там лежат некоторые из старых версий пакетов с dotdeb...
В результате откат на старую версию пакета был выполнен в непродвинутом варианте - скачал оттуда пакеты с предыдущей версией php и установил нужные мне через dpkg -i p1.deb p2.deb p3.deb ...
PS. В принципе, apt-show-version не обязателен - информацию о том, какая версия пакета из какого репозитория доступна и какая установлена в системе, можно извлечь из очень подробного вывода apt-cache showpkg name-of-package. Но вывод apt-show-versions компактней и удобней.
PPS. apt-cache policy name-of-package показалась мне наиболее удобной для ответа на вопрос "какая версия пакета из какого репозитория доступна и какая установлена в системе". Можно ничего дополнительного не ставить, всё уже есть, просто название неочевидное :(

Комментариев нет:

Отправить комментарий