7

I'm using 10.04 and have installed Virtualbox 3.2.10 (not the ose one, but the .deb file from Oracle). It has a dependency on libqt4-opengl which depends on qt version 4.6, but the update manager wants to update to qt 4.7 and remove Virtualbox.

How do I keep it from doing that so that I can get the rest of the updates?

4 Answers 4

5

Answering to the question - here is the command for your shell:

echo "libqt4-opengl hold" | dpkg --set-selections

and to revert it back to update-able:

echo "libqt4-opengl install" | dpkg --set-selections

Replace libqt4-opengl with your package's name if I've guessed it incorrectly.

2

Why you don't install it with the Debian-based Linux distributions process it better and more secure follow the step accord with your ubuntu distribution :

http://www.virtualbox.org/wiki/Linux_Downloads

2
  • I see how that's better. Do I need to let update manager remove the current virtualbox and then reinstall from there?
    – Neth
    Oct 20, 2010 at 13:48
  • Yes, that's how it works in this case. Oct 21, 2010 at 6:47
2

You can use aptitude to hold a specific package version, this is done like this:

aptitude install <package>=<version>

This will place the package on hold for that given version. To revert simply do

aptitude unhold <package>
2
  • Using aptitude to set the holds doesn't seem to have affected the GUI update manager, it still wants to update libqtcore4 et al, and remove libqt4-opengl and virutalbox-3.2
    – Neth
    Oct 20, 2010 at 14:40
  • It should work.. I've used it to hold back vim on my workstation. What was the exact command you used? Oct 21, 2010 at 10:14
0

The Update Manager tends to do it's own thing and keep you up with the latest packages. I haven't figured out how to make Update Manager keep packages where they are and so I use apt-get to "pin" packages to a specific version. NB - all of the package management systems tend to do this differently so you'll have to chose one package manager and stick with it.

First, install the package version that you want.

Next, use apt-cache policy to see which version you are using:

$$ apt-cache policy xterm
xterm:
  Installed: 241-1ubuntu1
  Candidate: 241-1ubuntu1
  Version table:
 *** 241-1ubuntu1 0
        500 http://us.archive.ubuntu.com jaunty/main Packages
        100 /var/lib/dpkg/status

Finally, edit /etc/apt/policies and add an entry for your package:

Package: xterm
Pin: version 241*
Priority: 1001

Now you can run:

$sudo apt-get update
$sudo apt-get upgrade

and your package will be kept at the current version. If you want to over-ride this use dist-upgrade:

$sudo apt-get dist-upgrade

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .