INSTALL(1) | FreeBSD General Commands Manual | INSTALL(1) |
名称
install — バイナリをインストールする書式
install | [ -bCcpSsUv][ -B suffix][ -D destdir][ -f flags][ -g group][ -h hash][ -l linkflags][ -M metalog][ -m mode][ -N dbdir][ -o owner][ -T tags] file1 file2 |
install | [ -bCcpSsUv][ -B suffix][ -D destdir][ -f flags][ -g group][ -h hash][ -l linkflags][ -M metalog][ -m mode][ -N dbdir][ -o owner][ -T tags] file1 ... fileN directory |
install | -d [ -Uv][ -D destdir][ -g group][ -h hash][ -M metalog][ -m mode][ -N dbdir][ -o owner][ -T tags] directory ... |
解説
(複数の) ファイルは、ターゲットファイルまたはディレクトリにコピー (または -l オプションが指定されるなら、リンク) されます。宛先ディレクトリであるなら、 file は、その元のファイル名で directory の中にコピーされます。ターゲットファイルが既に存在し、 -b オプションが与えられるなら、 file .old に名前が変えられるか、またはパーミッションが許可されるなら、上書きされます。交替のバックアップ接尾辞は、 -B オプションの引数によって指定されます。オプションは、次の通りです:
- -b
- 既存のファイルに上書きする前に、 file .old へリネームして、バックアップします。バックアップ用の別の接尾辞については -B を参照してください。
- -B suffix
- -b 指定時に、 suffix をバックアップの接尾辞として使用します。
- -C
- ファイルをコピーします。コピー先ファイルがすでに存在しかつ内容が同一である場合には、ターゲットの修正時刻を変更しません。ターゲットのファイルフラグとモードを変更する必要がない場合、ターゲットの inode 変更時刻もまた変更されません。
- -c
- ファイルをコピーします。これがデフォルトです。 -c オプションは、後方互換性のためだけに含まれています。
- -D destdir
- 項目がインストールされる DESTDIR (ファイル階層の先頭) を指定します。 -M metalog が使用中であるなら、“ destdir”の先導する文字列は、 metalog にログ記録されたファイル名から削除されます。このオプションは、実際のファイルがインストールされている場所に影響しません。
- -d
- ディレクトリを作成します。必要であれば、無い親ディレクトリも作成されます。
- -f
- ターゲットファイルのファイルフラグを指定します。指定可能なフラグのリストとその意味は chflags(1) を参照して下さい。
- -g
- グループを指定します。数値指定の GID が利用できます。
- -h hash
-
コピーするとき、
-M
metalog に格納するために
hash でファイルのダイジェストを計算します。
-d が与えられるとき、ハッシュは、出力されません。サポートされているダイジェストは、次の通りです:
- none
- ハッシュは、なし。これは、デフォルトです。
- md5
- MD5 暗号メッセージダイジェスト。
- rmd160
- RMD-160 暗号メッセージダイジェスト。
- sha1
- SHA-1 暗号メッセージダイジェスト。
- sha256
- ファイルの 256 ビットの SHA-2 暗号メッセージダイジェスト。
- sha512
- ファイルの 512 ビットの SHA-2 暗号メッセージダイジェスト。
- -l linkflags
- ファイルをコピーする代わりに、元のものにリンクを張ります。リンクのタイプは、 linkflags 引数によって決定されます。有効な linkflags は、次の通りです: a (絶対)、 r (相対)、 h (ハード)、 s (シンボリック)、 m (混合)。絶対と相対は、シンボリックリンクのためだけに効果があります。混合リンクは、同じファイルシステムのファイルのためのハードリンクで、そうでなければ、シンボリックです。
- -M metalog
- mtree(8) “full path” (フルパス) 指定行で metalog にインストールされた各項目に関連したメタデータを書き込みます。メタデータは、次のものを含んでいます: ファイル名とファイルタイプ、と他のオプション、所有者、グループ、ファイルフラグ、更新時刻とタグによるもの。
- -m
- モードを指定します。デフォルトのモードは rwxr-xr-x (0755) にセットされます。モード指定は 8 進数もしくはシンボリックな値のどちらでも可能です。指定可能なモードの値については chmod(1) を参照して下さい。
- -N
- システムの getpwnam(3) と getgrnam(3) (そして関連する) ライブラリ呼び出しからの結果を使用するのではなく、 dbdir のユーザデータベースのテキストファイル master.passwd とグループデータベースのテキストファイル group を使用します。
- -o
- 所有者を指定します。数値指定の UID が利用できます。
- -p
- アクセス時刻および修正時刻を保存します。 -C (比較してコピー) オプションが指定された場合のようにコピーを行いますが、ターゲットファイルが存在しないもしくは内容が異なる場合、ファイルのアクセス時刻と修正時刻を保存します。
- -S
- 安全モード。通常、 install は、新規ファイルをインストールする前に、既存のターゲットをアンリンクします。 -S フラグを付けると、一時ファイルを使用し、これがターゲットにリネームされます。こちらの方が安全な理由は、コピーまたはリネームが失敗した場合、既存のターゲットはそのまま残ることです。
- -s
- install が多くのシステムやバイナリ形式に対して移植性があるようにするために、 install は strip(1) コマンドを実行してバイナリをストリップします。他のプログラムを使いバイナリをストリップする方法をどのようにして install に教えるかは、以下を参照して下さい。
- -T tags
- -M metalog を使用するとき、ファイルに対して書き込まれる mtree(8) タグを指定します。
- -U
- インストールは、特権なしで実行されること、所有者、グループまたは宛先のファイルフラグを変更しようとするべきではないことを示します。更新されていた情報は、 -M metalog でログファイルに格納することができます。
- -v
- install を冗長にし、インストールもしくはバックアップされるファイルを表示します。
デフォルトでは install は全てのファイルフラグを保存します。ただし“nodump”フラグは例外です。
install ユーティリティは、ファイルをそれ自身に移動しないように試みます。
/dev/null をインストールすると、空のファイルを作ります。
環境変数
install ユーティリティは、環境変数 STRIPBIN の存在をチェックし、存在する場合、代入された値を -s オプションが指定された場合に実行させるプログラムとして使用します。DONTSTRIP 環境変数が存在しているなら、 install は、 -s オプションのすべての仕様を無視します。これは、 FreeBSD Ports Collection をデバッグするために主に使用されます。
関連ファイル
- INS@XXXX
- -S オプションが指定されるか、または -s オプションとともに -C または -p オプションが使用されるかのいずれかであるなら、一時ファイル名 INS@XXXX は、ターゲットのディレクトリに作成されます、ここで XXXX は、 mkstemp(3) によって決定されます。
終了ステータス
The install utility exits 0 on success, and >0 if an error occurs.互換性
歴史的に、 install は、デフォルトで、ファイルを移動していました。デフォルトは、 FreeBSD 4.4 でコピーに変更されました。関連項目
chflags(1), chgrp(1), chmod(1), cp(1), mv(1), strip(1), mmap(2), getgrnam(3), getpwnam(3), chown(8)歴史
install ユーティリティは、 4.2BSD で登場しました。バグ
-M オプションの意味は、 FreeBSD 9.2 の時点で変更され、今、それは、引数を取ります。古い -M を使用したコマンド行は、エラーとなるか、またはまれな場合に、それをインストールするのではく、複数のソースファイルの最初にログを追加します。install が異常終了した場合に、一時ファイルがターゲットディレクトリに残るかも知れません。
NFS ファイルシステム経由では fchflags(2) でファイルフラグを設定できません。他のファイルシステムは、フラグの概念がありません。フラグをサポートしないファイルシステムにおいてフラグ設定に失敗した場合には、 install ユーティリティは、警告だけ行います。
install ユーティリティに -v を指定すると、 -C がハードリンクを扱うときに、コピーをしたと嘘をつきます。
January 18, 2013 | FreeBSD |