[% title = "Debian Packaging Manual - dselect の インストールメソッドへのインターフェース" %]


[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ next ]


Debian Packaging Manual
Chapter 13 - dselect の インストールメソッドへのインターフェース


dselect は、ディストリビューションのデータに実際に アクセスする必要があるときには、インストールメソッドから スクリプトを呼び出します。コアプログラムである dselect 自身は、スクリプトを呼び出すだけであり、 パッケージ選択とアクセスメソッド選択のための インターフェースを提供します。必要に応じて、dpkg を起動する役目は、このインストールメソッドが受け持ちます。

それぞれのインストールメソッドは、3 つのスクリプトを 持っています。

dselect は、/usr/lib/dpkg/methods と、 /usr/local/lib/dpkg/methods から利用できる インストールメソッドを検索します。


13.1 メソッドスクリプトの機能

ユーザがインストールメソッドを選択したすぐ後に、 設定スクリプトが実行されます。ここでは、環境によって 異なる値についてユーザに入力を求めます。例えば、 NFS マウントする、または FTP によってアクセスされるサイトの 名前、使用ディレクトリ名、.deb ファイルが置かれている ファイルシステムやディレクトリ名、テープから インストールするのか、または、フロッピーディスクを 使用するのか、などです。これらに対するユーザの入力結果は、 /var/lib/dpkg/methods に保存します。詳しくは、以下を ごらん下さい。また、利用可能なパッケージリストが得られない 場合には、利用可能なパッケージを検索する機能が使用できなければ いけません。

更新スクリプトは、もし可能であれば、利用可能なパッケージの リストを読みこみます。そして、パッケージのリストを dpkgdselect との利用可能な パッケージのデータベースに読みこむために、 dpkg --update-avail と、 dpkg --merge-avail を実行します。場合によっては さらに、dpkg --forget-old-unavail も実行します。 利用可能なパッケージリストが存在しない場合で、実際の ファイルからデータを走査することをユーザが選択した場合に おいては、その走査作業はこの段階で実行されます。そのとき dpkg --record-avail が用いられます。

インストールスクリプトは、すべての利用可能な .deb ファイルを、dpkg --iGOEB に供給します (これは、 dpkg --install --refuse-downgrade --selected-only --skip-same-version --auto-deconfigure と等価です)。 -R (--recursive) オプションは、 サブディレクトリも同時に考慮してくれるので、便利かもしれません。

いくつかのスクリプトは、メッセージを画面に出力することも あります。この時、あっという間に dselect がスクリーンを 再描画して、その出力メッセージが流れていってしまっては 困ります。そこで、スクリプトは、ユーザが「リターン」を たたくまで、メッセージの出力を待っていなければいけません。

メソッドスクリプトが (終了ステータス 0 を返して) 成功した 場合、dselect は、メインメニューへと即座に 戻ります。その際、`次の' オプションがハイライト表示されて、 ユーザがそのまま選択できるようになっています。 メソッドスクリプトが失敗した場合には、dselect は、メッセージを画面に出力して、ユーザが「リターン」を 叩くのを待ちます。


13.2 メソッドスクリプトの場所と引数

あるスクリプトの集合 (以後、グループと表記します) は、 メインメニュー中で違う動作のいくつかのインストールメソッドを 提供します。例えば、一般的な get-packages-by-FTP グループは、 メインメニュー中でミラーサイトからのインストール、および ユーザの指定したサイトからのインストールのメソッドを 提供します。

同一のスクリプトセットによって複数のインストールメソッドが 実装された場合、それぞれのグループについてサブディレクトリ /usr/lib/dpkg/methods/group または /usr/local/lib/dpkg/methods/group がなければなりません。このサブディレクトリには以下が 含まれます。

names

これらのスクリプトによって提供されるユーザに見える インストールメソッド

setup
update
install

実行可能なプログラム、スクリプト自身

desc.option

説明ファイル

names は、行のリストとして構成されます。それぞれの 行は、以下のものを含みます。

      sequence method summary

sequence は、2 桁の数字で、メインメニューに並べる 順序を制御するために、rc.d の接頭辞のように 使われます。よく分からないときは、50 を使用します。

method は、インストールメソッドの名前として dselect によって、画面に出力される名前です。 setup と、updateunpack に 渡される第一引数となります。

summary は、dselect のメニューに 使用される簡単な説明文です。

三つのスクリプトはそれぞれ同じ三つの引数をとります。 それらは、vardirgroupmethod です。vardir は、 dpkgdselect の状態を 保存するための基本となるディレクトリで、通常、 /var/lib/dpkg です。この引数が渡されるのは、 dselect で指定された --admindir を尊重するためです。

それぞれのインストール方式 (option) は、さらに詳細な説明文を、 desc.optionファイル に書くことができます。 このファイルの書式は、Description フィールドの エントリの拡張説明文のように、行頭に一つのスペースを 入れなければいけません。

また、vardir/methods ディレクトリが あります。インストールメソッドのグループは、現在の状態の保存に vardir/methods/group ディレクトリを使用できます。

グループ名とインストールメソッド名は、C 言語の識別子の規則に 従っていなければいけません。


[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ next ]


Debian Packaging Manual

version revision 1.13, 2000-08-22

Ian Jackson ijackson@gnu.ai.mit.edu
校正: David A. Morris bweaver@debian.org
メンテナー: Christian Schwarz schwarz@debian.org
メンテナー: Manoj Srivastava srivasta@debian.org
メンテナー: Julian Gilbey J.D.Gilbey@qmw.ac.uk
メンテナー: The Debian Policy group debian-policy@lists.debian.org
日本語版メンテナー: 早瀬 茂規 shayase@tky3.3web.ne.jp
日本語版校正: Japanese Debian Documentation Project debian-doc@debian.or.jp