• 締切済み

Linuxへのrpmインストールとソースからのコンパイルインストールについて

こんにちは。 質問があります。非常にくだらないと思うかもしれませんが、ご回答していただければと思います。 現在、情報ネットワークの機関を維持しているサービス としてDNS(BIND)だったり、www(Apache)だったり、 さまざまあるとおもいます。 そして、その中でも数が多い(?)Linux環境の場合、 rpmというパッケージで簡単にソフトウェアがインストールできてしまいますが、以前職場へエンジニアの方が 来ていたときはコンパイルしてインストールしていた ようでした。 結局rpmっていうのは簡単なのがいいのでしょうか? それに対してソースからのインストールはチューニング しやすいから、エンジニアの方はソースからだった のでしょうか? 些細な疑問なのですが、Linux系の雑誌をよみふけって いたら、なんだかRPMからのインストールが多いので 疑問に思い投稿させていただきました。 アドバイス頂ければ幸いです。 よろしくお願いいたします。

みんなの回答

  • angband
  • ベストアンサー率51% (86/168)
回答No.2

RPMなどのパッケージ管理システムは、Linuxや別のUNIX 系OSを特徴づけるものだと思います。RPMはそこそこ 便利かとは思います。 しかしソースから入れたい場合は、僕の場合は 1、カスタマイズしたい( apacheならSSLやSuExecなど) 2、最適化したい(CPUの能力を活かしたい) 3、バイナリは不安(今でもたまに改変されてたりする) 4、RPMの依存関係地獄から逃れたい (例えば apache-ssl を入れて、途中でopensslの バージョンをあげたいと思っても不可能) 特に4については、Debianのapt-getの方がマシに思う。 もっともパッケージで素晴らしいのはBSDです。 特にNetBSDのパッケージ管理は秀逸です。 4も簡単に可能。すいません、話がズレました。

  • ara_ara
  • ベストアンサー率35% (124/348)
回答No.1

>結局rpmっていうのは簡単なのがいいのでしょうか? ソースがrpmになっているものもありますが、これはrpmのバイナリのことを言われているんでしょうから、その通りです。 ただ、バイナリの動作環境は、それがビルドされた環境というのが前提ですから、ディストリビューションやバージョンが一致しないとうまく動作しないことがあります。 >それに対してソースからのインストールはチューニング >しやすいから、エンジニアの方はソースからだったのでしょうか? 一般にUNIX系のソフトウェアは、バイナリよりもソースで公開されるものの方が、早く、数も多いのです。 特に、セキュリティに関するものは対応スピードが要求されますから、ソースの方が都合がいいことになります。 そしてそのソースは、いろんな環境でビルドして実行できるように作られていますから、ターゲットのマシンでビルドすれば実行可能なバイナリが簡単に作れます。 また、ソースの一部を変更したり、ビルド時にオプションを指定することにより、カスタマイズすることもできます。 ですから、OSをインストールする際も、バイナリだけでなく開発環境もインストールしておくのがベターです。 (ビルドには、開発環境が必要ですから)

akihiro3970
質問者

お礼

>特に、セキュリティに関するものは対応スピードが要 >求されますから、ソースの方が都合がいいことになり >ます。 >そしてそのソースは、いろんな環境でビルドして実行 >できるように作られていますから、ターゲットのマシ >ンでビルドすれば実行可能なバイナリが簡単に作れま >す。 なるほど・・・セキュリティに関するものの対応スピードの問題ですね・・・納得です。要するにRPMの倍ありパッケージでもアップデートの対応をかんがえると・・ どうするかということですね。 大体理解できました。 ありがとうございます。

