[ubuntu-za] packages

Jonathan Hitchcock jonathan at vhata.net
Thu Jun 19 15:19:21 BST 2008


On 19 Jun 2008, at 3:14 PM, Simon Richards wrote:
> This is why I asked, normally only use apt-get etc, then I noticed
> aptitude returns different results,   then I just thought I'd ask the
> experts....

Well, nobody has really covered the reasons yet, although Morgan  
touched on them - everybody else has just said what they use.

There are three, maybe four factors involved.

First of all, do you want a GUI or a command-line tool?  If you want a  
GUI tool, then "Add/Remove Packages" is nice and simple and will do  
the trick, but Synaptic has some real power behind it - you can select  
packages based on all sorts of statuses, and do complex searches, and  
so on.  For example, you can find all packages that used to be  
installed, but are now uninstalled, but haven't had their  
configurations cleaned up yet (and then you can clean up their configs).

There's also that KDE thing, whose name I can't remember.

If you're going the command-line route, your main contenders are apt- 
get or aptitude.  You can also use things like dselect and dpkg-alone,  
and so on, but, well, don't.

Both of them have features that the other one does not:  'apt-get  
source' will download a source package, but I don't know how to use  
aptitude to do that.  'aptitude purge' will remove configuration files  
as well as a package, but I don't know how to use apt-get to do that.   
Aptitude can get the changelog for you, but you need to use one of  
those special apt-listchanges commands or something otherwise.  And so  
on - there are a number of feature-differences that mean that neither  
one of them is completely superceded by the other.

However, if we're just installing a package, there are still different  
factors to take into account.  I'm not sure if I've got my facts 100%  
correct, but I think this is how it goes:

apt-get came first, and as such, it set the base-line on installing  
debs with dependency handling.  When aptitude came on the scene, it  
added two features which apt-get did not have:  it automatically  
installs "recommended" packages as dependencies by default (although  
you can turn this off); and it also keeps track of packages that were  
only installed as dependencies of another package (so that it can  
remove them as unnecessary when that package is removed).

Now, as Morgan points out, apt-get has already gained the second  
feature of automatic-unused-dependency removal, and in the next  
version of Ubuntu, it will also gain the ability to install  
recommended packages as dependencies.  So, by that stage, they'll be  
functionally equivalent, really, and it'll be "whatever you use", but  
as I said above, both have certain features that the other does not  
have, and you should really have at least a vague knowledge of both if  
you want to really get the most out of your system.

More information about the ubuntu-za mailing list