apt-get を使ってソースから deb パッケージを作成してインストールする

大まかな流れ

  1. build-essential のインストール(初回のみ)
  2. 依存関係の確認
  3. 依存関係にあるパッケージの用意
  4. インストールするパッケージのソースを取得する
  5. ソースコードから生成された deb パッケージをインストールする

という作業になる。

前準備

# mkdir git-temp
# cd git-tmp

ソースコードから deb パッケージを生成するための作業ディレクトリを作成しておくと、インストール後に中間ファイルの削除などが簡単になる。
今回は、git をソースからインストールするので、git-temp という名称のディレクトリを作成する。

開発環境のインストール

ソースから deb パッケージを生成するために必要なコマンドをインストールする。

# apt-get install build-essential

パッケージの依存性の確認

インストールしたいパッケージが依存しているパッケージを確認する。

# apt-get -s install git
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
  git
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Inst git (4.3.20-10 Debian:4.0r5/stable)
Conf git (4.3.20-10 Debian:4.0r5/stable)

依存するパッケージをインストールする

コマンドの書式は「apt-get build-dep パッケージ名」となる。

# apt-get build-dep git
Reading package lists... Done
Building dependency tree... Done
Note, selecting libncurses5-dev instead of libncurses-dev
The following NEW packages will be installed:
  autotools-dev debhelper gettext html2text intltool-debian libncurses5-dev
  libreadline5-dev po-debconf
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 4618kB of archives.
After unpacking 15.4MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
(後略)

インストールするパッケージのソースを入手する

コマンドの書式は「apt-get -b source パッケージ名」となる。

# apt-get -b source git

生成された deb パッケージをインストールする

生成された deb パッケージ名を確認する。

# ls -l
drwxrwxrwx 8 root root   4096 2008-12-03 20:43 git-4.3.20
-rw-r--r-- 1 root root 389794 2006-08-21 22:32 git_4.3.20-10.diff.gz
-rw-r--r-- 1 root root    653 2006-08-21 22:32 git_4.3.20-10.dsc
-rw-r--r-- 1 root root    595 2008-12-03 20:43 git_4.3.20-10_i386.changes
-rw-r--r-- 1 root root 266822 2008-12-03 20:43 git_4.3.20-10_i386.deb
-rw-r--r-- 1 root root 426648 2000-03-19 04:54 git_4.3.20.orig.tar.gz

今回は「git_4.3.20-10_i386.deb」が生成したパッケージ名となる。
パッケージをインストールする。コマンドの書式は「dpkg -i パッケージ名」となる。

# dpkg -i git_4.3.20-10_i386.deb
Selecting previously deselected package git.
(Reading database ... 25131 files and directories currently installed.)
Unpacking git (from git_4.3.20-10_i386.deb) ...
Setting up git (4.3.20-10) ...

インストールされたかを確認する

# which git
/usr/bin/git

このインストールされた deb パッケージは apt-get のコマンドを介してアンインストールなどが可能になる。