プリコンパイル済みパッケージに対して 'make install' が 'install' で実行するすべての操作をどのように実行しますか?

プリコンパイル済みパッケージに対して 'make install' が 'install' で実行するすべての操作をどのように実行しますか?

make installソースパッケージをコンパイルした後、このコマンドを正常に実行した後に新しくインストールされたパッケージを認識すると、システムに何が起こるのか疑問に思います。
ディストリビューション用にプリコンパイルされたLinuxパッケージをどこかで検索し、解凍したパッケージ全体をインストールするinstall代わりに使用したいとし、そのパッケージを使用して一般的に実行するすべてのことを確認します。すべてを再帰的にコピーするためにターゲットを実行しようとしましたが、失敗し、何もしないようです。cp/usr/localsudo make installsudo install -r -T ./[pre-compiled package] /usr/local/usr/local

ベストアンサー1

make installinstall指定されたターゲットに対してリストされているコマンドを実行./Makefileします(また、インストールが依存する他の未解決ターゲットのコマンドも実行します。たとえば、インストールターゲットは通常ビルドターゲットによって異なります)。 @Henrikが述べたように、ファイルのコピー、ディレクトリの作成、所有権および/または権限の設定、初期設定ファイルの作成またはコピーなど、何でも構いません。

ちなみに、コマンドmake installinstall完全に異なる2つです。前者は「install」というMakefileターゲットを実行します。後者は、ソフトウェアをインストールするときに通常、Makefileのインストール先で使用されるcp所有者、グループ、権限を設定し、他の多くの便利なタスクを実行できる高度なバージョンです。install

とにかく、makeこれはmake installあなたがやろうとしていること(事前にコンパイルされたソフトウェアをインストールすること)とはほとんど関係ありません。

プリコンパイルされたソフトウェアをインストールするには、配布パッケージ(または.rpmファイル.debなど)がある場合は、配布パッケージツールを使用してdpkgDebian / Ubuntu、rpmFedoraなどにインストールしてください。まだパッケージのコピーはありませんが、はい配布用のパッケージとして提供されている場合は、apt(debian)またはdnf(fedora)を使用してパッケージを入手してyumインストールしてください。

適切な配布パッケージ(たとえば、複数のファイルを含むtar.gz)ではなく、ソースコードやパッケージが見つからないプリコンパイル済みソフトウェアの場合、最良の方法は次のプログラムを使用することです。GNUストーまたは同様です。

stowパッケージ化されていないソフトウェアをインストールするのは非常に簡単で、後で孤立したファイルを残さずに後で削除することができます(新しいバージョンにアップグレードする準備など)。これは単純なuntarまたはcpの役割です。〜するする。

管理されていないソフトウェアは混乱を招きます。可能であれば、システムが提供するパッケージツールを使用してください。そうでない場合は、同様のものを使用してくださいstow


昨日この記事を書いて言及したかった別のプログラムはインストールの確認しかし、私は今までその名前を覚えていませんでした。 checkinstall他の方法で使用するソフトウェアの機能パッケージを簡単に作成できます(make install例:独自のソフトウェア)。ただし、ソースコードが利用可能な場合は非常に便利です。

おすすめ記事