Fink

ユーザーガイド - 6. コマンドライン fink ツールの使用方法

6.1 fink ツールの使用

fink ツールはソースディストリビューションを操作する一連のコマンドから成り立っています。 いずれも、最低限一つのパッケージ名、あるいは複数のパッケージ名を処理します。 パッケージ名だけを指定 (例 gimp) しても、バージョン番号付の完全な名前 (例 gimp-1.2.1 または gimp-1.2.1-3) でも動作します。 バージョン番号が指定されていない時は、 Fink は自動的に最新のバージョンとリビジョンを選択します。

以下は、 fink ツールのコマンド一覧です:

6.2 グローバルオプション

全ての fink コマンドに共通のオプションがあります。 これは、 fink --help を実行することで一覧が出ます:

(fink-0.26.0 時点で)

-h, --help - ヘルプテキストを表示します。

-q, --quiet - fink を若干静かにさせます。 反対は --verbosefink.conf 中の Verbose フラグを無視します。

-V, --version - バージョン情報を表示します。

-v, --verbose - fink をウルサくさせます。 反対は --quietfink.conf 中の Verbose フラグを無視します。

-y, --yes - 全ての質問に自動的に既定のオプションを適用します。

-K, --keep-root-dir - fink は、パッケージをビルド後に Buildpath 中の root-[name]-[version]-[revision] を削除せずに残します。 fink.conf 内の KeepRootDir フィールドに対応します。

-k, --keep-build-dir - fink は、パッケージをビルド後に Buildpath 中の [name]-[version]-[revision] を削除せずに残します。 fink.conf 内の KeepBuildDir フィールドに対応します。

-b, --use-binary-dist - 存在する場合、(時間とスペースを削減するために) バイナリディストリビュションからコンパイル済みパッケージをダウンロードします。 このモードは、fink に特定のバージョンをダウンロードするよう指示します。 バイナリが入手可能なバージョンを fink に選択させる訳ではありません。 fink.conf 内の UseBinaryDist フラグに対応します。

--no-use-binary-dist - バイナリディストリビュションからコンパイル済みパッケージを使用しません。 --use-binary-dist フラグと逆です。 fink.conf 内の UseBinaryDist: true がない限り既定のアクションです。

--build-as-nobody - root でないユーザーになり、unpack, patch, compile, and install を行います。このオプションでできたパッケージは機能しない可能性があります。 パッケージ開発およびデバッグ用途にのみご使用ください。

-m, --maintainer - (fink-0.25 以降) 以下に示すようにパッケージメンテナ用のアクションを行います: ビルド前に .info を validate、 ビルド後に .deb を validate; ある種のビルド時エラーを fatal error にする; (fink-0.26 以降) フィールドで指定されたテストスイートの実行。 これは、--tests--validateon にします。

--tests[=on|off|warn] (fink-0.26.0 以降) InfoTest を有効にし、 TestScript にて指定されたテストスイートを実行します (Fink パッケージかマニュアル を参照)。 このオプションに引数が与えられないかon の場合、 ビルド時のテストスイートの失敗は fatal error 扱いになります。 引数が warn であれば、失敗は warning として扱われます。

--validate[=on|off|warn] - ビルド時にパッケージを validate します。 このオプションに引数が与えられないか on の場合、 ビルド時の validate の失敗は fatal error 扱いになります。 引数が warn であれば、失敗は warning として扱われます。

-l, --log-output - それぞれのパッケージをビルド際のターミナル出力を保存します。 既定では、ファイルは /tmp/fink-build-log_[name]-[version]-[revision]_[date]-[time] に保存されますが、 --logfile でファイル名を指定することができます。

--no-log-output - --log-output フラグとは反対に、パッケージビルド時に出力を保存しません。 こちらが既定値です。

--logfile=filename - パッケージのビルドログを、既定ファイルの代わりに filename に保存します (--log-output を参照、このフラグも自動的に設定されます)。 特定のパッケージ情報を含めるためパーセント展開を使うこともできます。 パーセント展開の一覧はFink パッケージ化マニュアル を参照してください。 よく用いられるパーセント展開は:

