Advanced - 1. バイナリ・ディストリビューション・サーバーの設定
1.1 はじめに
本節では、複数の Fink ユーザーの環境へバイナリを提供するための中央ビルドサーバーを構築方法について解説します。
(注記: この文書中では fink version >= 0.24.0 を想定しています。 これより古いバージョンの場合は注意点を参照してください。)
"master" サーバー と client マシンでの作業が必要となります:
1.2 "master" (build) サーバーでの作業
-
Fink を
/opt/sw
にインストール (既定のパス、あるいは必要に応じて symlink を作成)。 - パッケージを通常通りビルド。 ビルドのみ必要で、インストールする必要はない。
-
ビルドしたパッケージのあるディレクトリ内で
fink scanpackages
を実行。 これにより、 fink は有効なツリー内の apt インデックスを作成する。若しくは、
fink cleanup
を実行して古いソースとバイナリパッケージを削除しても良い。scanpackages
は cleanup プロセスの最後に呼び出される。 -
ウェブサーバーを開始: 例えば、システム環境設定中のネットワーク共有で、"パーソナルWeb共有" を開始する。
/etc/httpd/httpd.conf
ファイルを以下のように編集し、/opt/sw/fink
を提供するように設定する。Alias /fink /opt/sw/fink <Directory /opt/sw/fink> Options Indexes FollowSymLinks </Directory>
-
sudo /usr/sbin/apachectl graceful
を実行し、ウェブサーバーを(再)起動する。
"master" サーバー上の、ビルド・更新したパッケージのあるディレクトリ中で
fink scanpackages
(または fink cleanup
) を(再)実行し、
外のマシンから見えるようにする。
注記:
'fink' というユーザーを作成し、上記の行を
/etc/httpd/users/fink.conf
に追加しても良い。
Fink の apache2 パッケージを使用している場合は、上記のパスを適宜変更する必要がある。
1.3 クライアント・マシンでの操作
-
Fink を
/opt/sw
(既定のパス) にインストール -
fink configure
を実行し、 バイナリ・ディストリビューションからパッケージをダウンロードするようオプション設定します。 (/opt/sw/etc/fink.conf
ファイル中で "UseBinaryDist: true") -
/opt/sw/etc/apt/sources.list
を編集し、 Fink ツリーを表す行を追加します。 例えば、ビルドボックスの IP アドレスが 192.168.42.7 であれば、以下のように追加します:deb http://192.168.42.7/fink stable main crypto deb http://192.168.42.7/fink unstable main crypto deb http://192.168.42.7/fink local main
-
fink selfupdate
を実行します。 (verbose レベルが >=1 の場合) 更新プロセスの最後のあたりで以下のように表示されるはずです:... Hit http://192.168.42.7 stable/main Packages Hit http://192.168.42.7 stable/main Release Hit http://192.168.42.7 stable/crypto Packages ...
fink update-all
または fink install <package>
を実行し、 "master" サーバーにバイナリがある場合は、そこからダウンロードします。
1.4 注意点
- "master" サーバーは、クライアントマシンで使われている最低バージョンの X11 を使う必要があります。 クライアント側の一台でも Apple X11 を使用している場合、"master" でも同じものを使わなければなりません。
-
such as
apt
. ビルドマシンの容量を節約したい場合、ビルド時依存のみのパッケージ (実行されないパッケージ) は削除してもかまいません。debfoster
パッケージは便利なツールです。apt
のような必須パッケージを削除しないように注意してください。 -
fink version < 0.24.0 をクライアント側で使用している場合、
fink selfupdate
ではなくsudo apt-get update
を実行する必要があります。 その後、sudo apt-get install <package>
でバイナリパッケージをインストールします。
この文書の一部は、 RangerRick の "Sharing the Fink" から引用しています。 感謝!