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. 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
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
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
424 ‘X’ 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
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
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
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
470 dpkg(1), apt(8), sources.list(5), deb(5).
471
472
473
4741.21.21 2023-02-25 dselect(1)