私はLinuxの初心者で、CentOSを実行しています。私は、ソフトウェアを更新またはインストールするための4つの方法に出くわしました
今のところ、私は見てきました
yum install [プログラム]をインストールしますapt-get install [プログラム]をインストールしますrpm -i [プログラム].rpmwget [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

