仕事でソースインストールされた環境にパッケージを追加した(それがphpizeの記事)が、そもそもソースインストールされた環境とyumを使用した環境の違いが気になり、調べたのでまとめる。
結論
この辺のことはググるとたくさん出てくる。
一番わかりやすかったのが下記の記事。
yumとソースインストールのメリット・デメリット [遊びとお勉強の村]
上記の記事からの引用だが、それぞれのメリット/デメリットを記載する。
yum
- メリット
- インストール・アンインストールが1コマンドで実行できる
- パッケージがアップデートされているかも簡単にわかる
- とにかく時間がかからない
- 関連するパッケージもまとめてインストールできる
- パッケージをインストールしたかどうかも分かる
- デメリット
- OSによっては最新パッケージを利用できない
- postgres9.2がリリースされても、fedoraがサポートしなければアップデートできない
- 新旧バージョンが共存できない
- php5.3と5.4が共存できない
- 使わなさそうな機能までインストールされる
- 特にPHPは様々なパッケージと関連性があるが、MySQLを使わないのにそれが外せなかったりする
ソースインストール
- メリット
- 新旧バージョンが共存できる
- 使う機能だけインストールできる
- OSに依存せず最新パッケージ(あるいはダウングレード)が使える
- デメリット
- インストールが面倒、アンインストールもコマンド単位ではほぼできない
- prefixを使って一つのディレクトリにインストールしておき、アンインストールはそのディレクトリを消す方法もある
- 関連するパッケージをちまちま手動でインストールしなければいけない
- 逆に、一度ソースでインストールしたパッケージが、次にそれと関連するパッケージをインストールしようとしたとき、強制的にソースでインストールすることになる
- Apacheをソースでインストールすると、それと関連するSubversionもソースでインストールしなくてはいけない
(引用ここまで)
特に「一度ソースでインストールしたパッケージが、次にそれと関連するパッケージをインストールしようとしたとき、強制的にソースでインストールすることになる」ことに注意。
(おそらく)ソースインストールでコンパイルされたプログラムは、あくまでコンパイルした環境に合わせている。そのため別環境でコンパイルされたyumが管理するパッケージファイル(rpmファイル)とは異なるため、関連パッケージも自分の手でインストールする必要がある。(ということかと思っている。。。)
参考
引用箇所以外に参考にした記事。
08.rpmインストールとソースコードインストールの違い Linux基礎学:UNIX/Linuxコマンド Topics Linux初心者のためのサイト