dselect(1)

名称
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(1) (下位層 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(1) ライブラリを用いており、より柔軟で自動化されたインストールセットアップが可能である。

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

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

  quit
dselect を終了する。

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

パッケージ選択管理

  入門

大量の相互依存関係を持つパッケージ群を dselect で管理する複雑さに、管理者は直面する。 Debian パッケージ管理システムの概念や、その方法に慣れていないユーザにとっては、これは圧倒的ですらある。 dselect は、パッケージ管理と管理作業の負担緩和を目指している。しかし、単に負担緩和に役立つだけで、管理者としての技術や知識の代用にはならない。ユーザには、Debian パッケージングシステムについての基礎概念に精通することが要求される。疑問があれば、dpkg(1) のマニュアルや、debian-policy パッケージに含まれている 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(1), apt-get(8), sources.list(5), deb(5).

著者
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>