summaryrefslogtreecommitdiffstats
path: root/man/dselect.pod
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--man/dselect.pod714
1 files changed, 714 insertions, 0 deletions
diff --git a/man/dselect.pod b/man/dselect.pod
new file mode 100644
index 0000000..8f8ce22
--- /dev/null
+++ b/man/dselect.pod
@@ -0,0 +1,714 @@
+# dselect manual page - dselect(1)
+#
+# Copyright © 1995 Juho Vuori <javuori@cc.helsinki.fi>
+# Copyright © 2000 Josip Rodin
+# Copyright © 2001 Joost Kooij
+# Copyright © 2001 Wichert Akkerman <wakkerma@debian.org>
+# Copyright © 2010-2015 Guillem Jover <guillem@debian.org>
+#
+# This is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+=encoding utf8
+
+=head1 NAME
+
+dselect - Debian package management frontend
+
+=head1 SYNOPSIS
+
+B<dselect>
+[I<option>...] [I<command>...]
+
+=head1 DESCRIPTION
+
+B<dselect>
+is one of the primary user interfaces for managing packages on a Debian
+system.
+At the B<dselect> main menu, the system administrator can:
+
+=over
+
+=item *
+
+Update the list of available package versions,
+
+=item *
+
+View the status of installed and available packages,
+
+=item *
+
+Alter package selections and manage dependencies,
+
+=item *
+
+Install new packages or upgrade to newer versions.
+
+=back
+
+B<dselect>
+operates as a front-end to L<dpkg(1)>, the low-level Debian package
+handling tool.
+It features a full-screen package selections manager with package depends
+and conflicts resolver.
+When run with administrator privileges, 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 media discs.
+The recommended access method is I<apt>, which is provided by the
+package L<apt(8)>.
+
+Normally B<dselect> is invoked without parameters.
+An interactive menu is presented, offering the user a list of commands.
+If a command is given as argument, then that command is started immediately.
+Several
+command line parameters are still available to modify the running behaviour
+of B<dselect> or show additional information about the program.
+
+=head1 OPTIONS
+
+All options can be specified both on the command line and in the B<dselect>
+configuration file I<%PKGCONFDIR%/dselect.cfg> or the files on the
+configuration directory I<%PKGCONFDIR%/dselect.cfg.d/>.
+Each line in the
+configuration file is either an option (exactly the same as the
+command line option but without leading hyphens) or a comment (if it starts
+with a ‘B<#>’).
+
+=over
+
+=item B<--admindir> I<directory>
+
+Changes the directory where the dpkg ‘I<status>’,
+‘I<available>’ and similar files are located.
+Defaults to I<%ADMINDIR%> if B<DPKG_ADMINDIR> has not been set.
+
+=item B<--instdir> I<directory>
+
+Set the installation directory, which refers to the directory where
+packages get installed (since dpkg 1.21.2).
+Defaults to «I</>» if B<DPKG_ROOT> has not been set.
+
+=item B<--root> I<directory>
+
+Set the root directory to I<directory>, which sets the installation
+directory to «I<directory>» and the administrative
+directory to «I<directory>%ADMINDIR%» (since dpkg 1.21.0).
+
+=item B<-D>I<file>, B<--debug> I<file>
+
+Turn on debugging.
+Debugging information is sent to I<file>.
+
+=item B<--expert>
+
+Turns on expert mode, i.e. doesn't display possibly annoying help
+messages.
+
+=item B<--color> I<screenpart>:[I<foreground>],[I<background>][:I<attr>[I<+attr>]...]
+
+=item B<--colour> I<screenpart>:[I<foreground>],[I<background>][:I<attr>[I<+attr>]...]
+
+Configures screen colors.
+This works only if your display supports colors.
+This option may be used multiple times (and is best used in
+I<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:
+
+=over
+
+=item B<title>
+
+The screen title.
+
+=item B<listhead>
+
+The header line above the list of packages.
+
+=item B<list>
+
+The scrolling list of packages (and also some help text).
+
+=item B<listsel>
+
+The selected item in the list.
+
+=item B<pkgstate>
+
+In the list of packages, the text indicating the current state of each
+package.
+
+=item B<pkgstatesel>
+
+In the list of packages, the text indicating the current state of the
+currently selected package.
+
+=item B<infohead>
+
+The header line that displays the state of the currently selected package.
+
+=item B<infodesc>
+
+The package's short description.
+
+=item B<info>
+
+Used to display package info such as the package's description.
+
+=item B<infofoot>
+
+The last line of the screen when selecting packages.
+
+=item B<query>
+
+Used to display query lines
+
+=item B<helpscreen>
+
+Color of help screens.
+
+=back
+
+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 compiled-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 (‘+’) characters.
+Available attributes include (not all of these will work on all terminals):
+B<normal>, B<standout>, B<underline>, B<reverse>, B<blink>,
+B<bright>, B<dim>, B<bold>
+
+=item B<-?>, B<--help>
+
+Print a brief help text and exit successfully.
+
+=item B<--version>
+
+Print version information and exit successfully.
+
+=back
+
+=head1 COMMANDS
+
+When
+B<dselect>
+is started it can perform the following commands, either directly if it
+was specified on the command line or by prompting the user with a menu
+of available commands if running interactively:
+
+=head2 access
+
+Choose and configure an access method to access package repositories.
+
+By default, B<dselect> provides several methods such
+as I<media>, I<file> or I<ftp>, but other
+packages may provide additional methods, for example the I<apt> access method
+provided by the L<apt(8)> package.
+
+The use of the I<apt> access method is strongly recommended.
+
+=head2 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 I<Packages> or I<Packages.gz>.
+These files can be generated by repository maintainers, using the
+program L<dpkg-scanpackages(1)>.
+
+Details of the update command depend on the access method's implementation.
+Normally the process is straightforward and requires no user interaction.
+
+=head2 select
+
+View or manage package selections and dependencies.
+
+This is the main function of B<dselect>.
+In the select screen,
+the user can review a list of all available and installed packages.
+When run
+with administrator privileges, it is also possible to interactively
+change packages selection state.
+B<dselect> tracks the implications
+of these changes to other depending or conflicting packages.
+
+When a conflict or failed depends is detected, a dependency 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 proposed
+by B<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.
+
+=head2 install
+
+Installs selected packages.
+
+The configured access method will fetch installable or upgradable packages
+from the relevant repositories and install these using B<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 advisable 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 L<https://bugs.debian.org/> or by reading the documentation
+for L<bug(1)> or L<reportbug(1)>, if these are installed.
+
+Details of the install command 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 L<debconf(1)>
+library, allowing for more flexible or even automated installation
+setups.
+
+=head2 config
+
+Configures any previously installed, but not fully configured packages.
+
+=head2 remove
+
+Removes or purges installed packages, that are marked for removal.
+
+=head2 quit
+
+Quit B<dselect>.
+
+Exits the program with zero (successful) error code.
+
+=head1 PACKAGE SELECTIONS MANAGEMENT
+
+=head2 Introduction
+
+B<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 management
+system, it can be quite overwhelming.
+Although B<dselect> is aimed
+at easing package management and administration, it is only instrumental
+in doing so and cannot 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 L<dpkg(1)> manual page and the distribution
+policy.
+
+Unless B<dselect> is run in expert
+or immediate mode, a help screen is first displayed when choosing this
+command from the menu.
+The user is I<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 ‘B<?>’ key.
+
+=head2 Screen layout
+
+The select screen is by default split in a top and a bottom half.
+The top half shows a list of packages.
+A cursor 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 ‘B<I>’ key toggles a full-screen display of the packages
+list, an enlarged view of the package details, or the equally split screen.
+
+=head2 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 ‘B<i>’ key.
+This alternates between:
+
+=over
+
+=item *
+
+the extended description
+
+=item *
+
+the control information for the installed version
+
+=item *
+
+the control information for the available version
+
+=back
+
+In a dependency resolution screen, there is also the possibility of
+viewing the specific unresolved depends or conflicts related to the
+package and causing it to be listed.
+
+=head2 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 architecture, installed and available versions,
+the package name and its short description, all in one line.
+By pressing the ‘B<A>’ key, the display of the installed and
+available architecture can be toggled between on an off.
+By pressing the ‘B<V>’ key, the display of the installed and
+available version can be toggled between on an off.
+By pressing the ‘B<v>’ key, the package status display is toggled
+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:
+
+=over
+
+Error flag:
+
+=over
+
+=item I<empty> no error
+
+=item B<R> serious error, needs reinstallation;
+
+=back
+
+Installed state:
+
+=over
+
+=item I<empty> not installed;
+
+=item B<*> fully installed and configured;
+
+=item B<-> not installed but some config files may remain;
+
+=item B<U> unpacked but not yet configured;
+
+=item B<C> half-configured (an error happened);
+
+=item B<I> half-installed (an error happened).
+
+=back
+
+Current and requested selections:
+
+=over
+
+=item B<*> marked for installation or upgrade;
+
+=item B<-> marked for removal, configuration files remain;
+
+=item B<=> on hold: package will not be processed at all;
+
+=item B<_> marked for purge, also remove configuration;
+
+=item B<n> package is new and has yet to be marked.
+
+=back
+
+=back
+
+=head2 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:
+
+=over
+
+=over
+
+=item B<p, Up, k> move cursor bar up
+
+=item B<n, Down, j> move cursor bar down
+
+=item B<P, Pgup, Backspace> scroll list 1 page up
+
+=item B<N, Pgdn, Space> scroll list 1 page down
+
+=item B<^p> scroll list 1 line up
+
+=item B<^n> scroll list 1 line down
+
+=item B<t, Home> jump to top of list
+
+=item B<e, End> jump to end of list
+
+=item B<u> scroll info 1 page up
+
+=item B<d> scroll info 1 page down
+
+=item B<^u> scroll info 1 line up
+
+=item B<^d> scroll info 1 line down
+
+=item B<B, Left-arrow> pan display 1/3 screen left
+
+=item B<F, Right-arrow> pan display 1/3 screen right
+
+=item B<^b> pan display 1 character left
+
+=item B<^f> pan display 1 character right
+
+=back
+
+=back
+
+=head2 Searching and sorting
+
+The list of packages can be searched by package name.
+This
+is done by pressing ‘B</>’, and typing a simple search
+string.
+The string is interpreted as a
+L<regex(7)>
+regular expression.
+If you add ‘B</d>’ to the search expression, dselect will also
+search in descriptions.
+If you add ‘B</i>’ the search will be case insensitive.
+You may combine these two suffixes like this: ‘B</id>’.
+Repeated searching is accomplished by repeatedly pressing the
+‘B<n>’ or ‘B<\>’ 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 ‘B<o>’ and ‘B<O>’ keys repeatedly.
+The following nine sort orderings can be selected:
+
+=over
+
+=over
+
+=item B<alphabet>
+
+=item B<priority+section>
+
+=item B<section+priority>
+
+=item B<available>
+
+=item B<available+priority>
+
+=item B<available+section>
+
+=item B<status>
+
+=item B<status+priority>
+
+=item B<status+section>
+
+=back
+
+=back
+
+Where not listed above explicitly, alphabetic order is used as
+the final subordering sort key.
+
+=head2 Altering selections
+
+The requested selection state of individual packages may be
+altered with the following commands:
+
+=over
+
+=over
+
+=item B<+, Insert> install or upgrade
+
+=item B<=, H> hold in present state and version
+
+=item B<:, G> unhold: upgrade or leave uninstalled
+
+=item B<-, Delete> remove, but leave configuration
+
+=item B<_> remove & purge configuration
+
+=back
+
+=back
+
+When the change request results in one or more unsatisfied depends
+or conflicts, B<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.
+
+=head2 Resolving depends and conflicts
+
+When the change request results in one or more unsatisfied depends
+or conflicts, B<dselect> prompts the user with a dependency resolution
+screen.
+First however, an informative 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 installation 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, B<dselect>
+may have already set the requested selection status of some of the
+listed packages, in order to resolve the depends or conflicts that
+caused the dependency resolution screen to be displayed.
+Usually,
+it is best to follow up the suggestions made by B<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 ‘B<R>’ key.
+By pressing the ‘B<D>’ key, the automatic suggestions are reset,
+but the change that caused the dependency resolution screen to be prompted
+is kept as requested.
+Finally, by pressing ‘B<U>’, the selections are again set to the
+automatic suggestion values.
+
+=head2 Establishing the requested selections
+
+By pressing B<enter>, the currently displayed set of selections
+is accepted.
+If B<dselect> detects no unresolved depends as a result
+of the requested selections, the new selections will be set.
+However, if there are any unresolved depends, B<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 B<dselect> to accept it, press the ‘B<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 ‘B<X>’ or B<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.
+
+If you mistakenly establish some settings and wish to revert all the
+selections to what is currently installed on the system, press the
+‘B<C>’ key.
+This is somewhat similar to using the unhold command on all packages,
+but provides a more obvious panic button in cases where the user
+pressed B<enter> by accident.
+
+=head1 EXIT STATUS
+
+=over
+
+=item B<0>
+
+The requested command was successfully performed.
+
+=item B<2>
+
+Fatal or unrecoverable error due to invalid command-line usage, or
+interactions with the system, such as accesses to the database,
+memory allocations, etc.
+
+=back
+
+=head1 ENVIRONMENT
+
+=over
+
+=item B<DPKG_ROOT>
+
+If set and the B<--instdir> or B<--root> options have not been specified,
+it will be used as the filesystem root directory (since dpkg 1.21.0).
+
+=item B<DPKG_ADMINDIR>
+
+If set and the B<--admindir> or B<--root> option have not been specified,
+it will be used as the B<dpkg> database directory (since dpkg 1.21.0).
+
+=item B<HOME>
+
+If set, B<dselect> will use it as the directory from which to read the
+user specific configuration file.
+
+=back
+
+=head1 BUGS
+
+The
+B<dselect>
+package selection interface is confusing to some new users.
+Reportedly, it even makes seasoned kernel developers cry.
+
+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 current quality
+standards.
+Use the access method provided by L<apt(8)>, it is not only not
+broken, it is also much more flexible than the built in access methods.
+
+=head1 SEE ALSO
+
+L<dpkg(1)>,
+L<apt(8)>,
+L<sources.list(5)>,
+L<deb(5)>.