У меня Ubuntu GNOME 16.04 с 64-битной виртуальной машиной GNOME 3.18, и в этой виртуальной машине мне нужно было что-то проверить в канале xenial-proposed
, поэтому я активировал его в software-properties-gtk
, запустил sudo apt-get update && sudo apt-get dist-upgrade
и установил все обновления с канала xenial-proposed
, так как я не смог найти способ получить его просто для обновления нужного мне пакета.
Теперь, однако, я хочу понизить все упакованные обновленные версии до xenial-proposed
до их версии в стабильных / обычных каналах, но как этого достичь? Могу ли я использовать ppa-purge
для этого? И если да, то как?
Если я просто отключу канал xenial-proposed
с помощью того же средства, что я включил его, то будет ли пакет, установленный и обновленный до их xenial-proposed
версий, снова начать получать обновления из стабильного / нормальные каналы, если номера версий там больше установленных, или я вообще не получу обновлений, пока снова не включу канал xenial-proposed
?
Адаптация http://www.webupd8.org/2013/11 /how-to-downgrade-proposed-repository.html и https://wiki.ubuntu.com/Testing/EnableProposed , пакеты, установленные из , предложенного xenial
репозиторий можно понизить, выполнив следующие действия (замените xenial
кодовым именем той версии, которую вы используете):
, предложенный xenial
в свойствах программного обеспечения -gtk
, как вы предложили. /etc/apt/preferences.d
создайте файл с именем 99-downgrade -hibited
. Скопируйте и вставьте в файл следующие строки:
Пакет: *
Пин: отпустить a = xenial
Pin-Priority: 1001
Пакет: *
Пин: выпуск a = xenial-updates
Pin-Priority: 1001
Пакет: *
Пин: выпуск a = xenial-security
Pin-Priority: 1001
Пакет: *
Пин: релиз a = xenial-backports
Pin-Priority: 1001
Пакет: *
Значок: выпуск a = xenial-предложение
Pin-Priority: -1
Запустите sudo apt update
, а затем sudo apt full-upgrade
.
sudo rm /etc/apt/preferences.d/99 -downgrade -hibited
. Сохраните список пакетов, установленных в настоящее время из предлагаемого набора:
aptitude -F '% p' search "? Узкий (? Установлен,? Архив ($ (lsb_release -sc) -proposed)) "> /path/to/proposed-packages.txt
Внимание: Убедитесь, что размер результирующего файла в байтах намного меньше 128 КиБ, иначе на шаге 4 могут возникнуть проблемы.
Отключите предлагаемый набор репозиториев . Если вы не знаете, как это сделать, см. Как мне добавить «предлагаемый» репозиторий? и сделать наоборот.
Обновите локальный индекс пакета:
sudo apt-get update
Привести все пакеты из списка с шага 1 к самой последней известной версии для текущего выпуска:
xargs -x -r -d '\ n' -a /path/to/proposed-packages.txt - - sudo apt-get install -f -t "$ (lsb_release -sc)" -
После удаления репозиториев для предлагаемого пакета и обновления индекса пакета самые последние известные версии пакетов будут из обновлений , безопасности или «голый» набор для вашего выпуска в зависимости от того, какие другие наборы вы включили и что они содержат.
PS: Приведенные выше инструкции аналогичны инструкциям по удалению набора резервных копий и снижение уровня всех установленных пакетов. Просто замените все экземпляры предложенного на backports .