web-dev-qa-db-fra.com

Comment déclasser un paquet via apt-get?

Comment puis-je rétrograder un paquet vers une version plus ancienne via apt-get?

D'autres outils sont également acceptables, mais apt-get est préférable.

300
user61928

USE

apt-get install «pkg»=«version»

OU

Sudo aptitude install «pkg»=«version»

"pkg" est le nom du paquet, et "version" est le numéro de version.

102
user91632

Si vous avez le numéro de version ou la version cible, apt-get prend en charge le choix d’une version ou d’une version cible particulière. Plus de détails peuvent être trouvés sur page de manuel d’apt-get . Vous pouvez également y accéder depuis le terminal en tapant man apt-get

Sudo apt-get install <package-name>=<package-version-number> OU

Sudo apt-get -t=<target release> install <package-name>

est la commande à exécuter. Ceci peut être utilisé pour rétrograder un paquet en une version spécifique.

Il a été utilement signalé dans les commentaires que

  • apt-cache showpkg <package-name> répertorie toutes les versions disponibles. (h/t Sparhawk )
  • apt-mark hold <package-name> "détient" le package dans la version actuelle, empêchant ainsi les mises à niveau automatiques. (h/t Luís de Sousa )
294
Mahesh

Si vous avez mis à niveau un logiciel à l'aide de ppa, vous pouvez le rétrograder à l'aide de ppa-purge. Vous devez d’abord installer ppa-purge en utilisant ce code:

Sudo apt-get installer ppa-purge

Ensuite, vous pouvez supprimer le ppa en utilisant la commande

Sudo ppa-purge ppa: nom d'utilisateur/ppa-name

cela rétrogradera automatiquement le logiciel à sa version originale fournie avec Ubuntu.

27
Apurba

Pour rétrograder, vous devez exécuter une commande telle que

 Sudo apt-get install pkg_name=version

dans votre terminal.

À la place de version, insérez la version précédente que vous souhaitez rétrograder.

10
rɑːdʒɑ

À mon avis, vous devez d’abord désinstaller ou purger le paquet, par exemple:

Sudo apt-get remove <package>

ou

Sudo apt-get purge <package>

Ensuite, vous pouvez télécharger la version que vous souhaitez installer et la conserver dans un dossier, par exemple abc.deb dans Téléchargements. Ouvrez le terminal, accédez au dossier à l'aide de la commande cd et installez la version précédente à l'aide de dpkg:

Sudo dpkg -i abc.deb

Sinon, il existe un petit utilitaire appelé ppa-purge si vous voulez déclasser les packages mis à jour via des PPA.

Voir cette discussion: http://www.webupd8.org/2009/12/remove-ppa-repositories-via-command.html

9
Theeternalflame

Cette question est ancienne mais Google m'a amené ici et je n'ai pas trouvé de solution simple qui ne nécessite pas de version manuelle lors de la mise à niveau d'une série de paquets vers une version plus ancienne.

Alors peut-être que quelqu'un qui a aussi besoin de ça trouvera utile ma solution aussi.

Il existe un outil appelé apt-show-versions qui indique les versions installées.

Vous pouvez facilement rétrograder tous les paquets requis en ajustant regex avec précision, mais voici:

$ Sudo apt-get install $(apt-show-versions | grep -P 'newer than version in archive' | awk -F: '{print $1"/jessie"}')

Au lieu de jessiename__, vous pouvez utiliser bustername __/xenialname __/etc en fonction de vos besoins.

0
gudvinr