1

На моем компьютере установлен стабильный дистрибутив Debian. Однажды я установил некоторые пакеты из тестирования, но теперь это вызывает некоторые проблемы, поэтому я хотел бы понизить их. Я пробовал следующие команды:

apt-get --reinstall install  `apt-show-versions | grep newer | cut -d ' ' -f 1 | tr '\n' ' '`

это не работает, потому что apt пытается получить те же версии пакетов и жалуется, что не может их загрузить, потому что у меня нет источников для тестирования пакетов в sources.list

apt-get -t squeeze  install  `apt-show-versions | grep newer | cut -d ' ' -f 1 | tr '\n' ' '`

тоже не работает. Пишет, что самые новые версии пакетов уже установлены. Я думал, что -t sqeeze заставляет склоняться к установке пакетов из стабильного.

В любом случае, как я могу решить эту задачу?

2 ответа2

2

Я использую это:

for p in $(apt-show-versions|grep "newer than version in archive"|cut -d\  -f1); do apt-get install $p=$(apt-cache show $p|grep ^Version|tail -1|cut -d\  -f2); done

(После обоих -d\ есть двойной пробел.)

0

Как сказал @wullxz. Это можно сделать, удалив новые пакеты, удалив или закомментировав нестабильное хранилище из sources list , затем установив старые пакеты, раскомментировав или снова добавив нестабильное хранилище в список sources.list если вы хотите использовать другие пакеты из него.

  • Очистить новый пакет:

sudo apt-get purge my-package

  • Отредактируйте список sources.list и закомментируйте репозиторий для тестирования:

sudo nano /etc/apt/sources.list

  • Установите старый стабильный пакет снова:

sudo apt-get update

sudo apt-get установить my-пакет

  • (Необязательно) Используйте тестовое хранилище снова (как указано выше), если вам нужно, и временно заблокируйте версию для этого конкретного пакета:

# раскомментируйте тестовое репо из sources.list

sudo nano /etc/apt/sources.list

# Блокировка текущей версии пакета.

эхо "my-package hold" | dpkg --set-selections

  • Если вы хотите снять блокировку и снова установить тестовый пакет:

echo "my-package install" | dpkg --set-selections

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .