105

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?

David Fraser
  • 1,787

7 Answers7

138

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).

21

To unhold all held packages, use this command:

apt-mark unhold $(apt-mark showhold)
Melebius
  • 11,750
15

The correct way to remove the hold should be:

echo "package_name install"|sudo dpkg --set-selections
jasmines
  • 11,311
3

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
Earl Ruby
  • 841
3

You can unhold all APT packages with:

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

None of the answer worked for me, as the packages simply could not be upgraded because of unmet dependencies.

I had to remove some packages. I've followed this blog post instructions to figure out which one causes problems:

apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
PeterM
  • 764
1

Run echo pidgin-data install | dpkg --set-selections (replace pidgin-data with the held package name) - this will change the package status to install rather than hold.

David Fraser
  • 1,787