Comment pouvez-vous retirer (supprimer une retenue) un colis?

49

J'ai utilisé Synaptic pour verrouiller la version de pidgin-data- comment puis-je changer le statut de holdretour à la normale, afin qu'il soit mis à niveau correctement?

Le PinningHowto dit que faire un apt-get install packagenamedevrait enlever le hold, mais en cours d'exécution dpkg -l | grep ^hmontre toujours comme bloqué :

hi  pidgin-data                                                 1:2.10.6-0ubuntu1+pidgin1.12.04                            multi-protocol instant messaging client - data files

Comment puis-je annuler correctement le holdstatut?

David Fraser
la source

Réponses:

59

Vous pouvez utiliser sudo apt-mark unhold package_name. Le paquet est et retourne sans député libéral une confirmation: Canceled hold on package_name..

DrA7
la source
1
Votre sudoproblème est probablement parce que vous avez écrit juste sudo echo "package_name install"|dpkg --set-selections. Cela provoque le flou echomais pas le tube suivant, d'où l'erreur d'accès. Essayez ceci: sudo -E -- sh -c 'echo "package_name install"|dpkg --set-selections'. Ceci est un sous-shell dont la ligne de commande est echo "package_name install"|dpkg --set-selections.
Urhixidur
1
Ma réponse était quelque peu liée à la version non éditée de la réponse ci-dessous, qui incluait auparavant exactement la commande que j'ai citée. Cependant, la question utilise spécifiquement à apt-gettitre d'exemple et c'est pourquoi j'ai répondu en utilisant apt-markce qui est inclus dans le paquet apt . Il est cependant très utile de savoir exactement pourquoi les commandes dpkg ne fonctionnaient pas.
DrA7
@ DrA7 nom_package n'était déjà pas en attente. Qu'est-ce que je devrais faire maintenant?
Dr.jacky
13

La bonne façon de supprimer la cale devrait être:

echo "package_name install"|sudo dpkg --set-selections
jasmins
la source
2

Détachez un seul paquet nommé $ nom_package:

echo $package_name install | dpkg --set-selections

Annulez tous les paquets actuellement détenus:

dpkg --get-selections | grep hold | awk '{ print $1, "install" }' | dpkg --set-selections
Earl Ruby
la source
1

Exécuter echo pidgin-data install | dpkg --set-selections(remplacer pidgin-datapar le nom du paquet en attente) - cela changera le statut du paquet en installplutôt que hold.

David Fraser
la source
1

Vous pouvez supprimer tous les packages APT avec:

apt-mark showhold | awk '{ print $1, "install" }' | dpkg --set-selections
panticz.de
la source