私はLinuxシステムにかなり慣れていません。 .rpmを使用してソフトウェア( ImageMagick )をインストールするか、.tar.gz(からソースをコンパイルする)をインストールするオプションがあります。
どちらを選ぶべきですか(あなたは)?
Rpmを選択した場合、rpm -Uvh <filename>
を使用するか、yum
を使用してrpmをインストールする必要がありますか?
バイナリをインストールすることを選択した場合、(Apache/httpdで使用するための)通常のインストール方法は何ですか? .tar.gz
ファイルを/usr/local/src
にダウンロードし、tar zxvf <filename>
、次に./configure
、make
、make install
で解凍する必要があると考えています。通常、これを行うと、バイナリは自動的に/usr/bin
のようになり(ImageMagickの場合)、すべてのユーザーに環境パスが設定されますか?
どちらを選ぶべきですか(あなたは)?
RPMを使用し、RPMを使い続けます。 RPMは、ソースコードよりもはるかに使いやすく、セキュリティ更新プログラムの更新とインストールが簡単で、長期的には時間を節約できます。 CentOSボックスのすべてのソフトウェアを約5分で更新できます。ソースからコンパイルするときに同じことを行うには、何時間も、おそらく何日もかかります。
さらに、Linuxシステムを初めて使用する場合は、システムを他のコミュニティで使用されているものと一致させて、ドキュメントやフォーラムの投稿の例がローカルシステムで利用できるものと一致するようにする必要があります。ドキュメントは通常、RPMを介してソフトウェアをインストールしたことを前提としています。 RPMから構築されたハイブリッドシステムがあり、ソースコードから多数のプログラムがインストールされている場合、デバッグはより困難になり、より多くの知識とスキルが必要になります。
ソースからのコンパイルはより複雑であり、コンパイル中に依存関係の問題を解決する必要があります。ソフトウェアをコンパイルする前に、ヘッダーファイル、コンパイラなどの依存関係をシステムにインストールする必要があります。これらは、とにかくRPMを介してインストールされることがよくあります。
ただし、RHELとCentOSは通常、製品の1つのメジャーバージョンに固執することに注意してください(たとえば、CentOS5はPHP 5.3のRPMを提供しますが、5.4のRPMは提供しません)。セキュリティ修正といくつかの機能変更は、RedHatによって現在のバージョンに「バックポート」されます。
CentOSから入手できない特定のバージョンのソフトウェアが必要な場合、またはソースコードを自分でカスタマイズする場合は、ソースからインストールします。手始めに、これを避けるようにしてください。
ImageMagickの場合、CentOSが提供するRPMをインストールします。ニーズを満たしていない場合は、必要なバージョンを調べて、ソースからインストールしてください。
rpm-Uvhまたはyumを使用
RPM(RPMライブラリ)のラッパーであり、多くの作業を実行するyumを使用します。繰り返しますが、これはあなたの時間を節約します。
RPMは、ローカルファイルからRPMをインストールするために使用されます。つまり、RPMを見つけて、それとそのすべての依存関係をダウンロードする必要があります。 Yumは依存関係のチェックを実行し、RPMをダウンロードしてインストールします。
バイナリは自動的に/ usr/binのようになりますか
ソースコードがバイナリを/usr/local/bin
ではなく/usr/bin
に配置する場合に私はそれを好みます。 /usr/bin
はベンダーが提供するソフトウェア用であり、/usr/local/bin
はローカルでコンパイルされたパッケージ用に予約する必要があります。ソースコードがバイナリを/usr/bin
にインストールする場合、次にyum update --yes
を実行したときにそれらのバイナリが誤って置き換えられる可能性があることを意味します。
https://unix.stackexchange.com/questions/8656/usr-bin-vs-usr-local-bin-on-linux も参照してください。
すべてのソフトウェアをソースからコンパイルする他のUnixバリアントがありますが、それらのシステムには、これらすべてのソースファイルを整理するための優れた方法と優れたツールがある傾向があります。 FreeBSDは、管理者が「ポート」と呼ばれるソースパッケージからソフトウェアをコンパイルする傾向がある人気のあるオペレーティングシステムであり、OSとソースコードについて学ぶための優れた方法です。
私は可能な限り配布パッケージに固執するようにしています。これは、ソフトウェア管理に対するより一貫性のあるアプローチになる傾向があります。 RPMパッケージとして利用できないアイテムを見つけた場合は、ソースtarballから独自のRPMを作成できます。
RPMを選択した場合、yumを使用することは、ソフトウェアリポジトリからソフトウェアをプルし、RPMを介してインストールする手段です。 RPMは実際のパッケージマネージャーフレームワークです。