書式
dselect [option...] [command...]説明
dselect は、Debian システムにおけるパッケージ管理用ユーザインタフェースとして主要なものの一つである。システム管理者は、dselect のメインメニューから以下の操作を行える。- 取得可能パッケージのバージョンリストの更新
- インストール済、利用可能パッケージ状況の参照
- パッケージ選択の変更や依存関係の管理
- 新規パッケージのインストールや新バージョンへのアップグレード
dselect は、下位に位置する Debian パッケージ管理ツールである dpkg(1) のフロントエンドとして動作する。これは、フルスクリーンのパッケージ選択管理ツールであり、パッケージの依存関係や競合の解決を行なうことができる点が特徴である。管理者権限で起動することで、パッケージのインストール、更新、削除を行うことができるとともに、様々な方式により、パッケージリポジトリから利用可能パッケージのバージョン情報や、インストール可能パッケージの情報を取得するための設定を行うことができる。使用するアクセス方式に応じて、リポジトリをインターネット上の公開サーバ、ローカルサーバ、CD-ROM に設定することができる。推奨するアクセス方式は、apt パッケージで提供される apt である。
Normally dselect is invoked without parameters. An interactive menu is presented, offering the user a list of commands. If a command is given as argument, then that command is started immediately. Several command line parameters are still available to modify the running behaviour of dselect or show additional information about the program.
オプション
All options can be specified both on the command line and in the dselect configuration file /etc/dpkg/dselect.cfg or the files on the configuration directory /etc/dpkg/dselect.cfg.d/. Each line in the configuration file is either an option (exactly the same as the command line option but without leading hyphens) or a comment (if it starts with a '#').- --admindir directory
- Changes the directory where the dpkg 'status', 'available' and similar files are located. This defaults to /var/lib/dpkg and normally there shouldn't be any need to change it.
- -Dfile, --debug file
- デバッグを有効にする。デバッグ情報は file に送られる。
- --expert
- エキスパートモードを有効にする。つまり、煩雑なヘルプを表示しない。
- --colour|--color screenpart:[foreground],[background][:attr[+attr]...]
-
表示色を設定する。ディスプレイがカラー表示をサポートしている場合に有効である。このオプションは、複数回指定できる ( dselect.cfg
での使用が推奨されている)。各設定ごとに、画面のある部位の色 (や他の属性) が変更される。画面の部位の名称は (上から順に) 次のとおり:
-
- title
- 画面タイトル
- listhead
- パッケージリストの上部にあるヘッダライン
- list
- パッケージリストのスクロール領域 (ヘルプも表示される)
- listsel
- リスト内の選択行
- pkgstate
- パッケージリスト内で、各パッケージの状況を示すテキスト
- pkgstatesel
- パッケージリスト内で、選択したパッケージの状況を示すテキスト
- infohead
- 現在選択しているパッケージの状況を表示するヘッダ行
- infodesc
- パッケージの短い説明文
- info
- パッケージの説明などパッケージの情報を表示するために用いられる
- infofoot
- パッケージ選択時の画面最下行
- query
- クエリ行を表示するために用いられる
- helpscreen
- ヘルプ画面の色
-
- 画面の部位を示すキーワードの後に、コロンに続き色設定を記述する。前景色、背景色、あるいは両方を指定でき、コンパイル時に指定した色設定に優先する。標準の curses 色名称を使用すること。
- Optionally, after the color specification is another colon, and an attribute specification. This is a list of one or more attributes, separated by plus ('+') characters. Available attributes include (not all of these will work on all terminals): normal, standout, underline, reverse, blink, bright, dim, bold
- -?, --help
- 簡単なヘルプを表示し、正常終了する。
- --version
- バージョン情報を表示し、正常終了する。
コマンド
When dselect is started it can perform the following commands, either directly if it was specified on the command line or by prompting the user with a menu of available commands if running interactively:アクセス (access)
パッケージリポジトリにアクセスするアクセス方式を選択、設定する。デフォルトで、 dselect は cdrom, multi_cd, nfs, multi_nfs, harddisk, mounted, multi_mount, floppy, ftp といった、いくつかの方式を提供する。しかし、他のパッケージが追加アクセス方式を提供することもある。例えば、apt アクセス方式は apt パッケージで提供される。
apt アクセス方式の使用を、強く推奨する。
更新 (update)
取得可能パッケージのデータベースを更新する。取得可能パッケージのバージョンリストを、現在設定しているアクセス方式でパッケージリポジトリから取得し、dpkg データベースを更新する。パッケージ一覧は、一般的には Packages や Packages.gz という名前で、リポジトリから提供されている。リポジトリ管理者は、dpkg-scanpackages(1) というプログラムを使用して、このファイルを生成することができる。
Details of the update command depend on the access method's implementation. Normally the process is straightforward and requires no user interaction.
選択 (select)
パッケージの選択や依存関係の表示、管理を行う。これは dselect の主たる機能である。この画面で取得可能なパッケージやインストール済パッケージリストを確認できる。管理者権限で実行すると、対話的にパッケージの選択状況を変更することもできる。 dselect は、変更に伴って発生する依存、競合パッケージについても検出する。
競合や解決できない依存関係を検出すると、依存関係解決サブ画面をユーザに提示する。この画面では、競合パッケージや依存パッケージのリストが、その理由とともに表示される。ユーザは、dselect が提案した変更案を適用してもよいし、その案を修正してもよい。また、解決できない依存関係や競合を発生させた変更を含む、すべての変更を元に戻すこともできる。
対話的なパッケージ選択管理画面の詳細な使い方については後述する。
導入 (install)
選択したパッケージをインストールする。新規インストール、更新が可能なパッケージを、設定したアクセス方式で適切なリポジトリより取得し、 dpkg を用いてインストールを行う。インストール前にパッケージをすべて取得するか、必要な時に取得するかは、アクセス方式の実装によって異なる。アクセス方式によって、削除マークをつけたパッケージの削除を行う場合もある。
インストール中にエラーが発生した場合は、通常インストールを再度行うことを推奨する。大半の場合、問題は再発しないか解決されるが、問題が解決しなかったりインストールが適切に行われていなかったりする場合は、原因や環境を調べて、Debian バグ追跡システムへバグ報告をしていただきたい。バグ報告の方法は、https://bugs.debian.org/ や、bug(1) や reportbug(1) がインストールされていれば、それらの文書を参照のこと。
Details of the install command depend on the access method's implementation. The user's attention and input may be required during installation, configuration or removal of packages. This depends on the maintainer scripts in the package. Some packages make use of the debconf(1) library, allowing for more flexible or even automated installation setups.
設定 (config)
すでにインストール済みだが、設定が完了していないパッケージの設定を行う。
削除 (remove)
削除マークをつけたインストール済パッケージの削除や完全削除を行う。
終了 (quit)
Quit dselect.エラーコード 0 (成功) でプログラムを終了する。
PACKAGE SELECTIONS MANAGEMENT
概要
dselect directly exposes the administrator to some of the complexities involved with managing large sets of packages with many interdependencies. For a user who is unfamiliar with the concepts and the ways of the debian package management system, it can be quite overwhelming. Although dselect is aimed at easing package management and administration, it is only instrumental in doing so and can not be assumed to be a sufficient substitute for administrator skill and understanding. The user is required to be familiar with the concepts underlying the Debian packaging system. In case of doubt, consult the dpkg(1) manpage and the distribution policy.
Unless dselect is run in expert or immediate mode, a help screen is first displayed when choosing this command from the menu. The user is strongly advised to study all of the information presented in the online help screens, when one pops up. The online help screens can at any time be invoked with the '?' key.
画面レイアウト
選択画面は、デフォルトで上下 2 分割されている。上半分はパッケージのリストを表示している。カーソルバーで個々のパッケージを選択したり、グループヘッダ (存在していれば) を選択して、パッケージグループを選択したりできる。画面の下半分は、画面の上半分で現在選択しているパッケージの詳細が表示される。表示される詳細の形式は変更できる。
Pressing the 'I' key toggles a full-screen display of the packages list, an enlarged view of the package details, or the equally split screen.
パッケージ詳細表示
The package details view by default shows the extended package description
for the package that is currently selected in the packages status list.
The type of detail can be toggled by pressing the 'i' key.
This alternates between:
- the extended description
- the control information for the installed version
- the control information for the available version
依存関係解決画面で、特定のパッケージに関連する未解決な依存関係、競合関係が、その原因とともに表示される場合もある。
パッケージ状況リスト
主たる選択画面には、Debian パッケージ管理システムが認識しているすべてのパッケージがリストされる。これには、システムにインストール済のパッケージと、取得可能パッケージのデータベースが認識しているパッケージが含まれる。
For every package, the list shows the package's status, priority, section, installed and available architecture, installed and available versions, the package name and its short description, all in one line. By pressing the 'A' key, the display of the installed and available architecture can be toggled between on an off. By pressing the 'V' key, the display of the installed and available version can be toggled between on an off. By pressing the 'v' key, the package status display is toggled between verbose and shorthand. Shorthand display is the default.
簡略表示における状況は、エラーフラグ (通常クリアされている)、現在の状況、現在の選択状況、新規の選択状況の 4 パートからなる。始めの 2 つはパッケージの現在の状況を表し、後の 2 つはユーザが設定した選択状況を示している。
簡略表示におけるパッケージ状況の略号には以下の意味がある。
エラーフラグ:
空 エラーなし
R 深刻なエラー (要再インストール)
インストール状況:
空 未インストール
* インストール済で設定済
- 未インストールだが設定ファイルが残っている
U 展開済だが未設定
C 半設定状況 (エラー発生)
I 半インストール状況 (エラー発生)
現在の選択状況、新規の選択状況:
* インストールもしくは更新マーク
- 削除マーク (設定ファイルは残す)
= 保留 (パッケージに対する処理は行われない)
_ 完全削除マーク (設定ファイルも削除する)
n 新規パッケージでまだマークが付けられていない
カーソルおよび画面移動
パッケージ選択リストや依存、競合関係解決画面では、以下のキーに割当てられた移動コマンドで操作することができる。
p, Up, k カーソルバーを上に移動
n, Down, j カーソルバーを下に移動
P, Pgup, Backspace リストを 1 ページ上にスクロール
N, Pgdn, Space リストを 1 ページ下にスクロール
^p リストを 1 行上にスクロール
^n リストを 1 行下にスクロール
t, Home リストの先頭にジャンプ
e, End リストの最後にジャンプ
u 情報を 1 ページ上にスクロール
d 情報を 1 ページ下にスクロール
^u 情報を 1 行上にスクロール
^d 情報を 1 行下にスクロール
B, Left-arrow 表示を 1/3 画面左にスクロール
F, Right-arrow 表示を 1/3 画面右にスクロール
^b 表示を 1 文字左にスクロール
^f 表示を 1 文字右にスクロール
検索とソート
The list of packages can be searched by package name. This is done by pressing '/', and typing a simple search string. The string is interpreted as a regex(7) regular expression. If you add '/d' to the search expression, dselect will also search in descriptions. If you add '/i' the search will be case insensitive. You may combine these two suffixes like this: '/id'. Repeated searching is accomplished by repeatedly pressing the 'n' or '\' keys, until the wanted package is found. If the search reaches the bottom of the list, it wraps to the top and continues searching from there.
The list sort order can be varied by pressing
the 'o' and 'O' keys repeatedly.
The following nine sort orderings can be selected:
alphabet available status
priority+section available+priority status+priority
section+priority available+section status+section
上記リストには明記されていないが、最終的にアルファベット順でのソートが行われる。
選択の変更
各パッケージの新規選択状況は、以下のコマンドで変更できる。
+, Insert インストール、更新する
=, H 現在の状況、バージョンで保留する
:, G 保留解除 (更新ないし未インストールのままとする)
-, Delete 削除、設定は残す
_ 完全削除、設定も消す
変更の結果、依存関係を充足できなかったり競合したりした場合、 dselect は依存関係解決画面を表示する。これは後ほど説明する。
グループヘッダ上にカーソルバーを移動して、パッケージ選択のグループにコマンドを適用することもできる。現在のリストのソート順設定によっては、パッケージのグループ化が適切に行われない場合がある。
大規模なグループの選択状況を変更する場合は、大量の未解決な依存、競合関係が一度に発生するため、十分注意すべきである。 これらは 1 つの依存関係解決画面にリストされることとなるため、これを操作するのは非常に難しい。グループに対する変更が実用的なのは、保留や保留解除の時ぐらいである。
依存・競合関係の解決
選択状況の変更により未解決の依存・競合関係が発生した場合、 dselect は依存関係解決画面を表示する。なお、表示の前にヘルプ画面が表示される。
この画面の上半分には、選択された変更の結果として発生した未解決の依存、競合関係があるパッケージに加え、インストールすることで依存関係を解決するパッケージ、削除することで競合を解決するパッケージがすべて表示される。下半分には、現在選択されているパッケージが原因となっている依存や競合関係がデフォルトで表示される。
パッケージのサブリストの初期表示の時点で、dselect は、依存関係解決画面の表示を引き起こしている依存や競合関係を解決するよう、リストしたパッケージの選択状況の一部をあらかじめ変更している場合がある。通常、dselect による提案を採用するのが最良である。
The listed packages' selection state may be reverted to the original settings, as they were before the unresolved depends or conflicts were created, by pressing the 'R' key. By pressing the 'D' key, the automatic suggestions are reset, but the change that caused the dependency resolution screen to be prompted is kept as requested. Finally, by pressing 'U', the selections are again set to the automatic suggestion values.
選択された変更の確定
enter を押すことで、現在表示されている選択を確定する。選択された変更に起因する未解決の依存関係が検出されない限り、dselect は新しい選択を設定する。未解決の依存関係が存在する場合、 dselect は依存関係解決画面を改めて表示する。
To alter a set of selections that creates unresolved depends or conflicts and forcing dselect to accept it, press the 'Q' key. This sets the selections as specified by the user, unconditionally. Generally, don't do this unless you've read the fine print.
The opposite effect, to back out any selections change requests and go back to the previous list of selections, is attained by pressing the 'X' or escape keys. By repeatedly pressing these keys, any possibly detrimental changes to the requested package selections can be backed out completely to the last established settings.
If you mistakenly establish some settings and wish to revert all the selections to what is currently installed on the system, press the 'C' key. This is somewhat similar to using the unhold command on all packages, but provides a more obvious panic button in cases where the user pressed enter by accident.
終了ステータス
- 0
- The requested command was successfully performed.
- 2
- Fatal or unrecoverable error due to invalid command-line usage, or interactions with the system, such as accesses to the database, memory allocations, etc.
環境変数
- HOME
- 設定されていると、dselect はその値をユーザ固有の設定ファイルを読み込むディレクトリとして使用する。
バグ
始めて dselect を使うユーザの中には、このパッケージ選択インタフェースに混乱する者もいる。聞くところによると、経験を積んだカーネル開発者ですら、これに悩まされている。ドキュメントが不足している。
メインメニューにヘルプオプションがない。
取得可能パッケージのリスト表示を減らせない。
内部実装されているアクセス方式では、もはや現在の品質基準を満たせない。apt が提供するアクセス方式を利用すれば、問題を発生させないだけでなく、内部実装されているアクセス方式より遙かに柔軟である。