私はLinuxの初心者で、CentOSを実行しています。私は、ソフトウェアを更新またはインストールするための4つの方法に出くわしました
今のところ、私は見てきました
yum install [プログラム]をインストールします
apt-get install [プログラム]をインストールします
rpm -i [プログラム].rpm
wget [program].tar.gz
->unpack
->./configure
->make
->make install
特にWindowsの場合は、プログラムのインストールは通常ワンクリックで、インストールウィザードを使って行うことになります
それで、私の質問は
- なぜLinuxではこんなにもいろいろな方法があるのでしょうか?
- どれを使うのがおすすめなのか、その理由は?
- Linuxにプログラムをインストールする他の方法はありますか?
135 Saif Bechan 2010-03-31
これらのツールはすべてシステムにソフトウェアをインストールしますが、異なるレベルで作業しています
./configure && make install
./configure && make install
を実行すると、ソースコードから直接ライブラリや実行ファイルをビルドしてインストールしますmake install
ステップは基本的に最終的なファイルをシステムにコピーするだけです。多くのソースには、それらを再び削除するための特別なmake uninstall
ルールが付属していますが、これは保証されていませんし、もちろん、設定されたソースが存在する限りでしか動作しません。また、これは必要な依存関係を考慮していません多くの場合、特定のパッケージで利用可能なソースコードしかないので、これが唯一の方法です。また、
./configure
は通常、パッケージをカスタマイズできるように多くのオプションを受け付けていますどのソフトウェアがどのファイルをインストールしたかを調べることができないことや、システムからそれらを削除する確実な方法がないことが、このアプローチの大きな欠点です
RPM (Redhat Package Manager)
rpm
は、すでに設定されコンパイルされたソフトウェアをシステムにインストールし、それを再び取り除くためのアンインストールも付属しています。パッケージは誰かによって作成されなければなりません。その人は、どのような機能を含めるか、どのようにしてパッケージをシステムレイアウトに統合するのがベストかをすでに決めています。また、依存関係のリストも付属していますrpms は多くのディストリビューションで使われているので、インストールパスや依存関係、その他のハウスキーピングがうまく統合されるように、この rpm があなたのディストリビューション用に書かれたものであることを確認したいと思うことが多いでしょう
Debian システムでは、同等のパッケージフォーマットは
.deb
であり、インストールとデータベースはdpkg
ツールで処理されますYum
yum
はrpm
の追加ラッパーです。これは、あなたのディストリビューションで利用可能な rpm ファイルのデータベースを保持します。ほとんどのディストリビューションの安定版では、そのデータベース内のすべてのパッケージがお互いにうまく動作します。このデータベースは検索することができます (yum search some_name
など)また、依存関係を自動的に解決してくれます。パッケージ(とその依存関係のあるパッケージ)も簡単にアンインストールすることができます
Debian システムでは、同等のリポジトリと依存関係解決ツールが Apt によって提供されています (
apt-get
とaptitude
)
要約すると、もしあなたがソフトウェアが欲しいだけならば、まずyum
を試してみてください。もしそれが利用できない場合は、既存のrpm
パッケージを探してみてください。もしそれがない場合や特別な要件がある場合は、ソースからビルドしてください
123 Benjamin Bannier 2010-03-31
yum はネットから自動的にパッケージを取得して、(rpm -i
を使って)一通りインストールしてくれる点以外は RPM と同じです。更新を容易にするために、可能な限り使用すべきです。rpm
は yum
で見つかるパッケージがない場合にのみ使用し、make
メソッドは利用可能な .rpm パッケージがない場合や、コンパイル時のオプションを変更する必要がある場合にのみ使用してください
6 marcusw 2010-03-31