-t, --trees=expr - expr にマッチするツリーのパッケージのみ対象にします。 expr の形式は、コンマ区切りのツリーリストです。 fink.conf にあるツリー名称と expr を比較します。 fink は、ここでマッチしたツリーのみを対象にします。 --trees オプションが指定されない場合、fink.conf にあるツリーを、その順序で使用します。 ツリー名称は、スラッシュ (/) を含むこともあります。 この場合、対象のツリーの名称と正確にマッチする必要があります。 あるいは、ツリーの最初に一致するパスのみになります。 例えば、--trees=unstable/mainunstable/main ツリーにマッチし、 --trees=unstable は unstable/main と unstable/crypto にマッチします。 expr で使うことのできる魔法のツリー名称は以下の通り:

現在のところ、この魔法のツリーの含まない(あるいは含めない)のは、install か remove のみ対応しています。

-T, --exclude-trees=expr expr にマッチしないパッケージのみ対象にします。 expr の形式は --trees と同じで、魔法のツリーの名称も同じです。 --trees--exclude-trees の双方にマッチする場合は、除かれますので、ご注意ください。

--trees と --exclude-trees の例:

ほとんどのオプションは名前から内容が推測できると思います(ここに Buildpath の定義があります)。 一回限りではなく、常に使用したいオプションは Fink 設定ファイル (fink.conf) で設定することができます。

6.3 install

install コマンドは、パッケージをインストールするのに使用します。 指定したパッケージをダウンロード、 configure 、ビルド、インストールを行ないます。 また、依存しているパッケージを確認をとった後で自動的にインストールします。 例:

fink install nedit

Reading package info...
Information about 131 packages read.
The following additional package will be installed:
 lesstif
Do you want to continue? [Y/n]

--use-binary-dist を使用することで時間を節約することができます。

install コマンドのエイリアス: update, enable, activate, use (ほとんどは歴史的な理由による).

6.4 remove

remove コマンドは、 'dpkg --remove' を呼び出してシステムからパッケージを削除します。 現在はまだ問題が残っていて、依存性は dpkg ツールに完全に任せています (通常は問題になりませんが)。

remove コマンドは実際のパッケージファイル (設定ファイルは除く) を削除するだけですが、 .deb 圧縮パッケージファイルはそのままにします。 これは、後で再インストールする際にコンパイルしなくても良いことを意味します。 ディスク容量が必要であれば、 /opt/sw/fink/dists ツリーから .deb ファイルを取り除いてもかまいません。

fink remove 時に、以下のフラグを使用することができます。

-h,--help             使用できるオプションを表示
-r,--recursive        当該パッケージに依存するパッケージを削除
                         (上述の問題を解決します)

エイリアス: disable, deactivate, unuse, delete.

6.5 purge

purge コマンドは、システムからパッケージを削除します。 remove コマンドとの違いは、こちらは設定ファイルも削除します。

6.6 update-all

このコマンドは、全てのインストール済パッケージを最新バージョンに更新します。 パッケージ一覧は必要ないので、入力するだけです:

fink update-all

--use-binary-dist option はここでも使用することができます。

6.7 list

このコマンドは、パッケージ一覧を作成し、インストール状況、最新バージョン、短い説明を表示します。 引数なしでこれを呼んだ場合、全てのパッケージが表示されます。 パッケージ名やシェルパターンを用いて、マッチするパッケージだけ表示することもできます。

最初の列はインストール状況を表し、その意味は以下の通り:

     未インストール
 i   最新バージョンがインストール済
(i)  インストール済だが最新バージョンではない
 p   インストールされたパッケージにより提供されたバーチャルパッケージ

バージョン列は、常にパッケージで知られている最新 (最高) のバージョンを表示します。 これは、インストールされているバージョンとは関係ありません。 入手可能な全てのバージョンを知りたい場合は、 dumpinfo を実行します。

fink list コマンドにはフラグがあります:

-h,--help
	  利用可能なオプションを表示。
-t,--tab
	  一覧をタブ区切り形式で出力。
	  出力をスクリプトで処理する時に有効。
-i,--installed
	  インストール済パッケージのみ表示。
