How can you unhold (remove a hold on) a package?

I used synaptic to lock the version of pidgin-data - how can I change the status from hold back to normal, so that it gets upgraded properly?

The PinningHowto says that doing an apt-get install packagename should remove the hold, but running dpkg -l | grep ^h still shows it as held:

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

How can I properly undo the hold status?


You can use sudo apt-mark unhold package_name. The package is unheld and it returns a confirmation: Canceled hold on package_name..

To unhold all held packages you can use sudo apt-mark unhold $(apt-mark showhold).


The correct way to remove the hold should be:

echo "package_name install"|sudo dpkg --set-selections

To unhold all held packages, use this command:

apt-mark unhold $(apt-mark showhold)

Unhold a single package named $package_name:

echo $package_name install | dpkg --set-selections

Unhold all packages that are currently held:

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

You can unhold all APT packages with:

apt-mark showhold | awk '{ print $1, "install" }' | dpkg --set-selections