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.  This defaults to /var/lib/dpkg and
52           normally there shouldn't be any need to change it.
53
54       -Dfile, --debug file
55           Turn on debugging. Debugging information is sent to file.
56
57       --expert
58           Turns on expert mode, i.e. doesn't display possibly annoying help
59           messages.
60
61       --color screenpart:[foreground],[background][:attr[+attr]...]
62       --colour screenpart:[foreground],[background][:attr[+attr]...]
63           Configures screen colors. This works only if your display supports
64           colors.  This option may be used multiple times (and is best used
65           in dselect.cfg). Each use changes the color (and optionally, other
66           attributes) of one part of the screen.  The parts of the screen
67           (from top to bottom) are:
68
69           title
70               The screen title.
71
72           listhead
73               The header line above the list of packages.
74
75           list
76               The scrolling list of packages (and also some help text).
77
78           listsel
79               The selected item in the list.
80
81           pkgstate
82               In the list of packages, the text indicating the current state
83               of each package.
84
85           pkgstatesel
86               In the list of packages, the text indicating the current state
87               of the currently selected package.
88
89           infohead
90               The header line that displays the state of the currently
91               selected package.
92
93           infodesc
94               The package's short description.
95
96           info
97               Used to display package info such as the package's description.
98
99           infofoot
100               The last line of the screen when selecting packages.
101
102           query
103               Used to display query lines
104
105           helpscreen
106               Color of help screens.
107
108           After the part of the screen comes a colon and the color
109           specification. You can specify either the foreground color, the
110           background color, or both, overriding the compiled-in colors. Use
111           standard curses color names.
112
113           Optionally, after the color specification is another colon, and an
114           attribute specification. This is a list of one or more attributes,
115           separated by plus (‘+’) characters.  Available attributes include
116           (not all of these will work on all terminals): normal, standout,
117           underline, reverse, blink, bright, dim, bold
118
119       -?, --help
120           Print a brief help text and exit successfully.
121
122       --version
123           Print version information and exit successfully.
124

COMMANDS

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

PACKAGE SELECTIONS MANAGEMENT

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

EXIT STATUS

425       0   The requested command was successfully performed.
426
427       2   Fatal or unrecoverable error due to invalid command-line usage, or
428           interactions with the system, such as accesses to the database,
429           memory allocations, etc.
430

ENVIRONMENT

432       HOME
433           If set, dselect will use it as the directory from which to read the
434           user specific configuration file.
435

BUGS

437       The dselect package selection interface is confusing to some new users.
438       Reportedly, it even makes seasoned kernel developers cry.
439
440       The documentation is lacking.
441
442       There is no help option in the main menu.
443
444       The visible list of available packages cannot be reduced.
445
446       The built in access methods can no longer stand up to current quality
447       standards. Use the access method provided by apt(8), it is not only not
448       broken, it is also much more flexible than the built in access methods.
449

SEE ALSO

451       dpkg(1), apt(8), sources.list(5), deb(5).
452
453
454
4551.20.9                            2021-04-13                        dselect(1)
Impressum