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.

If libfoo is pulled in by the package bar, and I upgrade it by executing apt-get install libfoo, how will this affect reverse dependencies?

If I then remove the package bar, will libfoo still be removed by apt-get autoremove?

share|improve this question

2 Answers 2

up vote 6 down vote accepted

If you run apt-get install libfoo it will mark it as manually installed. This means it won't be removed by autoremove.

And as far as I know, running apt-get install libfoo won't upgrade libfoo. It's already installed as a dependency of bar and it'll automatically be the most updated version that it can be (while still compatible with bar).

If there's a newer version of libfoo that isn't compatible with bar's dependency (packages can state what version of a package they need including "newer than x" or "older than x"), libfoo will be held back.

share|improve this answer
    
For libraries there's also the policy statement that a newer libfoo must not break any rdepends. Any time the library changes ABI it should also change SONAME, and we mandate that the SONAME be included in the package name (which is why you'll sometimes see libfoo1 and libfoo2 in the archive at the same time). –  RAOF Nov 4 '10 at 4:13

1) If libfoo is a dependence, doing apt-get install libfoo will install only the version compatible with the other application using it.

2) If you remove bar and no other application is using libfoo, it will be removable with apt-get autoremove.

share|improve this answer
    
These aren't necessarily true, and the second point is false. If you've run “apt-get install libfoo” then libfoo is marked as manually installed and isn't a candidate for autoremove. –  RAOF Nov 4 '10 at 4:11

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.