7.1. ソースからのインストール
7.1.1. ソースの展開
Linuxのソフトウェアはアーカイブ形式で配布される。
アーカイブはtarコマンドで作成された後、gzip、bzip2、xzを使って圧縮される。
アーカイブの展開と回答は以下の通り。
tar zxvf [圧縮ファイル] # .gzの場合
tar jxvf [圧縮ファイル] # .bz2の場合
tar Jxvf [圧縮ファイル] # .xzの場合- .gzの場合 … gunzip、gzip
- .gzipの場合 … bunzip2、bzip2
- .xzの場合 … unxz、xz
アーカイブの中には以下の内容が含まれることが多い。
- ソースファイル … C言語などで書かれたソースコード
- ヘッダファイル … C言語のヘッダファイル
- configureファイル … コンパイルに必要な環境をチェックするスクリプト
- ドキュメント … インストールの手順/注意事項が書かれたファイル
ソースファイルが含まれたアーカイブを展開した後、以下の手順でコンパイルからインストールを行う。
- ./configure
- make
- su (必要の場合)
- make install
なおインストール(make install )後にプログラムを起動するとき、環境変数LD_LIBRARY_PATHが正しく設定されていないと、プログラムの実行に必要な共有ライブラリを読み込むことができず、起動に失敗する事がある。
patchコマンド
差分ファイル(パッチファイル)を既存のソースコードに適用してソースコードをバージョンアップするコマンド。
patch [オプション] < [パッチファイル]
cat [パッチファイル] | patch [オプション]| オプション | 説明 | 
|---|---|
| -d ディレクトリ | 指定したディレクトリに移動して処理を行う | 
| -p | パッチファイル内に書かれたパス名を修正する(-p0: パス名を修正しない, -p1: 最後の/まで削除する, -p2: 次のディレクトリまで削除する) | 
| -C | どういう処理を行うかテストする | 
| -R | パッチの適用を取り消して戻す | 
7.1.2. Makefileの作成
Makefileはconfigureスクリプトにより、プログラムをコンパイルする際に必要な寛容をチェックし環境に合わせたファイル。
カレントディレクトリにあるスクリプトの実行はファイル名に./を付ける。
なおconfigureの主なオプションは以下の通り。
| オプション | 説明 | 
|---|---|
| –help | 説明を表示する | 
| -prefix=ディレクトリ | インストール先のトップディレクトリを指定する | 
7.1.3. コンパイルとインストール
makeコマンド
Makefileに従ってソースコードをコンパイル、リンクするコマンド。
なおコンパイル後はsudo make installでインストールする。
この際のinstallはターゲットと呼ばれる。
make [オプション] [ターゲット]| オプション | 説明 | 
|---|---|
| -C ディレクトリ | 指定したディレクトリに移動してから処理を実行する | 
| –file=ファイル | Makefileを指定する | 
| -j N | 同時にNのジョブを並行して実行する | 
またmakeのターゲットは以下のようなものがある。
| ターゲット | 説明 | 
|---|---|
| all | コンパイルを行う(デフォルト) | 
| install | ソフトウェアのインストール | 
| uninstall | アンインストールする | 
| clean | コンパイル時に生成された一時ファイルを削除する | 
なおインストールしたものは/usr/local/binや/usr/localsbinなどに配置された。