[ 前のページ ] [ 目次 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 次のページ ]


APT HOWTO (Obsolete Documentation)
第 4 章 - とても便利な補助プログラム


4.1 ローカルでコンパイルされたパッケージのインストール方法: equivs

Debian パッケージ化されていない、ソースコードのみ利用可能な特定バージョンの プログラムのを使いたい場合があるでしょう。しかし、これをやるとパッケージング システムがトラブルを起こすことがあります。電子メールサーバの新バージョンを コンパイルしたいと想像してみてください。全てうまくいきましたが、Debian の 多くのパッケージは MTA に依存しています。自分でコンパイルしたものをインス トールしても、パッケージシステムはその事に気づいてくれません。

ここで equivs が登場する番です。使うには、同名の パッケージをインストールしてください。同パッケージが行なうのは、依存関係を 満たせる空のパッケージを生成することで、これによりパッケージングシステムに 依存関係が満たされていると信じ込ませます。

さっそく始める前に、Debian パッケージが存在するプログラムを、異なる オプション付でコンパイルするもっと安全な方法があり、自分がしていることを 理解できないのなら、依存関係を置き換えるのに equivs を使うべきではないと いうことは、覚えておいた方がよいでしょう。より詳しい情報は、 ソースパッケージでの作業, 第 6 章 のセクションを参照してください。

MTA を例にして話を続けましょう。あなたは新たにコンパイルした postfix を インストールしたばかりで、今度は mutt をインストール しようとしています。突然、mutt が他の MTA をインス トールしたがっているのを発見しました。ですが、あなたには自分用の MTA が すでにあります。

(たとえば /tmp などの) ディレクトリへ移って、次のように 実行してください:

     # equivs-control name

name の箇所は、生成したいコントロールファイル名で置き換えて ください。以下のようにファイルが生成されるでしょう:

     Section: misc
     Priority: optional
     Standards-Version: 3.0.1
     
     Package: <enter package name; defaults to equivs-dummy>
     Version: <enter version here; defaults to 1.0>
     Maintainer: <your name and email address; defaults to username>
     Pre-Depends: <packages>
     Depends: <packages>
     Recommends: <packages>
     Suggests: <package>
     Provides: <(virtual)package>
     Architecture: all
     Copyright: <copyright file; defaults to GPL2>
     Changelog: <changelog file; defaults to a generic changelog>
     Readme: <README.Debian file; defaults to a generic one>
     Extra-Files: <additional files for the doc directory, comma separated>
     Description: <short description; defaults to some wise words>
      long description and info
      .
      second paragraph

これを望む通りに修正する必要があるだけです。フィールドのフォーマットと、 その説明を眺めてください。各々について、ここで説明する必要はないでしょう。 さあ、必要なことをやってしまいましょう。

     Section: misc
     Priority: optional
     Standards-Version: 3.0.1
     
     Package: mta-local
     Provides: mail-transport-agent

そう、これで終わりです。muttmailt-transport-agent に依存しており、これはあらゆる MTA によって 提供される仮想パッケージです。単純にパッケージ名を mailt-transport-agent とすることもできますが、著者は Provides を使って 仮想パッケージの概要を示す方が好みです。

あとはパッケージを構築するだけです:

     # equivs-build name
     dh_testdir
     touch build-stamp
     dh_testdir
     dh_testroot
     dh_clean -k
     # Add here commands to install the package into debian/tmp.
     touch install-stamp
     dh_testdir
     dh_testroot
     dh_installdocs
     dh_installchangelogs
     dh_compress
     dh_fixperms
     dh_installdeb
     dh_gencontrol
     dh_md5sums
     dh_builddeb
     dpkg-deb: building package `name' in `../name_1.0_all.deb'.
     
     The package has been created.
     Attention, the package has been created in the current directory,

そして、出来あがった .deb をインストールしてください。

お判りのように、equivs には様々な使用法があります。たとえば、 あなたがいつもインストールするプログラムに依存する my-favorites パッケージを 生成することさえ可能です。自由に想像力の翼を拡げてかまいませんが、用心は してください。

/usr/share/doc/equivs/examples 内にコントロールファイルの見本が ありますので忘れないように。それらをチェックしてください。


4.2 使用されていない locale ファイルを削除: localepurge

多くの Debian ユーザは、たった 1 種類の locale しか使っていません。たとえば ブラジルの Debian ユーザなら、普段は常に pt_BR という locale を 使うでしょう。

localepurge は、これらのユーザにとって非常に役に立つ ツールです。本当に使う locale のみを残すことにより、大量のディスク容量を 節約できます。さあ、apt-get install localepurge してください。

設定はとても簡単で、debconf の質問に沿って順序通りに設定していきます。ですが 最初の質問には慎重に答えてください。間違って答えてしまうと、あなたが使いたい ものも含めて全ての locale ファイルが削除されるかもしれません。ファイルを復活 させる手段は、それらを提供するパッケージを再インストールするしかありません。


[ 前のページ ] [ 目次 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 次のページ ]


APT HOWTO (Obsolete Documentation)

1.7.6 - 2002 年 1 月

Gustavo Noronha Silva kov@debian.org