Debian Package Management using dselect GUI

dselect is one of the primary user interfaces for managing packages on a Debian system. At the dselect main menu, the system administrator can

– Update the list of available package versions,

– View the status of installed and available packages,

– Alter package selections and manage dependencies,

– Install new packages or upgrade to newer versions.

dselect operates as a front-end to dpkg, the low-level debian package handling tool. It features a full-screen package selections manager with package depends and conflicts resolver. When run with adminitrator priviledges, packages can be installed,upgraded and removed. Various access methods can be configured to retrieve available package version information and installable packages from package repositories. Depending on the used access method, these repositories can be public archive servers on the internet, local archive servers or cdroms. The recommended access method is apt, which is provided by the package apt.

Normally dselect is invoked without parameters. An interactive menu is presented, offering the user a list of actions. If an action is given as argument, then that action is started immediately. Several commandline parameters are still available to modify the running behaviour of dselect or show additional information about the program.

If you want to run dselect you need to have root access then you enter the following command


you should see the following screen with the following options

0. [A]ccess Choose the access method to use.
1. [U]pdate Update list of available packages, if possible.
2. [S]elect Request which packages you want on your system.
3. [I]nstall Install and upgrade wanted packages.
4. [C]onfig Configure any packages that are unconfigured.
5. [R]emove Remove unwanted software.
6. [Q]uit Quit dselect.


Now we will each options and what it does


Here’s the access screen:


dselect – list of access methods
Abbrev. Description
cdrom Install from a CD-ROM.
multi_cd Install from a CD-ROM set.
nfs Install from an NFS server (not yet mounted).
multi_nfs Install from an NFS server (using the CD-ROM set) (not yet mounted).
harddisk Install from a hard disk partition (not yet mounted).
mounted Install from a filesystem which is already mounted.
multi_mount Install from a mounted partition with changing contents.
floppy Install from a pile of floppy disks.
apt APT Acquisition [file,http,ftp]

Here we tell dselect where our packages are. Please ignore the order that these appear in. It is very important that you select the proper method for installation. You may have a few more methods listed, or a few less, or see them listed in a different order; just don’t worry about it. In the following list, we describe the different methods.


DEPRECATED METHOD — use multi_cd instead. This method simply does not work with multiple CD sets, such as are included in Debian 3.1.

Designed for single-CD installations, this simple method will ask for the location of your CD-ROM drive, the location of the Debian distribution on that disk and then (if necessary) the location(s) of the Packages file(s) on the disk. Simple but quite slow. Does not use proper ordering, so it will take many runs of the “Install” and/or “Configure” steps. Not recommended, because it assumes the distribution is on a single CD-ROM, which is no longer the case. Use the “multi_cd” method instead.


Quite large and powerful, this complex method is the recommended way of installing a recent version of Debian from a set of multiple binary CDs. Each of these CDs should contain information about the packages in itself and all prior CDs (in the file


DEPRECATED METHOD — use apt or multi_nfs instead. Only try this method if all else fails.

This is a simple installation method, with simple requirements: give it the address of the NFS server, the location of the Debian distribution on the server and (maybe) the Packages file(s). Then dselect will install the various sections in turn from the server. Slow but easy; does not use proper ordering, so it will take many runs of the “Install” and/or “Configure” steps. Obviously only appropriate for NFS based installation.

multi_nfs, multi_mount

These are very similar to the multi_cd method above, and are refinements on the theme of coping with changing media, for example if installing off a multi-cd set exported via NFS from another machine’s CD-ROM drive.


DEPRECATED METHOD — use apt or multi_mount instead. Only try this method if all else fails

Supply the block device of the hard drive partition to use, and the locations of the Debian files on that partition, as usual. Slow and easy. Does not use proper ordering, so it will take many runs of the “Install” and/or “Configure” steps. Not recommended, since the “apt” method supports this functionality, with proper ordering.


DEPRECATED METHOD — use apt or multi_mount instead. Only try this method if all else fails!

Simply specify the location(s) of the Debian files in your filesystem. Possibly the easiest method, but slow. Does not use proper ordering, so it will take many runs of the “Install” and/or “Configure” steps.


Caters for those people without CD-ROM or network access. Not recommended as a viable installation option anymore if you are using traditionally-sized floppies, but may work better for LS/120 or Zip drives. Specify the location of your floppy drive, then feed floppies. The first one should contain the Packages file. This method is slow and may be unreliable due to media problems.


One of the best options for installation from a local mirror of the Debian archive, or from the network. This method uses the “apt” system to do complete dependency analysis and ordering, so it’s most likely to install packages in the optimal order.

Configuration of this method is straight-forward; you may select any number of different locations, mixing and matching file: URLs (local disks or NFS mounted disks), http: URLs, or ftp: URLs. You can also include CD-ROM/DVD media with apt-cdrom.

If you have proxy server for either HTTP or FTP (or both), make sure you set the http_proxy or ftp_proxy environment variables, respectively. Set them from your shell before starting dselect, e.g.:

# export http_proxy=http://gateway:3128/
# dselect

After you choose the access method dselect will get you to indicate the precise location of the packages. If you do not get this right the first time hit Control-C and return to the “Access” item.

Once you are finished here, you will be returned to the main screen.


dselect will read the Packages or Packages.gz files from the mirror and create a database on your system of all available packages. This may take a while as it downloads and processes the files.


Once you choose the select option you should see the following screen


Let’s look at the top two lines of the Select screen.

dselect – main package listing (avail., priority) mark:+/=/- verbose:v help:?
EIOM Pri Section Package Inst.ver Avail.ver Description

If you want more description and options check dselect man page


dselect runs through the entire set of 8300 packages and installs those selected. Expect to get asked to make decisions as you go.

The screen scrolls past fairly quickly on a fast machine. You can stop/start it with Control-s/Control-q and at the end of the run you will get a list of any uninstalled packages. If you want to keep a record of everything that happens, use common Unix programs for capturing output, like tee or script.

It can happen that a package does not get installed because it depends on some other package which is listed for installation but is not yet installed. The answer to this is to run “Install” again. It has been reported that sometimes it was necessary to run it 4 times before everything fit into place. This will vary by your acquisistion method; with the APT method, you will almost never need to run Install again.


Most packages get configured in step 3, but anything left hanging can be configured here.


Removes packages that are installed but no longer required.


Exits dselect.

Finally this tool is very useful frontend for debian package management system.

Sponsored Link

Leave a comment

Your email address will not be published. Required fields are marked *