dselect
DSELECT(T)                    Debian                   DSELECT(T)



NAME
       dselect - Debian package management frontend

SYNOPSIS
       dselect   [--admindir  <directory>]  [--help]  [--version]
       [--licence | --license] [--expert] [--debug |  -D  <file>]
       [<action>]    [--colour    |   --color   screenpart:[fore-
       ground],[background][:attr[+attr+..]]]

DESCRIPTION
       dselect is the primary user interface for  managing  pack-
       ages  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(g), the  low-level
       debian  package  handling tool.  It features a full-screen
       package selections manager with package depends  and  con-
       flicts  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 inter-
       active 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 param-
       eters  are still available to modify the running behaviour
       of dselect or show additional information about  the  pro-
       gram.

OPTIONS
       All  options  can be specified both on the commandline and
       in the dselect configuration  file  /etc/dpkg/dselect.cfg.
       Each  line  in  the configuration file is either an option
       (exactly the same as the commandline  option  but  without
       leading dashes) or a comment (if it starts with a #).

       --admindir <directory>
              Changes  the  directory  where  the  dpkg `status',
              `available' and similar  files  are  located.  This
              defaults   to   /var/lib/dpkg  and  normally  there
              shouldn't be any need to change it.

       --debug <file> | -D<file>
              Turn on debugging. Debugging information is sent to
              <file>.

       --expert
              Turns on expert mode, i.e. doesn't display possibly
              annoying help messages.

       --colour    |    --color    screenpart:[foreground],[back-
       ground][:attr[+attr+..]]
              Configures screen colors. This works only  if  your
              display  supports  colors.  This option may be used
              multiple times (and is best used  in  dselect.cfg).
              Each  use  changes the color (and optionally, other
              attributes) of one part of the screen.   The  parts
              of the screen (from top to bottom) are:

              title  The screen title.

              listhead
                     The  header line above the list of packages.

              list   The scrolling list  of  packages  (and  also
                     some help text).

              listsel
                     The selected item in the list.

              pkgstate
                     In the list of packages, the text indicating
                     the current state of each package.

              pkgstatesel
                     In the list of packages, the text indicating
                     the  current state of the currently selected
                     package.

              infohead
                     The header line that displays the  state  of
                     the currently selected package.

              infodesc
                     The package's short description.

              info   Used  to  display  package  info such as the
                     package's description.

              infofoot
                     The last line of the screen  when  selecting
                     packages.

              query  Used to display query lines

              helpscreen
                     Color of help screens.

       After  the  part of the screen comes a colon and the color
       specification.  You  can  specify  either  the  foreground
       color,  the background color, or both, overriding the com-
       piled-in colors. Use standard curses color names.

       Optionally,  after  the  color  specification  is  another
       colon,  and  an attribute specification. This is a list of
       one or more attributes, separated by  plus  ("+")  charac-
       ters.  Available attributes include (not all of these will
       work  on  all  terminals):  normal,  standout,  underline,
       reverse, blink, bright, dim, bold

       --help Print a brief help text and exit successfully.

       --licence | --license
              Displays the dselect copyright and license informa-
              tion and exits successfully.

       --version
              Print version information and exit successfully.

USAGE
       When dselect is started interactively, it prompts the user
       with a menu of available actions:

   access
       Choose  and  configure  an access method to access package
       repositories.

       By default,  dselect  provides  several  methods  such  as
       floppy,  harddisk or cdrom, but other packages may provide
       additional methods, eg. the apt access method provided  by
       the apt package or multi_cd by the dpkg-multicd package.

       The  use of the apt access method is strongly recommended.


   update
       Refresh the available packages database.

       Retrieves a list of available package  versions  from  the
       package  repository,  configured  for  the  current access
       method, and update the dpkg database.  The  package  lists
       are  commonly  provided  by  the repository as files named
       Packages or Packages.gz.  These files can be generated  by
       repository  maintainers,  using the program dpkg-scanpack-
       ages(s).

       Details of the update action depend on the access method's
       implementation.   Normally  the process is straightforward
       and requires no user interaction.


   select
       View or manage package selections and dependencies.

       This is the main  function  of  dselect.   In  the  select
       screen,  the  user  can review a list of all available and
       installed packages.  When run  with  administrator  privi-
       leges,  it  is also possible to interactively change pack-
       ages selection state.  dselect tracks the implications  of
       these  changes to other depending or conflicting packages.

       When a conflict or failed depends is  detected,  a  depen-
       dency  resolution  subscreen  is prompted to the user.  In
       this screen, a list of conflicting or  depending  packages
       is  shown, and for each package listed, the reason for its
       listing is shown.  The user may apply the suggestions pro-
       posed  by  dselect,  override  them,  or  back out all the
       changes, including the ones that  created  the  unresolved
       depends or conflicts.

       The  use  of the interactive package selections management
       screen is explained in more detail below.


   install
       Installs selected packages.

       The configured access method  will  fetch  installable  or
       upgradable  packages  from  the  relevant repositories and
       install these using dpkg.  Depending on the implementation
       of  the  access  method,  all  packages  can be prefetched
       before installation, or fetched when needed.  Some  access
       methods  may  also  remove  packages  that were marked for
       removal.

       If an error occurred during install, it is usually  advis-
       able  to  run  install again.  In most cases, the problems
       will disappear or be solved.  If problems persist  or  the
       installation  performed  was incorrect, please investigate
       into the causes and circumstances, and file a bug  in  the
       Debian  bug  tracking  system.   Instructions on how to do
       this can be found at http://bugs.debian.org/ or by reading
       the documentation for bug(g) or reportbug(g), if these are
       installed.

       Details  of  the  install  action  depend  on  the  access
       method's  implementation.   The user's attention and input
       may be  required  during  installation,  configuration  or
       removal  of  packages.   This  depends  on  the maintainer
       scripts in the package.  Some packages  make  use  of  the
       debconf(f)  library,  allowing  for  more flexible or even
       automated installation setups.


   config
       Configures any previously installed, but not fully config-
       ured packages.


   remove
       Removes  or purges installed packages, that are marked for
       removal.


   quit
       Quit dselect

       Exits the program with zero (succesful) errorcode.


Package selections management
   Introduction
       dselect directly exposes the administrator to some of  the
       complexities involved with managing large sets of packages
       with many interdependencies.  For a user who is unfamiliar
       with  the concepts and the ways of the debian package man-
       agement system, it can be  quite  overwhelming.   Although
       dselect is aimed at easing package management and adminis-
       tration, it is only instrumental in doing so and  can  not
       be assumed to be a sufficient substitute for administrator
       skill and understanding.   The  user  is  required  to  be
       familiar with the concepts underlying the Debian packaging
       system.  In case of doubt, consult the dpkg(g) manpage and
       the Debian policy manual.

       Unless  dselect is run in expert or immediate mode, a help
       screen is first displayed when choosing this  action  from
       the  menu.   The  user is strongly advised to study all of
       the information presented in the online help screens, when
       one  pops  up.  The online help screens can at any time be
       invoked with the '?' key.


   Screen layout
       The select screen is by default split in a top and a  bot-
       tom  half.  The top half shows a list of packages.  A cur-
       sor bar can select an individual package, or  a  group  of
       packages,  if  applicable,  by selecting the group header.
       The bottom half of the screen shows some details about the
       package  currently selected in the top half of the screen.
       The type of detail that is displayed can be varied.

       Pressing the 'I' key toggles a full-screen display of  the
       packages list, an enlarged view of the package details, or
       the equally split screen.


   Package details view
       The package details view by  default  shows  the  extended
       package  description  for  the  package  that is currently
       selected in the packages status list.  The type of  detail
       can  be  toggled by pressing the 'i' key.  This alternates
       between:
        - the extended description
        - the control information for the installed version
        - the control information for the available version

       In a dependency resolution screen, there is also the  pos-
       sibility  of  viewing  the  specific unresolved depends or
       conflicts related to the package  and  causing  it  to  be
       listed.

   Packages status list
       The  main  select  screen  displays a list of all packages
       known to  the  debian  package  management  system.   This
       includes  packages  installed  on  the system and packages
       known from the available packages database.

       For every package, the list shows  the  package's  status,
       priority,  section,  installed and available versions, the
       package name and its short description, all in  one  line.
       By  pressing the 'V' key, the display of the installed and
       available version can be toggled between on  an  off.   By
       pressing  the  'v' key, the package status display is tog-
       gled between verbose and shorthand.  Shorthand display  is
       the default.

       The  shorthand  status  indication consists of four parts:
       an error flag, which should normally be clear, the current
       status, the last selection state and the current selection
       state.  The first two relate to the actual  state  of  the
       package,  the  second pair are about the selections set by
       the user.

       These are the meanings of  the  shorthand  package  status
       indicator codes:
        Error flag:
         empty   no error
         R       serious error, needs reinstallation;
        Installed state:
         empty   not installed;
         *       fully installed and configured;
         -       not installed but some config files may remain;
         U       unpacked but not yet configured;
         C       half-configured (an error happened);
         I       half-installed (an error happened).
        Current and requested selections:
         *       marked for installation or upgrade;
         -       marked for removal, configuration files remain;
         =       on hold: package will not be processed at all;
         _       marked for purge, also remove configuration;
         n       package is new and has yet to be marked.


   Cursor and screen movement
       The  package  selection  list  and the dependency conflict
       resolution screens can be navigated using motion  commands
       mapped to the following keys:
         p, Up, k           move cursor bar up
         n, Down, j         move cursor bar down
         P, Pgup, Backspace scroll list 1 page up
         N, Pgdn, Space     scroll list 1 page down
         ^p                 scroll list 1 line up
         ^n                 scroll list 1 line down
         t, Home            jump to top of list
         e, End             jump to end of list
         u                  scroll info 1 page up
         d                  scroll info 1 page down
         ^u                 scroll info 1 line up
         ^d                 scroll info 1 line down
         B, Left-arrow      pan display 1/3 screen left
         F, Right-arrow     pan display 1/3 screen right
         ^b                 pan display 1 character left
         ^f                 pan display 1 character right


   Searching and sorting
       The  list  of  packages  can  be searched by package name.
       This is done by pressing '/', and typing a  simple  search
       string.  The  string  is interpreted as a regex(x) regular
       expression.  If you add '/d'  to  the  search  expression,
       dselect  will also search in descriptions. If you add '/i'
       the search will be  case  insensitive.   You  may  combine
       these  two  suffixes like this: '/id'.  Repeated searching
       is accomplished by repeatedly  pressing  the  'n'  or  '\'
       keys,  until  the  wanted package is found.  If the search
       reaches the bottom of the list, it wraps to  the  top  and
       continues searching from there.

       The  list sort order can be varied by pressing the 'o' and
       'O' keys repeatedly.  The following  nine  sort  orderings
       can be selected:
        alphabet          available           status
        priority+section  available+priority  status+priority
        section+priority  available+section   status+section
       Where  not  listed  above  explicitly, alphabetic order is
       used as the final subordering sort key.


   Altering selections
       The requested selection state of individual  packages  may
       be altered with the following commands:
         +, Insert    install or upgrade
         =, H         hold in present state and version
         :, G         unhold: upgrade or leave uninstalled
         -, Delete    remove, but leave configuration
         _            remove & purge configuration

       When the change request results in one or more unsatisfied
       depends or conflicts, dselect  prompts  the  user  with  a
       dependency   resolution  screen.   This  will  be  further
       explained below.

       It is also possible to apply these commands to  groups  of
       package  selections,  by  pointing  the  cursor bar onto a
       group header.  The exact grouping of packages is dependent
       on the current list ordering settings.

       Proper  care should be taken when altering large groups of
       selections, because this can instantaneously create  large
       numbers  of  unresolved depends or conflicts, all of which
       will be listed in one dependency resolution screen, making
       them  very  hard  to  handle.   In practice, only hold and
       unhold operations are useful when applied to groups.


   Resolving depends and conflicts
       When the change request results in one or more unsatisfied
       depends  or  conflicts,  dselect  prompts  the user with a
       dependency resolution screen.  First however, an  informa-
       tive help screen is displayed.

       The  top  half  of this screen lists all the packages that
       will have unresolved depends or conflicts, as a result  of
       the requested change, and all the packages whose installa-
       tion can resolve any of these depends or whose removal can
       resolve any of the conflicts.  The bottom half defaults to
       show the depends or conflicts  that  cause  the  currently
       selected package to be listed.

       When  the sublist of packages is displayed initially, dse-
       lect may have already set the requested  selection  status
       of  some  of  the listed packages, in order to resolve the
       depends of conflicts that caused the dependency resolution
       screen  to be displayed.  Usually, it is best to follow up
       the suggestions made by dselect.

       The listed packages' selection state may  be  reverted  to
       the  original settings, as they were before the unresolved
       depends or conflicts were created,  by  pressing  the  'R'
       key.   By  pressing the 'D' key, the automatic suggestions
       are reset, but the change that caused the dependency reso-
       lution  screen  to  be  prompted  is  kept  as  requested.
       Finally, by pressing 'U', the selections are again set  to
       the automatic suggestion values.


   Establishing the requested selections
       By  pressing  enter, the currently displayed set of selec-
       tions is  accepted.   If  dselect  detects  no  unresolved
       depends  as  a result of the requested selections, the new
       selections will be set.  However, if there are  any  unre-
       solveded  depends, dselect will again prompt the user with
       a dependency resolution screen.

       To alter a  set  of  selections  that  creates  unresolved
       depends  or  conflicts  and  forcing dselect to accept it,
       press the 'Q' key.  This sets the selections as  specified
       by  the  user,  unconditionally.  Generally, don't do this
       unless you've read the fine print.

       The opposite effect, to back  out  any  selections  change
       requests  and  go back to the previous list of selections,
       is attained by  pressing  the  'X'  or  escape  keys.   By
       repeatedly  pressing  these keys, any possibly detrimental
       changes to the requested package selections can be  backed
       out completely to the last established settings.


BUGS
       The  dselect  package  selection interface is confusing to
       some new users.  Reportedly, it even makes seasoned kernel
       developers cry.

       dselect doesn't handle Recommends: field very well.

       The documentation is lacking.

       There is no help option in the main menu.

       The  visible list of available packages cannot be reduced.

       The built in access methods can no longer stand up to cur-
       rent quality standards.  Use the access method provided by
       apt, it is not only not broken, it is also much more flex-
       ible than the built in access methods.

SEE ALSO
       dpkg(g),  apt-get(t),  sources.list(t), deb(b), the Debian
       policy manual.

AUTHORS
       dselect   was   written    by    Ian    Jackson    (ijack-
       son@gnu.ai.mit.edu).  Full  list  of  contributors  may be
       found in `dselect --license'.
       This   manual   page   was   written   by    Juho    Vuori
       <javuori@cc.helsinki.fi>, Josip Rodin and Joost kooij.




Debian Project              July 2001                  DSELECT(T)