-o,--outdated
	  古いパッケージのみ表示。
-u,--uptodate
	  最新のパッケージのみ表示。
-n,--notinstalled
	  未インストールパッケージのみ表示。
-s expr,--section=expr
	  正規表現 expr にマッチするセクションのパッケージのみ表示。
-m expr,--maintainer=expr
	  正規表現 expr にマッチするメンテナによるパッケージのみ表示
-w=xyz,--width=xyz.
	  出力形式の幅を設定する。
	  xyz は数値か auto 。
	  auto はターミナル幅に応じて設定される。
	  デフォルトは auto 。

例:

fink list                 - 全てのパッケージを表示。
fink list bash            - bash があるか、どのバージョンか表示。
fink list --tab --outdated | cut -f 2     
                          - 古いパッケージのみ表示。
fink list --section=kde   - kde セクションのパッケージのみ表示。
fink --trees=unstable list --maintainer=fink-devel
                          - unstable ツリー中の、メンテナ不在のパッケージを表示。
fink list "gnome*"         - 'gnome' から始まるパッケージのみ表示。

最後の例のクォーテーションは、シェルが解釈しないように必要です。

6.8 apropos

このコマンドはほとんど fink list> と同じです。 一番顕著な違いは、 fink apropos がパッケージの検索にパッケージ記述を使うことです。 次に顕著なのは、検索文字列が必須で、オプションではないことです。

fink apropos irc          - 名称か詳細に 'irc' が含まれるパッケージを表示。
fink apropos -s=kde irc   - 上と同様。ただし、 kde セクションに限定。

6.9 describe

このコマンドは、指定したパッケージの詳細を表示します。 現時点では詳細があるパッケージはまだ少ないので注意して下さい。

エイリアス: desc, description, info

6.10 plugins

fink で使用することのできるプラグインを一覧表示する。 現在のところ、告知メカニズムとソース tarball チェックサムアルゴリズムのみ。

6.11 fetch

指定したパッケージをダウンロードしますが、インストールはしません。 このコマンドは、以前ダウンロードしたかどうかに関わらず tarball をダウンロードします。

fink fetch コマンドには以下のフラグが使用できます:

-h,--help		使用できるオプションを表示します。
-i,--ignore-restrictive	"License: Restrictive" なパッケージは fetch しません。
                      	制限には、ミラーを許可しないという制限もありますので、
                      	ミラー時に役に立ちます。
-d,--dry-run		パッケージ用にダウンロードするファイルの情報を表示するだけで、
                    実際にはダウンロードしません。
-r,--recursive		fetch するパッケージの依存するパッケージも fetch します。

6.12 fetch-all

全てのパッケージソースファイルをダウンロードします。 fetch と同様、以前ダウンロードしたかどうかに関わらず tarball をダウンロードします。

fink fetch-all コマンドには以下のフラグが使用できます:

-h,--help
-i,--ignore-restrictive
-d,--dry-run

6.13 fetch-missing

ローカルに存在しない全てのパッケージソースファイルをダウンロードします。 このコマンドは、システム上に無いパッケージのみダウンロードします。

fink fetch-missing コマンドには以下のフラグが使用できます:

-h,--help
-i,--ignore-restrictive

6.14 build

パッケージをビルドしますが、インストールはしません。 ソース tarball は、なければダウンロードされます。 この結果、インストールできる .deb パッケージファイルを作成します。 すでに .deb ファイルがある場合は何もしません。 依存パッケージは、ビルドだけではなく、インストールされますので注意して下さい。

--use-binary-dist option はここでも使用することができます。

6.15 rebuild

パッケージをビルドします (build コマンドと同様に) が、すでにある .deb ファイルは無視し、上書きします。 パッケージがインストールされたら、新しい .deb ファイルは dpkg を用いてインストールされます。 パッケージの開発中にはとても役に立ちます。

6.16 reinstall

インストールと同様ですが、インストールされていても dpkg を通してインストールします。 これは、誤ってパッケージファイルを消したり、設定ファイルを変えてデフォルトに戻したい場合などにも使えます。

6.17 configure

