雲のメモ帳

猫とクラウドと旅行が好きなインフラエンジニアです。 日々の調べたことや興味が持ったことをこのブログにアウトプットします。

パッケージインストールとソースインストールの違い

こんにちは。
前回phpをパッケージインストールしたのですが、パッケージインストールとソースインストールの明確な違いを理解していなかったので、調べてみました。
前職では、ほぼWindowsServerしか触ったことなかったので、Linuxの基礎から学びます。

目次

  1. パッケージインストールとソースインストールとは
  2. パッケージインストールとソースインストールのメリット、デメリット

1. パッケージインストールとソースインストールとは

そもそもパッケージインストールとソースインストールの違いがわかってなかったので、調べてみた。 わかりやすく解説しているサイトがあったので、引用。

http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/linux/h_08-01.html

  • パッケージインストール

パッケージを利用する方法は既に利用する環境に合わせてコンパイルされているものをインストールする方法です. この方法の多くはパッケージ管理ツールと言うものを利用し, インストールするソフトウェアが必要としている別のソフトウェアなどがインストールされているかという確認を行ってくれてます. また管理ツールを利用するとインストールしたソフトウェアの環境を管理してくれますのでアンインストールなども容易で, 関連するファイルも全て処理してくれます.

利用する環境に合わせてコンパイルされているものがrpmパッケージですね。 導入するOSによってrpmパッケージがわかれているのは、環境に合わせてすでにコンパイルされているのが理由だったのですね。

  • ソースインストール

 ソースからコンパイルする方法はソフトウェアのプログラムを自分のコンピュータでコンパイルする方法で, 利用環境にあった動作を行う実行ファイルを作成できます. この方法はほとんどの UNIX系の OS で共通にインストールできる方法です. ただし, コンパイルするための環境がコンピュータに用意しておく必要があり, インストールされたファイルは各自で管理しなければいけません.

パッケージのようにすでにコンパイルされているわけではないので、自分でコンパイルする必要があるのですね。
パッケージ化されていないソフトのインストールはソースインストールする必要がありそう。
ソースインストールは、ファイルを自分で管理しないといけないので、アップデートやアンインストールをするときに手間がかかりそう。依存関係も意識しないといけないので、レベル高め。

2.パッケージインストールとソースインストールのメリット、デメリッ

それぞれのメリット、デメリットも抑えたほうが良さそうなので、調べてみた。

メリット デメリット
ソースインストール インストールオプションを指定できる。最新版が利用できる。インストールディレクトリを変更できる(複数バージョンを混在させられる)。 インストールに時間がかかる。エラー時にソースやライブラリアンに関する知識が要求される。
パッケージインストール 手軽にインストールできる。依存関係のパッケージも自動的にインストールしてくれる。 最新版が使えない。インストールオプションが指定できない。

複数のバージョンを使い分ける時は、ソースインストールしないといけないのか。いろいろ調べてみたけど、ソースインストールは上級者向けの印象。
最新版をインストールできないとか問題もあるけど、ソースインストールするとアンインストールもままならないので、できることならパッケージインストールのほうがいいのかな。
安定版のバージョンを使うレベルで良いなら、パッケージインストールで事足りるはず。

以上となります。
ご指摘事項がありましたら、ご連絡お願いします。
もっと詳しく知りたい場合は、参考をご参照ください。

参考

参考にさせていただきました。

LinuxにPHPをインストールする方法は大きく2通りあると思います… - 人力検索はてな
http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/linux/h_08-03.html
yumとソースインストールのメリット・デメリット [遊びとお勉強の村]