web-dev-qa-db-fra.com

Comment inverser la mise à niveau du paquet de canaux?

J'ai une Ubuntu GNOME 16.04 avec une machine virtuelle GNOME 3.18 64 bits, et dans ce VM, je devais tester quelque chose dans le canal xenial-proposed, donc je l'ai activé dans le software-properties-gtk, lancé Sudo apt-get update && Sudo apt-get dist-upgrade et installé toutes les mises à niveau à partir du canal xenial-proposed, car je ne trouvais pas le moyen de l'obtenir uniquement pour mettre à niveau le paquet dont j'avais besoin.

Maintenant, cependant, je souhaite rétrograder tous les paquetages mis à niveau vers leur version xenial-proposed vers leur version dans les canaux stable/normal, mais comment cela peut-il être réalisé? Puis-je utiliser ppa-purge pour le faire? Et si oui, comment?

Si je ne fais que désactiver le canal xenial-proposed via le même système, cela signifie que les versions installées et mises à niveau vers leur version xenial-proposed commenceront à recevoir les mises à jour à nouveau des canaux stable/normal une fois les numéros de version présents supérieur à celui installé ou ne recevrai-je plus de mises à jour avant d’activer à nouveau le canal xenial-proposed?

5
user364819

Adaptation http://www.webupd8.org/2013/11/how-to-downgrade-proposed-repository.html et https://wiki.ubuntu.com/Testing/ EnableProposed , les packages installés à partir du référentiel xenial-proposed peuvent être rétrogradés en procédant comme suit (remplacez xenial par le nom de code de la version que vous utilisez):

  1. Désactivez le référentiel xenial-proposed dans software-properties-gtk comme vous l'avez suggéré.
  2. Dans /etc/apt/preferences.d, créez un fichier nommé 99-downgrade-proposed.
  3. Copiez et collez les lignes suivantes dans le fichier:

    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. Exécutez Sudo apt update suivi de Sudo apt full-upgrade.

  5. Supprimez le fichier en exécutant Sudo rm /etc/apt/preferences.d/99-downgrade-proposed.
12
edwinksl
  1. Enregistrez une liste des paquets actuellement installés à partir de la suite proposée :

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

    Attention: Assurez-vous que la taille du fichier résultant en octets est bien inférieure à 128 Ko (sinon, vous allez probablement rencontrer des problèmes à l’étape 4.

  2. Désactiver la suite de référentiels proposée . Si vous ne savez pas comment, voyez Comment puis-je ajouter le référentiel "proposé"? et faites l'inverse.

  3. Mettez à jour l'index de paquet local:

    Sudo apt-get update
    
  4. Coercez tous les packages de la liste de l'étape 1 à la version la plus récente connue pour la version actuelle:

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

    Après la suppression des référentiels de la suite proposée et de la mise à jour de l'index de paquetage, les versions de paquetage les plus récentes seront . ) met à jour , sécurité ou la suite "nue" de votre publication en fonction de la ou des autres suites que vous avez ont permis et ce qu'ils contiennent.

P.S .: Les instructions ci-dessus sont analogues à celles de la suppression de la suite backports et de la dégradation de tous ses packages installés. Il suffit simplement de remplacer toutes les instances de proposées par des backports .

6
David Foerster