関連するQ&A

  • ソースコンパイルしたアプリを調べる

     rpmパッケージからインストールしたアプリはrpm -qa | grep アプリ などで調べることができると思います。ソースコンパイルしたアプリはどのように調べることができますでしょうか?  また、ソースコンパイルしたアプリは自分の環境でコンパイルするので不具合が少ないと聞きましたが、rpmパッケージだとなにかあったりするものなのでしょうか?アンインストールなどの面から見るとどう見てもrpmパッケージをインストールした方がいいと思うのですが・・・・。 宜しくお願いします。

  • ソースからのコンパイルはディストリを問わない?

    お世話になります。 普段Linuxを使うときはCentOSとRaspbianばかりなのですが、今回はYoctoLinuxを使っています。 Apacheをインストールしようと思ったのですが、yum apt-get RPM等、いつもインストールに使うコマンドがことごとく通らないので、ソースからコンパイルしてみようと思いました。 そこでふと思ったのですが、同一のソースをコンパイルしてFedoraでもDebianでもRedHat等々でも同一の機能をインストールできるものなのでしょうか? よろしくおねがいします。

  • Linux 6.2 でパッケージインストール RPM コマンドを使用した時にエラーがでる

    OS Linux6.2 で rpm コマンドを使用した時にエラーになる # rpm -Uvh bind-8.2.2_P7-1.i386.rpm をすると以下のエラーが出る メジャー番号<=3のパッケージのみこのバージョンのRPMはサポートされています エラー:bind-8.2.2_P7-1.i386.rpm cannot be installed 以上のメッセージが出てパッケージをインストールできないので 教えてください

  • rpmでのインストール

    自作PCに Red Hat Linux release9 (shrike) kernel 2.4.20-8 on an i686 をインストールしています。 rpmパッケージで postgreSQL mySQL Perl PHP Apache をインストールしたいのですが 検索をしても 『Fedora』というLinuxのrpmは見つかるのですが ttp://ftp.kddilabs.jp/Linux/packages/fedora/core/2/i386/os/Fedora/RPMS/ 自分が使っているLinux版のが見つかりません。 URLなどを教えて戴ければ幸いです。 宜しくお願いします。

  • rpmとソース、どっちでインストール?

    サーバー構築をするのですが、rpmとソースどちらでインストールするか迷っています。 会社のwebアプリ開発/本番サーバーになるものなので、手順等もしっかりまとめていかなくてはなりません。 サーバーもwebアプリの規模に応じて追加したりとなければならないため、全く同じ環境のサーバーを作ることもあります。 自分はいつもrpmでインストールをしています。公式サイトにrpmが置いてなければ自分でspec書いてrpmを作っていますが、それは管理がしやすいからという理由ですし、rpmの方がソースからインストヘルするより時代的に?新しいからです。 じゃあrpmでやれよと思うんですが、この話をした人(7人くらい)は、みんなソースからと答えました。。中小のホスティングやってい会社の方々です。 たしか"はてな"や"yahoo"はパッケージ管理と聞いています。サーバーが多くて大変だからですかね。。 こう色々と考えていると、どっちにすればいいか分からなくなって質問に至りました。。。。 rpmとソース、どちらでインストールしているか? なぜそうしてるのか教えて頂ければ幸いです。 ぜひご教授下さい。宜しくお願い致します。

  • linuxでのコンパイル

    linux環境でjavaソースをコンパイルしようとしているのですが、コンパイルができません。 ソースをパッケージ内に置いて、パッケージの上のディレクトリでコンパイルしようとしています。 例えば以下のような感じです。 ディレクトリ「frame」に「FrameSample.java」と「Start.java」を置き、「frame」の上のディレクトリで以下のコマンドを打ちます。 $javac frame\*.java windows環境では、これでコンパイルできるのですが、linuxだとできません。「javac: ファイルが見つかりません: frame*.java」と表示されてしまいます。 どうしたらよいでしょうか?

    • ベストアンサー
    • Java
  • RPMでのインストールとソースからのインストール

    お世話になります。 現在、VPSにてサーバー構築の勉強をしています。 RubyやPHP、MySQLなどのアプリケーションをサーバーへインストールする際、 RPMでインストールする方法とソースをコンパイルしてインストールする方法のどちらがいんでしょうか? 一長一短があると思いますが・・・ ある書籍ではソースからインストールすることを推奨しており、あるサイトでは管理が楽という理由でRPMを推奨しています。 実際、実務ではどちらの方法を取られているのか教えていただければと思います。 また、なぜその方法がいいのかも教えていただけると幸いです。 よろしくお願い致します。

  • PHPの再インストール(RPMからソース)の方法

    RPMでインストールしたPHPをソースからインストールし直す方法を教えてください。 PHP5.2.6 Apache 2.0

  • LINUXでコンパイルができません

    RedHat6.2と7.0をつかっているのですが、tar.gz形式のソフトをダウンロードして、解凍するところまでは出来るのですが、makeコマンドを使ってコンパイルしようとすると、始めは、makeなんてない!って言われてこりゃいかんと思い、インストールディスクに入ってたmakeのRPMパッケージをインストールしてやってみたところ、今度はgccがないぞ!と言われて、「へ?それもいるの?」という感じで、パッケージを探したところ、入ってなくて仕方なくネット上を捜し歩いたら、rpmパッケージを発見したので、それをインストールしたのですが、それで実行すると、最後の最後で、エラーが出て、結局コンパイルできませんでした。これではなんにもソフトがインストールできません。どなたかアドバイスをお願いします。因みに今は、自宅ではないのでエラーメッセージがわかりません。帰ってからコメントしておきます。

  • ソースからコンパイルしたPHPを削除し、RPMのほうを有効化

    ソースからコンパイルしたPHPを削除し、RPMにてインストールしたPHPのほうを有効化させたいと考えております。 現状は、両方インストールした状態ですが、コマンド上はソースからコンパイルしたものが有効になっております。 # which php /usr/local/bin/php # php -v PHP 5.2.1 ソースからコンパイルしたPHPの削除はインストール時の展開されたファイルを削除すれば良いと思いますが、(findコマンドでPHP5.2.1関連を片っ端から削除)「/usr/local/bin/php」も削除したのち、RPMのコマンドが有効にならず困っております。 # rpm -e php-5.1.6-3.el4s1.10 # yum install php Installed: php.i386 0:5.1.6-3.el4s1.10 # which php /usr/bin/which: no php