DSELECT(8)

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

書式
dselect [--admindir <directory>] [--help] [--version] [--licence | --license] [--expert] [--debug | -D <file>] [<action>] [--colour | --color screenpart:[foreground],[background][:attr[+attr+..]]]

説明
dselect は Debian システムの、主要なパッケージ管理用ユーザインターフェースの 一つである。システム管理者は、dselect のメインメニューで以下の 操作を行える。
 - 利用可能パッケージのバージョンリストの更新。
 - インストール済み・利用可能パッケージの状況の参照。
 - 代替パッケージの選択及び依存関係管理。
 - 新規パッケージのインストールや新バージョンへの更新。

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

通常、dselect はパラメータなしで起動する。 ユーザへは、対話的メニューで、アクションのリストを提供する。 引数で、アクションを与えられた場合、直ちにそのアクションを実行する。 いくつかのコマンドラインパラメータで、dselect の動きを修正したり、 プログラムの補足情報を示すことができる。

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

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

--debug <file> | -D<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 色名称を使用する。

任意で、色設定の後に別のコロンで、属性を設定できる。 これはプラス("+")文字によって分離された、複数の属性のリストである。 利用可能な属性を以下列挙する(すべての属性がすべての端末で有効とは限らない): normal, standout, underline, reverse, blink, bright, dim, bold

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

--licence | --license
    dselect の著作権情報とライセンス情報を表示し、正常終了する。

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

使用方法
dselect を対話的に起動すると、 以下の利用可能アクションのメニューをユーザに提示する。

  access
パッケージリポジトリにアクセスするための、アクセス方式を選択・設定する。

デフォルトでは dselect は floppy, harddisk, cdrom といった、いくつかの方式を提供する。 しかし、他のパッケージが追加アクセス方式を提供することもある。 例えば、apt アクセス方式は apt パッケージで提供され、 multi_cd は dpkg-multicd で提供される。

apt アクセス方式の使用を、強く推奨する。

  update
利用可能パッケージデータベースをリフレッシュする。

利用可能パッケージのバージョンリストを、現在設定しているアクセス方式で、 パッケージリポジトリから取得し、dpkg データベースを更新する。 パッケージリストは、一般的には Packages, Packages.gz という名前で、 リポジトリより提供されている。 リポジトリ管理者は、dpkg-scanpackages(1)というプログラムを使用して、 このファイルを生成することができる。

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

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

これが dselect のメイン機能である。 選択した画面で、全利用可能・インストール済みパッケージのリストを調査できる。 管理者権限で実行すると、対話的に、 パッケージ選択状況を変更することもできる。 dselect は、選択状況の変更に関連して起こる 他の依存・競合パッケージについても同様に追跡する。

競合や依存の失敗を検出すると、依存関係解決サブ画面をユーザに提示する。 この画面では、競合パッケージや依存パッケージを、その理由とともに表示する。 ユーザは、dselect が提案した変更案を適用してもよいし、 その案を上書きしてもよい。また、変更をすべて元に戻してもよい。 以上を、依存・競合が解決されるまで、繰り返す。

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

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

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

インストール中にエラーが発生した場合、もう一度 install を行うよう促される。 その場合でも、ほとんど問題が発生しないか、解決済みとなっている。 問題が残ったままだったり、インストールが異常終了する場合、 原因・事情を調べて、Debian バグ追跡システムへバグ報告をしていただきたい。 バグ報告の方法は、http://bugs.debian.org/ や、 インストールされていれば、 bug(1) や reportbug(1) の 文書を参照のこと。

install アクションの詳細はアクセス方式の実装に依存する。 パッケージのインストール、設定、削除中に、ユーザに注意を促したり、 入力を要求する可能性もある。 これはパッケージ管理者スクリプトに依存する。 パッケージによっては、debconf(8) ライブラリを用いており、 より柔軟で自動化されたインストールセットアップが可能である。

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

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

  quit
dselect を終了する。

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

パッケージ選択管理

  入門

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

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

  画面レイアウト

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

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

  パッケージ詳細表示

デフォルトのパッケージ詳細表示部は、 パッケージ状況リスト中で現在選択されているパッケージの、 長いパッケージ説明文を表示する。 詳細タイプは 'i' キーを押すごとに以下が切り替わる。
 - 長い説明文
 - インストール済みバージョンのコントロール情報
 - 利用可能バージョンのコントロール情報

依存関係解決画面では、特定のパッケージの未解決依存・競合関係を、 その原因とともに表示する可能性がある。

  パッケージ状況リスト

メイン選択画面は、 Debian パッケージ管理システムが知っている全パッケージを表示する。 これには、システムにインストール済みのパッケージと、 利用可能パッケージデータベースが知っているパッケージが含まれる。

リストにはパッケージごとに、パッケージの状況、優先度、セクション、 インストール済み・利用可能バージョン、パッケージ名、短い説明文が 1 行で表示される。 'V' キーを押すと、インストール済みバージョンと利用可能バージョンの 表示を ON/OFF できる。 '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 キーを押すこと。 繰り返しキーを押すことで、問題のある変更要求を取り消し、 最後に確定した選択に戻すことができる。

バグ
dselect パッケージ選択インターフェースは、新しいユーザを混乱させる。 聞くところでは、経験を積んだカーネル開発者ですら、これを嘆いている。

文書が足りない。

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

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

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

関連項目
dpkg(8), apt-get(8), sources.list(5), deb(5), Debian ポリシーマニュアル

著者
dselect は、Ian Jackson (ijackson@gnu.ai.mit.edu) によって書かれた。 このプログラムへの全貢献者一覧は `dselect --license' で参照できる。
このマニュアルは Juho Vuori <javuori@cc.helsinki.fi> によって書かれ、 Josip Rodin, Joost kooij が更新した。

翻訳者
関戸 幸一 <sekido@mbox.kyoto-inet.or.jp>
鍋谷 栄展 <nabe@debian.or.jp>
倉澤 望 <nabetaro@debian.or.jp>