dselect.8.sgml 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095
  1. <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
  2. <refentry id="dselect.8">
  3. <refmeta>
  4. <refentrytitle>dselect</refentrytitle>
  5. <manvolnum>8</manvolnum>
  6. <refmiscinfo class='source'>Debian Project</refmiscinfo>
  7. <refmiscinfo class='manual'>dpkg suite</refmiscinfo>
  8. </refmeta>
  9. <refnamediv>
  10. <refname>dselect</refname>
  11. <refpurpose>Debian package management frontend</refpurpose>
  12. </refnamediv>
  13. <refsynopsisdiv>
  14. <cmdsynopsis>
  15. <command>dselect</command>
  16. <arg choice="opt">--admindir <replaceable>directory</replaceable></arg>
  17. <arg choice="opt">--help</arg>
  18. <arg choice="opt">--version</arg>
  19. <group choice="opt">
  20. <arg choice="plain">--licence</arg>
  21. <arg choice='plain'>--license</arg>
  22. </group>
  23. <arg choice="opt">--expert</arg>
  24. <arg choice="opt">
  25. <group choice="plain">
  26. <arg choice="plain">--debug</arg>
  27. <arg choice="plain">-D</arg>
  28. </group>
  29. <replaceable>file</replaceable>
  30. </arg>
  31. <arg choice="opt">
  32. <group choice="plain">
  33. <arg choice="plain">--colour</arg>
  34. <arg choice="plain">--color</arg>
  35. </group>
  36. <replaceable>screenpart</replaceable>:<replaceable><optional>foreground</optional></replaceable>,<replaceable><optional>background</optional></replaceable>:<replaceable><optional>attr<replaceable><optional>+attr+..</optional></replaceable></optional></replaceable>
  37. </arg>
  38. <arg choice="opt"><replaceable>action</replaceable></arg>
  39. </cmdsynopsis>
  40. </refsynopsisdiv>
  41. <refsect1>
  42. <title>Description</title>
  43. <para>
  44. <command>dselect</command> is the primary user interface for managing
  45. packages on a Debian system. At the <command>dselect</command> main menu,
  46. the system administrator can:
  47. </para>
  48. <itemizedlist>
  49. <listitem>
  50. <para>
  51. Update the list of available package versions
  52. </para>
  53. </listitem>
  54. <listitem>
  55. <para>
  56. View the status of installed and available packages,
  57. </para>
  58. </listitem>
  59. <listitem>
  60. <para>
  61. Alter package selections and manage dependencies,
  62. </para>
  63. </listitem>
  64. <listitem>
  65. <para>
  66. Install new packages or upgrade to newer versions.
  67. </para>
  68. </listitem>
  69. </itemizedlist>
  70. <para>
  71. <command>dselect</command> operates as a front-end to
  72. <command>>dpkg</command>, the medium-level debian package handling tool.
  73. It features a full-screen package selections manager with package depends
  74. and conflicts resolver. When run with adminitrator priviledges, packages
  75. can be installed, upgraded and removed. Various access methods can be
  76. configured to retrieve available package version information and
  77. installable packages from package repositories. Depending on the used
  78. access method, these repositories can be public archive servers on the
  79. internet, local archive servers or cdroms. The recommended access method
  80. is <emphasis>apt</emphasis>, which is provided by the package
  81. <productname>apt</productname>.
  82. </para>
  83. <para>
  84. Normally <command>dselect</command> is invoked without parameters. An
  85. interactive menu is presented, offering the user a list of actions. If
  86. an action is given as argument, then that action is started immediately.
  87. Several commandline parameters are still available to modify the running
  88. behaviour of <command>dselect</command> or show additional information
  89. about the program.
  90. </para>
  91. </refsect1>
  92. <refsect1>
  93. <title>Options</title>
  94. <para>
  95. All options can be specified both on the commandline and in the
  96. <command>dselect</command> configuration file
  97. <filename>/etc/dpkg/dselect.cfg</filename>. Each line in the
  98. configuration file is either an option (exactly the same as the
  99. commandline option but without leading dashes) or a comment (if it starts
  100. with a hash `#' sign).
  101. </para>
  102. <variablelist>
  103. <varlistentry>
  104. <term>
  105. <cmdsynopsis>
  106. <arg choice="plain">--admindir <replaceable>directory</replaceable></arg>
  107. </cmdsynopsis>
  108. </term>
  109. <listitem>
  110. <para>
  111. Changes the directory where the dpkg <filename>status</filename>,
  112. <filename>available</filename> and similar files are located. This
  113. defaults to <filename>/var/lib/dpkg</filename> and normally there
  114. should not be any need to change it.
  115. </para>
  116. </listitem>
  117. </varlistentry>
  118. <varlistentry>
  119. <term>
  120. <cmdsynopsis>
  121. <group choice="plain">
  122. <arg choice="plain">--debug <replaceable>file</replaceable></arg>
  123. <arg choice="plain">-D <replaceable>file</replaceable></arg>
  124. </group>
  125. </cmdsynopsis>
  126. </term>
  127. <listitem>
  128. <para>
  129. Turn on debugging. Debugging information is sent to
  130. <option>file</option>.
  131. </para>
  132. </listitem>
  133. </varlistentry>
  134. <varlistentry>
  135. <term>
  136. <cmdsynopsis>
  137. <arg choice="plain">--expert</arg>
  138. </cmdsynopsis>
  139. </term>
  140. <listitem>
  141. <para>
  142. Turns on expert mode, i.e. does not display possibly annoying
  143. help messages.
  144. </para>
  145. </listitem>
  146. </varlistentry>
  147. <varlistentry>
  148. <term>
  149. <cmdsynopsis>
  150. <arg choice="plain">
  151. <group choice="plain">
  152. <arg choice="plain">--colour</arg>
  153. <arg choice="plain">--color</arg>
  154. </group>
  155. <replaceable>screenpart</replaceable>:<replaceable><optional>foreground</optional></replaceable>,<replaceable><optional>background</optional></replaceable>:<replaceable><optional>attr<replaceable><optional>+attr+..</optional></replaceable></optional></replaceable>
  156. </arg>
  157. </cmdsynopsis>
  158. </term>
  159. <listitem>
  160. <para>
  161. Configures screen colours. This works only if your display
  162. supports colours. This option may be used multiple times (and is
  163. best used in <filename>dselect.cfg</filename>). Each use changes
  164. the colour (and optionally, other attributes) of one part of the
  165. screen. The parts of the screen (from top to bottom) are:
  166. </para>
  167. <variablelist>
  168. <varlistentry>
  169. <term>title</term>
  170. <listitem>
  171. <para>
  172. The screen title.
  173. </para>
  174. </listitem>
  175. </varlistentry>
  176. <varlistentry>
  177. <term>listhead</term>
  178. <listitem>
  179. <para>
  180. The header line above the list of packages.
  181. </para>
  182. </listitem>
  183. </varlistentry>
  184. <varlistentry>
  185. <term>list</term>
  186. <listitem>
  187. <para>
  188. The scrolling list of packages (and also some help text).
  189. </para>
  190. </listitem>
  191. </varlistentry>
  192. <varlistentry>
  193. <term>listsel</term>
  194. <listitem>
  195. <para>
  196. The selected item in the list.
  197. </para>
  198. </listitem>
  199. </varlistentry>
  200. <varlistentry>
  201. <term>pkgstate</term>
  202. <listitem>
  203. <para>
  204. In the list of packages, the text indicating the current
  205. state of each package.
  206. </para>
  207. </listitem>
  208. </varlistentry>
  209. <varlistentry>
  210. <term>pkgstatesel</term>
  211. <listitem>
  212. <para>
  213. In the list of packages, the text indicating the current
  214. state of the currently selected package.
  215. </para>
  216. </listitem>
  217. </varlistentry>
  218. <varlistentry>
  219. <term>infohead</term>
  220. <listitem>
  221. <para>
  222. The header line that displays the state of the currently
  223. selected package.
  224. </para>
  225. </listitem>
  226. </varlistentry>
  227. <varlistentry>
  228. <term>infodesc</term>
  229. <listitem>
  230. <para>
  231. The package's short description.
  232. </para>
  233. </listitem>
  234. </varlistentry>
  235. <varlistentry>
  236. <term>info</term>
  237. <listitem>
  238. <para>
  239. Used to display package info such as the package's description.
  240. </para>
  241. </listitem>
  242. </varlistentry>
  243. <varlistentry>
  244. <term>infofoot</term>
  245. <listitem>
  246. <para>
  247. The last line of the screen when selecting packages.
  248. </para>
  249. </listitem>
  250. </varlistentry>
  251. <varlistentry>
  252. <term>query</term>
  253. <listitem>
  254. <para>
  255. Used to display query lines.
  256. </para>
  257. </listitem>
  258. </varlistentry>
  259. <varlistentry>
  260. <term>helpscreen</term>
  261. <listitem>
  262. <para>
  263. Colour of help screens.
  264. </para>
  265. </listitem>
  266. </varlistentry>
  267. </variablelist>
  268. <para>
  269. After the part of the screen comes a colon and the color
  270. specification. You can specify either the foreground color, the
  271. background color, or both, overriding the compiled-in colors. Use
  272. standard curses color names.
  273. </para>
  274. <para>
  275. Optionally, after the color specification is another colon, and
  276. an attribute specification. This is a list of one or more
  277. attributes, separated by plus ("+") characters. Available
  278. attributes include (not all of these will work on all terminals):
  279. normal, standout, underline, reverse, blink, bright, dim,
  280. bold.
  281. </para>
  282. </listitem>
  283. </varlistentry>
  284. <varlistentry>
  285. <term>
  286. <cmdsynopsis>
  287. <arg choice="plain">--help</arg>
  288. </cmdsynopsis>
  289. </term>
  290. <listitem>
  291. <para>
  292. Print a brief help text and exit successfully.
  293. </para>
  294. </listitem>
  295. </varlistentry>
  296. <varlistentry>
  297. <term>
  298. <cmdsynopsis>
  299. <group choice="plain">
  300. <arg choice="plain">--licence</arg>
  301. <arg choice="plain">--license</arg>
  302. </group>
  303. </cmdsynopsis>
  304. </term>
  305. <listitem>
  306. <para>
  307. Displays the <command>dselect</command> copyright and license
  308. information and exits successfully.
  309. </para>
  310. </listitem>
  311. </varlistentry>
  312. <varlistentry>
  313. <term>
  314. <cmdsynopsis>
  315. <arg choice="plain">--version</arg>
  316. </cmdsynopsis>
  317. </term>
  318. <listitem>
  319. <para>
  320. Print version information and exit successfully.
  321. </para>
  322. </listitem>
  323. </varlistentry>
  324. </variablelist>
  325. </refsect1>
  326. <refsect1>
  327. <title>Usage</title>
  328. <para>
  329. When <command>dselect</command> is started interactively, it prompts the
  330. user with a menu of available actions:
  331. </para>
  332. <variablelist>
  333. <varlistentry>
  334. <term>Access</term>
  335. <listitem>
  336. <para>
  337. Choose and configure an access method to access package repositories.
  338. </para>
  339. <para>
  340. By default, <command>dselect</command> provides several methods such
  341. as <emphasis>floppy</emphasis>, <emphasis>harddisk</emphasis> or
  342. <emphasis>cdrom</emphasis>, but other packages may provide additional
  343. methods, eg. the <emphasis>apt</emphasis> access method provided by
  344. the <productname>apt</productname> package or
  345. <emphasis>multi_cd</emphasis> by the
  346. <productname>dpkg-multicd</productname> package.
  347. </para>
  348. <note>
  349. <para>
  350. The use of the <emphasis>apt</emphasis> access method is strongly
  351. recommended.
  352. </para>
  353. </note>
  354. </listitem>
  355. </varlistentry>
  356. <varlistentry>
  357. <term>Update</term>
  358. <listitem>
  359. <para>
  360. Refresh the available packages database.
  361. </para>
  362. <para>
  363. Retrieves a list of available package versions from the package
  364. repository, configured for the current access method, and update
  365. the dpkg database. The package lists are commonly provided by the
  366. repository as files named <filename>Packages</filename> or
  367. <filename>Packages.gz</filename>. These files can be generated by
  368. repository maintainers, using the program
  369. <command>dpkg-scanpackages</command>.
  370. </para>
  371. <para>
  372. Details of the update action depend on the access method's
  373. implementation. Normally the process is straightforward and
  374. requires no user interaction.
  375. </para>
  376. </listitem>
  377. </varlistentry>
  378. <varlistentry>
  379. <term>Select</term>
  380. <listitem>
  381. <para>
  382. View or manage package selections and dependencies.
  383. </para>
  384. <para>
  385. This is the main function of <command>dselect</command>. In the
  386. select screen, the user can review a list of all available and
  387. installed packages. When run with administrator privileges, it is
  388. also possible to interactively change packages selection state.
  389. <command>dselect</command> tracks the implications of these changes
  390. to other depending or conflicting packages.
  391. </para>
  392. <para>
  393. When a conflict or failed depends is detected, a dependency
  394. resolution subscreen is prompted to the user. In this screen, a
  395. list of conflicting or depending packages is shown, and for each
  396. package listed, the reason for its listing is shown. The user may
  397. apply the suggestions proposed by <command>dselect</command>,
  398. override them, or back out all the changes, including the ones that
  399. created the unresolved depends or conflicts.
  400. </para>
  401. <para>
  402. The use of the interactive package selections management screen is
  403. explained in more detail below.
  404. </para>
  405. </listitem>
  406. </varlistentry>
  407. <varlistentry>
  408. <term>Install</term>
  409. <listitem>
  410. <para>
  411. Installs selected packages.
  412. </para>
  413. <para>
  414. The configured access method will fetch installable or upgradable
  415. packages from the relevant repositories and install these using
  416. <command>dpkg</command>. Depending on the implementation of the
  417. access method, all packages can be prefetched before installation,
  418. or fetched when needed. Some access methods may also remove
  419. packages that were marked for removal.
  420. <para>
  421. <para>
  422. If an error occurred during install, it is usually advisable to run
  423. install again. In most cases, the problems will disappear or be
  424. solved. If problems persist or the installation performed was
  425. incorrect, please investigate into the causes and circumstances,
  426. and file a bug in the Debian bug tracking system. Instructions on
  427. how to do this can be found at <ulink
  428. url='http://bugs.debian.org/'>http://bugs.debian.org/</ulink> or by
  429. reading the documentation for <command>bug</command> or
  430. <command>reportbug</command>, if these are installed.
  431. <para>
  432. <para>
  433. Details of the install action depend on the access method's
  434. implementation. The user's attention and input may be required
  435. during installation, configuration or removal of packages. This
  436. depends on the maintainer scripts in the package. Some packages
  437. make use of the <productname>>debconf</productname> library,
  438. allowing for more flexible or even automated installation setups.
  439. </para>
  440. </listitem>
  441. </varlistentry>
  442. <varlistentry>
  443. <term>Config</term>
  444. <listitem>
  445. <para>
  446. Configures any previously installed, but not fully configured packages.
  447. </para>
  448. </listitem>
  449. </varlistentry>
  450. <varlistentry>
  451. <term>Remove</term>
  452. <listitem>
  453. <para>
  454. Removes or purges installed packages, that are marked for removal.
  455. </para>
  456. </listitem>
  457. </varlistentry>
  458. <varlistentry>
  459. <term>Quit</term>
  460. <listitem>
  461. <para>
  462. Quit <command>dselect</command>.
  463. </para>
  464. <para>
  465. Exits the program with zero (succesful) errorcode.
  466. </para>
  467. </listitem>
  468. </varlistentry>
  469. </variablelist>
  470. </refsect1>
  471. <refsect1>
  472. <title>Package Selections Management</title>
  473. <refsect2>
  474. <title>Introduction</title>
  475. <para>
  476. <command>dselect</command> directly exposes
  477. the administrator to some of the complexities involved with managing
  478. large sets of packages with many interdependencies. For a user who is
  479. unfamiliar with the concepts and the ways of the debian package
  480. management system, it can be quite overwhelming. Although <emphasis
  481. remap='B'>dselect</emphasis> is aimed at easing package management and
  482. administration, it is only instrumental in doing so and can not be
  483. assumed to be a sufficient substitute for administrator skill and
  484. understanding. The user is required to be familiar with the concepts
  485. underlying the Debian packaging system. In case of doubt, consult the
  486. <citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>8</manvolnum></citerefentry>
  487. manpage and the Debian policy manual.
  488. </para>
  489. <para>
  490. Unless <command>dselect</command> is run in expert or immediate mode, a
  491. help screen is first displayed when choosing this action from the menu.
  492. The user is <emphasis>strongly</emphasis> advised to study all of the
  493. information presented in the online help screens, when one pops up.
  494. The online help screens can at any time be invoked with the
  495. <keycap>?</keycap> key.
  496. </para>
  497. </refsect2>
  498. <refsect2>
  499. <title>Screen Layout</title>
  500. <para>
  501. The select screen is by default split in a top and a bottom half. The
  502. top half shows a list of packages. A cursor bar can select an
  503. individual package, or a group of packages, if applicable, by selecting
  504. the group header. The bottom half of the screen shows some details
  505. about the package currently selected in the top half of the screen.
  506. The type of detail that is displayed can be varied.
  507. </para>
  508. <para>
  509. Pressing the <keycap>I</keycap> key toggles a full-screen display of
  510. the packages list, an enlarged view of the package details, or the
  511. equally split screen.
  512. </para>
  513. </refsect2>
  514. <refsect2>
  515. <title>Package Details View</title>
  516. <para>
  517. The package details view by default shows the extended package
  518. description for the package that is currently selected in the packages
  519. status list. The type of detail can be toggled by pressing the
  520. <keycap>i</keycap> key. This alternates between:
  521. </para>
  522. <itemizedlist>
  523. <listitem>
  524. <para>
  525. the extended description
  526. </para>
  527. </listitem>
  528. <listitem>
  529. <para>
  530. the control information for the installed version
  531. </para>
  532. </listitem>
  533. <listitem>
  534. <para>
  535. the control information for the available version
  536. </para>
  537. </listitem>
  538. </itemizedlist>
  539. <para>
  540. In a dependency resolution screen, there is also the possibility of
  541. viewing the specific unresolved depends or conflicts related to the
  542. package and causing it to be listed.
  543. </para>
  544. </refsect2>
  545. <refsect2>
  546. <title>Packages Status List</title>
  547. <para>
  548. The main select screen displays a list of all packages known to the
  549. debian package management system. This includes packages installed on
  550. the system and packages known from the available packages database.
  551. </para>
  552. <para>
  553. For every package, the list shows the package's status, priority,
  554. section, installed and available versions, the package name and its
  555. short description, all in one line. By pressing the <keycap>V</keycap>
  556. key, the display of the installed and available version can be toggled
  557. between on an off. By pressing the <keycap>v</keycap> key, the package
  558. status display is toggled between verbose and shorthand. Shorthand
  559. display is the default.
  560. </para>
  561. <para>
  562. The shorthand status indication consists of four parts: an error flag,
  563. which should normally be clear, the current status, the last selection
  564. state and the current selection state. The first two relate to the
  565. actual state of the package, the second pair are about the selections
  566. set by the user.
  567. </para>
  568. <para>
  569. These are the meanings of the shorthand package status indicator codes:
  570. </para>
  571. <table>
  572. <title>Error flags</title>
  573. <tgroup cols=2>
  574. <thead>
  575. <row>
  576. <entry>Flag</entry>
  577. <entry>Description</entry>
  578. </row>
  579. </thead>
  580. <tbody>
  581. <row>
  582. <entry>empty</entry>
  583. <entry>no error</entry>
  584. </row>
  585. <row>
  586. <entry>R</entry>
  587. <entry>serious error, needs reinstallation</entry>
  588. </row>
  589. </tbody>
  590. </tgroup>
  591. </table>
  592. <table>
  593. <title>Installed state</title>
  594. <tgroup cols=2>
  595. <thead>
  596. <row>
  597. <entry>Flag</entry>
  598. <entry>Description</entry>
  599. </row>
  600. </thead>
  601. <tbody>
  602. <row>
  603. <entry>empty</entry>
  604. <entry>not installed</entry>
  605. </row>
  606. <row>
  607. <entry>*</entry>
  608. <entry>fully installed and configured</entry>
  609. </row>
  610. <row>
  611. <entry>-</entry>
  612. <entry>not installed but some config files may remain</entry>
  613. </row>
  614. <row>
  615. <entry>U</entry>
  616. <entry>unpacked but not yet configured</entry>
  617. </row>
  618. <row>
  619. <entry>C</entry>
  620. <entry>half-configured (an error happened)</entry>
  621. </row>
  622. <row>
  623. <entry>I</entry>
  624. <entry>half-installed (an error happened)</entry>
  625. </row>
  626. </tbody>
  627. </tgroup>
  628. </table>
  629. <table>
  630. <title>Current and requested selsections</title>
  631. <tgroup cols=2>
  632. <thead>
  633. <row>
  634. <entry>Flag</entry>
  635. <entry>Description</entry>
  636. </row>
  637. </thead>
  638. <tbody>
  639. <row>
  640. <entry>*</entry>
  641. <entry>marked for installation or upgrade</entry>
  642. </row>
  643. <row>
  644. <entry>-</entry>
  645. <entry>marked for removal, configuration files remain</entry>
  646. </row>
  647. <row>
  648. <entry>=</entry>
  649. <entry>on hold: package will not be processed at all</entry>
  650. </row>
  651. <row>
  652. <entry>_</entry>
  653. <entry>marked for purge, also remove configuration and data</entry>
  654. </row>
  655. <row>
  656. <entry>n</entry>
  657. <entry>package is new and has yet to be marked</entry>
  658. </row>
  659. </tbody>
  660. </tgroup>
  661. </table>
  662. </refsect2>
  663. <refsect2>
  664. <title>Cursor And Screen Movement</title>
  665. <para>
  666. The package selection list and the dependency conflict resolution
  667. screens can be navigated using motion commands mapped to the following
  668. keys:
  669. </para>
  670. <table>
  671. <title>movement keybindings</title>
  672. <tgroup cols=2>
  673. <thead>
  674. <row>
  675. <entry>Key(s)</entry>
  676. <entry>Action</entry>
  677. </row>
  678. </thead>
  679. <tbody>
  680. <row>
  681. <entry><keycap>p</keycap>, <keycap>Up</keycap>, <keycap>k</keycap></entry>
  682. <entry>move cursor bar up</entry>
  683. </row>
  684. <row>
  685. <entry><keycap>n</keycap>, <keycap>Down</keycap>, <keycap>j</keycap></entry>
  686. <entry>move cursor bar down</entry>
  687. </row>
  688. <row>
  689. <entry><keycap>P</keycap>, <keycap>PgUp</keycap>, <keycap>BackSpace</keycap></entry>
  690. <entry>scroll list 1 page up</entry>
  691. </row>
  692. <row>
  693. <entry><keycap>N</keycap>, <keycap>PgDn</keycap>, <keycap>Space</keycap></entry>
  694. <entry>scroll list 1 page down</entry>
  695. </row>
  696. <row>
  697. <entry><keycap>Ctrl</keycap>-<keycap>p</keycap></entry>
  698. <entry>scroll list 1 line up</entry>
  699. </row>
  700. <row>
  701. <entry><keycap>Ctrl</keycap>-<keycap>n</keycap></entry>
  702. <entry>scroll list 1 line down</entry>
  703. </row>
  704. <row>
  705. <entry><keycap>t</keycap>, <keycap>Home</keycap></entry>
  706. <entry>jump to top of list</entry>
  707. </row>
  708. <row>
  709. <entry><keycap>e</keycap>, <keycap>End</keycap></entry>
  710. <entry>jump to end of list</entry>
  711. </row>
  712. <row>
  713. <entry><keycap>u</keycap></entry>
  714. <entry>scroll info 1 page up</entry>
  715. </row>
  716. <row>
  717. <entry><keycap>d</keycap></entry>
  718. <entry>scroll info 1 page down</entry>
  719. </row>
  720. <row>
  721. <entry><keycap>Ctrl</keycap>-<keycap>u</keycap></entry>
  722. <entry>scroll info 1 line up</entry>
  723. </row>
  724. <row>
  725. <entry><keycap>Ctrl</keycap>-<keycap>d</keycap></entry>
  726. <entry>scroll info 1 line down</entry>
  727. </row>
  728. <row>
  729. <entry><keycap>B</keycap>, <keycap>Left</keycap></entry>
  730. <entry>pan display 1/3 screen left</entry>
  731. </row>
  732. <row>
  733. <entry><keycap>F</keycap>, <keycap>Right</keycap></entry>
  734. <entry>pan display 1/3 screen right</entry>
  735. </row>
  736. <row>
  737. <entry><keycap>Ctrl</keycap>-<keycap>b</keycap></entry>
  738. <entry>pan display 1 character left</entry>
  739. </row>
  740. <row>
  741. <entry><keycap>Ctrl</keycap>-<keycap>f</keycap></entry>
  742. <entry>pan display 1 character right</entry>
  743. </row>
  744. </tbody>
  745. </tgroup>
  746. </table>
  747. </refsect2>
  748. <refsect2>
  749. <title>Searching And Sorting</title>
  750. <para>
  751. The list of packages can be searched by package name. This is done by
  752. pressing <keycap>/</keycap>, and typing a simple search string. The
  753. string is interpreted as a
  754. <citerefentry><refentrytitle>regex</refentrytitle><manvolnum>7</manvolnum></citerefentry>
  755. regular expression. If you add `<emphasis>/d</emphasis>' to the search
  756. expression, dselect will also search in descriptions. If you add
  757. `<emphasis>/i</emphasis>' the search will be case insensitive. You may
  758. combine these two suffixes like this: `<emphasis>'/id'</emphasis>.
  759. Repeated searching is accomplished by repeatedly pressing the
  760. <keycap>n</keycap> or <keycap>\</keycap> keys, until the wanted package
  761. is found. If the search reaches the bottom of the list, it wraps to
  762. the top and continues searching from there.
  763. </para>
  764. <para>
  765. The list sort order can be varied by pressing the <keycap>o</keycap>
  766. and <keycap>O</keycap> keys repeatedly. The following nine sort
  767. orderings can be selected:
  768. </para>
  769. <para>
  770. alphabet available status
  771. priority+section available+priority status+priority
  772. section+priority available+section status+section
  773. </para>
  774. <para>
  775. Where not listed above explicitly, alphabetic order is used as the
  776. final subordering sort key.
  777. </para>
  778. </refsect2>
  779. <refsect2>
  780. <title>Altering Selections</title>
  781. <para>
  782. The requested selection state of individual packages may be altered
  783. with the following commands:
  784. </para>
  785. <table>
  786. <title>action keybindings</title>
  787. <tgroup cols=2>
  788. <thead>
  789. <row>
  790. <entry>Key(s)</entry>
  791. <entry>Action</entry>
  792. </row>
  793. </thead>
  794. <tbody>
  795. <row>
  796. <entry><keycap>+</keycap>, <keycap>Insert</keycap></entry>
  797. <entry>install or upgrade</entry>
  798. </row>
  799. <row>
  800. <entry><keycap>=</keycap>, <keycap>H</keycap></entry>
  801. <entry>hold in present state and version</entry>
  802. </row>
  803. <row>
  804. <entry><keycap>:</keycap>, <keycap>G</keycap></entry>
  805. <entry>unhold: upgrade or leave uninstalled</entry>
  806. </row>
  807. <row>
  808. <entry><keycap>-</keycap>, <keycap>Delete</keycap></entry>
  809. <entry>remove, but leave configuration and data</entry>
  810. </row>
  811. <row>
  812. <entry><keycap>_</keycap></entry>
  813. <entry>remove &amp; purge configuration and data</entry>
  814. </row>
  815. </tbody>
  816. </tgroup>
  817. </table>
  818. <para>
  819. When the change request results in one or more unsatisfied depends or
  820. conflicts, <command>dselect</command> prompts the user with a
  821. dependency resolution screen. This will be further explained below.
  822. </para>
  823. <para>
  824. It is also possible to apply these commands to groups of package
  825. selections, by pointing the cursor bar onto a group header. The exact
  826. grouping of packages is dependent on the current
  827. list ordering settings.
  828. </para>
  829. <para>
  830. Proper care should be taken when altering large groups of selections,
  831. because this can instantaneously create large numbers of unresolved
  832. depends or conflicts, all of which will be listed in one dependency
  833. resolution screen, making them very hard to handle. In practice, only
  834. hold and unhold operations are useful when applied to groups.
  835. </para>
  836. </refsect2>
  837. <refsect2>
  838. <title>Resolving Depends And Conflicts</title>
  839. <para>
  840. When the change request results in one or more unsatisfied depends or
  841. conflicts, <command>dselect</command> prompts the user with a
  842. dependency resolution screen. First however, an informative help
  843. screen is displayed.
  844. </para>
  845. <para>
  846. The top half of this screen lists all the packages that will have
  847. unresolved depends or conflicts, as a result of the requested change,
  848. and all the packages whose installation can resolve any of these
  849. depends or whose removal can resolve any of the conflicts. The bottom
  850. half defaults to show the depends or conflicts that cause the currently
  851. selected package to be listed.
  852. </para>
  853. <para>
  854. When the sublist of packages is displayed initially,
  855. <command>dselect</command> may have already set the requested selection
  856. status of some of the listed packages, in order to resolve the depends
  857. of conflicts that caused the dependency resolution screen to be
  858. displayed. Usually, it is best to follow up the suggestions made by
  859. <command>dselect</command>.
  860. </para>
  861. <para>
  862. The listed packages' selection state may be reverted to the original
  863. settings, as they were before the unresolved depends or conflicts were
  864. created, by pressing the <keycap>R</keycap> key. By pressing the
  865. <keycap>D</keycap> key, the automatic suggestions are reset, but the
  866. change that caused the dependency resolution screen to be prompted is
  867. kept as requested. Finally, by pressing <keycap>U</keycap>, the
  868. selections are again set to the automatic suggestion values.
  869. </para>
  870. </refsect2>
  871. <refsect2>
  872. <title>Establishing The Requested Selections</title>
  873. <para>
  874. By pressing <keycap>Enter</keycap>, the currently displayed set of
  875. selections is accepted. If <command>dselect</command> detects no
  876. unresolved depends as a result of the requested selections, the new
  877. selections will be set. However, if there are any unresolveded
  878. depends, <command>dselect</command> will again prompt the user with a
  879. dependency resolution screen.
  880. </para>
  881. <para>
  882. To alter a set of selections that creates unresolved depends or
  883. conflicts and forcing <command>dselect</command> to accept it, press
  884. the <keycap>Q</keycap> key. This sets the selections as specified by
  885. the user, unconditionally. Generally, don't do this unless you've read
  886. the fine print.
  887. </para>
  888. <para>
  889. The opposite effect, to back out any selections change requests and go
  890. back to the previous list of selections, is attained by pressing the
  891. <keycap>X</keycap> or <keycap>Escape</keycap> keys. By repeatedly
  892. pressing these keys, any possibly detrimental changes to the requested
  893. package selections can be backed out completely to the last established
  894. settings.
  895. </para>
  896. </refsect2>
  897. </refsect1>
  898. <refsect1>
  899. <title>Bugs</title>
  900. <para>
  901. The <command>dselect</command> package selection interface is confusing
  902. to some new users. Reportedly, it even makes seasoned kernel developers
  903. cry.
  904. </para>
  905. <para>
  906. The documentation is lacking.
  907. </para>
  908. <para>
  909. There is no help option in the main menu.
  910. </para>
  911. <para>
  912. The visible list of available packages cannot be reduced.
  913. </para>
  914. <para>
  915. The built in access methods can no longer stand up to current quality
  916. standards. Use the access method provided by
  917. <productname>apt</productname>, it is not only not broken, it is also
  918. much more flexible than the built in access methods.
  919. </para>
  920. </refsect1>
  921. <refsect1>
  922. <title>See Also</title>
  923. <para>
  924. <citerefentry>
  925. <refentrytitle>dselect.cfg</refentrytitle>
  926. <manvolnum>5</manvolnum>
  927. </citerefentry>,
  928. <citerefentry>
  929. <refentrytitle>dpkg</refentrytitle>
  930. <manvolnum>8</manvolnum>
  931. </citerefentry>,
  932. <citerefentry>
  933. <refentrytitle>apt-get</refentrytitle>
  934. <manvolnum>8</manvolnum>
  935. </citerefentry>,
  936. <citerefentry>
  937. <refentrytitle>sources.list</refentrytitle>
  938. <manvolnum>5</manvolnum>
  939. </citerefentry>,
  940. <citerefentry>
  941. <refentrytitle>deb</refentrytitle>
  942. <manvolnum>5</manvolnum>
  943. </citerefentry>,
  944. the Debian policy manual.
  945. </para>
  946. </refsect1>
  947. </refentry>