dselect(1)

名前
dselect - Debian パッケージ管理フロントエンド

書式
dselect [option...] [action]

説明
dselect は、Debian システムにおけるパッケージ管理用ユーザインタフェースとして主要なものの一つである。システム管理者は、dselect のメインメニューから以下の操作を行える。
 - 取得可能パッケージのバージョンリストの更新
 - インストール済、利用可能パッケージ状況の参照
 - パッケージ選択の変更や依存関係の管理
 - 新規パッケージのインストールや新バージョンへのアップグレード

dselect は、下位に位置する Debian パッケージ管理ツールである dpkg(1) のフロントエンドとして動作する。これは、フルスクリーンのパッケージ選択管理ツールであり、パッケージの依存関係や競合の解決を行なうことができる点が特徴である。管理者権限で起動することで、パッケージのインストール、更新、削除を行うことができるとともに、様々な方式により、パッケージリポジトリから利用可能パッケージのバージョン情報や、インストール可能パッケージの情報を取得するための設定を行うことができる。使用するアクセス方式に応じて、リポジトリをインターネット上の公開サーバ、ローカルサーバ、CD-ROM に設定することができる。推奨するアクセス方式は、apt パッケージで提供される apt である。

通常 dselect は引数なしで起動される。これにより、対話的メニューが表示され、ユーザ対してアクションのリストが提供される。一方、引数でアクションを与えられた場合は、そのアクションが直ちに実行される。コマンドライン引数により、dselect の動作を変更したり、プログラムに関する補足情報を表示させたりすることができる。

