Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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?

share|improve this question

3 Answers 3

up vote 6 down vote accepted

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

In my case using echo "package_name install"|dpkg --set-selections only returns dpkg: error: operation requires read/write access to dpkg status area even if using sudo or running as root.

share|improve this answer
Your sudo problem is probably because you wrote just sudo echo "package_name install"|dpkg --set-selections. This sudoes the echo but not the following pipe, hence the access error. Try this instead: sudo -E -- sh -c 'echo "package_name install"|dpkg --set-selections'. This sudoes a sub-shell whose command line is echo "package_name install"|dpkg --set-selections. –  Urhixidur Sep 29 '14 at 14:24
My answer was somewhat related to the unedited version of the answer here below which previously included exactly the command I referenced. However the question specifically uses apt-get as an example and that is why I answered using apt-mark which is included in the apt package. It is however very helpful to know exactly why the dpkg commands were not working. –  DrA7 Dec 16 '14 at 20:35

The correct way to remove the hold should be:

echo "package_name install"|sudo dpkg --set-selections
share|improve this answer
echo "package_name install"|dpkg --set-selections there is a "t" missing... –  mondjunge Oct 31 '12 at 10:28
Don't you need sudo in front of dpkg? –  minerz029 Oct 16 '13 at 9:13

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.