apt-get を使ってソースから deb パッケージを作成してインストールする
大まかな流れ
- build-essential のインストール(初回のみ)
- 依存関係の確認
- 依存関係にあるパッケージの用意
- インストールするパッケージのソースを取得する
- ソースコードから生成された deb パッケージをインストールする
という作業になる。
前準備
# mkdir git-temp # cd git-tmp
ソースコードから deb パッケージを生成するための作業ディレクトリを作成しておくと、インストール後に中間ファイルの削除などが簡単になる。
今回は、git をソースからインストールするので、git-temp という名称のディレクトリを作成する。
パッケージの依存性の確認
インストールしたいパッケージが依存しているパッケージを確認する。
# 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) ...