オプション
オプションはすべて、コマンドラインと dselect の設定ファイル /etc/dpkg/dselect.cfg もしくは設定ディレクトリ /etc/dpkg/dselect.cfg.d/ の両方で指定できる。設定ファイル中の各行には、オプション (正確にはコマンドラインオプションから先頭のダッシュを除いたもの) か、コメント (行が # で始まる場合) を記述する。

--admindir directory
    dpkg が使用する `status' ファイルや `available' ファイルなどを置くディレクトリを変更する。デフォルトは /var/lib/dpkg で、通常変更する必要はない。

--debug file | -Dfile
    デバッグを有効にする。デバッグ情報は file に送られる。

--expert
    エキスパートモードを有効にする。つまり、煩雑なヘルプを表示しない。

--colour|--color screenpart:[foreground],[background][:attr[+attr+...]]
    表示色を設定する。ディスプレイがカラー表示をサポートしている場合に有効である。このオプションは、複数回指定できる ( dselect.cfg での使用が推奨されている)。各設定ごとに、画面のある部位の色 (や他の属性) が変更される。画面の部位の名称は (上から順に) 次のとおり:

    title
        画面タイトル

    listhead
        パッケージリストの上部にあるヘッダライン

    list
        パッケージリストのスクロール領域 (ヘルプも表示される)

    listsel
        リスト内の選択行

    pkgstate
        パッケージリスト内で、各パッケージの状況を示すテキスト

    pkgstatesel
        パッケージリスト内で、選択したパッケージの状況を示すテキスト

    infohead
        現在選択しているパッケージの状況を表示するヘッダ行

    infodesc
        パッケージの短い説明文

    info
        パッケージの説明などパッケージの情報を表示するために用いられる

    infofoot
        パッケージ選択時の画面最下行

    query
        クエリ行を表示するために用いられる

    helpscreen
        ヘルプ画面の色

画面の部位を示すキーワードの後に、コロンに続き色設定を記述する。前景色、背景色、あるいは両方を指定でき、コンパイル時に指定した色設定に優先する。標準の curses 色名称を使用すること。

色設定の後に、コロンに続き、オプションで属性を設定してもよい。これはプラス("+")文字によって区切られた、1 つ以上の属性のリストである。利用可能な属性を以下に示す(すべての属性がすべての端末で有効とは限らない): normal, standout, underline, reverse, blink, bright, dim, bold

--help
    簡単なヘルプを表示し、正常終了する。

--version
    バージョン情報を表示し、正常終了する。

アクション
dselect を起動すると、次のようなアクションを実行することができる。これは、コマンドラインで直接指定してもよいし、対話的に実行されている場合は、利用可能なアクションの一覧メニューから、ユーザに選択させる形式でもよい。

  アクセス (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) というプログラムを使用して、このファイルを生成することができる。

更新アクションの詳細は、アクセス方式の実装に依存する。通常、この処理は単純で、ユーザの入力を必要としない。

  選択 (select)
パッケージの選択や依存関係の表示、管理を行う。

これは dselect の主たる機能である。この画面で取得可能なパッケージやインストール済パッケージリストを確認できる。管理者権限で実行すると、対話的にパッケージの選択状況を変更することもできる。 dselect は、変更に伴って発生する依存、競合パッケージについても検出する。

競合や解決できない依存関係を検出すると、依存関係解決サブ画面をユーザに提示する。この画面では、競合パッケージや依存パッケージのリストが、その理由とともに表示される。ユーザは、dselect が提案した変更案を適用してもよいし、その案を修正してもよい。また、解決できない依存関係や競合を発生させた変更を含む、すべての変更を元に戻すこともできる。

対話的なパッケージ選択管理画面の詳細な使い方については後述する。

  導入 (install)
選択したパッケージをインストールする。

新規インストール、更新が可能なパッケージを、設定したアクセス方式で適切なリポジトリより取得し、 dpkg を用いてインストールを行う。インストール前にパッケージをすべて取得するか、必要な時に取得するかは、アクセス方式の実装によって異なる。アクセス方式によって、削除マークをつけたパッケージの削除を行う場合もある。

インストール中にエラーが発生した場合は、通常インストールを再度行うことを推奨する。大半の場合、問題は再発しないか解決されるが、問題が解決しなかったりインストールが適切に行われていなかったりする場合は、原因や環境を調べて、Debian バグ追跡システムへバグ報告をしていただきたい。バグ報告の方法は、http://bugs.debian.org/ や、bug(1) や reportbug(1) がインストールされていれば、それらの文書を参照のこと。

導入アクションの詳細はアクセス方式の実装に依存する。パッケージのインストール、設定、削除中に、ユーザに対する確認が発生したり、入力が要求されたりする場合もある。これはパッケージのメンテナスクリプトに依存する。パッケージによっては、debconf(1) ライブラリを用いており、より柔軟で自動化されたインストールセットアップが可能である。

  設定 (config)
すでにインストール済みだが、設定が完了していないパッケージの設定を行う。

  削除 (remove)
削除マークをつけたインストール済パッケージの削除や完全削除を行う。

  終了 (quit)
dselect を終了する。

エラーコード 0 (成功) でプログラムを終了する。

パッケージ選択管理

  概要

dselect により、管理者は大量の相互依存関係を持つパッケージ群を管理する複雑さの一端に直面することになる。Debian パッケージ管理システムの概念や、その方法に慣れていないユーザにとって、これは圧倒的ですらある。 dselect は、パッケージ管理と管理作業の負担緩和を目指しているが、あくまで負担緩和に役立つだけで、管理者としての技術や知識の代用にはならない。管理者には、Debian パッケージングシステムについての基礎概念に精通することが要求される。不明点があれば、dpkg(1) のマニュアルや、debian-policy パッケージに含まれている Debian ポリシーマニュアルを参照してほしい。

dselect がエキスパートモードや直接モードで起動されない場合、メニューからアクションを選ぶ際には、まずヘルプ画面が表示される。オンラインヘルプ画面がポップアップした際には、示された内容にすべて目を通すように 強く推奨する。オンラインヘルプ画面は、いつでも '？' キーで表示できる。

  画面レイアウト

選択画面は、デフォルトで上下 2 分割されている。上半分はパッケージのリストを表示している。カーソルバーで個々のパッケージを選択したり、グループヘッダ (存在していれば) を選択して、パッケージグループを選択したりできる。画面の下半分は、画面の上半分で現在選択しているパッケージの詳細が表示される。表示される詳細の形式は変更できる。

 'I' キーを押すごとに、パッケージリストの全画面表示、パッケージ詳細の拡大、画面の均等分割が切り替えられる。

  パッケージ詳細表示

デフォルトのパッケージ詳細表示部は、パッケージ状況リスト内で現在選択されているパッケージの詳細なパッケージ説明文を表示する。詳細の形式は 'i' キーを押すごとに以下が切り替わる。
 - 詳細な説明文
 - インストール済バージョンの制御情報
 - 取得可能バージョンの制御情報

依存関係解決画面で、特定のパッケージに関連する未解決な依存関係、競合関係が、その原因とともに表示される場合もある。

  パッケージ状況リスト

主たる選択画面には、Debian パッケージ管理システムが認識しているすべてのパッケージがリストされる。これには、システムにインストール済のパッケージと、取得可能パッケージのデータベースが認識しているパッケージが含まれる。

リストにはパッケージごとに、パッケージの状況、優先度、セクション、インストール済、取得可能バージョン、パッケージ名、短い説明文が 1 行で表示される。 'V' キーを押すと、インストール済バージョンと取得可能バージョンの表示、非表示を切り替える。 'v' キーを押すと、パッケージ状況の詳細表示と簡略表示を切り替える。簡略表示がデフォルトである。

簡略表示における状況は、エラーフラグ (通常クリアされている)、現在の状況、現在の選択状況、新規の選択状況の 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 文字右にスクロール

  検索とソート

パッケージリストはパッケージ名で検索することができる。これは、パッケージリストで '/' を押してから、単純な検索文字列を入力することで行える。この文字列は、正規表現 regex(7) で解析される。検索文字列に続けて '/d' を加えると、説明文からも検索する。 '/i' を加えた場合は、大文字小文字の区別をしない。この 2 つの添字を '/id' のように合わせることもできる。検索結果に対して 'n' ないし '\' キーを何度か押すと、目的のパッケージが得られるまで検索を繰り返せる。検索がリストの最後まで達すると、先頭に戻る。

リストのソート順は、'o' と 'O' キーを何度か押して変更する。 以下の 9 通りのソート順を選べる。
 アルファベット 取得可能 状況
 優先度+セクション 取得可能+優先度 状況+優先度
 セクション+優先度 取得可能+セクション 状況+セクション
上記リストには明記されていないが、最終的にアルファベット順でのソートが行われる。

  選択の変更

各パッケージの新規選択状況は、以下のコマンドで変更できる。
  +, Insert インストール、更新する
  =, H 現在の状況、バージョンで保留する
  :, G 保留解除 (更新ないし未インストールのままとする)
  -, Delete 削除、設定は残す
  _ 完全削除、設定も消す

変更の結果、依存関係を充足できなかったり競合したりした場合、 dselect は依存関係解決画面を表示する。これは後ほど説明する。

グループヘッダ上にカーソルバーを移動して、パッケージ選択のグループにコマンドを適用することもできる。現在のリストのソート順設定によっては、パッケージのグループ化が適切に行われない場合がある。

大規模なグループの選択状況を変更する場合は、大量の未解決な依存、競合関係が一度に発生するため、十分注意すべきである。 これらは 1 つの依存関係解決画面にリストされることとなるため、これを操作するのは非常に難しい。グループに対する変更が実用的なのは、保留や保留解除の時ぐらいである。

  依存・競合関係の解決

選択状況の変更により未解決の依存・競合関係が発生した場合、 dselect は依存関係解決画面を表示する。なお、表示の前にヘルプ画面が表示される。

この画面の上半分には、選択された変更の結果として発生した未解決の依存、競合関係があるパッケージに加え、インストールすることで依存関係を解決するパッケージ、削除することで競合を解決するパッケージがすべて表示される。下半分には、現在選択されているパッケージが原因となっている依存や競合関係がデフォルトで表示される。

パッケージのサブリストの初期表示の時点で、dselect は、依存関係解決画面の表示を引き起こしている依存や競合関係を解決するよう、リストしたパッケージの選択状況の一部をあらかじめ変更している場合がある。通常、dselect による提案を採用するのが最良である。

'R' キーを押すことで、パッケージリストの選択状況を未解決の依存、競合関係が生成される前の状態に戻すことができる。'D' キーを押すことで、自動的に生成された推奨の設定は解除されるが、依存関係解決画面が表示される原因となった変更は、その状態のまま保持される。'U' を押すことで、自動的に生成された推奨の設定が再設定される。

  選択された変更の確定

enter を押すことで、現在表示されている選択を確定する。選択された変更に起因する未解決の依存関係が検出されない限り、dselect は新しい選択を設定する。未解決の依存関係が存在する場合、 dselect は依存関係解決画面を改めて表示する。

未解決の依存関係、競合が生成された状態の選択で、dselect に確定を強制させるには、'Q' キーを押す。これはユーザが指定した選択を無条件に設定する。一般的に、何が行われるかの詳細を把握していない限り、これを行わないこと。

反対に、選択を取り消して選択リストを元に戻す場合は、 'X' キーや escape キーを押すこと。キーを何回か押すことで、問題の発生する可能性のある、パッケージ選択の変更を取り消し、最後に確定した選択に戻すことができる。

誤って選択を確定させてしまったが、現在システムにインストールされている選択に完全に戻したいという場合は、'C キーを押すこと。これはすべてのパッケージに対して保留解除を行ってしまった場合と同様であるが、ユーザが事故で enter を押してしまった場合についての明確なパニックボタンを提供するものである。

環境変数

HOME
    設定されていると、dselect はその値をユーザ固有の設定ファイルを読み込むディレクトリとして使用する。

バグ
始めて dselect を使うユーザの中には、このパッケージ選択インタフェースに混乱する者もいる。聞くところによると、経験を積んだカーネル開発者ですら、これに悩まされている。

ドキュメントが不足している。

メインメニューにヘルプオプションがない。

取得可能パッケージのリスト表示を減らせない。

内部実装されているアクセス方式では、もはや現在の品質基準を満たせない。apt が提供するアクセス方式を利用すれば、問題を発生させないだけでなく、内部実装されているアクセス方式より遙かに柔軟である。

関連項目
dpkg(1), apt-get(8), sources.list(5), deb(5).

翻訳者
高橋 基信 <monyo@monyo.com>. 喜瀬 浩 <kise@fuyuneko.jp>. 関戸 幸一 <sekido@mbox.kyoto-inet.or.jp>. 鍋谷 栄展 <nabe@debian.or.jp>. 倉澤 望 <nabetaro@debian.or.jp>. 石川 睦 <ishikawa@linux.or.jp>. 鵜飼 文敏 <ukai@debian.or.jp>. 中野 武雄 <nakano@apm.seikei.ac.jp>.

翻訳校正
Debian JP Documentation ML <debian-doc@debian.or.jp>.