
У меня 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
снова?
решение1
Адаптацияhttp://www.webupd8.org/2013/11/how-to-downgrade-proposed-repository.htmlиhttps://wiki.ubuntu.com/Testing/EnableProposedпакеты, установленные из xenial-proposed
репозитория, можно понизить, выполнив следующие действия (замените xenial
кодовым именем используемого вами релиза):
- Отключите
xenial-proposed
репозиторий,software-properties-gtk
как вы предложили. - В
/etc/apt/preferences.d
, создайте файл с именем99-downgrade-proposed
. Скопируйте и вставьте в файл следующие строки:
Package: * Pin: release a=xenial Pin-Priority: 1001 Package: * Pin: release a=xenial-updates Pin-Priority: 1001 Package: * Pin: release a=xenial-security Pin-Priority: 1001 Package: * Pin: release a=xenial-backports Pin-Priority: 1001 Package: * Pin: release a=xenial-proposed Pin-Priority: -1
Запустите,
sudo apt update
а затемsudo apt full-upgrade
.- Удалите файл, запустив
sudo rm /etc/apt/preferences.d/99-downgrade-proposed
.
решение2
Сохраните список пакетов, установленных в данный момент изпредложенныйсюита:
aptitude -F '%p' search "?narrow(?installed, ?archive($(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: Приведенные выше инструкции аналогичны инструкциям по удалениюбэкпортыsuite и понижение версии всех установленных пакетов. Просто замените все экземплярыпредложенныйсбэкпорты.