Release 1.19.5
[dpkg.git] / man / dselect.man
blob206caa3b139b985fc088ec224ba251b3ed83e205
1 .\" dselect manual page - dselect(1)
2 .\"
3 .\" Copyright © 1995 Juho Vuori <javuori@cc.helsinki.fi>
4 .\" Copyright © 2000 Josip Rodin
5 .\" Copyright © 2001 Joost Kooij
6 .\" Copyright © 2001 Wichert Akkerman <wakkerma@debian.org>
7 .\" Copyright © 2010-2015 Guillem Jover <guillem@debian.org>
8 .\"
9 .\" This is free software; you can redistribute it and/or modify
10 .\" it under the terms of the GNU General Public License as published by
11 .\" the Free Software Foundation; either version 2 of the License, or
12 .\" (at your option) any later version.
13 .\"
14 .\" This is distributed in the hope that it will be useful,
15 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
16 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 .\" GNU General Public License for more details.
18 .\"
19 .\" You should have received a copy of the GNU General Public License
20 .\" along with this program.  If not, see <https://www.gnu.org/licenses/>.
22 .TH dselect 1 "%RELEASE_DATE%" "%VERSION%" "dpkg suite"
23 .nh
24 .SH NAME
25 dselect \- Debian package management frontend
27 .SH SYNOPSIS
28 .B dselect
29 .RI [ option "...] [" command "...]"
31 .SH DESCRIPTION
32 .B dselect
33 is one of the primary user interfaces for managing packages on a Debian
34 system. At the \fBdselect\fP main menu, the system administrator can:
35  - Update the list of available package versions,
36  - View the status of installed and available packages,
37  - Alter package selections and manage dependencies,
38  - Install new packages or upgrade to newer versions.
39 .PP
40 .B dselect
41 operates as a front-end to \fBdpkg\fP(1), the low-level Debian package
42 handling tool. It features a full-screen package selections manager
43 with package depends and conflicts resolver. When run with administrator
44 privileges, packages can be installed, upgraded and removed. Various
45 access methods can be configured to retrieve available package version
46 information and installable packages from package repositories.
47 Depending on the used access method, these repositories can be public
48 archive servers on the internet, local archive servers or cdroms.
49 The recommended access method is \fIapt\fP, which is provided by the
50 package \fBapt\fP.
51 .PP
52 Normally \fBdselect\fP is invoked without parameters. An interactive
53 menu is presented, offering the user a list of commands. If a command
54 is given as argument, then that command is started immediately. Several
55 command line parameters are still available to modify the running behaviour
56 of \fBdselect\fP or show additional information about the program.
58 .SH OPTIONS
59 All options can be specified both on the command line and in the \fBdselect\fP
60 configuration file \fI%PKGCONFDIR%/dselect.cfg\fP or the files on the
61 configuration directory \fI%PKGCONFDIR%/dselect.cfg.d/\fP. Each line in the
62 configuration file is either an option (exactly the same as the
63 command line option but without leading hyphens) or a comment (if it starts
64 with a ‘\fB#\fR’).
65 .br
66 .TP
67 .BI \-\-admindir " directory"
68 Changes the directory where the dpkg ‘\fIstatus\fP’,
69 ‘\fIavailable\fP’ and similar files are located.
70 This defaults to \fI%ADMINDIR%\fP
71 and normally there shouldn't be any need to change it.
72 .TP
73 .BR \-D "\fIfile\fP, " \-\-debug " \fIfile\fP"
74 Turn on debugging. Debugging information is sent to \fIfile\fP.
75 .TP
76 .B \-\-expert
77 Turns on expert mode, i.e. doesn't display possibly annoying help
78 messages.
79 .TP
80 .BR \-\-colour | \-\-color " \fIscreenpart\fP:[\fIforeground\fP],[\fIbackground\fP][:\fIattr\fP[\fI+attr\fP]...]"
81 Configures screen colors. This works only if your display supports colors.
82 This option may be used multiple times (and is best used in
83 \fIdselect.cfg\fP). Each use changes the color (and optionally, other
84 attributes) of one part of the screen.
85 The parts of the screen (from top to bottom) are:
86 .RS
87 .TP
88 .B title
89 The screen title.
90 .TP
91 .B listhead
92 The header line above the list of packages.
93 .TP
94 .B list
95 The scrolling list of packages (and also some help text).
96 .TP
97 .B listsel
98 The selected item in the list.
99 .TP
100 .B pkgstate
101 In the list of packages, the text indicating the current state of each
102 package.
104 .B pkgstatesel
105 In the list of packages, the text indicating the current state of the
106 currently selected package.
108 .B infohead
109 The header line that displays the state of the currently selected package.
111 .B infodesc
112 The package's short description.
114 .B info
115 Used to display package info such as the package's description.
117 .B infofoot
118 The last line of the screen when selecting packages.
120 .B query
121 Used to display query lines
123 .B helpscreen
124 Color of help screens.
127 After the part of the screen comes a colon and the color specification. You
128 can specify either the foreground color, the background color, or both,
129 overriding the compiled-in colors. Use standard curses color names.
131 Optionally, after the color specification is another colon, and an
132 attribute specification. This is a list of one or more attributes,
133 separated by plus (‘+’) characters.
134 Available attributes include (not all of these will work on all terminals):
135 .BR normal ", " standout ", " underline ", " reverse ", " blink ", "
136 .BR bright ", " dim ", " bold
138 .BR \-? ", " \-\-help
139 Print a brief help text and exit successfully.
141 .B \-\-version
142 Print version information and exit successfully.
144 .SH COMMANDS
145 When
146 .B dselect
147 is started it can perform the following commands, either directly if it
148 was specified on the command line or by prompting the user with a menu
149 of available commands if running interactively:
150 .SS access
151 Choose and configure an access method to access package repositories.
153 By default, \fBdselect\fP provides several methods such
154 as \fIcdrom\fP, \fImulti_cd\fP, \fInfs\fP, \fImulti_nfs\fP, \fIharddisk\fP,
155 \fImounted\fP, \fImulti_mount\fP or \fIftp\fP, but other
156 packages may provide additional methods, eg. the \fIapt\fP access method
157 provided by the \fBapt\fP package.
159 The use of the \fIapt\fP access method is strongly recommended.
161 .SS update
162 Refresh the available packages database.
164 Retrieves a list of available package versions from the package
165 repository, configured for the current access method, and update
166 the dpkg database. The package lists are commonly provided by the
167 repository as files named \fIPackages\fP or \fIPackages.gz\fP.
168 These files can be generated by repository maintainers, using the
169 program \fBdpkg\-scanpackages\fP(1).
171 Details of the update command depend on the access method's implementation.
172 Normally the process is straightforward and requires no user interaction.
174 .SS select
175 View or manage package selections and dependencies.
177 This is the main function of \fBdselect\fP. In the select screen, the
178 user can review a list of all available and installed packages. When run
179 with administrator privileges, it is also possible to interactively
180 change packages selection state. \fBdselect\fP tracks the implications
181 of these changes to other depending or conflicting packages.
183 When a conflict or failed depends is detected, a dependency resolution
184 subscreen is prompted to the user. In this screen, a list of conflicting
185 or depending packages is shown, and for each package listed, the reason
186 for its listing is shown. The user may apply the suggestions proposed
187 by \fBdselect\fP, override them, or back out all the changes, including
188 the ones that created the unresolved depends or conflicts.
190 The use of the interactive package selections management screen is
191 explained in more detail below.
193 .SS install
194 Installs selected packages.
196 The configured access method will fetch installable or upgradable packages
197 from the relevant repositories and install these using \fBdpkg\fP.
198 Depending on the implementation of the access method, all packages can
199 be prefetched before installation, or fetched when needed.
200 Some access methods may also remove packages that were marked for removal.
202 If an error occurred during install, it is usually advisable to run
203 install again. In most cases, the problems will disappear or be solved.
204 If problems persist or the installation performed was incorrect, please
205 investigate into the causes and circumstances, and file a bug in the
206 Debian bug tracking system. Instructions on how to do this can be found
207 at https://bugs.debian.org/ or by reading the documentation
208 for \fBbug\fP(1) or \fBreportbug\fP(1), if these are installed.
210 Details of the install command depend on the access method's implementation.
211 The user's attention and input may be required during installation,
212 configuration or removal of packages. This depends on the maintainer
213 scripts in the package. Some packages make use of the \fBdebconf\fP(1)
214 library, allowing for more flexible or even automated installation
215 setups.
217 .SS config
218 Configures any previously installed, but not fully configured packages.
220 .SS remove
221 Removes or purges installed packages, that are marked for removal.
223 .SS quit
224 Quit \fBdselect\fP.
226 Exits the program with zero (successful) errorcode.
229 .SH PACKAGE SELECTIONS MANAGEMENT
231 .SS Introduction
233 .B dselect
234 directly exposes
235 the administrator to some of the complexities involved with managing
236 large sets of packages with many interdependencies. For a user who is
237 unfamiliar with the concepts and the ways of the Debian package management
238 system, it can be quite overwhelming. Although \fBdselect\fP is aimed
239 at easing package management and administration, it is only instrumental
240 in doing so and cannot be assumed to be a sufficient substitute for
241 administrator skill and understanding. The user is required to
242 be familiar with the concepts underlying the Debian packaging system.
243 In case of doubt, consult the \fBdpkg\fP(1) manpage and the distribution
244 policy.
246 Unless \fBdselect\fP is run in expert
247 or immediate mode, a help screen is first displayed when choosing this
248 command from the menu. The user is \fIstrongly\fP advised to study all of
249 the information presented in the online help screens, when one pops up.
250 The online help screens can at any time be invoked with the ‘\fB?\fP’ key.
252 .SS Screen layout
254 The select screen is by default split in a top and a bottom half.
255 The top half shows a list of packages. A cursor bar can select an
256 individual package, or a group of packages, if applicable, by selecting
257 the group header. The bottom half of the screen shows some details
258 about the package currently selected in the top half of the screen.
259 The type of detail that is displayed can be varied.
261 Pressing the ‘\fBI\fP’ key toggles a full-screen display of the packages
262 list, an enlarged view of the package details, or the equally split screen.
264 .SS Package details view
266 The package details view by default shows the extended package description
267 for the package that is currently selected in the packages status list.
268 The type of detail can be toggled by pressing the ‘\fBi\fP’ key.
269 This alternates between:
270  - the extended description
271  - the control information for the installed version
272  - the control information for the available version
274 In a dependency resolution screen, there is also the possibility of
275 viewing the specific unresolved depends or conflicts related to the
276 package and causing it to be listed.
278 .SS Packages status list
280 The main select screen displays a list of all packages known to the Debian
281 package management system. This includes packages installed on the system
282 and packages known from the available packages database.
284 For every package, the list shows the package's status, priority, section,
285 installed and available architecture, installed and available versions,
286 the package name and its short description, all in one line.
287 By pressing the ‘\fBA\fP’ key, the display of the installed and
288 available architecture can be toggled between on an off.
289 By pressing the ‘\fBV\fP’ key, the display of the installed and
290 available version can be toggled between on an off.
291 By pressing the ‘\fBv\fP’ key, the package status display is toggled
292 between verbose and shorthand.
293 Shorthand display is the default.
295 The shorthand status indication consists
296 of four parts: an error flag, which should normally be clear, the
297 current status, the last selection state and the current selection state.
298 The first two relate to the actual state of the package, the second pair
299 are about the selections set by the user.
301 These are the meanings of the shorthand package status indicator codes:
302  Error flag:
303   \fIempty\fP   no error
304   \fBR\fP       serious error, needs reinstallation;
305  Installed state:
306   \fIempty\fP   not installed;
307   \fB*\fP       fully installed and configured;
308   \fB\-\fP       not installed but some config files may remain;
309   \fBU\fP       unpacked but not yet configured;
310   \fBC\fP       half-configured (an error happened);
311   \fBI\fP       half-installed (an error happened).
312  Current and requested selections:
313   \fB*\fP       marked for installation or upgrade;
314   \fB\-\fP       marked for removal, configuration files remain;
315   \fB=\fP       on hold: package will not be processed at all;
316   \fB_\fP       marked for purge, also remove configuration;
317   \fBn\fP       package is new and has yet to be marked.
319 .SS Cursor and screen movement
321 The package selection list and the dependency conflict
322 resolution screens can be navigated using motion
323 commands mapped to the following keys:
325   \fBp, Up, k\fP           move cursor bar up
326   \fBn, Down, j\fP         move cursor bar down
327   \fBP, Pgup, Backspace\fP scroll list 1 page up
328   \fBN, Pgdn, Space\fP     scroll list 1 page down
329   \fB^p\fP                 scroll list 1 line up
330   \fB^n\fP                 scroll list 1 line down
331   \fBt, Home\fP            jump to top of list
332   \fBe, End\fP             jump to end of list
333   \fBu\fP                  scroll info 1 page up
334   \fBd\fP                  scroll info 1 page down
335   \fB^u\fP                 scroll info 1 line up
336   \fB^d\fP                 scroll info 1 line down
337   \fBB, Left-arrow\fP      pan display 1/3 screen left
338   \fBF, Right-arrow\fP     pan display 1/3 screen right
339   \fB^b\fP                 pan display 1 character left
340   \fB^f\fP                 pan display 1 character right
342 .SS Searching and sorting
344 The list of packages can be searched by package name. This
345 is done by pressing ‘\fB/\fP’, and typing a simple search
346 string. The string is interpreted as a
347 .BR regex (7)
348 regular expression.
349 If you add ‘\fB/d\fP’ to the search expression, dselect will also
350 search in descriptions.
351 If you add ‘\fB/i\fP’ the search will be case insensitive.
352 You may combine these two suffixes like this: ‘\fB/id\fP’.
353 Repeated searching is accomplished by repeatedly pressing the
354 ‘\fBn\fP’ or ‘\fB\\\fP’ keys, until the wanted package is found.
355 If the search reaches the bottom of the list, it wraps to the top
356 and continues searching from there.
358 The list sort order can be varied by pressing
359 the ‘\fBo\fP’ and ‘\fBO\fP’ keys repeatedly.
360 The following nine sort orderings can be selected:
361  alphabet          available           status
362  priority+section  available+priority  status+priority
363  section+priority  available+section   status+section
365 Where not listed above explicitly, alphabetic order is used as
366 the final subordering sort key.
368 .SS Altering selections
370 The requested selection state of individual packages may be
371 altered with the following commands:
372   \fB+, Insert\fP    install or upgrade
373   \fB=, H\fP         hold in present state and version
374   \fB:, G\fP         unhold: upgrade or leave uninstalled
375   \fB\-, Delete\fP    remove, but leave configuration
376   \fB_\fP            remove & purge configuration
378 When the change request results in one or more unsatisfied depends
379 or conflicts, \fBdselect\fP prompts the user with a dependency resolution
380 screen. This will be further explained below.
382 It is also possible to apply these commands to groups of package
383 selections, by pointing the cursor bar onto a group header. The
384 exact grouping of packages is dependent on the current list ordering
385 settings.
387 Proper care should be taken when altering large groups of selections,
388 because this can instantaneously create large numbers of unresolved
389 depends or conflicts, all of which will be listed in one dependency
390 resolution screen, making them very hard to handle. In practice,
391 only hold and unhold operations are useful when applied to groups.
393 .SS Resolving depends and conflicts
395 When the change request results in one or more unsatisfied depends
396 or conflicts, \fBdselect\fP prompts the user with a dependency resolution
397 screen. First however, an informative help screen is displayed.
399 The top half of this screen lists all the packages that will have
400 unresolved depends or conflicts, as a result of the requested change,
401 and all the packages whose installation can resolve any of these
402 depends or whose removal can resolve any of the conflicts.
403 The bottom half defaults to show the depends or conflicts that
404 cause the currently selected package to be listed.
406 When the sublist of packages is displayed initially, \fBdselect\fP
407 may have already set the requested selection status of some of the
408 listed packages, in order to resolve the depends or conflicts that
409 caused the dependency resolution screen to be displayed. Usually,
410 it is best to follow up the suggestions made by \fBdselect\fP.
412 The listed packages' selection state may be reverted to the original
413 settings, as they were before the unresolved depends or conflicts
414 were created, by pressing the ‘\fBR\fP’ key.
415 By pressing the ‘\fBD\fP’ key, the automatic suggestions are reset,
416 but the change that caused the dependency resolution screen to be prompted
417 is kept as requested.
418 Finally, by pressing ‘\fBU\fP’, the selections are again set to the
419 automatic suggestion values.
421 .SS Establishing the requested selections
423 By pressing \fBenter\fP, the currently displayed set of selections
424 is accepted. If \fBdselect\fP detects no unresolved depends as a result
425 of the requested selections, the new selections will be set.
426 However, if there are any unresolved depends, \fBdselect\fP will again
427 prompt the user with a dependency resolution screen.
429 To alter a set of selections that creates unresolved depends or
430 conflicts and forcing \fBdselect\fP to accept it, press the ‘\fBQ\fP’
431 key. This sets the selections as specified by the user,
432 unconditionally. Generally, don't do this unless you've read
433 the fine print.
435 The opposite effect, to back out any selections change requests and
436 go back to the previous list of selections, is attained by pressing
437 the ‘\fBX\fP’ or \fBescape\fP keys. By repeatedly pressing these
438 keys, any possibly detrimental changes to the requested package
439 selections can be backed out completely to the last established
440 settings.
442 If you mistakenly establish some settings and wish to revert all the
443 selections to what is currently installed on the system, press the
444 ‘\fBC\fP’ key.
445 This is somewhat similar to using the unhold command on all packages,
446 but provides a more obvious panic button in cases where the user
447 pressed \fBenter\fP by accident.
450 .SH EXIT STATUS
452 .B 0
453 The requested command was successfully performed.
455 .B 2
456 Fatal or unrecoverable error due to invalid command-line usage, or
457 interactions with the system, such as accesses to the database,
458 memory allocations, etc.
460 .SH ENVIRONMENT
462 .B HOME
463 If set, \fBdselect\fP will use it as the directory from which to read the
464 user specific configuration file.
466 .SH BUGS
468 .B dselect
469 package selection interface is confusing to some new users.
470 Reportedly, it even makes seasoned kernel developers cry.
472 The documentation is lacking.
474 There is no help option in the main menu.
476 The visible list of available packages cannot be reduced.
478 The built in access methods can no longer stand up to current quality
479 standards. Use the access method provided by apt, it is not only not
480 broken, it is also much more flexible than the built in access methods.
482 .SH SEE ALSO
483 .BR dpkg (1),
484 .BR apt\-get (8),
485 .BR sources.list (5),
486 .BR deb (5).