Linuxでソフトをインストールする際、tarを使う方法とrpmを使う方法があり、

後者の方が簡単であるわけですが、前者の利点を教えてください。

前提として、趣味ではなく業務目的のサーバにおける使用を想定してます。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/02/18 22:14:00
  • 終了:--

回答(3件)

id:izayoimizuki No.1

izayoimizuki回答回数302ベストアンサー獲得回数02006/02/18 22:36:41

ポイント30pt

http://www.hatena.ne.jp/1140268440#

人力検索はてな - Linuxでソフトをインストールする際、tarを使う方法とrpmを使う方法があり、 後者の方が簡単であるわけですが、前者の利点を教えてください。 前提として、趣味ではなく業..

RPMとTARの関係は通常の便利ツールと手作業で行う関係に良く似ています。


柔軟性

RPM:低い

Apacheのモジュールの場合

ディストリビューターがリリースしているものしか使えない

最適化

その環境でネイティブに実行できる程度

TAR:高い

Apacheのモジュールの場合

全てのモジュールが使える

最適化

MakeをすればCPUやチップセット等のハードウェア構成にあわせて最も最適化されたバイナリを手に入れることも出来る


最新バージョンの追随

RPM:ディストリビューターがリリースするまで待たなければならない

パッチ

適用できない

TAR:リリースされたら即インストールできる

パッチ

Makeをすればいち早くセキュリティーパッチを適用したりオリジナルのパッチを適用したりもできる


と言った感じです。

最適化については大きなものであれば体感的に分かるほどの差になる事もあります。

HTTPD等の同時に大量のリクエストを受けるサービスではより大きな差になります。

またセキュリティー問題のアップデーターもディストリビューターがリリースするのははっきり言ってかなり遅いです。

数週間待たされることもそれほどまれではありません。


もちろんこまめにアップデータを確認する余裕が無いようであればRPMの方が安全です。

Cronで毎日適当な時間にyumやapt-getを使って更新をしてやればよいので。


大量に同じような環境が存在するのであればTAR等で纏められたソースを自分でMakeしてRPMに纏めたりするのも良いでしょう。

id:witt

よくまとめられた回答ありがとうございます。

rpmを使えば、何でも便利になるわけではない、

ということが確信できました。

特に、 Apacheのモジュールやセキュリティの問題は

深刻ですね。

前者については、PHPで必要な機能がディストリビュータに

よるrpmでは使えないので、tarでやるしかないのかな、

と思っていた次第です。

後者について、rpmで運用し、脆弱性が公表され、

対応するrpmがリリースされる前に被害を被った場合、

誰が責任を取るのか気になるところです。

業者と保守契約を結んでいる場合、勝手にrpmを作って

それをインストールするのは契約違反になるかもしれない

ですから。

2006/02/19 00:17:44
id:hamster078 No.2

hamster078回答回数587ベストアンサー獲得回数42006/02/19 04:19:05

ポイント20pt

利点というのではないですが、rpmを全般的に使っていると、

それぞれの依存しあうソフトやライブラリのバージョンを自分は

気にせずに、全部自動で管理できます。

しかし、なんらかの理由で、ライブラリのバージョンなどを

自分で決めたい場合は、rpmはかえって邪魔になります。

もちろん、rpmファイルの中には、tarボールが含まれているので、

取り出してインストールすればいいわけですが。

あとは、rpmだとコンパイル済みのものになりますが、

コンパイルオプションを自分でつけて、自分なりに再適化した状態で

コンパイルしたい場合も、tarからつまりソースからインストールする

わけです。

id:witt

>しかし、なんらかの理由で、ライブラリのバージョンなどを

>自分で決めたい場合は、rpmはかえって邪魔になります。

MicrosoftでいうところのDLL Hellの回避の場合ですかね。

こういうときにも、rpmは少々問題ありなのですね。

2006/02/19 15:16:33
id:kai10 No.3

kai10回答回数115ベストアンサー獲得回数32006/02/20 18:07:51

ポイント25pt

http://www.stackasterisk.jp/tech/systemManagement/rpm02_01.jsp

�J�X�^��RPM�̍쐬��2���Frpmbuild��tarball�����̃J�X�^��RPM�쐬

正確には、tarはただのアーカイバで、rpmはパッケージ管理ツールです(念のため)。なので、ソースからのビルドと、rpmでパッケージ化されたものので比較すると、他の方が言われていることになると思います。なので、捕捉を。


RPMを使うと、最新版が使えないとか、融通がきかないと考えがちですが、それならば、自分でRPMパッケージ化すればいいです。最初は敷居が高く感じられるかもしれませんが、*.src.rpmをひろって来て、それに含まれている *.specを適宜加工するような感じで、大体の場合は必要なことは出来ると思います。*.src.rpmは、どこのディストリビューションでも公開しているはずです。それを元に *.i586.rpmなどが作られますので。ソースからビルドできる方なら、それほど面倒な作業ではないと思います。


業務で使う場合、ソースからのビルドの場合、各マシンでコンパイル、インストールするのが普通かと思いますが、パッケージ化すれば、各マシンでパッケージのインストールだけで良くなりますし、ライブラリ等の管理も楽になります。

id:witt

ご紹介いただいたページ、役に立ちそうです。

ただいま、私の興味は、業者によるrpmの提供と保守契約の

関係にあるのですが、これについて質問するには

私の勉強不足なので、またときを改めて質問することにします。

以上、ご回答いただいた皆さん、ありがとうございました。

2006/02/21 13:10:46

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません