ユーザーガイド - 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
を若干静かにさせます。
反対は --verbose。fink.conf
中の Verbose フラグを無視します。
-V, --version - バージョン情報を表示します。
-v, --verbose - fink
をウルサくさせます。
反対は --quiet。fink.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 と --validate を on
にします。
--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 パッケージ化マニュアル を参照してください。
よく用いられるパーセント展開は:
- %n - package name
- %v - package version
- %r - package revision
-t, --trees=expr -
expr にマッチするツリーのパッケージのみ対象にします。
expr の形式は、コンマ区切りのツリーリストです。
fink.conf
にあるツリー名称と expr を比較します。
fink
は、ここでマッチしたツリーのみを対象にします。
--trees オプションが指定されない場合、fink.conf
にあるツリーを、その順序で使用します。
ツリー名称は、スラッシュ (/) を含むこともあります。
この場合、対象のツリーの名称と正確にマッチする必要があります。
あるいは、ツリーの最初に一致するパスのみになります。
例えば、--trees=unstable/main は unstable/main ツリーにマッチし、
--trees=unstable は unstable/main と
unstable/crypto にマッチします。
expr で使うことのできる魔法のツリー名称は以下の通り:
- status - dpkg status データベースにあるパッケージを含む。
- virtual - システムにある virtual パッケージを含む。
現在のところ、この魔法のツリーの含まない(あるいは含めない)のは、install か remove のみ対応しています。
-T, --exclude-trees=expr expr にマッチしないパッケージのみ対象にします。 expr の形式は --trees と同じで、魔法のツリーの名称も同じです。 --trees と --exclude-trees の双方にマッチする場合は、除かれますので、ご注意ください。
--trees と --exclude-trees の例:
fink --trees=stable,virtual,status install foo
fink.conf
に unstable があっても、stable ツリーの foo をインストールします。fink --exclude-trees=local install foo
local にて作業しているバージョンではなく、 Fink の foo をインストールします。
fink --trees=local/main list -i
local で編集し、インストールしたものを一覧表示します。
ほとんどのオプションは名前から内容が推測できると思います(ここに 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 および以降。
コンパイル時 (ビルド) と実行時 (インストール) の依存するパッケージを人間が読める一形式で表示する。