[% title = "Debian Packaging Manual - dselect の インストールメソッドへのインターフェース" %]
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ next ]
dselect
の インストールメソッドへのインターフェース
dselect
は、ディストリビューションのデータに実際に
アクセスする必要があるときには、インストールメソッドから
スクリプトを呼び出します。コアプログラムである dselect
自身は、スクリプトを呼び出すだけであり、
パッケージ選択とアクセスメソッド選択のための
インターフェースを提供します。必要に応じて、dpkg
を起動する役目は、このインストールメソッドが受け持ちます。
それぞれのインストールメソッドは、3 つのスクリプトを 持っています。
インストールパラメータの設定
利用可能なパッケージリストの更新
インストール
dselect
は、/usr/lib/dpkg/methods と、
/usr/local/lib/dpkg/methods から利用できる
インストールメソッドを検索します。
ユーザがインストールメソッドを選択したすぐ後に、 設定スクリプトが実行されます。ここでは、環境によって 異なる値についてユーザに入力を求めます。例えば、 NFS マウントする、または FTP によってアクセスされるサイトの 名前、使用ディレクトリ名、.deb ファイルが置かれている ファイルシステムやディレクトリ名、テープから インストールするのか、または、フロッピーディスクを 使用するのか、などです。これらに対するユーザの入力結果は、 /var/lib/dpkg/methods に保存します。詳しくは、以下を ごらん下さい。また、利用可能なパッケージリストが得られない 場合には、利用可能なパッケージを検索する機能が使用できなければ いけません。
更新スクリプトは、もし可能であれば、利用可能なパッケージの
リストを読みこみます。そして、パッケージのリストを dpkg
と
dselect
との利用可能な パッケージのデータベースに読みこむために、
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
は、メッセージを画面に出力して、ユーザが「リターン」を 叩くのを待ちます。
あるスクリプトの集合 (以後、グループと表記します) は、 メインメニュー中で違う動作のいくつかのインストールメソッドを 提供します。例えば、一般的な get-packages-by-FTP グループは、 メインメニュー中でミラーサイトからのインストール、および ユーザの指定したサイトからのインストールのメソッドを 提供します。
同一のスクリプトセットによって複数のインストールメソッドが 実装された場合、それぞれのグループについてサブディレクトリ /usr/lib/dpkg/methods/group または /usr/local/lib/dpkg/methods/group がなければなりません。このサブディレクトリには以下が 含まれます。
これらのスクリプトによって提供されるユーザに見える インストールメソッド
実行可能なプログラム、スクリプト自身
説明ファイル
names は、行のリストとして構成されます。それぞれの 行は、以下のものを含みます。
sequence method summary
sequence は、2 桁の数字で、メインメニューに並べる 順序を制御するために、rc.d の接頭辞のように 使われます。よく分からないときは、50 を使用します。
method は、インストールメソッドの名前として dselect
によって、画面に出力される名前です。 setup
と、update、unpack に 渡される第一引数となります。
summary は、dselect
のメニューに
使用される簡単な説明文です。
三つのスクリプトはそれぞれ同じ三つの引数をとります。
それらは、vardir と group、 method
です。vardir は、 dpkg
と dselect
の状態を
保存するための基本となるディレクトリで、通常、 /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-22ijackson@gnu.ai.mit.edu
bweaver@debian.org
schwarz@debian.org
srivasta@debian.org
J.D.Gilbey@qmw.ac.uk
debian-policy@lists.debian.org
shayase@tky3.3web.ne.jp
debian-doc@debian.or.jp