Ubuntuはパッケージによってソフトウェアを管理しています。今回は、
必要なファイルの含まれるパッケージの探し方
packages.ubuntu.comの利用
あるファイルが含まれているパッケージを探したい場合
このサイトのトップページ中程にある、

検索結果は次のように表示されます。

apt-fileの利用
apt-fileは次のように利用します。なお、
apt-fileパッケージをインストールし、
・apt-fileのインストール $ sudo apt-get update $ sudo apt-get install apt-file ・データベースの更新 $ sudo apt-file update
なお、
$ sudo apt-file update Can't get http://ubuntutym.u-toyama.ac.jp/ubuntu/dists/hardy-updates/Contents-i386.gz Can't get http://ubuntutym.u-toyama.ac.jp/ubuntu/dists/hardy-updates/Contents-i386.gz Can't get http://ubuntutym.u-toyama.ac.jp/ubuntu/dists/hardy-updates/Contents-i386.gz Can't get http://archive.canonical.com/ubuntu/dists/hardy/Contents-i386.gz Can't get http://ubuntutym.u-toyama.ac.jp/ubuntu/dists/hardy-security/Contents-i386.gz Can't get http://ubuntutym.u-toyama.ac.jp/ubuntu/dists/hardy-security/Contents-i386.gz Can't get http://ubuntutym.u-toyama.ac.jp/ubuntu/dists/hardy-security/Contents-i386.gz Can't get http://ubuntutym.u-toyama.ac.jp/ubuntu/dists/hardy-backports/Contents-i386.gz
apt-fileパッケージは次のように利用します。
$ apt-file search libssl.so libssl-dev: /usr/lib/libssl.so libssl0.9.8: /usr/lib/i486/libssl.so.0.9.8 libssl0.9.8: /usr/lib/i586/libssl.so.0.9.8 libssl0.9.8: /usr/lib/i686/cmov/libssl.so.0.9.8 libssl0.9.8: /usr/lib/libssl.so.0.9.8 libssl0.9.8-dbg: /usr/lib/debug/usr/lib/i486/libssl.so.0.9.8 libssl0.9.8-dbg: /usr/lib/debug/usr/lib/i586/libssl.so.0.9.8 libssl0.9.8-dbg: /usr/lib/debug/usr/lib/i686/cmov/libssl.so.0.9.8 libssl0.9.8-dbg: /usr/lib/debug/usr/lib/libssl.so.0.9.8
Debianパッケージの流用
UbuntuはDebianの不安定版(unstable)を元に開発されています。このため、
※注意:
Debianパッケージを流用することは、
また、
最初に、
$ sudo apt-get update $ sudo apt-get install fakeroot build-essential dpkg-dev devscripts
また、
# Debian packages
deb-src http://ftp.jp.debian.org/debian unstable main contrib
パッケージの検証に利用する公開鍵を取得します。
gpg --recv-key --keyserver wwwkeys.eu.pgp.net C4C7264B gpg --export C4C7264B | sudo apt-key add -
この状態でapt-get updateを行うと、
ヒット http://ftp.jp.debian.org unstable Release.gpg ヒット http://ftp.jp.debian.org unstable Release ヒット http://ftp.jp.debian.org unstable/main Sources ヒット http://ftp.jp.debian.org unstable/contrib Sources
以下のような手順でapt-get sourceコマンドでパッケージを取得することで、
apt-get sourceを行うことでカレントディレクトリにdsc・
$ mkdir -p ~/src/deb/ $ cd ~/src/deb/ $ apt-get source jd パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 509kB のソースアーカイブを取得する必要があります。 取得:1 http://ftp.jp.debian.org unstable/main jd 1:1.9.9-080415-2 (dsc) [1142B] 取得:2 http://ftp.jp.debian.org unstable/main jd 1:1.9.9-080415-2 (tar) [497kB] 取得:3 http://ftp.jp.debian.org unstable/main jd 1:1.9.9-080415-2 (diff) [10.2kB] 509kB を 0s で取得しました (1696kB/s) dpkg-source: extracting jd in jd-1.9.9-080415 dpkg-source: unpacking jd_1.9.9-080415.orig.tar.gz dpkg-source: applying ./jd_1.9.9-080415-2.diff.gz
ビルドを行うためには多くのライブラリが必要になりますが、
$ sudo apt-get build-dep jd
ビルドに必要なパッケージが整ったら、
ビルドが終了したら、
$ cd jd-1.9.9-080415/ $ debuild -r fakeroot $ cd .. $ ls *deb jd_1.9.9-080415-2_i386.deb
ビルドされたパッケージは、
$ sudo dpkg -i jd_1.9.9-080415-2_i386.deb
自動的なビルド&インストール
上述の操作はapt-get sourceコマンドに "--compile" オプションを与えることで、
日常的にDebianからパッケージを流用する場合は、
$ sudo apt-get source --compile jd $ ls -altr *deb (ビルドされたパッケージ名を確認) $ sudo dpkg -i jd_1.9.9-080415-2_i386.deb
なお、
$ sudo apt-get remove jd
より適切な運用はUbuntu用にパッケージの一部をカスタマイズし、