Ubuntu Weekly Recipe

第16回 パッケージの使いこなし:必要なファイルの含まれるパッケージの探し方, Debianパッケージの流用

この記事を読むのに必要な時間:およそ 3 分

Ubuntuはパッケージによってソフトウェアを管理しています。今回は,必要なファイルが含まれるパッケージの探し方と,どうしても使いたいソフトウェアが存在しない場合の「裏技」を紹介します。

必要なファイルの含まれるパッケージの探し方

packages.ubuntu.comの利用

あるファイルが含まれているパッケージを探したい場合(たとえば,「libssl.soがどのパッケージに含まれているのか知りたい」場合),http://packages.ubuntu.com/を利用するのが手軽です。

このサイトのトップページ中程にある,"Search the contents of packages"という検索ボックスを利用してください。このページにはいくつかの検索ボックスがありますので,誤って"Search package directories"などを利用しないように注意してください。

図1 "Search the contents of packages"

図1 

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

図2 検索結果

図2 検索結果

apt-fileの利用

apt-fileは次のように利用します。なお,同様のコマンドラインベースでの検索は第14回で紹介したauto-aptでも行えます。

apt-fileパッケージをインストールし,データベース更新のために,apt-file updateを行います。

・apt-fileのインストール
$ sudo apt-get update
$ sudo apt-get install apt-file

・データベースの更新
$ sudo apt-file update

なお,8.04を利用している場合,以下のようにupdates・security・backportsについてはContentsファイルが取得できません。これらのファイルはまだ存在しませんので,これは正常な動作です。いずれupdates・security・backportsに属するパッケージがリリースされた時点で取得できるようになります。

$ 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)を元に開発されています。このため,Ubuntuに存在しない最新版のパッケージなどは,Debianのものを流用することが不可能ではありません。ここでは一種の「裏技」として,Debianパッケージを流用して利用する手順を紹介します。

※注意:

Debianパッケージを流用することは,本来想定されていない行動です。予想外のバグに遭遇する可能性がありますので,やむを得ない場合にのみ行ってください。

また,Debianのバイナリパッケージを「そのまま」インストールしてはいけません。バイナリパッケージをそのまま流用することを防ぐ機構は用意されていませんので,ユーザ側で注意する必要があります。debian.orgなどからdebianパッケージをダウンロードしてインストールしてしまった場合,多くはうまく動いてしまうか,悪くても起動した瞬間にクラッシュする程度で済むこともありますが,最悪の場合は不正な依存関係により,システムを破壊するおそれすらあります。

著者プロフィール

吉田史(よしだふみひと)

Ubuntu Japanese Team Member株式会社創夢所属。システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。

コメント

コメントの記入