Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
up vote 14 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
@DrA7 package_name was already not hold. What should I do now? – Mr.Hyde Jan 30 at 10:25

The correct way to remove the hold should be:

echo "package_name install"|sudo dpkg --set-selections
share|improve this answer

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.