インストールとcpの違いは何ですか? [コピー]

インストールとcpの違いは何ですか? [コピー]

どのようにinstall単純コピーとは異なり、cpまたはdd?私はちょうど小さなユーティリティをコンパイルし、変数/usr/sbinを通して使用できるように追加したいと思いましたPATH。なぜ他のものを使うのですか?

答え1

ソースからコンパイルされたバイナリを「インストール」するには、次のディレクトリにバイナリを配置するのが最善です。

/usr/local/bin

一部のシステムでは、このパスはすでにPATH変数にあります。そうでない場合は、構成ファイルの1つでPATH変数を調整して追加できます。~/.bashrc ~/.profile

PATH=${PATH}:/usr/local/bin

ddファイルやデバイスなど、ソースの正確なサイズのブロックをコピーするために主に使用される低レベルコピーツールです。

cp-r権限を保持するオプションを使用してファイルとディレクトリを繰り返しコピーする一般的なコマンドです-p

installほとんどと似ていますcpが、個別に使用することなく、ターゲットファイルのプロパティを直接設定するオプションを提供しますchmod

cpファイルを作成し、/usr/local/bin必要に応じて変数を調整します。PATHこれが私がすることです。

答え2

installとの主な違いcpは、ターゲットファイルがすでに存在する場合、install最初にリンクが解除されることです。

この違いはマニュアルページに記載されていません。他の回答に記載されている内容も重要です。どちらのプログラムもオプションが異なり、GNUにはinstallBSDとは異なるオプションがあるため、installポータブルMakefileは共通のサブセットに制限されます。

切断(rmbeforeを介しても実行できますcp)が重要な理由は何ですか? 2つのハードリンクを持つファイルがあり、ハードリンクのいずれかを使用して変更すると、ファイルシステムの他の場所でも変更されます。ただし、ハードリンクの1つを最初に削除して変更されたファイルに置き換えると、元のバージョンは別の場所に残ります。

より可能性の高いシナリオは、使用しているプログラムまたはライブラリを更新することです。まず、バイナリのリンクを解除しても、実行中のプログラムには影響しません。詳細を含む良い記事は次のとおりです。 http://en.chys.info/2009/05/install-vs-cp-and-mmap/

答え3

コピーファイルをインストールするには、デフォルトモード755を使用します。

ファイルの所有者、グループ、および/またはファイルのモードを設定するようにインストールを構成できます。

ソースファイルを交換する前にバックアップするようにインストールを構成できます。

関連情報