Официально поддерживаемого способа сделать это не существует, однако вы можете это сделать.
Понижение, вероятно, приведет к более серьезным проблемам, чем вызванное обновление. Причины:
- Скрипты установки / удаления пакета не проверялись на понижение.
- Это могут быть специфичные для пакета файлы конфигурации, базы данных, формат которых изменился с новой версией. В этих случаях их обновление формата было разработано, но их понижение в основном не было.
- Зависимости пакета не очень проверены в сценариях понижения. Это приводит к тому, что во время понижения может появиться некоторое состояние системы, в котором несовместимые пакеты находятся по совпадению.
Все эти проблемы редки. Но типичная система Linux имеет тысячи пакетов, поэтому, по крайней мере, в одном из них вы наверняка столкнетесь с проблемами. Это вы должны будете исправить вручную, индивидуально.
Точные шаги для dist-downgrade подробно описаны в этом ответе.
(Не тема вопроса, но это очень забавно: аналогичным образом вы также можете переключаться между различными дистрибутивами на основе Debian, возможно, даже без перезагрузки. Если в обоих из них есть поддержка нескольких архитектур, вы можете даже переключать архитектуры без перезагрузки.)
Поскольку ваша цель состоит в том, чтобы избежать некоторых, похожих, редких проблем, связанных с конкретным пакетом, после обновления , вы, вероятно, избежите тех, которые вызовет dist-downgrade.
Таким образом, я бы предложил более обходное решение:
Понизьте только несколько пакетов, с которыми у вас есть проблемы.
Это очень просто:
- Временно добавьте также исходные коды вашего старого дистрибутива в
/etc/apt/sources.list
. Таким образом, вы sources.list
будете - временно - содержать исходные коды пакетов для вашей версии для обоих дистрибутивов.
- Запустите
apt-get update
для загрузки кешей.
- Затем он
apt-cache show mybuggytool
будет отображаться mybuggytool
во всех доступных версиях, в обоих репозиториях. Например, вы увидите mybuggytool
в версиях 1.1-crap
и в 1.3-crap
.
- Выберите более сочувствующий, который будет вероятным
1.1-crap
.
- Установите его с
apt-get install mybuggytool=1.1-crap
- Удалите (или закомментируйте) строки вашего старого disto из
sources.list
, а затем apt-get update
снова.
Таким образом, у вас будет пакет с ошибочным инструментом, но из вашего старого дистрибутива. Поскольку подавляющее большинство библиотек разработано для обеспечения обратной совместимости, вы столкнетесь с проблемой с гораздо меньшей вероятностью.
Возможно, вы захотите освободить эти пакеты от будущих обновлений. Подробно в этом ответе . Важной частью является:
- Вы можете держать пакет по команде
apt-mark hold mybuggytool
.
- Вы можете отменить это
apt-mark unhold mybuggytool
.