1dselect(1) Debian dselect(1)
2
3
4
6 dselect - Debian package management frontend
7
9 dselect [--admindir <directory>] [--help] [--version]
10 [--licence|--license] [--expert] [--debug|-D<file>] [<action>]
11 [--colour|--color screenpart:[foreground],[back‐
12 ground][:attr[+attr+..]]]
13
15 dselect is one of the primary user interfaces for managing packages on
16 a Debian system. At the dselect main menu, the system administrator
17 can:
18 - Update the list of available package versions,
19 - View the status of installed and available packages,
20 - Alter package selections and manage dependencies,
21 - Install new packages or upgrade to newer versions.
22
23 dselect operates as a front-end to dpkg(1), the low-level debian pack‐
24 age handling tool. It features a full-screen package selections manager
25 with package depends and conflicts resolver. When run with administra‐
26 tor privileges, packages can be installed, upgraded and removed. Vari‐
27 ous access methods can be configured to retrieve available package ver‐
28 sion information and installable packages from package repositories.
29 Depending on the used access method, these repositories can be public
30 archive servers on the internet, local archive servers or cdroms. The
31 recommended access method is apt, which is provided by the package apt.
32
33 Normally dselect is invoked without parameters. An interactive menu is
34 presented, offering the user a list of actions. If an action is given
35 as argument, then that action is started immediately. Several command‐
36 line parameters are still available to modify the running behaviour of
37 dselect or show additional information about the program.
38
40 All options can be specified both on the commandline and in the dselect
41 configuration file /etc/dpkg/dselect.cfg or the files on the configura‐
42 tion directory /etc/dpkg/dpkg.cfg.d/. Each line in the configuration
43 file is either an option (exactly the same as the commandline option
44 but without leading dashes) or a comment (if it starts with a #).
45
46 --admindir <directory>
47 Changes the directory where the dpkg `status', `available' and
48 similar files are located. This defaults to /var/lib/dpkg and
49 normally there shouldn't be any need to change it.
50
51 --debug <file> | -D<file>
52 Turn on debugging. Debugging information is sent to <file>.
53
54 --expert
55 Turns on expert mode, i.e. doesn't display possibly annoying
56 help messages.
57
58 --colour|--color screenpart:[foreground],[background][:attr[+attr+..]]
59 Configures screen colors. This works only if your display sup‐
60 ports colors. This option may be used multiple times (and is
61 best used in dselect.cfg). Each use changes the color (and
62 optionally, other attributes) of one part of the screen. The
63 parts of the screen (from top to bottom) are:
64
65 title The screen title.
66
67 listhead
68 The header line above the list of packages.
69
70 list The scrolling list of packages (and also some help text).
71
72 listsel
73 The selected item in the list.
74
75 pkgstate
76 In the list of packages, the text indicating the current
77 state of each package.
78
79 pkgstatesel
80 In the list of packages, the text indicating the current
81 state of the currently selected package.
82
83 infohead
84 The header line that displays the state of the currently
85 selected package.
86
87 infodesc
88 The package's short description.
89
90 info Used to display package info such as the package's
91 description.
92
93 infofoot
94 The last line of the screen when selecting packages.
95
96 query Used to display query lines
97
98 helpscreen
99 Color of help screens.
100
101 After the part of the screen comes a colon and the color specification.
102 You can specify either the foreground color, the background color, or
103 both, overriding the compiled-in colors. Use standard curses color
104 names.
105
106 Optionally, after the color specification is another colon, and an
107 attribute specification. This is a list of one or more attributes, sep‐
108 arated by plus ("+") characters. Available attributes include (not all
109 of these will work on all terminals): normal, standout, underline,
110 reverse, blink, bright, dim, bold
111
112 --help Print a brief help text and exit successfully.
113
114 --licence|--license
115 Displays the dselect copyright and license information and exits
116 successfully.
117
118 --version
119 Print version information and exit successfully.
120
122 When dselect is started interactively, it prompts the user with a menu
123 of available actions:
124
125 access
126 Choose and configure an access method to access package repositories.
127
128 By default, dselect provides several methods such as floppy, harddisk
129 or cdrom, but other packages may provide additional methods, eg. the
130 apt access method provided by the apt package or multi_cd by the
131 dpkg-multicd package.
132
133 The use of the apt access method is strongly recommended.
134
135
136 update
137 Refresh the available packages database.
138
139 Retrieves a list of available package versions from the package reposi‐
140 tory, configured for the current access method, and update the dpkg
141 database. The package lists are commonly provided by the repository as
142 files named Packages or Packages.gz. These files can be generated by
143 repository maintainers, using the program dpkg-scanpackages(1).
144
145 Details of the update action depend on the access method's implementa‐
146 tion. Normally the process is straightforward and requires no user
147 interaction.
148
149
150 select
151 View or manage package selections and dependencies.
152
153 This is the main function of dselect. In the select screen, the user
154 can review a list of all available and installed packages. When run
155 with administrator privileges, it is also possible to interactively
156 change packages selection state. dselect tracks the implications of
157 these changes to other depending or conflicting packages.
158
159 When a conflict or failed depends is detected, a dependency resolution
160 subscreen is prompted to the user. In this screen, a list of conflict‐
161 ing or depending packages is shown, and for each package listed, the
162 reason for its listing is shown. The user may apply the suggestions
163 proposed by dselect, override them, or back out all the changes,
164 including the ones that created the unresolved depends or 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 pack‐
174 ages 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 http://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 action depend on the access method's implementa‐
188 tion. The user's attention and input may be required during installa‐
189 tion, configuration or removal of packages. This depends on the main‐
190 tainer scripts in the package. Some packages make use of the debconf(1)
191 library, allowing for more flexible or even automated installation set‐
192 ups.
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 interdependen‐
213 cies. For a user who is unfamiliar with the concepts and the ways of
214 the debian package management system, it can be quite overwhelming.
215 Although dselect is aimed at easing package management and administra‐
216 tion, it is only instrumental in doing so and can not be assumed to be
217 a sufficient substitute for administrator skill and understanding. The
218 user is required to be familiar with the concepts underlying the Debian
219 packaging system. In case of doubt, consult the dpkg(1) manpage and
220 the Debian Policy manual, contained in the debian-policy package.
221
222 Unless dselect is run in expert or immediate mode, a help screen is
223 first displayed when choosing this action 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 individ‐
232 ual package, or a group of packages, if applicable, by selecting the
233 group header. The bottom half of the screen shows some details about
234 the package currently selected in the top half of the screen. The type
235 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 descrip‐
244 tion for the package that is currently selected in the packages status
245 list. The type of detail can be toggled by pressing the 'i' key. This
246 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, sec‐
262 tion, installed and available versions, the package name and its short
263 description, all in one line. By pressing the 'V' key, the display of
264 the installed and available version can be toggled between on an off.
265 By pressing the 'v' key, the package status display is toggled between
266 verbose and shorthand. Shorthand display is the default.
267
268 The shorthand status indication consists of four parts: an error flag,
269 which should normally be clear, the current status, the last selection
270 state and the current selection state. The first two relate to the
271 actual state of the package, the second pair are about the selections
272 set by the user.
273
274 These are the meanings of the shorthand package status indicator codes:
275 Error flag:
276 empty no error
277 R serious error, needs reinstallation;
278 Installed state:
279 empty not installed;
280 * fully installed and configured;
281 - not installed but some config files may remain;
282 U unpacked but not yet configured;
283 C half-configured (an error happened);
284 I half-installed (an error happened).
285 Current and requested selections:
286 * marked for installation or upgrade;
287 - marked for removal, configuration files remain;
288 = on hold: package will not be processed at all;
289 _ marked for purge, also remove configuration;
290 n package is new and has yet to be marked.
291
292
293 Cursor and screen movement
294 The package selection list and the dependency conflict resolution
295 screens can be navigated using motion commands mapped to the following
296 keys:
297 p, Up, k move cursor bar up
298 n, Down, j move cursor bar down
299 P, Pgup, Backspace scroll list 1 page up
300 N, Pgdn, Space scroll list 1 page down
301 ^p scroll list 1 line up
302 ^n scroll list 1 line down
303 t, Home jump to top of list
304 e, End jump to end of list
305 u scroll info 1 page up
306 d scroll info 1 page down
307 ^u scroll info 1 line up
308 ^d scroll info 1 line down
309 B, Left-arrow pan display 1/3 screen left
310 F, Right-arrow pan display 1/3 screen right
311 ^b pan display 1 character left
312 ^f pan display 1 character right
313
314
315 Searching and sorting
316 The list of packages can be searched by package name. This is done by
317 pressing '/', and typing a simple search string. The string is inter‐
318 preted as a regex(7) regular expression. If you add '/d' to the search
319 expression, dselect will also search in descriptions. If you add '/i'
320 the search will be case insensitive. You may combine these two suf‐
321 fixes like this: '/id'. Repeated searching is accomplished by repeat‐
322 edly pressing the 'n' or '\' keys, until the wanted package is found.
323 If the search reaches the bottom of the list, it wraps to the top and
324 continues searching from there.
325
326 The list sort order can be varied by pressing the 'o' and 'O' keys
327 repeatedly. The following nine sort orderings can be selected:
328 alphabet available status
329 priority+section available+priority status+priority
330 section+priority available+section status+section
331 Where not listed above explicitly, alphabetic order is used as the
332 final subordering sort key.
333
334
335 Altering selections
336 The requested selection state of individual packages may be altered
337 with the following commands:
338 +, Insert install or upgrade
339 =, H hold in present state and version
340 :, G unhold: upgrade or leave uninstalled
341 -, Delete remove, but leave configuration
342 _ remove & purge configuration
343
344 When the change request results in one or more unsatisfied depends or
345 conflicts, dselect prompts the user with a dependency resolution
346 screen. This will be further explained below.
347
348 It is also possible to apply these commands to groups of package selec‐
349 tions, by pointing the cursor bar onto a group header. The exact group‐
350 ing of packages is dependent on the current list ordering settings.
351
352 Proper care should be taken when altering large groups of selections,
353 because this can instantaneously create large numbers of unresolved
354 depends or conflicts, all of which will be listed in one dependency
355 resolution screen, making them very hard to handle. In practice, only
356 hold and unhold operations are useful when applied to groups.
357
358
359 Resolving depends and conflicts
360 When the change request results in one or more unsatisfied depends or
361 conflicts, dselect prompts the user with a dependency resolution
362 screen. First however, an informative help screen is displayed.
363
364 The top half of this screen lists all the packages that will have unre‐
365 solved depends or conflicts, as a result of the requested change, and
366 all the packages whose installation can resolve any of these depends or
367 whose removal can resolve any of the conflicts. The bottom half
368 defaults to show the depends or conflicts that cause the currently
369 selected package to be listed.
370
371 When the sublist of packages is displayed initially, dselect may have
372 already set the requested selection status of some of the listed pack‐
373 ages, in order to resolve the depends or conflicts that caused the
374 dependency resolution screen to be displayed. Usually, it is best to
375 follow up the suggestions made by dselect.
376
377 The listed packages' selection state may be reverted to the original
378 settings, as they were before the unresolved depends or conflicts were
379 created, by pressing the 'R' key. By pressing the 'D' key, the auto‐
380 matic suggestions are reset, but the change that caused the dependency
381 resolution screen to be prompted is kept as requested. Finally, by
382 pressing 'U', the selections are again set to the automatic suggestion
383 values.
384
385
386 Establishing the requested selections
387 By pressing enter, the currently displayed set of selections is
388 accepted. If dselect detects no unresolved depends as a result of the
389 requested selections, the new selections will be set. However, if
390 there are any unresolved depends, dselect will again prompt the user
391 with a dependency resolution screen.
392
393 To alter a set of selections that creates unresolved depends or con‐
394 flicts and forcing dselect to accept it, press the 'Q' key. This sets
395 the selections as specified by the user, unconditionally. Generally,
396 don't do this unless you've read the fine print.
397
398 The opposite effect, to back out any selections change requests and go
399 back to the previous list of selections, is attained by pressing the
400 'X' or escape keys. By repeatedly pressing these keys, any possibly
401 detrimental changes to the requested package selections can be backed
402 out completely to the last established settings.
403
404 If you mistakenly establish some settings and wish to revert all the
405 selections to what is currently installed on the system, press the 'C'
406 key. This is somewhat similar to using the unhold command on all pack‐
407 ages, but provides a more obvious panic button in cases where the user
408 pressed enter by accident.
409
410
412 The dselect package selection interface is confusing to some new users.
413 Reportedly, it even makes seasoned kernel developers cry.
414
415 The documentation is lacking.
416
417 There is no help option in the main menu.
418
419 The visible list of available packages cannot be reduced.
420
421 The built in access methods can no longer stand up to current quality
422 standards. Use the access method provided by apt, it is not only not
423 broken, it is also much more flexible than the built in access methods.
424
426 dpkg(1), apt-get(8), sources.list(5), deb(5).
427
429 dselect was written by Ian Jackson (ijackson@gnu.ai.mit.edu). Full list
430 of contributors may be found in `dselect --license'.
431 This manual page was written by Juho Vuori <javuori@cc.helsinki.fi>,
432 Josip Rodin and Joost kooij.
433
434
435
436
437Debian Project 2009-08-20 dselect(1)