Next: mv invocation, Previous: dd invocation, Up: Basic operations [Contents][Index]
install
: ファイルをコピーし属性をセットするinstall
はファイルをコピーするとき、ファイルのモードビット
(訳注: 一般にアクセス権とか、許可属性と言われるもの) をセットし、可能ならば、
所有者やグループも設定する。
書式:
install [option]… [-T] source dest install [option]… source… directory install [option]… -t directory source… install [option]… -d directory…
install
は最初のファイルを
2 番目のファイルにコピーする。
install
は各 source ファイルを指定されたディレクトリに、source
の名前でコピーする。
install
は各
directory を作成する。
このとき、親ディレクトリが存在しなければ、それも作成する。
作成される親ディレクトリのモードは、-m オプションの指定や現在の umask
にかかわりなく、‘u=rwx,go=rx’ (755) になる。
親ディレクトリの set-user-ID ビットや set-group-ID ビットの継承については、
次の節を参照していただきたい。See Directory Setuid and Setgid.
install
は cp
に似ているが、コピー先ファイルの属性を自由に設定できる点が違う。
install
は通常、Makefile の中で、プログラムを目標のディレクトリにコピーするために使用される。
install
では、ファイルをそれ自身にコピーすることはできない。
install
が拡張属性 (xattr) を保存することはない。
このプログラムでは以下のオプションが使用できる。参照: Common options.
See Backup options. そのままでは、上書きされるか、消去されてしまう各ファイルのバックアップを作成する。
インストール元とインストール先の対応するファイルを比較し、
インストール先にあるファイルがインストール元と同じ内容を持ち、
しかも、所有者、グループ、許可属性、場合によっては SELinux
コンテキストについて、そのどれもが指定されているものと同一であるときは、
インストール先ファイルを全く変更しない。
このオプションは、--user, --group, --mode
オプションと組み合わせて使うのが、最善である。そうしたオプションと組み合わせて使えば、
install
コマンドが、(たとえば、ディレクトリに
setgid が付いているか否かや、POSIX のデフォルトの ACL を顧慮しないせいで)、
インストールされるファイルがデフォルトで持つはずの属性を不正確に決めてしまうのを避けることができる。
そういうことがあると、無駄なコピーが行われたり、
属性が正しいデフォルト値に設定し直されなかったりといった不都合が生じかねないのだ。
無視する。Unix の古いバージョンの install
との互換性のために
ある。
dest の指定中に存在していない親ディレクトリがあれば、 それを作成してから、source を dest にコピーする。 -D とともに明示的に --target-directory=dir を指定した場合も、やはり出力先のディレクトリ階層が確実に存在するようになる。
まず、存在していない親ディレクトリがあれば作成し、それにデフォルトの属性を与える。 それから、指定された各ディレクトリを作成し、所有者、グループ、許可属性を、 コマンドラインで指定されたとおりに、またはデフォルトの値に設定する。
インストールするファイルやディレクトリの所有グループを group に設定する。 デフォルトは、プロセスの現在のグループである。 group は、グループ名でも、グループの ID 番号でもよい。
インストールするファイルやディレクトリのモードビットを mode に設定する。
mode の指定は、‘a=’ (誰にもアクセスを許さない) を基点として行い、
8 進数でも、chmod
で使うようなシンボリックモードでもよい
(see File permissions)。デフォルトのモードは、
‘u=rwx,go=rx,a-s’ である。すなわち、所有者には読み、書き、実行を許可し、
グループとその他のユーザには読みと実行のみを許可、
set-user-ID と set-group-ID は無効にする。このデフォルトは、‘755’
と全く同じではない。なぜなら、デフォルトの方は、ディレクトリについて
set-user-ID や set-group-ID を引き継がず、無効にしているからである。
See Directory Setuid and Setgid.
install
が適切な権限を持っている場合に
(つまり、root 権限で実行されている場合に)、インストールするファイルやディレクトリの所有者を
owner に設定する。デフォルトは root
である。owner
の指定は、ユーザ名でも、ユーザの ID 番号でもよい。
ファイルやディレクトリの SElinux セキュリティ・コンテキストを引き継ぐ。 ファイルやディレクトリすべてのセキュリティ・コンテキストを引き継げなかった場合は、 終了ステータスが 1 になる。SElinux が無効になっているときは、警告を出し、 このオプションを無視する。
インストール先各ファイルの最終アクセス日時 (last access time) と最終更新日時 (last modification time) を、対応するインストール元各ファイルのそれぞれの日時に合わせる。 このオプションを付けずにインストールした場合、各ファイルの最終アクセス日時と最終更新日時は、 両方ともインストールした日時になる。インストール先ファイルの最終更新日時を、 最後にインストールした日付ではなく、最後にビルドした日付の記録として使用したい場合、 このオプションは便利である。
インストールされるバイナリの実行ファイルからシンボル・テーブルを取り除く。
バイナリからシンボル・テーブルを取り除くために使用するプログラムを指定する。
-b によって作られる各バックアップファイルの後ろに suffix を 付ける。 See Backup options.
directory を出力先ディレクトリに指定する。 See Target directory. -D オプションも指定すると、 ディレクトリの存在が保証される。
最後のオペランドがディレクトリやディレクトリへのシンボリックリンク でも、それを特別扱いしない。 See Target directory.
コピーを行う前に、コピーするファイル名を表示する。
context が指定されていない場合は、出力するファイルの SELinux
セキュリティ・コンテキストを、出力先におけるシステムのデフォルトのタイプに合わせて調整する。
これは、restorecon
コマンドの動作に似ている。
このオプションの長い形式を使って、コンテキストを明示的に指定した場合、
そのコンテキストが設定されるのは、新しく作成されるファイルに対してのみである。
コンテキストを指定した場合に、SELinux と SMACK のどちらも無効になっていると、
警告メッセージを出す。 このオプションと --preserve-context
オプションは、どちらか一方しか指定できない。
(context を省略できるのは、coreutils-8.22 から)
終了ステータス 0 は成功を示し、0 以外の値は失敗を示す。
Next: mv invocation, Previous: dd invocation, Up: Basic operations [Contents][Index]