Martin Probst's weblog

Usability of Command Line Interfaces

Sunday, January 29, 2006, 13:30 — 1 comment Edit

Something really astonishing about Ubuntu (and all Debian distributions) is the state of the Command Line Interfaces to the package management system.

First, there is “dpkg”, coming in several incarnations (20 different programs). This is not supposed to be used by actual humans, and there are good reasons for that, it’s just unusable. Then there is apt (9 different programs) providing something somewhat usable. With package management, I have 4 main things I usually want to do:

Installing and removing is pretty straightforward, but upgrading and finding out information about installed packages is surprisingly complicated. If an upgrade just works, your fine. But if it e.g. wants to remove some package you’d rather not see removed, ‘apt’ doesn’t tell you why. Plus, finding out which version a package is usually means first searching for the name of the package using apt-cache (and reading through screens full of names to find what you were actually looking for, ending up with three candidates of which 2 are ‘transitional’, ‘obsolete’ or whatever), as everything has rather obscure names, and then querying information about it using dpkg-query. Why is this so difficult? And why is it so easy with Gentoos “emerge” command?

Speaking of Gentoo, the whole init/rc system of Debian/Ubuntu is also a huge step backwards from Gentoos rc system. The command line tools are obscure, the user has to specify the start order manually where this could be specified by package maintainers. In Gentoo there are runlevels which have clear, understandable names and a tool that manages all the dependencies for you. Instead of pondering when to start which service in what order, and especially when to stop them again, you simply state that you’d like to have service x running at runlevel y, or not. While there is somewhat of a GUI for that in Ubuntu, it doesn’t seem to work all too often and it doesn’t include many of the services.

This was pretty surprising to me, as I figured that Debian was the system used by many administrators and they’d probably care about such things. Strange.


This week in the world of the Command Line; The Friday Round up!

Package Management in Mac OS X… in Japanese! 
A user has featured one of my posts with comments/criticisms in a post in a Japanese blog, I have no idea what he is saying, however Google Translator does attempt to make sense of it.
Gentoo VS De...