Hang on to your hat. This is where it all happens. The object of the
exercise is to select just which packages you wish to have
installed.
Press Enter. If you have a slow machine, be aware that the screen
will clear and can remain blank for 15 seconds. So don’t start
bashing keys at this point.
The first thing that comes up on the screen is page 1 of the Help
file. You can get to this help by pressing ? at any point in the
“Select” screens, and you can page through the help screens by
hitting the . (full stop) key.
Before you dive in, note these points:
◼ To exit the “Select” screen after all selections are complete,
press Enter. This will return you to the main screen if there is
no problem with your selection. Otherwise, you will be asked to
deal with that problem. When you are happy with any given screen,
press Enter to get out.
◼ Problems are quite normal and are to be expected. If you select
package A and that package requires package B to run, dselect will
warn you of the problem and will most likely suggest a solution.
If package A conflicts with package B (i.e., if they are mutually
exclusive), you will be asked to decide between them.
Let’s look at the top two lines of the Select screen. This header
reminds us of some of the special keys listed in Table 3.1.
Table 3.1: Special dselect keys
+------------------------------------------------------+
| Key | Description |
|------+-----------------------------------------------|
| + | Select a package for installation. |
|------+-----------------------------------------------|
| = | Place a package on hold |
|------+-----------------------------------------------|
| - | Remove a package. |
|------+-----------------------------------------------|
| _ | Remove a package and its configuration files. |
|------+-----------------------------------------------|
| i, I | Toggle/cycle information displays. |
|------+-----------------------------------------------|
| o, O | Cycle through the sort options. |
|------+-----------------------------------------------|
| v, V | A terse/verbose toggle. |
+------------------------------------------------------+
Table 3.2 lists the states that dselect uses to denote the status of
each package it is aware of.
Table 3.2: dselect Package States
+-----------------------------------------------+
| Flag | Meaning | Possible values |
|------+-----------------+----------------------|
| E | Error | Space, R, I |
|------+-----------------+----------------------|
| I | Installed State | Space, *, -, U, C, I |
|------+-----------------+----------------------|
| O | Old Mark | *, -, =, _, n |
|------+-----------------+----------------------|
| M | Mark | *, -, =, _, n |
+-----------------------------------------------+
Rather than spell all this out here, I refer you to the Help screens
where all is revealed. One example, though.
You enter dselect and find a line like this:
EIOM Pri Section Package Description
** Opt misc loadlin a loader (running under DOS) for LINUX
This is saying that loadlin was selected when you last ran dselect
and that it is still selected, but it is not installed. Why not? The
answer must be that the loadlin package is not physically available.
It is missing from your mirror.
The information that dselect uses to get all the right packages
installed is buried in the packages themselves. Nothing in this
world is perfect, and it does sometimes happen that the dependencies
built into a package are incorrect, which means that dselect simply
cannot resolve the situation. A way out is provided where the user
can regain control; it takes the form of the commands Q and X, which
are available in the Select screen.
Q An override. Forces dselect to ignore the built-in dependencies
and to do what you have specified. The results, of course, will be
on your own head.
X Use X if you get totally lost. It puts things back the way they
were and exits.
Select screen (dselect) Keys that help you not to get lost (!) are
R, U, and D.
R Cancels all selections at this level. Does not affect selections
made at the previous level.
U If dselect has proposed changes and you have made further changes
U will restore dselect’s selections.