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 - Update the list of available package versions,
16 - View the status of installed and available packages,
17 - Alter package selections and manage dependencies,
18 - Install new packages or upgrade to newer versions.
19
20 dselect operates as a front-end to dpkg(1), the low-level Debian
21 package handling tool. It features a full-screen package selections
22 manager with package depends and conflicts resolver. When run with
23 administrator privileges, packages can be installed, upgraded and
24 removed. Various access methods can be configured to retrieve available
25 package version information and installable packages from package
26 repositories. Depending on the used access method, these repositories
27 can be public archive servers on the internet, local archive servers or
28 cdroms. The recommended access method is apt, which is provided by the
29 package apt.
30
31 Normally dselect is invoked without parameters. An interactive menu is
32 presented, offering the user a list of commands. If a command is given
33 as argument, then that command is started immediately. Several command
34 line parameters are still available to modify the running behaviour of
35 dselect or show additional information about the program.
36
38 All options can be specified both on the command line and in the
39 dselect configuration file /etc/dpkg/dselect.cfg or the files on the
40 configuration directory /etc/dpkg/dselect.cfg.d/. Each line in the
41 configuration file is either an option (exactly the same as the command
42 line option but without leading hyphens) or a comment (if it starts
43 with a ‘#’).
44
45 --admindir directory
46 Changes the directory where the dpkg ‘status’, ‘available’ and
47 similar files are located. This defaults to /var/lib/dpkg and
48 normally there shouldn't be any need to change it.
49
50 -Dfile, --debug file
51 Turn on debugging. Debugging information is sent to file.
52
53 --expert
54 Turns on expert mode, i.e. doesn't display possibly annoying
55 help messages.
56
57 --colour|--color screenpart:[foreground],[background][:attr[+attr]...]
58 Configures screen colors. This works only if your display
59 supports colors. This option may be used multiple times (and is
60 best used in dselect.cfg). Each use changes the color (and
61 optionally, other attributes) of one part of the screen. The
62 parts of the screen (from top to bottom) are:
63
64 title The screen title.
65
66 listhead
67 The header line above the list of packages.
68
69 list The scrolling list of packages (and also some help text).
70
71 listsel
72 The selected item in the list.
73
74 pkgstate
75 In the list of packages, the text indicating the current
76 state of each package.
77
78 pkgstatesel
79 In the list of packages, the text indicating the current
80 state of the currently selected package.
81
82 infohead
83 The header line that displays the state of the currently
84 selected package.
85
86 infodesc
87 The package's short description.
88
89 info Used to display package info such as the package's
90 description.
91
92 infofoot
93 The last line of the screen when selecting packages.
94
95 query Used to display query lines
96
97 helpscreen
98 Color of help screens.
99
100 After the part of the screen comes a colon and the color
101 specification. You can specify either the foreground color, the
102 background color, or both, overriding the compiled-in colors.
103 Use standard curses color names.
104
105 Optionally, after the color specification is another colon, and
106 an attribute specification. This is a list of one or more
107 attributes, separated by plus (‘+’) characters. Available
108 attributes include (not all of these will work on all
109 terminals): normal, standout, underline, reverse, blink, bright,
110 dim, bold
111
112 -?, --help
113 Print a brief help text and exit successfully.
114
115 --version
116 Print version information and exit successfully.
117
119 When dselect is started it can perform the following commands, either
120 directly if it was specified on the command line or by prompting the
121 user with a menu of available commands if running interactively:
122
123 access
124 Choose and configure an access method to access package repositories.
125
126 By default, dselect provides several methods such as cdrom, multi_cd,
127 nfs, multi_nfs, harddisk, mounted, multi_mount or ftp, but other
128 packages may provide additional methods, eg. the apt access method
129 provided by the apt package.
130
131 The use of the apt access method is strongly recommended.
132
133
134 update
135 Refresh the available packages database.
136
137 Retrieves a list of available package versions from the package
138 repository, configured for the current access method, and update the
139 dpkg database. The package lists are commonly provided by the
140 repository as files named Packages or Packages.gz. These files can be
141 generated by repository maintainers, using the program
142 dpkg-scanpackages(1).
143
144 Details of the update command depend on the access method's
145 implementation. Normally the process is straightforward and requires
146 no user interaction.
147
148
149 select
150 View or manage package selections and dependencies.
151
152 This is the main function of dselect. In the select screen, the user
153 can review a list of all available and installed packages. When run
154 with administrator privileges, it is also possible to interactively
155 change packages selection state. dselect tracks the implications of
156 these changes to other depending or conflicting packages.
157
158 When a conflict or failed depends is detected, a dependency resolution
159 subscreen is prompted to the user. In this screen, a list of
160 conflicting or depending packages is shown, and for each package
161 listed, the reason for its listing is shown. The user may apply the
162 suggestions proposed by dselect, override them, or back out all the
163 changes, including the ones that created the unresolved depends or
164 conflicts.
165
166 The use of the interactive package selections management screen is
167 explained in more detail below.
168
169
170 install
171 Installs selected packages.
172
173 The configured access method will fetch installable or upgradable
174 packages from the relevant repositories and install these using dpkg.
175 Depending on the implementation of the access method, all packages can
176 be prefetched before installation, or fetched when needed. Some access
177 methods may also remove packages that were marked for removal.
178
179 If an error occurred during install, it is usually advisable to run
180 install again. In most cases, the problems will disappear or be solved.
181 If problems persist or the installation performed was incorrect, please
182 investigate into the causes and circumstances, and file a bug in the
183 Debian bug tracking system. Instructions on how to do this can be found
184 at https://bugs.debian.org/ or by reading the documentation for bug(1)
185 or reportbug(1), if these are installed.
186
187 Details of the install command depend on the access method's
188 implementation. The user's attention and input may be required during
189 installation, configuration or removal of packages. This depends on the
190 maintainer scripts in the package. Some packages make use of the
191 debconf(1) library, allowing for more flexible or even automated
192 installation setups.
193
194
195 config
196 Configures any previously installed, but not fully configured packages.
197
198
199 remove
200 Removes or purges installed packages, that are marked for removal.
201
202
203 quit
204 Quit dselect.
205
206 Exits the program with zero (successful) errorcode.
207
208
210 Introduction
211 dselect directly exposes the administrator to some of the complexities
212 involved with managing large sets of packages with many
213 interdependencies. For a user who is unfamiliar with the concepts and
214 the ways of the Debian package management system, it can be quite
215 overwhelming. Although dselect is aimed at easing package management
216 and administration, it is only instrumental in doing so and cannot be
217 assumed to be a sufficient substitute for administrator skill and
218 understanding. The user is required to be familiar with the concepts
219 underlying the Debian packaging system. In case of doubt, consult the
220 dpkg(1) manpage and the distribution policy.
221
222 Unless dselect is run in expert or immediate mode, a help screen is
223 first displayed when choosing this command from the menu. The user is
224 strongly advised to study all of the information presented in the
225 online help screens, when one pops up. The online help screens can at
226 any time be invoked with the ‘?’ key.
227
228
229 Screen layout
230 The select screen is by default split in a top and a bottom half. The
231 top half shows a list of packages. A cursor bar can select an
232 individual package, or a group of packages, if applicable, by selecting
233 the group header. The bottom half of the screen shows some details
234 about the package currently selected in the top half of the screen.
235 The type of detail that is displayed can be varied.
236
237 Pressing the ‘I’ key toggles a full-screen display of the packages
238 list, an enlarged view of the package details, or the equally split
239 screen.
240
241
242 Package details view
243 The package details view by default shows the extended package
244 description for the package that is currently selected in the packages
245 status list. The type of detail can be toggled by pressing the ‘i’
246 key. This alternates between:
247 - the extended description
248 - the control information for the installed version
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
256 Packages status list
257 The main select screen displays a list of all packages known to the
258 Debian package management system. This includes packages installed on
259 the system and packages known from the available packages database.
260
261 For every package, the list shows the package's status, priority,
262 section, installed and available architecture, installed and available
263 versions, the package name and its short description, all in one line.
264 By pressing the ‘A’ key, the display of the installed and available
265 architecture can be toggled between on an off. By pressing the ‘V’
266 key, the display of the installed and available version can be toggled
267 between on an off. By pressing the ‘v’ key, the package status display
268 is toggled between verbose and shorthand. Shorthand display is the
269 default.
270
271 The shorthand status indication consists of four parts: an error flag,
272 which should normally be clear, the current status, the last selection
273 state and the current selection state. The first two relate to the
274 actual state of the package, the second pair are about the selections
275 set by the user.
276
277 These are the meanings of the shorthand package status indicator codes:
278 Error flag:
279 empty no error
280 R serious error, needs reinstallation;
281 Installed state:
282 empty not installed;
283 * fully installed and configured;
284 - not installed but some config files may remain;
285 U unpacked but not yet configured;
286 C half-configured (an error happened);
287 I half-installed (an error happened).
288 Current and requested selections:
289 * marked for installation or upgrade;
290 - marked for removal, configuration files remain;
291 = on hold: package will not be processed at all;
292 _ marked for purge, also remove configuration;
293 n package is new and has yet to be marked.
294
295
296 Cursor and screen movement
297 The package selection list and the dependency conflict resolution
298 screens can be navigated using motion commands mapped to the following
299 keys:
300 p, Up, k move cursor bar up
301 n, Down, j move cursor bar down
302 P, Pgup, Backspace scroll list 1 page up
303 N, Pgdn, Space scroll list 1 page down
304 ^p scroll list 1 line up
305 ^n scroll list 1 line down
306 t, Home jump to top of list
307 e, End jump to end of list
308 u scroll info 1 page up
309 d scroll info 1 page down
310 ^u scroll info 1 line up
311 ^d scroll info 1 line down
312 B, Left-arrow pan display 1/3 screen left
313 F, Right-arrow pan display 1/3 screen right
314 ^b pan display 1 character left
315 ^f pan display 1 character right
316
317
318 Searching and sorting
319 The list of packages can be searched by package name. This is done by
320 pressing ‘/’, and typing a simple search string. The string is
321 interpreted as a regex(7) regular expression. If you add ‘/d’ to the
322 search expression, dselect will also search in descriptions. If you
323 add ‘/i’ the search will be case insensitive. You may combine these
324 two suffixes like this: ‘/id’. Repeated searching is accomplished by
325 repeatedly pressing the ‘n’ or ‘\’ keys, until the wanted package is
326 found. If the search reaches the bottom of the list, it wraps to the
327 top and continues searching from there.
328
329 The list sort order can be varied by pressing the ‘o’ and ‘O’ keys
330 repeatedly. The following nine sort orderings can be selected:
331 alphabet available status
332 priority+section available+priority status+priority
333 section+priority available+section status+section
334 Where not listed above explicitly, alphabetic order is used as the
335 final subordering sort key.
336
337
338 Altering selections
339 The requested selection state of individual packages may be altered
340 with the following commands:
341 +, Insert install or upgrade
342 =, H hold in present state and version
343 :, G unhold: upgrade or leave uninstalled
344 -, Delete remove, but leave configuration
345 _ remove & purge configuration
346
347 When the change request results in one or more unsatisfied depends or
348 conflicts, dselect prompts the user with a dependency resolution
349 screen. This will be further explained below.
350
351 It is also possible to apply these commands to groups of package
352 selections, by pointing the cursor bar onto a group header. The exact
353 grouping of packages is dependent on the current list ordering
354 settings.
355
356 Proper care should be taken when altering large groups of selections,
357 because this can instantaneously create large numbers of unresolved
358 depends or conflicts, all of which will be listed in one dependency
359 resolution screen, making them very hard to handle. In practice, only
360 hold and unhold operations are useful when applied to groups.
361
362
363 Resolving depends and conflicts
364 When the change request results in one or more unsatisfied depends or
365 conflicts, dselect prompts the user with a dependency resolution
366 screen. First however, an informative help screen is displayed.
367
368 The top half of this screen lists all the packages that will have
369 unresolved depends or conflicts, as a result of the requested change,
370 and all the packages whose installation can resolve any of these
371 depends or whose removal can resolve any of the conflicts. The bottom
372 half defaults to show the depends or conflicts that cause the currently
373 selected package to be listed.
374
375 When the sublist of packages is displayed initially, dselect may have
376 already set the requested selection status of some of the listed
377 packages, in order to resolve the depends or conflicts that caused the
378 dependency resolution screen to be displayed. Usually, it is best to
379 follow up the suggestions made by dselect.
380
381 The listed packages' selection state may be reverted to the original
382 settings, as they were before the unresolved depends or conflicts were
383 created, by pressing the ‘R’ key. By pressing the ‘D’ key, the
384 automatic suggestions are reset, but the change that caused the
385 dependency resolution screen to be prompted is kept as requested.
386 Finally, by pressing ‘U’, the selections are again set to the automatic
387 suggestion values.
388
389
390 Establishing the requested selections
391 By pressing enter, the currently displayed set of selections is
392 accepted. If dselect detects no unresolved depends as a result of the
393 requested selections, the new selections will be set. However, if
394 there are any unresolved depends, dselect will again prompt the user
395 with a dependency resolution screen.
396
397 To alter a set of selections that creates unresolved depends or
398 conflicts and forcing dselect to accept it, press the ‘Q’ key. This
399 sets the selections as specified by the user, unconditionally.
400 Generally, don't do this unless you've read the fine print.
401
402 The opposite effect, to back out any selections change requests and go
403 back to the previous list of selections, is attained by pressing the
404 ‘X’ or escape keys. By repeatedly pressing these keys, any possibly
405 detrimental changes to the requested package selections can be backed
406 out completely to the last established settings.
407
408 If you mistakenly establish some settings and wish to revert all the
409 selections to what is currently installed on the system, press the ‘C’
410 key. This is somewhat similar to using the unhold command on all
411 packages, but provides a more obvious panic button in cases where the
412 user pressed enter by accident.
413
414
416 0 The requested command was successfully performed.
417
418 2 Fatal or unrecoverable error due to invalid command-line usage,
419 or interactions with the system, such as accesses to the
420 database, memory allocations, etc.
421
423 HOME If set, dselect will use it as the directory from which to read
424 the user specific configuration file.
425
427 The dselect package selection interface is confusing to some new users.
428 Reportedly, it even makes seasoned kernel developers cry.
429
430 The documentation is lacking.
431
432 There is no help option in the main menu.
433
434 The visible list of available packages cannot be reduced.
435
436 The built in access methods can no longer stand up to current quality
437 standards. Use the access method provided by apt, it is not only not
438 broken, it is also much more flexible than the built in access methods.
439
441 dpkg(1), apt-get(8), sources.list(5), deb(5).
442
443
444
4451.19.7 2019-06-03 dselect(1)