Once in dselect
you will get this screen:
Debian Linux `dselect' package handling frontend. 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.Let's look at these one by one.
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. In the following list, we
describe the different methods.
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 a full set of "Packages.cd" files (one for each of the archive sections) in addition to the traditional Packages files as used by the other methods. When you first select this method, be sure the CD-ROM you will be using is not mounted. Place any of the set in the drive and answer the questions you are asked:
Once you have updated the available list and selected the packages to be installed, the multi-cd method diverges from normal procedure. You will need to run an "install" step for each of the CDs you have in turn. Unfortunately due to the limitations of dselect it will not be able to prompt you for a new disk at each stage; the way to work for each disk is
It may be neccesary to run the installation step more than once to cover the order of package installation - some packages installed early may need to have later packages installed before they will configure properly.
Running a "Configure" step is recommended, to help fix any packages that may end up in this state.
# export http_proxy=http://gateway:3128/ # dselect
If you run into any problems -- maybe Linux can not see your CD-ROM, your NFS mount is not working or you have forgotten which partition the packages are on -- you have a couple of options:
dselect
and run it again later. You might even need
to shut down the computer to solve some problem. This is quite ok but
when you come back to dselect
run it as root. It will not
be run automatically after the first time.
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 through 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.
Hang on to your hat. This is where it all happens. The object of the excercise is to select just which packages you wish to have installed.
Hit 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 hitting ? 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:
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.
dselect - main package listing (avail., priority) mark:+/=/- verbose:v help:? EIOM Pri Section Package Inst.ver Avail.ver Description
This header reminds us of some of the special keys:
Flag Meaning Possible values E Error Space, R, I I Installed state Space, *, -, U, C, I O Old mark *, -, =, _, n M Mark *, -, =, _, n
Rather that 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 kernelThis 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 avaiable. It is missing from your mirror.
The information which 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
dependancies built into a package are incorrect, with the result that
dselect
simply cannot resolve the situation. A way out
is provided where the user can regain control and it takes the form of
the commands Q and X which are available in the
``Select'' screen.
dselect
to ignore the built in
dependancies and to do what you have specified. The results, of
course, will be on your own head.
Keys which help you not to get lost (!) are R, U and D.
dselect
has proposed changes and you have made further
changes U will restore dselect
's selections.
dselect
, leaving only
yours.
An example follows. The boot-floppies
package (not
an example for beginners, I know, but it was choosen because it has a
lot of dependencies) depends on these packages:
libc6-pic
slang1-pic
sysutils
makedev
newt0.25
newt0.25-dev
popt
zlib1g
zlib1g-dev
recode
The person maintaining boot-floppies
also thinks
that the following packages should be installed. These are not,
however, essential:
lynx
debiandoc-sgml
unzip
So when I select boot-floppies
I get this screen:
dselect - recursive package listing mark: +/=/- verbose:v help:? EIOM Pri Section Package Description dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description ** Opt admin boot-floppie Scripts to create the Debian installation floppy set. _* Opt devel newt0.25-dev Developer's toolkit for newt windowing library _* Opt devel slang1-dev The S-Lang programming library, development version. _* Opt devel slang1-pic The S-Lang programming library, shared library subset ki(Other packages may or may not appear, depending on what is already in your system). You'll notice that all the required packages have been selected for me.
The R key puts things back to the starting point.
dselect - recursive package listing mark: +/=/- verbose:v help:? EIOM Pri Section Package Description dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description __ Opt admin boot-floppie Scripts to create the Debian installation floppy set. __ Opt devel newt0.25-dev Developer's toolkit for newt windowing library __ Opt devel slang1-dev The S-Lang programming library, development version. __ Opt devel slang1-pic The S-Lang programming library, shared library subset kiTo decide now that you don't want boot-floppies, just hit Enter.
The Dkey puts things the way I selected them in the first place:
dselect - recursive package listing mark: +/=/- verbose:v help:? EIOM Pri Section Package Description dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt admin boot-floppie Scripts to create the Debian installation floppy set. __ Opt devel newt0.25-dev Developer's toolkit for newt windowing library __ Opt devel slang1-dev The S-Lang programming library, development version. __ Opt devel slang1-pic The S-Lang programming library, shared library subset ki
The U key restores dselect
's selections:
dselect - recursive package listing mark: +/=/- verbose:v help:? EIOM Pri Section Package Description dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt admin boot-floppie Scripts to create the Debian installation floppy set. _* Opt devel newt0.25-dev Developer's toolkit for newt windowing library _* Opt devel slang1-dev The S-Lang programming library, development version. _* Opt devel slang1-pic The S-Lang programming library, shared library subset ki
I suggest running with the defaults for now -- you will have ample opportunity of adding more later.
Whatever you decide, hit Enter to accept and return to the main screen. If this results in unresolved problems you will be bounced right back to another problem resolution screen.
So the R, U, and D keys are very useful in ``what if'' situations. You can experiment at will and then restore everything and start again. Don't look on them as being in a glass box labelled ``Break In Emergency.''
After making your selections in the ``Select'' screen, hit the
I to give you a big window, t to take you to the
beginning and then use the Page-Down key to look quickly
through the settings. This way you can check the results of your work
and spot glaring errors. Some people have deselected whole groups of
packages by mistake and not noticed the error until too
late. dselect
is a very powerful tool so don't
misuse it.
You should now have this situation:
package category status required all selected important all selected standard mostly selected optional mostly deselected extra mostly deselected
Happy? Hit Enter to exit the ``Select'' process. You can come back and run ``Select'' again if you wish.
dselect
runs through the entire set of
2050 packages and installs those selected. Expect to
get asked to make decisions as you go. It is often useful to switch to
a different shell to compare, say, an old config with a new one. If
the old file is conf.modules
the new one will be
conf.modules.dpkg-new
.
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 normal Unix
features 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 here is to run ``Install'' again. Cases have been reported where it was necessary to run it 4 times before everything slipped into place. This will vary by your acquisistion method.
Most packages get configured in step 3, but anything left hanging can be configured here.
Removes packages that are installed but no longer required.
I suggest running /etc/cron.daily/find
at this point as
you have a lot of new files on your system. Then you can use
locate
to get the location of any given file.
dselect
Documentation for Beginners