私は、UNIX サーバーの次の場所に GNU "core" ユーティリティ coreutils-8.21 をインストールしました。
/opt/app/p1sas1c1/apps/GNU
私は今、追加findutils-4.4.2 パッケージ。INSTALL ドキュメントを読んでみると、次のコマンドを使用して設定できることがわかりました。
./configure --prefix=/opt/app/p1sas1c1/apps/GNU
これは、コア ユーティリティをインストールするために使用したのと同じ「プレフィックス」です。
私の質問は: これを実行してから「make install」コマンドを実行すると、そのターゲットの場所にある既存のファイルが上書きされるのでしょうか、それとも新しい要素が対応するディレクトリに「追加」されるだけでしょうか?
まず、このようなことを行うための「ベスト プラクティス」を確認したいと思います。私は訓練を受けた「SA」ではなく、「ルート」アクセス権も持っていません。インストールを行うためにアプリケーション アカウントを使用しています。
答え1
make install
同じ名前の既存のファイルを上書きします。それ以外は、既存のファイルは削除されません。GNU coreutils と GNU findutils は、一緒に使用およびインストールされることを意図しているため、同じ名前の異なるファイルは存在しません。したがって、これらを 1 つずつインストールすると、両方が取得されます。
答え2
はい、make install
そのターゲット ロケーションへの書き込みアクセス権があると仮定すると、そこに存在する既存のファイルはすべて上書きされます。ただし、これらのパッケージはすべて同じ「システム」の一部であるため、本質的にモジュール化されており、制御された方法で同じプレフィックスにインストールが行われ、後続の部分をインストールしても何も上書きされないと考える傾向があります。
実際にインストールされる内容を確認するために、まずテストを行ってからインストールすることをお勧めします。--prefix
そのディレクトリへの書き込みアクセス権がある限り、任意の内容に変更できます。
さらに:
- なぜ Linux ディストリビューションのパッケージ管理を使用してこれを実行しないのですか?
- 利用できない新しいバージョンをインストールしていますか?
- それとも単に学習しているだけですか?
理由が何であれ、ソフトウェアをカスタム「もの」としてインストールすることとパッケージを使用することの影響について検討します。はい、どちらも可能ですが、ソフトウェアのカスタムインストールを行うことと、ディストリビューションのパッケージ マネージャーによって提供される既製のさまざまなものを使用することにはトレードオフがあります。
カスタムでは完全な制御が可能になりますが、それを最新の状態に保つ必要があり、構築方法とメンテナンス方法を知っておく必要があります。
既製のソフトウェアは便利ですが、ソフトウェアの管理を他の誰かに頼らなければならず、その人のスケジュールに縛られてしまいます。
賢く選択してください!