Dselect documentation for beginners.

   This file documents Dselect for first-time users and is intended to
   help in getting Debian installed successfully. It makes no attempt to
   explain everything, so when you first meet dselect work through the
   help screens.
   
   Dselect is used to select just which [1]packages (from ~1100) you wish
   to install. It will be run for you during the install and as it is a
   very powerful and somewhat complex thing, some knowledge of it before
   hand will not go astray. It will step you through the package
   installation process as follows:
   Choose the access method to use.
       Update list of available packages, if possible.
       Request which packages you want on your system.
       Install and upgrade wanted packages.
       Configure any packages that are unconfigured.
       Remove unwanted software.
       
   As each step is completed successfully it will lead you on to the
   next. Go through them in order without skipping any steps.
   
   Here and there in this document we talk of starting another shell.
   Linux has 6 console sessions or shells available at any one time. You
   switch betwen them by hitting <LEFT-ALT> <F1> ... <F6>, after which
   you log in on your new shell and go ahead. The shell used by the
   install process is #1 so hit <LEFT-ALT> <F1>when you want to return to
   that process.
   
   Once in dselect you will get this screen:-
   
    Debian Linux `dselect' package handling front end.
    
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.
   ______________________________________________________________________
   
   0 Access:
   
   Here's the access screen:
   
    dselect - list of access methods
    
Abbrev.   Description
cdrom     Install from a CD-ROM.
nfs       Install from an NFS server (not yet mounted).
harddisk  Install from a hard disk partition (not yet mounted).
mounted   Install from a filesystem which is already mounted.
floppy    Install from a pile of floppy disks.
ftp       Install using ftp.
       
   Here we tell dselect where our packages are. Note that the first three
   items are just a convenience and it would be just as good if you
   mounted your cdrom, nfs mount or other partition yourself and then
   used the _mounted_ option. It follows that if your cdrom _is_ already
   mounted then you use the _mounted_ item, rather than the cdrom item.
   The same thing goes for nfs and for partitions on your harddisk.
   
   If you run into a problem here - maybe Linux can not see your cdrom,
   your nfs mount is not working or you have forgotten which partition
   the packages are on - you have a couple of options:-
   
     Start another shell. Fix the problem and then return to the main
   shell.
   
     Quit 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 ^C and return to the Access item.
   
   Once you are through here you will be returned to the main screen.
   ______________________________________________________________________
   
  1 Update
  
   Dselect will read the Packages or Packages.gz files from the mirror
   and create a database on your system of all available packages.
   ______________________________________________________________________
   
  2 Select
  
   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:
   
     To exit the Select screen after all selections are complete, hit
   <Enter>. This will return you to the main screen if there is no
   problem with your selection. Else you will be asked to deal with that
   problem. When you are happy with any given screen hit <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, then dselect
   will warn you of the problem and will most likely suggest a solution.
   If package A conflicts with package B (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 - recursive package listing               mark:+/=/- verbose:v help:?
EIOM Pri Section Package Description 

   This tells us of some of the special keys:-
+      Select a package for installation.
=      Place a package on hold - useful on a broken package. You can reinstall
an older
         version and place it on hold while you wait for a new one to appear.
-      Remove a package
_      Remove a package and its config files.
i,I    Toggle/cycle info displays.
o,O    Cycle through the sort options.
v,V    Is a terse/verbose toggle. Use this key to unlock the meanings of EIOM o
n line two,
       but I'll give you a summary here anyway. (Note that upper and lower case
 keys are
       quite different in effect.)

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 kernel

   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 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.
Q   An over-ride. Forces dselect to ignore the built in dependancies 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 ex
its.

   Keys which 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.
D   Removes the selections made by dselect, leaving only yours.

   An example: 
   
   The boot-floppies package depends on these packages:-
   libc5-pic
   ncurses3.0-pic
   mkrboot
   ncurses3.0-dev
   
   The person maintaining boot-floppies also thinks that the following
   packages should be installed. These are not, however, essential:-
loadlin
fdos
dosemu

So when I select boot-floppies I get this screen:

dselect - recursive package listing mark:             +/=/- verbose:v help:?
EIOM Pri Section Package Description

  _* Opt devel boot-floppie Scripts to create the Debian installationfloppy
  _* Xtt devel libc5-pic Kit for building specialized versions of the sha
  _* Xtr devel ncurses3.0-p Video termial manipulation: Shared-library subs
  _* Opt devel mkrboot Make a kernel + rootimage bootable from one disk
  _* Opt devel ncurses3.0-d Video terminal manipulation: Developer's librari
  _* Opt misc loadlin a loader (running under DOS) for LINUX kernel i
  _* Opt misc fdos Free DOS (Kernel + boot utilities + Documentatio
  __ Opt misc dosemu The Linux DOS Emulator
See how 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
  __ Opt devel boot-floppie Scripts to create the Debian installationfloppy
  __ Xtt devel libc5-pic Kit for building specialized versions of the sha
  __ Xtr devel ncurses3.0-p Video termial manipulation: Shared-library subs
  __ Opt devel mkrboot Make a kernel + rootimage bootable from one disk
  __ Opt devel ncurses3.0-d Video terminal manipulation: Developer's librari
  __ Opt misc loadlin a loader (running under DOS) for LINUX kernel i
  __ Opt misc fdos Free DOS (Kernel + boot utilities + Documentatio
  __ Opt misc dosemu The Linux DOS Emulator

   (If I decide now that I don't want boot-floppies I just hit <Enter>.)
   
   The D key puts things the way I selected them in the first place.
dselect - recursive package listing mark:             +/=/- verbose:v help:?
EIOM Pri Section Package Description
  _* Opt devel boot-floppie Scripts to create the Debian installation floppy
  __ Xtt devel libc5-pic Kit for building specialized versions of the sha
  __ Xtr devel ncurses3.0-p Video termial manipulation: Shared-library subs
  __ Opt devel mkrboot Make a kernel + rootimage bootable from one disk
  __ Opt devel ncurses3.0-d Video terminal manipulation: Developer's librari
  __ Opt misc loadlin a loader (running under DOS) for LINUX kernel
  __ Opt misc fdos Free DOS (Kernel + boot utilities + Documentatio
  __ Opt misc dosemu The Linux DOS Emulator

   The U key restores dselect's selections.
dselect - recursive package listing mark:            +/=/- verbose:v help:?
EIOM Pri Section Package Description
  _* Opt devel boot-floppie Scripts to create the Debian installation floppy
  _* Xtt devel libc5-pic Kit for building specialized versions of the sha
  _* Xtr devel ncurses3.0-p Video termial manipulation: Shared-library subs
  _* Opt devel mkrboot Make a kernel + rootimage bootable from one disk
  _* Opt devel ncurses3.0-d Video terminal manipulation: Developer's librari
  _* Opt misc loadlin a loader (running under DOS) for LINUX kernel i
  _* Opt misc fdos Free DOS (Kernel + boot utilities + Documentatio
  __ Opt misc dosemu The Linux DOS Emulator

   I suggest running with the defaults for now - you will have ample
   opportunity of adding more later. A possible exception which you may
   choose to deselect depending on your experience is:-
emacs (very big, not everyone wants it)

   And I would suggest not installing:
inn   (big, difficult to get going)
x11   (big, difficult to get going)

   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 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
   dselected 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 dselected
extra                mostly dselected

   Happy? Hit <Enter> to exit the Select process. You can come back and
   run Select again if you wish.
   ______________________________________________________________________
   
   3 Install
   
   Dselect runs through the entire 1100 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 new machine. You can
   stop/start it with ^S/^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.
   ______________________________________________________________________
   
   4 Configure
   
   Most packages get configured in step 3, but anything left hanging can
   be configured here.
   ______________________________________________________________________
   
   5 Remove
   
   Removes packages that are installed but no longer required.
   ______________________________________________________________________
   
   6 Quit
   
   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.
   ______________________________________________________________________
   
   A few hints in conclusion.
   
   When the install process runs dselect for you, you will doubtless be
   eager to get Debian running ASAP. Well, please be prepared to take an
   hour or so as you have to learn your way around and then get it right.
   When you enter the Select screen for the first time don't make ANY
   selections at all - just hit <Enter> and see what dependancy problems
   there are. Try fixing them. If you find yourself back at the main
   screen run Select again.
   
   You can get an idea of the size of a package by hitting i twice and
   looking for the Size figure. This is the size of the crunched package,
   so the uncrunched files will be a lot bigger.
   
   Installing a new Debian system is a very complex thing, but dselect
   can do it for you as easily as can be. So take the time to learn how
   to drive it. Read the help screens and experiment with i, I, o, and O.
   Use the R key. It's all there, but it's up to you to use it
   effectively.
   ______________________________________________________________________
   
   Glossary:
   
   Package
   A file which contains everything needed to install, de-install and run
   a particular program.
   
   The program which handles packages is dpkg. Dselect is a front end to
   dpkg. Experienced users often use dpkg to install or remove a package.
   
   Package names
   All package names have the form xxxxxxxxxxx.deb
   
   Sample package names are:
   efax_08a-1.deb
   lrzsz_0.12b-1.deb
   mgetty_0.99.2-6.deb
   minicom_1.75-1.deb
   term_2.3.5-5.deb
   uucp_1.06.1-2.deb
   uutraf_1.1-1.deb
   xringd_1.10-2.deb
   xtel_3.1-2.deb

References

   1. file://localhost/home/ezanardi/debian/boot-floppies/workingdir/boot-floppies/documentation/dselect.beginner.html#Package