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?


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.

  • 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
  • While I haven't used it in a couple of years dselect is still one of my most favourite package manager front ends and I loved those key bindings. I actually loath aptitude and still prefer dselect. – Brett Ryan Mar 23 '16 at 2:40

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.

  • 2
    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
  • 1
    @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
  • 1
    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) .

  • 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 '15 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 '15 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 '15 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 '15 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.