fink を再設定します。 ミラーサイトの設定やプロキシの設定も行なうことができます。

fink-0.26.0 にて登場: 希望する場合、 unstable 釣り−を有効にします。

6.18 selfupdate

このコマンドは、自動的に Fink の新リリースにアップグレードします。 Fink のウェブサイトへ新しいバージョンがあるか確認し、 fink 自体を含めたコアパッケージを更新します。 各種リリースのアップグレードの他、このコマンドを初めて実行した際に Git または rsync を選択した場合、/opt/sw/fink/dists を、直接 Git または rsync でアップグレードすることもできます。 これを行なうと、全てのパッケージの最新版へアクセスできるようになります。

--use-binary-dist option を使用すると、バイナリディストリビューション中の一覧も更新されます。

6.19 selfupdate-rsync

このコマンドを使うことで、fink selfupdate 時にパッケージ一覧の更新に rsync を使用します。

Fink をソースからのビルドで更新する場合、こちらの方法を推奨します。

注記: rsync 更新は、使用中のツリーを更新するだけです (例えば、 unstable が fink.conf で設定されていない場合、unstable パッケージは更新されません)

6.20 index

パッケージキャッシュを再構築します。 通常は fink が更新の必要に応じて自動検出するので、手動で行なう必要はありません。

6.21 validate

このコマンドは、 .info と .deb ファイルについていくつかの評価を行ないます。 パッケージメンテナは、 submit する前にパッケージ記述と対応するパッケージに対して実行して下さい。

以下のフラグが使用できます:

-h,--help            - 使用できるオプションを表示
-p,--prefix          - 評価対象ファイルの Fink 基本パスのプリフィックス (%p) をシミュレートする
--pedantic, --no-pedantic
                     - 形式に関する警告の表示を制御します
                      --pedantic が規定値

エイリアス: check

6.22 scanpackages

debs の apt-get データベースを更新します。 既定では全てのツリーを更新しますが、引数を与えることでツリーを制限することもできます。

6.23 cleanup

古いファイルと一時ファイルを削除します。 これにより、ディスクスペースが大幅に使えるようになります。 以下のモードを指定することができます:

--debs               - 現在有効なツリー、あるいは既にインストールされているどのパッケージの
                       記述ファイル (.info) にもないバージョンのパッケージに対応する .deb
                       ファイル(コンパイル済みバイナリパッケージアーカイブ)を削除します。
--sources,--srcs     - 現在有効なツリー中にあるどのパッケージ記述ファイル (.info) にも使用され
               ていないファイルを削除します。
--buildlocks, --bl   - 腐った buildlock パッケージを削除します。
--dpkg-status        - dpkg "status" データベース以外からインストールされたパッケージを削除。
--obsolete-packages  - 全ての古いパッケージを削除するよう試みます。(fink-0.26.0 にて登場)
--all                - 全てのモード。 (fink-0.26.0 にて登場)

モードが指定されていない場合、--debs --sources が既定のオプションとなります。

これらに加え、以下のオプションも使うことができます:

-k,--keep-src        - 古いソースファイルを、削除するのではなく /opt/sw/src/old/ に移します。
-d,--dry-run         - 削除対象のファイルを一覧表示し、実際には削除しません。
-h,--help            - 使用可能なモードとオプションを表示します。

6.24 dumpinfo

注記: 0.21.0 以降の fink で有効。

fink がどのようにパッケージの .info ファイルを構文解析するかを表示します。 以下のオプション引数に応じて、各種フィールドとパーセント展開も表示されます。

-h, --help           - 利用可能なオプションを一覧表示します。
-a, --all            - パッケージ記述にある全てのフィールドを表示します。これは、
                       --field または --perfect フラグが与えらない場合の
                       既定モードとなります。
-f fieldname,        - 与えられたフィールドの値を、与えられた順序に従って表示します。
  --field=fieldname
-p key,              - 与えられたパーセント展開キーの値を、与えられた順序に従って表示します。
   --percent=key

6.25 show-deps

fink-0.23-6 および以降。

コンパイル時 (ビルド) と実行時 (インストール) の依存するパッケージを人間が読める一形式で表示する。