なぜ「make install」の前に「make」が必要なのか 質問する

なぜ「make install」の前に「make」が必要なのか 質問する

ソースからインストールするプロセスはわかっています。

  1. ./configure
  2. make
  3. make install

しかし、なぜ"作る"/etc/cups/cupsd.confの前に、次のようにすればいいのではないでしょうか。「インストールする」?

これまでの私の理解では、「make」はソースを実行可能ファイルにコンパイルするだけで、「make install」は実際にそれらを実行可能 PATH フォルダーに配置する、ということになりますが、正しいでしょうか?

実行ファイルをマシンにインストールしたい場合は、

  1. ./configure
  2. make install

上記の 3 つの手順の代わりに。

ベストアンサー1

を実行するとmake、基本的に特定のターゲットの一連のビルド手順に従うように に指示することになります。 がmakeパラメータなしで呼び出されると、最初のターゲットが実行され、通常はプロジェクトがコンパイルされます。 は ターゲットmake installにマップされますがinstall、通常はバイナリを宛先にコピーする以上のことは何も行いません。

多くの場合、installターゲットはコンパイル ターゲットに依存するため、 を実行するだけで同じ結果を得ることができますmake installしかし、別々のステップで行うことに少なくとも1つの良い理由があると思います。: 特権の分離。

通常、ソフトウェアをインストールすると、そのソフトウェアは一般ユーザーが書き込み権限を持たない場所 ( や など/usr/bin)にインストールされます。そのため、インストール手順で権限の昇格が必要になるため、/usr/local/bin多くの場合、実際に を実行してから を実行することになります。これは「良いこと」です。なぜなら、ソフトウェアを通常のユーザーとしてコンパイルできるため (一部のプロジェクトでは実際に違いが出てきます)、ビルド手順が不正に動作した場合に発生する可能性のある損害の範囲が制限され、インストール手順ではルート権限のみが取得されるからです。makesudo make install

おすすめ記事