Sign up ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

I hardly ever hear anyone mention dselect, a deprecated package management front-end for Debian. Considering that it still exists as part of dpkg source, it must still have its uses. What are those? How does it compare with apt-get?

share|improve this question

4 Answers 4

up vote 5 down vote accepted

Dselect is an interactive dpkg front-end that resolves dependencies and conflicts. It lacks most of apt's advanced features: no differenciation between Suggests/Recommends/Depends, less good dependency and conflict resolution, no support for multiple sources of packages, no apt pinning/preferences, no automatically-installed package mark, …

(This is from memory. Actually dselect can now use apt backends for some functions, at least it can download from apt's sources.list.)

Dselect got a lot of hate simply from having unusual key bindings. I think your question will bring out unfond memories in some people.

I suppose dselect can still be useful if you want an interactive package selector with smaller memory consumption than apt.

share|improve this answer
Heh... Unfond memories? I sure remember the thrill switching from slack to debian... dselect... awesome! Anyhow, most of the things you mention here were outdated ten years ago. It does suggest/recommend/depend on packages. Dselect uses apt-get and its sources.list with as many sources you like. Dselect won't use less memory than apt-get tho since it calls apt-get for about everything. You're right about the pinning tho ;-) – Arjan Drieman Nov 18 '11 at 7:27

Deselect doesn't have any of the wonderful dependency resolution, but you can kind of think of deselect as a curses based "synaptic". However, you only want to make selections with deselect; don't actually do the installation.

After making selections run this:

apt-get dselect-upgrade

Best of both worlds.

share|improve this answer
Aptitude is even better ;) – André Paramés Jan 18 '11 at 5:03
I'm old school. – bahamat Jan 18 '11 at 7:25
@bahamat Why use dselect instead of aptitude for selection? – Tshepang Jan 18 '11 at 8:18
@Tshepang I don't, I use apt-get. Although I do use dpkg --set-selections to set a large list of packages that I want then use apt-get dselect-upgrade to install them. This is extremely handy for automating system set up on a large scale. – bahamat Jan 18 '11 at 8:25
I don't discourage it per sé. I don't particularly care for package menus. I already know what I want and don't need to browse. If I'm searching I much prefer apt-cache. But if you like to browse, then by all means. That's why there are different options. For a beginner, aptitude is much easier. But for an advanced user dselect is chock full of single keystroke commands and other difficult to discover goodies. – bahamat Jan 18 '11 at 10:12

For an aptitude-based package-{backup, restore}, see this serverfault answer. For {deborphan-based package backup, aptitude-based package restore}, see advice from Bogdan Tokovenko (et al) .

share|improve this answer
I can vouch for aptitude and for deborphan. However you do not mention debfoster, which is a lifesaver to prune unwanted default packages or packages installed by mistake. In my opinion, the three are indispensable for any serious sysadmin [maybe except nowadays with the remote trends of Ansible, puppet and the likes]. I would also mention here, besides the link, that aptitude has a much more modern interactive interface dselect-like. – Rui F Ribeiro Nov 17 at 6:55
@Rui F Ribeiro: Is the following quote (from this official-looking site) not correct? As of 2006-01-01, debfoster is officially deprecated: aptitude does the same stuff as debfoster but [is] integrated into [APT]. – TomRoche Nov 18 at 4:33
Now that you mention it I do remember something about being obsolete. Thanks for pointing that out. I will investigate how to do it with aptitude, as the functionality is very convenient. Changed my post. – Rui F Ribeiro Nov 18 at 6:02
However, and I have thought it what happens is that aptitude also maintains a DB of interdependencies like debfoster. What I do find useful in debfoster is not the houseking (that aptitude provides), it is deleting the DB, and do an audit of the system. It is excellent to prepare a base image, or to clean systems you inherited. – Rui F Ribeiro Nov 18 at 6:59

I noticed this is a fairly old question. To answer it in a more modern tone, dselect is fairly old and obsolete. aptitude is far more consistent into evaluating dependencies than dselect and apt-get, and as a bonus, it you call aptitude without arguments, you have a dselect-like interface that works so much better.

aptitude does not come installed by default, and in Debian you have to do:

apt-get install aptitude
share|improve this answer
See this comment above regarding debfoster. – TomRoche Nov 18 at 4:37

Your Answer


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.