install
を見ました 多くのMakefileで使用されるコマンドであり、その存在と使用法はやや混乱を招きます。マンページからは、cp
の模造品のようです。 機能は少ないですが、cp
に勝る利点がない限り、使用されないと思います。 。取引は何ですか?
承認された回答:
install
ファイルをコピーするだけでなく、その所有権と権限を変更し、オプションで実行可能ファイルからデバッグシンボルを削除します。 cp
を組み合わせます chown
を使用 、chmod
およびstrip
。これは、基本的なタスクの一般的なシーケンスを実行するための便利な高レベルのツールです。
install
の利点 cp
以上 実行可能ファイルをインストールする場合、ターゲットがすでに存在する場合は、ターゲットファイルを削除して新しいファイルを作成します。これにより、アクセス制御リストや機能など、現在のプロパティがすべて削除されます。これらのプロパティは、良い面と悪い面の両方として見ることができます。実行可能ファイルを更新するときに、この実行可能ファイルの実行中のインスタンスがある場合、それらは影響を受けずに実行され続けます。対照的に、cp
ファイルがある場合は、その場でファイルを更新します。ほとんどのUnixバリアントでは、ターゲットが実行中の実行可能ファイルの場合、これはエラーEBUSY¹で失敗します。一部では、コードセクションが動的に読み込まれ、ファイルを変更すると無意味なコードが読み込まれるため、ターゲットがクラッシュする可能性があります。
install
BSDコマンドです(4.2BSDで、つまり1980年代初頭に追加されました)。 POSIXでは採用されていません。
¹「テキストファイルがビジーです」。この文脈では、「テキストファイル」は、あいまいな歴史的理由から、「バイナリ実行可能ファイル」を意味します。