私はLinuxが初めてで、CentOSを実行しています。ソフトウェアをアップデートまたはインストールする方法は4つあります。
これまでのところ、私は見た:
yum install [program]
apt-get install [program]
rpm -i [program].rpm
wget [program].tar.gz
- > unpack
- > ./configure
- > make
- > make install
最後の問題は、特にプログラムのインストールがワンクリックでNiceインストールウィザードになっている、Windowsから来る、本当に苦痛です。
だから、私の質問は:
これらのツールはすべてシステムにソフトウェアをインストールしますが、さまざまなレベルで機能しています。
./ configure && make install
./configure && make install
を実行すると、ソースコードから直接ライブラリまたは実行可能ファイルがビルドおよびインストールされます。
make install
ステップは、基本的には最終ファイルをあなたのシステムにコピーするだけです。多くのソースはそれらを再び削除するための特別なmake uninstall
ルールを持っていますが、これは保証されておらず、もちろんあなたが設定されたソースを持っている限り動作します。また、これは必要な依存関係を処理しません。
多くの場合、特定のパッケージで利用可能なソースコードしかないので、これが唯一の方法です。また、./configure
は通常あなたがあなたのパッケージを調整することを可能にするたくさんのオプションを受け入れます。
どのソフトウェアがどのファイルをインストールしたかを見つけることができないこと、およびシステムからそれらを削除するための信頼できる方法の欠如は、このアプローチの主な欠点です。
RPM(Redhat Package Manager)
rpm
はすでに設定されコンパイルされたソフトウェアをあなたのシステムにインストールします。そしてまたそれを取り除くためにアンインストールされます。パッケージは誰かが作成する必要があります。この担当者は、どの機能を含めるか、およびパッケージをシステムレイアウトに最適に統合する方法をすでに決めています。依存関係のリストも付属しています。
Rpmは多くのディストリビューションで使用されているので、インストールパス、依存関係、およびその他のハウスキーピングのものがうまく統合されるように、このrpmがディストリビューション用に書かれていることを確認したいことがよくあります。
Debianシステムでは、同等のパッケージ形式は.deb
であり、インストールとデータベースはdpkg
ツールによって処理されます。
Yum
yum
はrpm
を囲む追加のラッパーです。それはあなたのディストリビューションのために利用可能なrpmファイルのそれ自身のデータベースを、一般的にはオンラインのリポジトリに保存します。ほとんどのディストリビューションの安定版では、そのデータベース内のすべてのパッケージは互いにうまく機能します。このデータベースは(例えばyum search some_name
で)検索することができます。
それはまたあなたのために自動的に依存関係を解決します。パッケージ(およびいくつかの追加の助けを借りてそれらの依存関係)も同様に簡単にアンインストールできます。
Debianシステムでは、同等のリポジトリと依存関係解決ツールがAptによって提供されています(apt-get
とaptitude
)。
要約すると、単にソフトウェアが必要な場合は、まずyum
を試してください。それがそこで利用できない場合、あなたは既存のrpm
パッケージを見つけることを試みることができます。何もない場合や特別な要件がある場合は、ソースから構築してください。
YumとRPMは、yumがネットから自動的にパッケージを取得し、それらを(rpm -i
を使用して)ワンステップでインストールすること以外は同じです。更新を容易にするために可能な限り使用する必要があります。 rpm
で検索するパッケージがない場合にのみyum
を使用します。使用可能な.rpmパッケージがない場合、またはコンパイル時オプションを変更する必要がある場合にのみmake
メソッドを使用します。