1dselect(1)                        dpkg suite                        dselect(1)
2
3
4

NAME

6       dselect - Debian package management frontend
7

SYNOPSIS

9       dselect [option...] [command...]
10

DESCRIPTION

12       dselect is one of the primary user interfaces for managing packages on
13       a Debian system. At the dselect main menu, the system administrator
14       can:
15
16       •   Update the list of available package versions,
17
18       •   View the status of installed and available packages,
19
20       •   Alter package selections and manage dependencies,
21
22       •   Install new packages or upgrade to newer versions.
23
24       dselect operates as a front-end to dpkg(1), the low-level Debian
25       package handling tool. It features a full-screen package selections
26       manager with package depends and conflicts resolver. When run with
27       administrator privileges, packages can be installed, upgraded and
28       removed. Various access methods can be configured to retrieve available
29       package version information and installable packages from package
30       repositories.  Depending on the used access method, these repositories
31       can be public archive servers on the internet, local archive servers or
32       CD-ROMs.  The recommended access method is apt, which is provided by
33       the package apt(8).
34
35       Normally dselect is invoked without parameters. An interactive menu is
36       presented, offering the user a list of commands. If a command is given
37       as argument, then that command is started immediately. Several command
38       line parameters are still available to modify the running behaviour of
39       dselect or show additional information about the program.
40

OPTIONS

