
В дистрибутивах на основе RedHat инструмент yum имеет команду distro-sync, которая синхронизирует пакеты с текущими репозиториями. Эта команда полезна для возврата к базовому состоянию, если базовые пакеты были изменены из внешнего источника. Документация для команды:
дистрибутив-синхронизация или distro-sync Синхронизирует установленный набор пакетов с последними доступными пакетами, это делается либо устареванием, либо обновлением, либо понижением версии по мере необходимости. Это «обычно» делает то же самое, что и команда обновления, однако если у вас установлен пакет FOO версии 4, а последняя доступная версия — только 3, то эта команда понизит версию FOO до 3.
Есть ли аналогичная операция в Ubuntu?
решение1
Я думаю, это можно сделать, добавив/etc/apt/preferences профиль, который прикрепил все пакеты к дистрибутиву/релизу, который представляет repo. В следующий раз, когда вы запустите apt-get upgrade, он понизит версию, насколько это необходимо для соответствия указанным правилам. Смотритечеловек apt_preferencesдля получения подробной информации.
http://wiki.debian.org/AptPreferences
Обратная сторона этого заключается в том, чтобы предотвратить это с самого начала, закрепив пакеты, в стабильности которых вы заинтересованы. Так что если они обновляютсявнешний источник, следующее обновление apt-get вернет только это, а не всю вашу ОС.
решение2
Нет, насколько мне известно, в системе пакетов apt такой команды нет.
Команда dist-upgrade
похожа apt-get
, но она не понижает версию пакетов. install
Команда может понизить версию пакета, как в
sudo apt-get install "package"="version"
но как вы видите, вам следует явно указать желаемый номер версии, который вы можете получить из
apt-cache policy "package"