Com Sci 501
System
Administration in Linux
Department of Computer Science
The University of Chicago
Local Documentation
Installing and Upgrading Debian Packages with Dselect
Dselect is a program with a menu-based user interface for
installing and upgrading Debian packages. Read the
Dselect
Tutorial for more systematic information. I'll give some tips
that may help you get through important project tasks, before you get
really familiar with Dselect.
The value of Dselect
The user interface for selecting software packages in
Dselect is undeniably very annoying. I still recommend that
you use it, because the benefits after you have made your selection
are substantial. Dselect keeps a database of your software
choices, which it co-ordinates with the database kept by the
Debian package-maintenance system, dpkg. Once you
have set up your choices, Dselect will upgrade automatically
over the network, whenever one of your chosen packages changes. So,
you get free system administration support from the Debian
team of package maintainers. Notice that the key issues here are more
social than technical. It is the willingness of the Debian
team to do this service, and the good quality of their work, that make
Dselect valuable, much more than the functionality of
Dselect itself.
Progressing with Dselect
- The first time you use Dselect should be when the
Debian installation tool starts it automatically. Follow my
instructions at the the end of Install
Debian GNU/Linux.
- The next few times you use Dselect, continue to
``[A]ccess'' packages from CD-ROM. Just skip the
0. [A]ccess menu item to leave this as it was, skip also
the 1. [U]pdate item, and go right on to
2. [S]elect.
- You see a screenfull of help information, probably too much
to assimilate right now. Exit by typing [Space].
- You see a rather cryptic screen presenting part of the list
of Debian packages available to you. Capital
``O'' and small ``o'' change the order of
the display in peculiar ways. Type ``OOo'' so that
the first line reads ``dselect - main package listing (by
section)''. The ``(by section)'' ordering
groups packages by the type of services they provide.
- You may navigate the list of packages fairly intuitively,
using the arrow keys, [Page Down], and [Page Up]. Each line in
the display corresponds to a package, one of which is highlighted
in grey. Another line toward the middle, highlighted in blue,
describes the status of that package fairly cryptically. A
sequence of 4 characters to the left of each package line
describes the status even more cryptically. A short text in the
bottom half describes the services provided by the package.
- Learn to read the highly cryptic character sequences. The
first, which is usually blank, indicates whether an error has
been encountered trying to install this package. The next,
usually ``*'' or ``_'', indicates whether
the package is already installed. The next two indicate your
choices: a previous choice, followed by your current choice. The
``*'' indicates installation, the ``_''
indicates no installation, and the ``-'' indicates
purging. Hitting ``v'' toggles between this type of
display, and a more verbose one. The verbose display is
impossible to read over a long period of time, but it helps you
get the idea of the short one. Toggle back and forth a few
times, until you have a pretty good idea how to read the 4
cryptic characters.
- When you know the name of the package you want, type
/<name> to search for it. This is
the same way that you enter a search string in more
and less, but you'll see that it operates a bit
differently.
- When you have the package of interest highlighted in grey,
type ``+'' to select it for installation (and
occasionally, ``-'' to select it for purging). Notice
the immediate change in the rightmost character of the cryptic
status code on the left.
- Dselect checks immediately for inconsistencies,
called conflicts or dependency problems,
introduced by your new choice. If there are any conflicts, you
will drop immediately into a conflict resolution display,
showing a proposed set of changes to resolve the conflicts.
- At any time during conflict resolution, if it's just too
spooky and you're afraid it's leading all the wrong way,
just type capital ``X'' to cancel the whole
idea.
- The scariest inconsistencies are the conflicts, in which
two packages are incompatible with one another. The attempt
to install a new package may require you to purge an old
one. Make sure that you don't mind giving up the old
one. Sometimes, the new one includes the old one plus more,
but sometimes each has advantages and disadvantages. Hit
``X'' if you're not sure, and think about it some
more.
- Dependencies are great. If you choose a package that
requires others, Dselect makes it very easy to grab
them all. If all of the ``problems'' are dependencies, you
usually want to accept Dselect's proposed
resolution, which you may do by typing [Enter].
- Occasionally, there is a dependency that allows a
choice. In such a case, Dselect appears to make an
arbitrary choice, but it will show you the
alternatives. Packages may also ``recommend'' or ``suggest''
other packages without depending on them. In this case, it's
really up to you.
- You may select packages for installation and purging
with ``+'' and ``-'', just as you do
in the main listing.
- In a few cases, there are errors in the packages, making
it impossible to resolve the conlicts or dependency
problems. All of the cases that I have noticed have involved
changes of names that some package maintainers failed to
notice. None of them have involved important packages. There
are ways to over-ride the Dselect restrictions when
you are sure you want to, but you can learn those from the
manual.
- When you are satisfied with your selections, type [Enter] to
return to the main menu.
- 3. [I]nstall requires little interaction. With CD-ROM
access, this step checks every package on the CD, so it's a good
time to grab some tea. But, occasionally the
installation process asks you some questions, and it may be
important to answer correctly. In particular, it often offers to
rewrite configuration files for you. In this case, you should always
suspend Dselect, and check in any old version of the
configuration files with RCS (we'll discuss this
elsewhere).
- 4. [C]onfigure almost never does anything.
- 5. [R]emove usually does nothing, but what it does
may be dangerous. Think back whether you accepted some conflict
resolution too carelessly. Keep in mind that the whole package
system itself, and many crucial system functions, are in
packages. Watch this step, and cancel it with [CTL]-c if
it looks fishy.
- You can figure out 6. [Q]uit.
- Later, when you have mined the CD rather thoroughly, you will
switch to FTP access. Then, you will run the
[I]nstall step of Dselect from time to time,
even though you haven't selected any new packages. Dselect
will automatically install any upgrades to packages that you
selected before. Special instructions may come out from time to time
for using Dselect to make major system upgrades. We will
look more carefully at updating packages through FTP
later.
Michael J. O'Donnell
Last modified: Fri Oct 10 21:44:21 CDT