ユーザーガイド - 5. Fink 設定ファイル
この章では、 Fink 設定ファイル (fink.conf) で提供されている設定と、 Fink にどのように影響するか、特に fink
コマンドラインツール (とソースディストリビューション) について説明します。
5.1 fink.conf について
最初に Fink がインストールされた時、設定ファイルの設定でいくつか質問をします。
例えば、どの ミラー を使ってダウンロードをするか、どのように super-user 権限を使うかなどです。
このプロセスは fink configure
コマンドでいつでも再実行することができます。
オプションを設定するには fink.conf ファイルを編集する必要があるものもあります。
一般的に、こういった設定は上級者専用のオプションです。
fink.conf ファイルは /opt/sw/etc/fink.conf
にあります。
自分の好きなテキストエディタで編集することができますが、スーパーユーザー権限が必要です。
5.2 fink.conf 文法
fink.conf にはたくさんの行がありますが、形式は:
OptionName: Value
と、行ごとになっています。 オプション名と値は : と空白ひとつで区切られています。 値の中身はオプションによりますが、通常はブール値 ("True" または "False")、文字列、空白で区切られた文字列などです。 例えば:
BooleanOption: True StringOption: Something ListOption: Option1 Option2 Option3
5.3 必須設定
fink.conf の設定には、必須項目で、設定されていないと Fink が動作しないものがあります。 以下の設定はこのカテゴリーに入ります。
-
Basepath: path
Fink がインストールされている場所を知らせます。 Fink の最初のインストール時に変更していない限り、デフォルトでは /opt/sw です。 この値を変更してはいけません。 fink が混乱します。
5.4 ユーザー設定
ユーザーが Fink の動作をカスタマイズするためのオプション設定があります。
-
Fink はスーパーユーザー権限が必要な時があります。 有効な値は sudo か su です。 none を設定することもできますが、この場合 Fink を root で実行して下さい。 デフォルト値は sudo で、ほとんどの場合そのまま使用して下さい。
-
Trees: list of trees
使用できるツリーは:
local/main - インストールしたいローカルパッケージ local/bootstrap - Fink のインストール時に必要なパッケージ stable/crypto - 安定版の暗号パッケージ stable/main - 他の安定版パッケージ unstable/crypto - 非安定版の暗号パッケージ unstable/main - 他の非安定版パッケージ
独自のツリーを
/opt/sw/fink/dists
ディレクトリに追加することもできますが、通常は必要ありません。 デフォルトのツリーは "local/main local/bootstrap stable/main" です。 この一覧は/opt/sw/etc/apt/sources.list
ファイルと同期を保つようにして下さい。 (fink 0.21.0 より、fink
が自動的に行うようになりました)ツリーの順序には意味があります。後のツリーにあるパッケージが前のツリーのパッケージを書き換えます。
-
Distribution: 10.1, 10.2, 10.2-gcc3.3, 10.3, 10.4
Fink はどのバージョンの Mac OS X を使っているか知る必要があります。 10.0 以前はサポートされていません。 10.1 は現バージョンからサポート対象外となりました。 10.2 は August 2003 Developer Tools に更新している場合のみサポートされています。 このフィールドは
/opt/sw/lib/fink/postinstall.pl
を実行することで設定されます。 ユーザーがこの値を変えてはいけません。 -
FetchAltDir: path
fink
は通常、ソースを/opt/sw/src
に保存します。 この値を変えることで、他の場所にダウンロードしたソースコードを探させることもできます。 例えば:FetchAltDir: /usr/src
-
Verbose: 0 から 3 の数値
このオプションは、現在何をしているかをどの程度報告するかを設定します。 例えば: 0 Quiet (ダウンロード状況を報告しない) 1 Low (tarball の展開を報告しない) 2 Medium (ほとんど全て報告する) 3 High (全て報告する) デフォルト値は 1 です。
SkipPrompts: コンマで区切られた一覧
(
fink-0.25
以降) このオプションに設定された項目に関し、fink
は利用者に聞かなくなります。 各プロンプトはいずれかのカテゴリに属し、そのカテゴリが SkipPrompts 一覧に指定されている場合、 直ちに既定値が洗濯されます。現在、以下のプロンプトカテゴリがあります。:
fetch - Downloads と mirrors
virtualdep - 代替パッケージの選択
既定値としてスキップされるプロンプトはありません。
-
NoAutoIndex: ブール値
Fink は、パッケージ記述ファイルを /opt/sw/var/db/fink.db にキャッシュし、実行するたびに読み込んでパースする時間をセーブします。 この値が "True" でない限り、 Fink はパッケージインデックスを更新する必要があるか確認します。 デフォルト値は "False" で、変更することは勧めません。 変更した場合、
fink index
コマンドを手動で実行してインデックスを更新する必要があります。 -
SelfUpdateNoCVS: ブール値
fink selfupdate
コマンドは、 Fink パッケージマネージャーを最新版にアップグレードします。 このオプションは True の時、 Concurrent Version System (CVS) を使わないことを保証します。 これはfink selfupdate-cvs
コマンドが自動的に設定するので、手動では変更しないで下さい。 -
Buildpath: パス
Fink はソースからコンパイルする場合、パッケージごとに仮ディレクトリを作成します。 デフォルトでは Panther 以前では
/opt/sw/src
内に、Tiger からは/opt/sw/src/fink.build
内に、 置かれていますが、別の場所を使いたい場合はここでパスを指定します。 仮ディレクトリについては、本文書中Developer Settings 節の のKeepRootDir
とKeepBuildDir
のフィールドの解説をご覧下さい。Tiger では、BuildPath は
.noindex
または.build
とつけることをお勧めします。 こうしなければ、Spotlight が BuildPath 内にある仮ファイルをすべてインデックスしようとし、ビルドを遅くします。
5.5 ダウンロード設定
Fink がダウンロードする手段を変える設定はいくつかあります。
-
ProxyPassiveFTP: ブール値
このオプションを設定すると、 Fink は FTP ダウンロード時に "passive" モードを使います。 FTP サーバーやネットワークによっては、このオプションが True になっている必要があります。 アクティブ FTP 自体が廃止予定なので、常に設定しておくことを勧めます。
-
ProxyFTP: url
FTP プロキシを使う場合、アドレスを入力します。 例えば:
ProxyFTP: ftp://yourhost.com:2121/
FTP プロキシを使わない場合は空欄にしておいて下さい。
-
ProxyHTTP: url
HTTP プロキシを使う場合、アドレスを入力します。 例えば:
ProxyHTTP: http://yourhost.com:3128/
HTTP プロキシを使わない場合は空欄にしておいて下さい。
-
Download Method: wget または curl または axel または axelautomirror
Fink はインターネットからファイルをダウンロードするのに3種類のアプリケーションを使うことができます - wget, curl, または axel。 axelautomirror は、 axel アプリケーションの実験的モードで、特定のファイルがある最も近いサーバーからダウンロードします。 axelmirror の使用は現時点では勧められません。 デフォルト値は curl です。 DownloadMethod に選択したアプリケーションはインストールされている必要があります! (i.e. もし存在しないダウンロードアプリケーションを指定しても、
fink
は curl を使うことはありません。) -
SelfUpdateMethod: point, rsync または git
fink
は、数種類の手段でパッケージ情報ファイルを更新することができます。 rsync が推奨される設定で、 rsync を用いて、ユーザーにより指定されたツリー中の、変更されたファイルだけをダウンロードします。stable
やunstable
trees 中のファイルを編集したり、新たに追加していた場合、削除されることに注意してください。 これらのファイルを必ず事前にバックアップしてください。 git では、 anonymous か Github アクセスを使用して fink レポジトリから ダウンロードします。 git はミラーを使えないという欠点があるため、 git サーバーに接続することができない時は更新できません。 point は最近リリースされたものだけをダウンロードします。 ユーザのパッケージがかなり古い場合は更新されないので、おすすめはできません。 SelfUpdateCVSTrees: ツリーの一覧
(
fink-0.25
以降) 既定では、 cvs selfupdate は現在の distribution ツリーのみ更新します。 このオプションは、selfupdate 時に後進する distribution の一覧を書き換えます。 もし CVS/ ディレクトリの存在しないディレクトリも更新したい場合は、最近の "cvs" バイナリが、 完全パス中 (例 dists/local/main など) に必要ですので、 ご注意ください。-
UseBinaryDist: ブール値
fink
に、バイナリ版があり、まだシステム上にバイナリない場合はバイナリをダウンロードするように指示します。 これによりインストール時間を短縮できるので、このオプションを設定することをおすすめします。 --use-binary-dist オプションを使用しても同じですが、これは一度だけ有効です。 fink バージョン 0.23.0 から有効。注記:このモードは、選択されたパッケージのバイナリバージョンが最新バージョンに一致する場合にのみ適用されます。 入手可能な最新バージョンを
fink
が選択するようにはなっていません。
5.6 ミラー設定
インターネットからソフトウェアを取得するのは退屈なことで、イライラすることが多いです。 ミラーサーバーは他のサーバーにあるファイルをコピーしますが、インターネット回線が速かったり、地理的に近いなど、ダウンロードが速い場合があります。 また、 ftp.gnu.org などの主サーバーの負荷を減らす役割もあります。 サーバーが落ちている時に代わりになる場合もあります。
Fink が最適なミラーを選ぶためには、どの大陸のどの国にいるのかを知らせなければなりません。 サーバーからのダウンロードに失敗した場合、同じミラーを再度試すか、同じ国か大陸の別のミラーを試すか、あるいは世界中から他のミラーを試すかを聞いてきます。
fink.conf ファイルにはどのミラーを使いたいかの設定が書かれています。
-
MirrorContinent: 3 字のコード
この値を変えるには、
fink configure
コマンドを使います。 3 字のコードは/opt/sw/lib/fink/mirror/_keys
にあるものから選択します。 例えば、アジアの場合:MirrorContinent: asi
-
MirrorCountry: 6 字のコード
この値を変えるには、
fink configure
コマンドを使います。 6 字のコードは/opt/sw/lib/fink/mirror/_keys
にあるものから選択します。 例えば、日本の場合:MirrorCountry: asi-JP
-
MirrorOrder: MasterFirst または MasterLast または MasterNever または ClosestFirst
Fink は 'Master' ミラーをサポートしています。 これは、全ての Fink パッケージのソース tarball のレポジトリミラーです。 Master ミラーを使うと、ソースダウンロード URL が壊れないことが利点です。 ユーザーは、 Fink チームによってメンテナンスされているミラーを使うか、オリジナルソース URL と gnome, KDE, Debian などのミラーサイトだけを使うか、を選択できます。 この他、両者を組み合わせて、上で述べたように近い順に探して使うこともできます。 MasterFirst か MasterLast を使う場合、ダウンロードに失敗したら Master (あるいは Master 以外) に'スキップする'こともできます。 オプションは:
MasterFirst - "Master" ソースミラーを最初に探す。 MasterLast - "Master" ソースミラーは最後に探す。 MasterNever - "Master" ソースミラーは使用しない。 ClosestFirst - 最も近いソースミラーを最初に探す (全てのミラーを一緒にする)。
Mirror-rsync:
(
fink-0.25.2
以降)fink selfupdate
時に SelfupdateMethod をrsync
賭した場合、 ここで指定された URL から rsync します。 ここで指定する URL は、fink の全ての Distribution と Tree を含んだ anonymous rsync 用でなければなりません。
5.7 開発者用設定
fink.conf のオプションには、開発者にのみ有用なものがあります。 一般的な Fink ユーザーがこれを変更することは勧めません。 以下のオプションがこれに該当します。
-
KeepRootDir: ブール値
パッケージのビルド後に BuildPath 内の
root-[name]-[version]-[revision]
ディレクトリを削除しません。 デフォルトは false です。 注意、このオプションはハードディスクをいっぱいにします! 一度だけ使いたい場合、 fink に -K フラグを渡して同じ効果が得られます。 -
KeepBuildDir: ブール値
パッケージのビルド後に BuildPath 内の
[name]-[version]-[revision]
ディレクトリを削除しません。 デフォルトは false です。 注意、このオプションはハードディスクをいっぱいにします! 一度だけ使いたい場合、 fink に -K フラグを渡して同じ効果が得られます。
5.8 高度な設定
この他にも有益なオプションがありますが、正しく使うには知識が必要です。
-
MatchPackageRegEx:
perl 正規表現的に適合するパッケージが一つしかない場合、 fink が尋ねてこないようになります。 例:
MatchPackageRegEx: (.*-ssl$|^xfree86$|^xfree86-shlibs$)
'-ssl' で終わるパッケージ、 'xfree86'、および 'xfree86-shlibs' に正確に適合する。
-
CCacheDir: パス
Fink パッケージ
ccache-default
がインストールされている場合、 Fink パッケージを作成中にこれがつくるキャッシュがここに保存される。 規定値は/opt/sw/var/ccache
。none
と設定された場合、 fink は CCACHE_DIR 環境変数を設定せず、 ccache は$HOME/.ccache
を使用する。 ルートに所有されているファイルを自分のホームディレクトリに保存することもあり得る。 0.21.0 以降でのみ有効. NotifyPlugin: プラグイン
パッケージがいつインストール/アンインストールされたかを答える告知プラグインを指定する。 規定値は Growl (
Mac::Growl
が必要)。 他のプラグインは、/opt/sw/lib/perl5/Fink/Notify
にある。AutoScanpackages: ブール値
fink
が新しいパッケージをビルドしても、apt-get
が直ちに検知する訳ではなりません。 これまでは、fink scanpackages
を実行することでapt-get
に情報を提供していましたが、 これを自動化できるようにしました。 このオプションが false の場合は、パッケージビルド後にfink scanpackages
は自動的に実行されません。 既定値は true です。ScanRestrictivePackages: ブール値
apt-get
のためにパッケージをスキャンする際、fink
は通常、現在のツリーにある全てのパッケージをスキャンします。 しかしながら、apt レポジトリを公開するために、Restrictive
やCommercial
のパッケージを法律上含むことができないこともあるでしょう。 このオプションが存在し、その値が false であれば、Fink はスキャン時にこれらのパッケージを外します。
5.9 apt の sources.list ファイルを管理
fink 0.21.0 より、 fink は apt がバイナリファイルをインストールする際に使う
/opt/sw/etc/apt/sources.list
ファイルを積極的に管理します。
デフォルトの sources.list ファイルは、以下の形式で、 Distribution と Trees が調整されています
# Local modifications should either go above this line, or at the end. # # Default APT sources configuration for Fink, written by the fink program # Local package trees - packages built from source locally # NOTE: this is automatically kept in sync with the Trees: line in # /opt/sw/etc/fink.conf # NOTE: run 'fink scanpackages' to update the corresponding Packages.gz files deb file:/opt/sw/fink local main deb file:/opt/sw/fink stable main crypto # Official binary distribution: download location for packages # from the latest release deb http://us.dl.sourceforge.net/fink/direct_download 10.3/release main crypto # Official binary distribution: download location for updated # packages built between releases deb http://us.dl.sourceforge.net/fink/direct_download 10.3/current main crypto # Put local modifications to this file below this line, or at the top.
このデフォルトファイルにより、 apt-get はまずローカルインストール状況を見て コンパイル済みバイナリを探します。次に、公式のバイナリディストリビューションを見ます。 これをファイルの最初に持ってきたり (最初に検索される) 、 ファイルの最後に持ってきる (最後に検索される) などの変更が可能です。
Trees の行や Distribution を変えると、 fink はファイル中の "default" を新しい値に書き換えます。 変更がファイルの先頭か末尾であれば、 Fink は、ファイルの変更をそのままにします。
注記: fink 0.21.0 にアップグレードする前に /opt/sw/etc/apt/sources.list
を変更した場合、
/opt/sw/etc/apt/sources.list.finkbak
として保存されます。