質問

2008年02月17日 23時53分
  • Linuxでソースからmake/コンパイルのメリットって?

情シスのオープンナレッジ『Syszo』サービス終了のお知らせ

質問

yumやrpmでインストールではなく、ソースからmake/コンパイルして
アプリケーションを導入するメリットって何ですか?
技術者のこだわりしか思い浮かばないのですが。
しかも、この場合どのようにインストール、設定変更したか
ドキュメントがまったくなく、担当者がいなくなると
メンテが不可能に近いものがあります。
メリット・デメリットについて教えてください。

2件の回答があります

回答

当方でも、基本的にはyumなりfinkなりでパッケージを導入していますが、次のような場合は、ソースからmake/インストールしています。

・パッケージに含まれるソフトのバージョンが古く、使いたい機能を利用できない場合

・パッケージに使いたいソフトが含まれていない場合

もちろん、このような場合はconfigure時のオプションを含め、一切のドキュメントを残しています。でないと、担当者が変わるときはもちろんのこと、再度インストールが必要な場面で、またふりだしに戻ってしまいますから。ドキュメントを残すことで2度目からは楽々インストールとなっています。

ソースファイルからRPMファイルを作成することもできますが、私はまだ実施していません。(リンクも参考にしてください)

2008年02月19日 08時59分

回答

技術者のこだわりしか思い浮かばないのですが。

いつもは質問君ですが、いちエンジニアとして
これはちょっとどうかと思うので突っ込ませて下さい。

neuroさんと同じく、

・リリースされているRPMが古く、欲しい機能が使えない場合。

・欲しいパッケージがRPMにない場合。

に加え、ソースからコンパイルする場合は
configureオプションによって多様なカスタマイズが可能というメリットがあります。

こだわりではなく、必要に迫らせて行っているという理解が正しいのでは?
--prefixで同一アプリでも複数のバージョンをインストールすることができるので、
メンテも非常に楽ですし。

しかも、この場合どのようにインストール、設定変更したか
ドキュメントがまったくなく、担当者がいなくなると
メンテが不可能に近いものがあります。

これはある程度Linuxを触っていると自然とわかってくると思います。
仕事でやっているとドキュメントがないマシンはよく見かけます。
/usr/local直下、設定ファイルなど確認すれば100%まではいかないにしろ、
ほぼ仕様は判るのではないでしょうか。
動作しているプロセスを確認する等、ヒントは数多くマシンに眠っています。

メンテが不可能というのはご自身にスキルが全く無いと言っているのと同じことですよ。
テストマシンを用意してソースコンパイルを試したりと、色々確認することは出来るはずです。

そういった環境からドキュメントを作っていく機会の多い人間から言うと、
Linux管理者にはソースコンパイルの知識は必要不可欠です。

厳しいことを言っていると思いますが、
あきらめずにやればきっと理解できるようになるはずです。
頑張ってください。

2008年02月23日 01時39分

あなたもコメントしましょう!