Linuxでソースファイルをビルドしてソフトウェアをインストールする方法

Linuxでソースファイルをビルドしてソフトウェアをインストールする方法

Linux環境で利用できるソフトウェアは、yumやrpmといったコマンドで簡単にインストールできるパッケージとして提供されているタイプと、ソースコードを自分のマシンでコンパイルしてインストールするタイプがあります。

パッケージタイプのソフトウェアではインストールはそれほど難しくはありませんが、ソースインストールはいくつかの作法的な手順を実行してインストールする必要があり、敷居が高いと感じている方もいらっしゃるでしょう。

そこでここでは、Redhat互換のLinuxでソフトウェアをソースからインストールする一般的な手順を紹介します。

アーカイブを入手する

ソースプログラムを含んだアーカイブを入手する場合、一般的にはインターネットからダウンロードすることが多いでしょう。

インターネットからアーカイブを入手するときは、wgetコマンドを使ってダウンロードするとよいでしょう。

# wget <ダウンロードURL>

アーカイブを展開する

アーカイブには以下のようなファイルが含まれており、tarとgzipコマンドなどを使ってまとめて圧縮されていることが多くので、まずは入手したアーカイブファイルをtarコマンドを使って展開します。

  • ソースファイル
  • ヘッダファイル
  • configureファイル
  • ドキュメント
# tar zxvf <アーカイブファイル>

Makefileを作成する

アーカイブを展開したら、展開したディレクトリに保存されているconfigureスクリプトを実行して、Makefileを作成します。

# cd software
# ./configure

configureスクリプトでは、プログラムをコンパイルするのに必要な環境(コンパイラ、ライブラリ、ユーティリティー、依存関係など)をチェックして、環境に合わせたMakefileを生成してくれます。

なお、configureスクリプトの実行結果でエラーや警告が発生した場合Makefileは生成されないので、その場合はエラーや警告の内容の従い必要な対処を行ってから、再度configureスクリプトを実行します。

また、configureスクリプトではインストール先ディレクトリを指定するなど、さまざまなオプションが用意されています。どのようなオプションが利用できるかは「./configure --help」と入力することで確認できます。

コンパイルとインストールを実行する

Makefileが生成されたら、makeコマンドを実行して、ソースコードをコンパイルして実行可能なファイルを生成します。

# make

次にmake installコマンドで、コンパイルした実行可能なファイルなどを適切なディレクトリにインストールします。

# make install

インストールされたソフトウェアは、一般的には「/usr/local/bin」や「/usr/local/sbin」などでに配置されます。

なお、コンパイル時に生成された一時ファイルを削除するときはmake cleanコマンドを実行します。

# make clean

あとがき

ソフトウェアによっては、ソースでしか提供されていないケースや特定のモジュールを組み込むためにソースからのインストールが必要になるケースがあるので、そのようなときの参考になれば幸いです。