42       All options can be specified both on the command line and in the
43       dselect configuration file /etc/dpkg/dselect.cfg or the files on the
44       configuration directory /etc/dpkg/dselect.cfg.d/. Each line in the
45       configuration file is either an option (exactly the same as the command
46       line option but without leading hyphens) or a comment (if it starts
47       with a ‘#’).
48
49       --admindir directory
50           Changes the directory where the dpkg ‘status’, ‘available’ and
51           similar files are located.  Defaults to /var/lib/dpkg if
52           DPKG_ADMINDIR has not been set.
53
54       --instdir directory
55           Set the installation directory, which refers to the directory where
56           packages get installed (since dpkg 1.21.2).  Defaults to «/» if
57           DPKG_ROOT has not been set.
58
59       --root directory
60           Set the root directory to directory, which sets the installation
61           directory to «directory» and the administrative directory to
62           «directory/var/lib/dpkg» (since dpkg 1.21.0).
63
64       -Dfile, --debug file
65           Turn on debugging. Debugging information is sent to file.
66
67       --expert
68           Turns on expert mode, i.e. doesn't display possibly annoying help
69           messages.
70
71       --color screenpart:[foreground],[background][:attr[+attr]...]
72       --colour screenpart:[foreground],[background][:attr[+attr]...]
73           Configures screen colors. This works only if your display supports
74           colors.  This option may be used multiple times (and is best used
75           in dselect.cfg). Each use changes the color (and optionally, other
76           attributes) of one part of the screen.  The parts of the screen
77           (from top to bottom) are:
78
79           title
80               The screen title.
81
82           listhead
83               The header line above the list of packages.
84
85           list
86               The scrolling list of packages (and also some help text).
87
88           listsel
89               The selected item in the list.
90
91           pkgstate
92               In the list of packages, the text indicating the current state
93               of each package.
94
95           pkgstatesel
96               In the list of packages, the text indicating the current state
97               of the currently selected package.
98
99           infohead
100               The header line that displays the state of the currently
101               selected package.
102
103           infodesc
104               The package's short description.
105
106           info
107               Used to display package info such as the package's description.
108
109           infofoot
110               The last line of the screen when selecting packages.
111
112           query
113               Used to display query lines
114
115           helpscreen
116               Color of help screens.
117
118           After the part of the screen comes a colon and the color
119           specification. You can specify either the foreground color, the
120           background color, or both, overriding the compiled-in colors. Use
121           standard curses color names.
122
123           Optionally, after the color specification is another colon, and an
124           attribute specification. This is a list of one or more attributes,
125           separated by plus (‘+’) characters.  Available attributes include
126           (not all of these will work on all terminals): normal, standout,
127           underline, reverse, blink, bright, dim, bold
128
129       -?, --help
130           Print a brief help text and exit successfully.
131
132       --version
133           Print version information and exit successfully.
134

COMMANDS

136       When dselect is started it can perform the following commands, either
137       directly if it was specified on the command line or by prompting the
138       user with a menu of available commands if running interactively:
139
140   access
141       Choose and configure an access method to access package repositories.
142
143       By default, dselect provides several methods such as multi_cd, mounted
144       or ftp, but other packages may provide additional methods, for example
145       the apt access method provided by the apt(8) package.
146
147       The use of the apt access method is strongly recommended.
148
149   update
150       Refresh the available packages database.
151
152       Retrieves a list of available package versions from the package
153       repository, configured for the current access method, and update the
154       dpkg database. The package lists are commonly provided by the
155       repository as files named Packages or Packages.gz.  These files can be
156       generated by repository maintainers, using the program dpkg-
157       scanpackages(1).
158
159       Details of the update command depend on the access method's
160       implementation.  Normally the process is straightforward and requires
161       no user interaction.
162
163   select
164       View or manage package selections and dependencies.
165
166       This is the main function of dselect. In the select screen, the user
167       can review a list of all available and installed packages. When run
168       with administrator privileges, it is also possible to interactively
169       change packages selection state. dselect tracks the implications of
170       these changes to other depending or conflicting packages.
171
172       When a conflict or failed depends is detected, a dependency resolution
173       subscreen is prompted to the user. In this screen, a list of
174       conflicting or depending packages is shown, and for each package
175       listed, the reason for its listing is shown. The user may apply the
176       suggestions proposed by dselect, override them, or back out all the
177       changes, including the ones that created the unresolved depends or
178       conflicts.
179
180       The use of the interactive package selections management screen is
181       explained in more detail below.
182
183   install
184       Installs selected packages.
185
186       The configured access method will fetch installable or upgradable
187       packages from the relevant repositories and install these using dpkg.
188       Depending on the implementation of the access method, all packages can
189       be prefetched before installation, or fetched when needed.  Some access
190       methods may also remove packages that were marked for removal.
191
192       If an error occurred during install, it is usually advisable to run
193       install again. In most cases, the problems will disappear or be solved.
194       If problems persist or the installation performed was incorrect, please
195       investigate into the causes and circumstances, and file a bug in the
196       Debian bug tracking system. Instructions on how to do this can be found
197       at <https://bugs.debian.org/> or by reading the documentation for
198       bug(1) or reportbug(1), if these are installed.
199
200       Details of the install command depend on the access method's
201       implementation.  The user's attention and input may be required during
202       installation, configuration or removal of packages. This depends on the
203       maintainer scripts in the package. Some packages make use of the
204       debconf(1) library, allowing for more flexible or even automated
205       installation setups.
206
207   config
208       Configures any previously installed, but not fully configured packages.
209
210   remove
211       Removes or purges installed packages, that are marked for removal.
212
213   quit
214       Quit dselect.
215
216       Exits the program with zero (successful) error code.
217

PACKAGE SELECTIONS MANAGEMENT

219   Introduction
220       dselect directly exposes the administrator to some of the complexities
221       involved with managing large sets of packages with many
222       interdependencies. For a user who is unfamiliar with the concepts and
223       the ways of the Debian package management system, it can be quite
224       overwhelming. Although dselect is aimed at easing package management
225       and administration, it is only instrumental in doing so and cannot be
226       assumed to be a sufficient substitute for administrator skill and
227       understanding. The user is required to be familiar with the concepts
228       underlying the Debian packaging system.  In case of doubt, consult the
229       dpkg(1) manpage and the distribution policy.
230
231       Unless dselect is run in expert or immediate mode, a help screen is
232       first displayed when choosing this command from the menu. The user is
233       strongly advised to study all of the information presented in the
234       online help screens, when one pops up.  The online help screens can at
235       any time be invoked with the ‘?’ key.
236
237   Screen layout
238       The select screen is by default split in a top and a bottom half.  The
239       top half shows a list of packages. A cursor bar can select an
240       individual package, or a group of packages, if applicable, by selecting
241       the group header. The bottom half of the screen shows some details
242       about the package currently selected in the top half of the screen.
243       The type of detail that is displayed can be varied.
244
245       Pressing the ‘I’ key toggles a full-screen display of the packages
246       list, an enlarged view of the package details, or the equally split
247       screen.
248
249   Package details view
250       The package details view by default shows the extended package
251       description for the package that is currently selected in the packages
252       status list.  The type of detail can be toggled by pressing the ‘i
253       key.  This alternates between:
254
255       •   the extended description
256
257       •   the control information for the installed version
258
259       •   the control information for the available version
260
261       In a dependency resolution screen, there is also the possibility of
262       viewing the specific unresolved depends or conflicts related to the
263       package and causing it to be listed.
264
265   Packages status list
266       The main select screen displays a list of all packages known to the
267       Debian package management system. This includes packages installed on
268       the system and packages known from the available packages database.
269
270       For every package, the list shows the package's status, priority,
271       section, installed and available architecture, installed and available
272       versions, the package name and its short description, all in one line.
273       By pressing the ‘A’ key, the display of the installed and available
274       architecture can be toggled between on an off.  By pressing the ‘V
275       key, the display of the installed and available version can be toggled
276       between on an off.  By pressing the ‘v’ key, the package status display
277       is toggled between verbose and shorthand.  Shorthand display is the
278       default.
279
280       The shorthand status indication consists of four parts: an error flag,
281       which should normally be clear, the current status, the last selection
282       state and the current selection state.  The first two relate to the
283       actual state of the package, the second pair are about the selections
284       set by the user.
285
286       These are the meanings of the shorthand package status indicator codes:
287
288           Error flag:
289
290           empty   no error
291           R       serious error, needs reinstallation;
292
293           Installed state:
294
295           empty   not installed;
296           *       fully installed and configured;
297           -       not installed but some config files may remain;
298           U       unpacked but not yet configured;
299           C       half-configured (an error happened);
300           I       half-installed (an error happened).
301
302           Current and requested selections:
303
304           *       marked for installation or upgrade;
305           -       marked for removal, configuration files remain;
306           =       on hold: package will not be processed at all;
307           _       marked for purge, also remove configuration;
308           n       package is new and has yet to be marked.
309
310   Cursor and screen movement
311       The package selection list and the dependency conflict resolution
312       screens can be navigated using motion commands mapped to the following
313       keys:
314
315           p, Up, k           move cursor bar up
316           n, Down, j         move cursor bar down
317           P, Pgup, Backspace scroll list 1 page up
318           N, Pgdn, Space     scroll list 1 page down
319           ^p                 scroll list 1 line up
320           ^n                 scroll list 1 line down
321           t, Home            jump to top of list
322           e, End             jump to end of list
323           u                  scroll info 1 page up
324           d                  scroll info 1 page down
325           ^u                 scroll info 1 line up
326           ^d                 scroll info 1 line down
327           B, Left-arrow      pan display 1/3 screen left
328           F, Right-arrow     pan display 1/3 screen right
329           ^b                 pan display 1 character left
330           ^f                 pan display 1 character right
331
332   Searching and sorting
333       The list of packages can be searched by package name. This is done by
334       pressing ‘/’, and typing a simple search string. The string is
335       interpreted as a regex(7) regular expression.  If you add ‘/d’ to the
336       search expression, dselect will also search in descriptions.  If you
337       add ‘/i’ the search will be case insensitive.  You may combine these
338       two suffixes like this: ‘/id’.  Repeated searching is accomplished by
339       repeatedly pressing the ‘n’ or ‘\’ keys, until the wanted package is
340       found.  If the search reaches the bottom of the list, it wraps to the
341       top and continues searching from there.
342
343       The list sort order can be varied by pressing the ‘o’ and ‘O’ keys
344       repeatedly.  The following nine sort orderings can be selected:
345
346           alphabet
347           priority+section
348           section+priority
349           available
350           available+priority
351           available+section
352           status
353           status+priority
354           status+section
355
356       Where not listed above explicitly, alphabetic order is used as the
357       final subordering sort key.
358
359   Altering selections
360       The requested selection state of individual packages may be altered
361       with the following commands:
362
363           +, Insert    install or upgrade
364           =, H         hold in present state and version
365           :, G         unhold: upgrade or leave uninstalled
366           -, Delete    remove, but leave configuration
367           _            remove & purge configuration
368
369       When the change request results in one or more unsatisfied depends or
370       conflicts, dselect prompts the user with a dependency resolution
371       screen. This will be further explained below.
372
373       It is also possible to apply these commands to groups of package
374       selections, by pointing the cursor bar onto a group header. The exact
375       grouping of packages is dependent on the current list ordering
376       settings.
377
378       Proper care should be taken when altering large groups of selections,
379       because this can instantaneously create large numbers of unresolved
380       depends or conflicts, all of which will be listed in one dependency
381       resolution screen, making them very hard to handle. In practice, only
382       hold and unhold operations are useful when applied to groups.
383
384   Resolving depends and conflicts
385       When the change request results in one or more unsatisfied depends or
386       conflicts, dselect prompts the user with a dependency resolution
387       screen. First however, an informative help screen is displayed.
388
389       The top half of this screen lists all the packages that will have
390       unresolved depends or conflicts, as a result of the requested change,
391       and all the packages whose installation can resolve any of these
392       depends or whose removal can resolve any of the conflicts.  The bottom
393       half defaults to show the depends or conflicts that cause the currently
394       selected package to be listed.
395
396       When the sublist of packages is displayed initially, dselect may have
397       already set the requested selection status of some of the listed
398       packages, in order to resolve the depends or conflicts that caused the
399       dependency resolution screen to be displayed. Usually, it is best to
400       follow up the suggestions made by dselect.
401
402       The listed packages' selection state may be reverted to the original
403       settings, as they were before the unresolved depends or conflicts were
404       created, by pressing the ‘R’ key.  By pressing the ‘D’ key, the
405       automatic suggestions are reset, but the change that caused the
406       dependency resolution screen to be prompted is kept as requested.
407       Finally, by pressing ‘U’, the selections are again set to the automatic
408       suggestion values.
409
410   Establishing the requested selections
411       By pressing enter, the currently displayed set of selections is
412       accepted. If dselect detects no unresolved depends as a result of the
413       requested selections, the new selections will be set.  However, if
414       there are any unresolved depends, dselect will again prompt the user
415       with a dependency resolution screen.
416
417       To alter a set of selections that creates unresolved depends or
418       conflicts and forcing dselect to accept it, press the ‘Q’ key. This
419       sets the selections as specified by the user, unconditionally.
420       Generally, don't do this unless you've read the fine print.
421
422       The opposite effect, to back out any selections change requests and go
423       back to the previous list of selections, is attained by pressing the
424X’ or escape keys. By repeatedly pressing these keys, any possibly
425       detrimental changes to the requested package selections can be backed
426       out completely to the last established settings.
427
428       If you mistakenly establish some settings and wish to revert all the
429       selections to what is currently installed on the system, press the ‘C
430       key.  This is somewhat similar to using the unhold command on all
431       packages, but provides a more obvious panic button in cases where the
432       user pressed enter by accident.
433

EXIT STATUS

435       0   The requested command was successfully performed.
436
437       2   Fatal or unrecoverable error due to invalid command-line usage, or
438           interactions with the system, such as accesses to the database,
439           memory allocations, etc.
440

ENVIRONMENT

442       DPKG_ROOT
443           If set and the --instdir or --root options have not been specified,
444           it will be used as the filesystem root directory (since dpkg
445           1.21.0).
446
447       DPKG_ADMINDIR
448           If set and the --admindir or --root option have not been specified,
449           it will be used as the dpkg database directory (since dpkg 1.21.0).
450
451       HOME
452           If set, dselect will use it as the directory from which to read the
453           user specific configuration file.
454

BUGS

456       The dselect package selection interface is confusing to some new users.
457       Reportedly, it even makes seasoned kernel developers cry.
458
459       The documentation is lacking.
460
461       There is no help option in the main menu.
462
463       The visible list of available packages cannot be reduced.
464
465       The built in access methods can no longer stand up to current quality
466       standards. Use the access method provided by apt(8), it is not only not
467       broken, it is also much more flexible than the built in access methods.
468

SEE ALSO

470       dpkg(1), apt(8), sources.list(5), deb(5).
471
472
473
4741.21.21                           2023-02-25                        dselect(1)
Impressum