1dselect(1) dpkg suite dselect(1)
2
3
4
6 dselect - Debian package management frontend
7
9 dselect [option...] [command...]
10
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
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
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
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
414 ‘X’ 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
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
432 HOME
433 If set, dselect will use it as the directory from which to read the
434 user specific configuration file.
435
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
451 dpkg(1), apt(8), sources.list(5), deb(5).
452
453
454
4551.20.9 2021-04-13 dselect(1)