There has been an interesting discussion running on /. recently about
Linux package management. I posted two comment there saying,
essentially, that the debian package system is almost there, it just
needs a few things. Some of the suggestions are just about the
interface, but a couple of things would require more information to be
kept when packages are selected, and a little more information to be
provided when packaging applications. I couldn't find any web page
for apt or deity, nor for dpkg, nor any place that listed what you
guys are planning for the future, so I thought I'd send them along in
case you hadn't heard them requested.
My postings are at:
Here they are as plain text:
I agree that uninstallation is one of the important issues in
package management. The debian package management facility
handles this pretty well; I don't know about red hat or the BSD
What debian doesn't do is keep track of which packages I selected
directly, and which were only selected because they are required
by other installed packages. This distinction is important,
because a package I didn't select directly can be removed once
the last package that depends on it is removed. I have no idea
how many packages I have installed that I don't need or want, and
there's no easy way to find out. Every so often I do a spring
cleaning, but this is time consuming and would be intimidating
for newbies. Having this handled automatically would make
uninstallation simpler and more effective.
My other complaint about dpkg is really about its front ends. I'd
like one that would do the following for me:
Show me how how many bytes I'd need to download, and how
much disk space will be consumed, if I select a
package. This should include dependent packages that aren't
already installed or selected.
Give me an easy way to choose whether to load recommended
and/or suggested packages as well as required ones, without
having to look at them all.
Detect incompatibilities before I select a package! I
sometimes select a new package, only to find that it
requires a newer version of a package, while another package
I have installed requires the old version. Sometimes I
select a package, only to discover that some of its
depencies are not available. The same goes for upgrades: I'd
like the tool to figure out for me which packages I'm going
to have to hold due to dependency conflicts, rather than
forcing me to deal with them myself.
Allow me to check out what new packages have been added and
select some of them without upgrading (only upgrading where
required by dependencies). Upgrading should be a separate
operation, which I may not want to do. I'd also like to be
able to easily select a few packages to upgrade, without
having to hold everything else. And I'd like to be offered
some summary of what's changed in a package since my current
Provide some kind of motd-like facility which users can use
to see what new packages have been installed lately, and
what new features have been added to existing pacakges. I
often see and select fun looking new packages using dselect,
but by the time I'm finished installing, I can't remember
what they were!
Provide a search facility based on keywords in package
descriptions, not just package names. It can be difficult to
find a package if you don't know its name.
I think these features would make debian's package facility quite
efficient and friendly, even for newbies and people using the
[ The context was a complaint that removing a package left behind lots
of user config files. ]
> Would you prefer that the package manager erased
> [user config directories for removed applications] for
> you? I think not.
No, removing a pacakge shouldn't remove any user's files, but it
would make sense for each user to get a pop up dialog when they
log in telling them that they have config files for uninstalled
packages, and offering to remove them. It should explain what's
happened and what the ramifications of removing the config files
are. In addition to "yes, blow them away" and "no, keep them
around", there should also be an "ask me again next time" option.
I wouldn't think such a facility would be difficult to add to,
say, debian's package facility. Of course, there's not much
chance of removing config files which users have chosen their own
names and locations for.
Peter Schachte I think their attitude right now is that,
mailto:email@example.com.OZ.AU because [Microsoft are] a computer
http://www.cs.mu.oz.au/~schachte/ company, ... they're beyond quality
Phone: +61 3 8344 9166 control.
Fax: +61 3 9348 1184 -- Harvey Levine