Как отменить «-предложенное» обновление пакета каналов?

Как отменить «-предложенное» обновление пакета каналов?

У меня 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кодовым именем используемого вами релиза):

  1. Отключите xenial-proposedрепозиторий, software-properties-gtkкак вы предложили.
  2. В /etc/apt/preferences.d, создайте файл с именем 99-downgrade-proposed.
  3. Скопируйте и вставьте в файл следующие строки:

    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
    
  4. Запустите, sudo apt updateа затем sudo apt full-upgrade.

  5. Удалите файл, запустив sudo rm /etc/apt/preferences.d/99-downgrade-proposed.

решение2

  1. Сохраните список пакетов, установленных в данный момент изпредложенныйсюита:

    aptitude -F '%p' search "?narrow(?installed, ?archive($(lsb_release -sc)-proposed))" > /path/to/proposed-packages.txt
    

    Внимание:Убедитесь, что размер итогового файла в байтах значительно меньше 128 КБ, иначе вы, скорее всего, столкнетесь с проблемами на шаге 4.

  2. ОтключитьпредложенныйНабор репозиториев. Если вы не знаете как, см.Как добавить «предлагаемый» репозиторий?и сделайте наоборот.

  3. Обновите локальный индекс пакетов:

    sudo apt-get update
    
  4. Приведите все пакеты из списка с шага 1 к самой последней известной версии для текущего релиза:

    xargs -x -r -d '\n' -a /path/to/proposed-packages.txt -- sudo apt-get install -f -t "$(lsb_release -sc)" --
    

    После удаления репозиториев дляпредложенныйОбновление пакета и индекса пакетов, самые последние известные версии пакетов будут изобновления,безопасностьили «голый» набор для вашего релиза в зависимости от того, какие другие наборы вы включили и что они содержат.

PS: Приведенные выше инструкции аналогичны инструкциям по удалениюбэкпортыsuite и понижение версии всех установленных пакетов. Просто замените все экземплярыпредложенныйсбэкпорты.

Связанный контент