Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Suppose I have a package (a Python package in this case) that I install using Synaptic. Because the version of this package is somewhat outdated, I remove it in Synaptic and then install it using easy_install. One of its dependencies was also installed using Synaptic, but I'd rather keep the Synaptic-installed version rather than easy_installing it as well.

The only problem is that the dependency is now marked auto removable. Is there any way to mark it as being manually installed other than to remove it and reinstall it? If it makes a difference I'm using Ubuntu Jaunty.

share|improve this question

3 Answers 3

up vote 4 down vote accepted

You can "hold" a package in Ubuntu.

Holding a package basically means you're telling the package manager to keep the current version no matter what. This is useful if more recent version of a currently working program breaks after an update.

You can do it via Synaptic or on the command-line via apt/dpkg. The command-line version to hold a package is:

echo package_name hold | dpkg --set-selections

Ubuntu Community Documentation has a more complete guide explaining how to pin or hold packages.

share|improve this answer
    
Thanks! askubuntu.com/questions/140136/… –  Andrejs Cainikovs May 22 '12 at 7:58
    
Hold is normally used to prevent upgrades to newer versions; it shouldn't be used to keep a package. Using hold will block you from receiving security and distro updates, and will be an additional burden during upgrades. Marking the package as manually installed should be the right way (see my answer...). –  Thomas Guyot-Sionnest Jul 22 at 3:13

I know you can do it in aptitude. You can do it either in its GUI by selecting package and hitting 'm' or selecting "Mark manual" from "Package" menu, or using command line:

aptitude install <package_name>&m
share|improve this answer

You can use apt-mark manual <package> for that, of from Synaptic, Package => [ ] Automatically Installed (uncheck it).

ex:

# Mark <some_package> as manually-installed:
apt-mark manual <some_package>

# Mark <other_package> as automatically-installed (ex if you know it's a
# dependency to something else and you want to make sure it'll be
# auto-removable if it's no longer used):
apt-mark auto <other_package>

Also, if you use apt-get install <package> on a package that's already installed, it will be implicitly marked as manual.

share|improve this answer

Your Answer

 
discard

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.