[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

apt-howto 2.0



田村です。

apt-howto のバージョン 2.0 を訳しました。かなりボリュームが
ありますが、皆さんに査読頂きたくお願いします。
なお、前バージョンと同一の箇所などは、原文が削除されています。

-- 
田村 一平 <ippei1@xxxxxxxxxxxx>
Debian Description Translation Project [DDTP] 
日本語チームコーディネータ
http://www.debian.or.jp/devel/doc/Description-ja.html


<!doctype debiandoc system>
<debiandoc>

<book>

<title>APT HOWTO</title>

<author>
<name>Gustavo Noronha Silva</name> <email>kov@debian.org</email>
</author>

<version>2.0.0 - 2005 年 9 月</version>

<abstract>
この文書は、Debian のパッケージ管理ユーティリティである APT の働きについて、
ユーザに深く理解してもらうことを意図しています。その目的は、新しい Debian
ユーザの生活を楽にしたり、システム管理について理解を深めたいと願う人の手助けと
なることです。Debian ユーザが得られるサポートを改善する目的で、Debian プロ
ジェクトのために作成されました。
</abstract>

<copyright>
<copyrightsummary>
Copyright &copy; 2001, 2002, 2003, 2004, 2005 Gustavo Noronha Silva
</copyrightsummary>
<p>
This manual is free software; you may redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
</p>

<p>
This is distributed in the hope that it will be useful, but without
any warranty; without even the implied warranty of merchantability or
fitness for a particular purpose. See the GNU General Public License
for more details.
</p>

<p>
A copy of the GNU General Public License is available as
/usr/share/common-licenses/GPL in the Debian GNU/Linux distribution or
on the World Wide Web at the GNU General Public Licence. You can also
obtain it by writing to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA.
</p>
</copyright>

<toc>

<chapt>はじめに
<p>
初めに .tar.gz ありき。ユーザたちは、自分の GNU/Linux システムで使いたい
プログラムごとにコンパイルしなければなりませんでした。Debian が作られた時、
マシンにインストールされたパッケージの管理機能を備えたシステムが必要だと
考えられました。<prgn>dpkg</prgn> というのが、そのシステムに与えられた名前です。
有名な 'パッケージ' というものは、こうして Debian に初めてもたらされたのです。
それは Red Hat が、独自の rpm システムを作ろうと決断した少し前のことでした。

<p>
すぐに新たなジレンマが、GNU/Linux 製作者たちの心中に生まれました。
彼らが必要としているのは、パッケージ間の依存関係を自動的に管理し、
アップグレート中でも設定ファイルに注意を払ってくれる、高速で、実用的な、
効率の高い方法だったのです。ここでもまた、Debian が道を切り開いて APT
 - Advanced Packaging Tool - を産み出しました。APT はそれから Conectiva によって 
rpm でも使えるよう移植され、それ以外のディストリビューションにも適合するように
なりました。

<p>
本マニュアルでは、Conectiva による APT の移植である apt-rpm には触れません。
しかしその目的のための本文書への "パッチ" は歓迎します。

<p>
本マニュアルは、2005 年 8 月 31 日現在の次期 Debian リリースである <tt>Etch</tt> に
基づいています。
</p>

<sect id="terminology">基本用語と概念

<p>
以下に挙げるのは、本マニュアルで目にすることになるいくつかの基本用語と概念です。
<p>
<strong>APT ソース</strong>: APT ソースは、Debian パッケージのリポジトリとして
機能する場所 (通常インターネット、あるいは CD-ROM その他) です。<ref id="sources.list"> を参照。
</p>
<p>
<strong>APT ソース行</strong>: APT ソース行 (ソースライン) は、利用したい "APT ソース" を
APT に伝えるために、設定ファイルに追加する行です。<ref id="sources.list"> を参照。
<p>
<strong>バイナリパッケージ</strong>: バイナリパッケージは、パッケージマネージャ (dpkg) に
よってインストールされるよう用意されている <tt>.deb</tt> ファイルです。たいていはバイナリ
ファイルを含んでいますが、アーキテクチャ非依存のデータだけを持つこともあります——いずれに
せよこれらはバイナリパッケージと呼ばれます。
<p>
<strong>Debian ネイティブ</strong>: Debian のために特別に作成されたパッケージです。この種の
パッケージは通常、オリジナルソースに Debian コントロールファイルを含んでおり、パッケージの
各新バージョンは、オリジナルのプログラムまたはデータの新バージョンでもあります。
</p>
<p>
<strong>Debian 化 (debianize)</strong>: "Debian で利用できるよう準備する"、あるいはより単純に
<tt>.deb</tt> フォーマットにパッケージ化するという意味で使われる動詞です。
<p>
<strong>ソースパッケージ</strong>:  ソースパッケージは、実際のところ、deb ソースフォーマットを
形成する 2〜3 個のファイルのセットを指す抽象的な定義です。<tt>.dsc</tt> ファイルはパッケージに
ついての情報を格納します。<tt>.orig.tar.gz</tt> ファイルはパッケージのオリジナルアップストリーム
のソースを格納します。.orig のない、<tt>.tar.gz</tt> というだけの名前のファイルを見かけることが
あるかもしれません。これは、Debian ネイティブパッケージです。<tt>.diff.gz</tt> ファイルは、
パッケージとして "Debian 化" する際、オリジナルソースに対して行われた変更を携えています。Debian
ネイティブパッケージではこの種のファイルが見つからないはずです。
<p>
<strong>アップストリーム</strong>: この単語は、通常、ソフトウェアあるいはデータのオリジナルの
開発者から提供される何か、あるいは開発者自身を意味します。
<p>
<strong>仮想パッケージ</strong>: 仮想パッケージは、実際には存在しないけれども、いくつかの特定の
パッケージで "提供 (provided)" される一般的なサービスとなるパッケージです。-- 最も身近な例は、
MTA<footnote>MTA は Mail Transport Agent -- 通常、メールを送受信するサーバです。</footnote> を
必要とするパッケージに対し、ユーザが利用したいと選んだ MTA を保持しつつ依存関係を満たしてくれる
<package>mail-transport-agent</package> パッケージです。
</sect>
</chapt>

<chapt id="archive-layout">Debian アーカイブの概要

<sect id="archive:suites">Debian スイートの概要

<p>
Debian の開発は、"スイート" と呼んでいる、3つのメイン "ツリー" を持つモデルでできています。
安定版 (stable) スイートは、Debian の最新リリースバージョンです。テスト版 (testing) スイート
は、理論上は「常にリリース準備のできている」バージョンで、パッケージは不安定版ブランチから、
すべてのアーキテクチャで構築され致命的な問題の報告なく 10 日間経過したものが入ります。
不安定版 (unstable) スイートは、開発の行なわれる場所です。すべての新しいパッケージは、リリース
可能かどうかテストされるために不安定版に入り、最終的にテスト版に向かいます。
</p>

<p>
安定版スイートは、パッケージの新しいバージョンを受容することは決してありません。
セキュリティまたは致命的な問題を修正した新しいリビジョンだけが受け取られます。
安定版は、安定であり続けること、つまり設定や管理しているソフトウェアの振舞いが
変わることを管理者は期待していないということです。
</p>

<p>
多くのツールで通常のものとはまったく異なる扱いをされるもう1つのスイートがあります。
すなわち、experimental スイートです。
まず第一に、experimental は自己充足したスイートではありません。つまり、ここから単純に
インストールされたシステムを得ることはできず、通常は前述したうちのどれかのスイートと
ともに使う必要があるということです。たいていの場合は、不安定版が選択肢となります。
</p>

<p>
実際に各スイートのうちでも極めて実験的なので、異なる扱いがなされます。
メンテナが不安定版に入れるには壊れているまたは準備不足と思ったパッケージが、
恐い物知らずのメンテナによって広くテストされるために experimental にやってきます。
本当に開発を助けたいと思っていて、それを利用したことによる責任を自分で負える
というのでなければ、experimental を使わないでください。
</p>
</sect>

<sect id="archive:suites:sections">Debian セクション
<p>
Debian リポジトリの各スイートは、通常、1つ以上のセクションで構成されています。
これらの名前と目的は、配布者によって千差万別です。Debian 自身は、3つのセクションを
持っています。main、contrib、non-free です。
</p>

<p>
<tt>main</tt> セクションは、公式な Debian です。
<url
id="http://www.debian.org/social_contract#guidelines"; name="Debian
フリーソフトウェアガイドライン"> (DFSG)  に準拠するソフトウェアで、
依存対象が DFSG に準拠するソフトウェアのもののみが、<url id="http://www.debian.org/social_contract";
name="社会規約"> に従ってアーカイブのこのセクションに入ります。
これらの文書を通して、main セクションにはこれらに従ったソフトウェアだけを
許可していることを確約することで、Debian は、ユーザが main からソフトウェアを
インストールするときに信頼するに足る、自由についての合理的で明確な基礎標準を提供します。
</p>

<p>
<!-- The <tt>contrib</tt> section is composed of DFSG-compliant software
which depend on non-DFSG-compliant software or data to work. The
<tt>non-free</tt> section is composed of software which do not conform
to the DFSG but may be distributed. You should check the license of
each software from non-free you want to install to evaluate if they're
good enough for you to accept. -->

<!-- <tt>contrib</tt> セクションは、DFSG 準拠のソフトウェアから成るものですが、動作する
上で非 DFSG 準拠のソフトウェアまたはデータに依存するものです。<tt>non-free</tt>
 セクションは、DFSG に準拠しないものの、配布は可能なソフトウェアから成るものです。
non-free からインストールするときには、それを受け入れるに十分だと評価するために、
各ソフトウェアのライセンスを確認してください。 -->
</p>
</sect>

<sect id="trustchain">APT's chain of trust
<sect id="trustchain">APT の信頼の連鎖
<p>
APT comes equipped with a cryptographic chain-of-trust that extends
from the debian developers to the end users.

APT は、Debian 開発者からエンドユーザへと拡がる暗号化された信頼の連鎖を
備えています。

<p>
The chain starts with the package maintainers who sign and upload
their packages.  Each signature is checked against the packager's key
which was uploaded when they became an official Debian developer.
This key was itself verified personally by other Debian
developers.

この連鎖は、パッケージに署名してアップロードしたパッケージメンテナから
始まります。各署名は、メンテナが公式の Debian 開発者となった際にアップ
ロードされた鍵と照合されます。この鍵自体は、他の Debian 開発者によって
私的に認証されています。

<p>
Once the uploaded package is verified as having been signed by the
maintainer, an MD5 sum of the package is computed and put in the
Packages file.  The MD5 sums of all of the packages files are then
computed and put into the Release file.  The Release file is then
signed by the archive key which is created once a year and distributed
by the FTP server.  This key is also on the Debian keyring.

アップロードされたパッケージがメンテナによる署名をされていることが証明
されると、そのパッケージの MD5 サム値が計算され、Packages ファイル内に
記述されます。全 Packages ファイルの MD5 サム値も計算され、Release 
ファイル内に記述されます。それから Release ファイルは年に一度作成される
アーカイブ鍵によって署名され、FTP サーバによって配布されます。この鍵も
また、Debian の鍵リングです。

<p>
Therefore, the end user, having added the archive key to his keyring ,
can check that the <tt>Release</tt> file was signed by the proper key,
the MD5 sums of all the <tt>Packages</tt> files, and the MD5 sums of
all the Debian packages.  APT automates this process:

したがってエンドユーザは、自分の鍵リングにアーカイブ鍵を追加すれば、
<tt>Release</tt> ファイルが正しい鍵で署名されているかどうかや、
全 <tt>Packages</tt> ファイルの MD5 サム値、全 Debian パッケージの
MD5 サム値をチェックすることができます。APT は、この処理を自動化して
くれます:

<p>
During update (see <ref id="update">), APT checks the signature of the
Release files by using its keyring (see <ref id="apt-key"> for
information on this) and the MD5 sums of the Packages files (which are
recorded in the Release files).

更新 (<ref id="update"> を参照) の間、APT はその鍵リング (詳しい情報は
<ref id="apt-key"> を参照) を使って、Release ファイルの署名と (Release
ファイル内に記録されている) Packagesファイルの MD5 サム値をチェックします。

<p>
During upgrade or installation of a package (see <ref id="upgrade">
and <ref id="install"> respectively) APT checks the MD5 sums of the
packages (which are stored in the Packages files).

パッケージのアップグレードやインストール (それぞれ <ref id="upgrade"> と
<ref id="install"> を参照) の間、APT は (Packages ファイル内に記録されている)
パッケージの MD5 サム値をチェックします。

<p>
If any of these steps fails, the user is warned, and the process
halts.

これらのステップのどこかで失敗すると、ユーザに警告が発せられて処理は
停止します。
</sect>

</chapt>

<chapt id="basico">基本的な設定

<sect id="sources.list">/etc/apt/sources.list ファイル
<p>
APT は操作の一部に、利用可能なパッケージの一覧である 'ソース' ファイルを
使用します。このファイルが <tt>/etc/apt/sources.list</tt> です。

<p>
このファイルには通常、以下のようなエントリがあります。

<p>
<example>
deb http://host/debian distribution section1 section2 section3
deb-src http://host/debian distribution section1 section2 section3
</example>

<p>
もちろん、上記は架空のものであって、そのままでは使えません。
各行の冒頭にある <tt>deb</tt> と <tt>deb-src</tt> は、アーカイブの種類を
示しています。つまり、通常使うコンパイル済みのパッケージであるバイナリ
パッケージ (<tt>deb</tt>)。それから、オリジナルのプログラムソースと Debian の
コントロールファイル (<tt>.dsc</tt>) 、およびプログラムを 'Debian 化' 
するのに必要な変更点を含んだ <tt>diff.gz</tt> から成るソースパッケージ
(<tt>deb-src</tt>) です。<ref id="sourcehandling"> を参照してください。

<p>
Debian のデフォルトの sources.list は通常、以下のようになっています。

<p>
<example>
deb http://http.us.debian.org/debian stable main
deb http://security.debian.org stable/updates main

#deb-src http://http.us.debian.org/debian stable main
#deb-src http://security.debian.org stable/updates main
</example>

<p>
以上は Debian の基本インストールに必要な行です。最初の <tt>deb</tt> 行は、
オフィシャルのアーカイブを示しています。2 行目は Debian セキュリティアップ
グレードのアーカイブです。

<p>
最後の 2 行はコメントアウトされて ('#' で始まって) いるので、APT はこれらを無視します。
これらは <tt>deb-src</tt> 行で、Debian のソースパッケージを指しています。
テストや再コンパイル目的でプログラムソースを頻繁にダウンロードするのなら、
これらの行のコメントを外してください。

<p>
<tt>/etc/apt/sources.list</tt> ファイルには、各種の行を混在させることが
できます。APT は <tt>http</tt>、<tt>ftp</tt>、<tt>file</tt> (ローカル
ファイル、たとえばマウントされた ISO9660 ファイルシステム中のディレクトリ
など)、<tt>ssh</tt> など、異なる種類のアーカイブにも対応できます。
</sect>
<p>
Remember: everytime you want to add a source for APT to grab packages
from this is the file you're going to edit. 

注意:パッケージを取得するために APT 用のソースを追加したいときは、
必ずこのファイルを編集してください。
</p>
<p>
Do not forget to update the list of packages after modifying
the <tt>/etc/apt/sources.list</tt> file, see <ref id="update">.  You
must do this to let APT know what packages are available from the
sources you specified.

<tt>/etc/apt/sources.list</tt> を修正した後は、パッケージ一覧を更新するのを
忘れないでください。詳しくは <ref id="update"> を参照してください。あなたが
指定したソースから入手可能なパッケージを APT に知らせるのに、必須な処理です。

</p>

</sect>

<sect id="apt-key">Authenticating packages
<sect id="apt-key">パッケージの認証
<p>
As of APT version 0.6, packages are authenticated to ensure that they
originate from the source that they claim to originate from.  This is
an optional security feature.  If the system can't authenticate the
package upon installation, it'll ask you whether or not you want to
abort the installation.

APT のバージョン 0.6 以降、確かなソースから作られたことを保証するために、
パッケージは認証されるようになりました。これはセキュリティ上の追加機能です。
インストール時にシステムがパッケージを認証できなければ、インストールを中止
するかどうかを尋ねてきます。

<p>
Since this authentication is based on cryptographic methods, APT
maintains it's own keyring.  Each of the entries in your
<tt>sources.list</tt> file will have a corresponding key. However, if
you're using unofficial APT sources, it's possible that a source
you're using won't be authenticated.  If this is the case, you should
encourage the maintainer of that source to implement authentication on
their site.

この認証は暗号化手法を元にしているため、APT は専用の鍵リングを保持して
います。<tt>sources.list</tt> ファイル内の各エントリごとに、対応する鍵を
持っています。しかしながら、非公式な APT ソースを使っているのなら、それが
認証されていない可能性もあります。この場合、当該ソースのメンテナに対して
彼らのサイトに認証を実装するよう勧めるべきでしょう。

<p>
To take advantage of this security feature, you need to add a key to
APT's keyring for each authenticated source.  This can be done with
GPG, but APT provides a tool, <prgn>apt-key</prgn>, which is a
simplified wrapper to GPG.

このセキュリティ機能を利用するには、認証済みのソースごとに鍵を APT のキー
リングに追加する必要があります。GPG を使えば可能ですが、APT は <prgn>apt-key</prgn>
というツールも提供しています。これは GPG に対するシンプルなラッパーです。

<p>
<prgn>apt-key</prgn> is easy to use.  The tricky part of this process
is getting a key for each of your sources, and making sure that you
can trust that key.

<prgn>apt-key</prgn> の使い方は簡単です。手順中で注意を要する箇所は、
各ソース用の鍵を入手することと、その鍵が信頼できるかどうかを確認する
ことです。

</p>

<p>
Debian's archive key will be installed in
<file>/usr/share/apt/debian-archive.gpg</file>, so you can simply use
that file to add the official archives' key to your APT keyring by
doing this:

Debian アーカイブの鍵は、<file>/usr/share/apt/debian-archive.gpg</file> に
インストールされます。よってこのファイルを使えば、以下のように実行するだけ
で APT の鍵リングに公式アーカイブの鍵を追加できます:

</p>

<p>
<example>
# apt-key add /usr/share/apt/debian-archive.gpg
</example>
</p>

<p>
For external, unofficial sources you'll need to find out where did
they provide their public key so that you can import it into your APT
keyring.

それ以外の非公式なソースの場合は、APT 鍵リングにインポートできるように、
当該ソースが提供している公開鍵を探さなければならないでしょう。

</p>

<p>
If you choose to disable the cryptographic checking of Release files
for some reason you can add the following to APT's configuration (see
<ref id="apt.conf">):

何らかの理由で Release ファイルの暗号チェックを無効にするには、APT の設定に
以下の記述を追加してください (<ref id="apt.conf"> を参照):

</p>
<p>
<example>
APT::Get::AllowUnauthenticated "true";
</example>
</p>
</sect>

<sect id="cdrom">sources.list ファイルに CD-ROM を追加する

<p>
APT を使ってパッケージをインストールしたり、システムを自動的にアップ
グレードするのに CD-ROM を使いたいのなら、それを <tt>sources.list</tt>
に記述することができます。そのためには、以下の例のように
<prgn>apt-cdrom</prgn> プログラムを使用してください。

<p>
<example>
# apt-cdrom add
</example>

<p>
ドライブに Debian の CD-ROM を入れておいてください。プログラムは
CD-ROM をマウントし、有効な Debian の CD であればパッケージに
関する情報を探します。CD-ROM の設定がやや変わっている場合でも、以下の
オプションを使うことができます。

<p>
<example>
-h           - ヘルプを表示
-d directory - CD-ROM のマウント位置
-r           - 認識された CD-ROM の名前変更
-m           - マウントを行なわない
-f           - 高速モード、package ファイルのチェックを行わない
-a           - 厳密スキャンモード
</example>

<p>
たとえば次のように:
<p>
<example>
# apt-cdrom -d /home/kov/mycdrom add
</example>

<p>
sources.list に追加することなしに、CD-ROM を識別させることもできます。

<p>
<example>
# apt-cdrom ident
</example>

<p>
このプログラムは CD-ROM が <tt>/etc/fstab</tt> 内で適切に設定
されている場合のみ動作することに注意してください。
</sect>
</chapt>

<sect id="apt.conf">The APT configuration file
<sect id="apt.conf">APT 設定ファイル
<p>
APT uses <file>/etc/apt/apt.conf</file> as its main configuration
file. Although, as you will find out, there's no file named like that
in a default install, you can safely create one and add your edits
there. If you prefer, there's a more modular way of handling
configuration: you can place individual files with whatever names you
choose into <file>/etc/apt/apt.conf.d/</file>.

APT は、主たる設定ファイルとして <file>/etc/apt/apt.conf</file> を使います。
ですがお気づきのように、デフォルトのインストール時にはそのようなファイルは
なく、安全に作成および編集することができます。望むなら、設定を行なうのにより
モジュール式な方法を採ることもできます: 任意の名前を付けた個別のファイルを
<file>/etc/apt/apt.conf.d/</file> 内に配置してください。

<p>
Beware of two facts when you choose the modular way: some Debian
packages will drop their configuration stuff into that directory, so
you have to try to prevent name clashes by, for example, adding a
<tt>-local</tt> suffix to the name. Also, the configuration is read
ordered by the file name, so you can add a number at the very
beginning of your filename to position it on the sequence. For
example, you can name it <tt>00000myconf-local</tt> if you want to
make sure it will be the first configuration to be considered.

モジュール式の方法を採る際は、2 つの事柄に注意してください: まず、いくつかの
Debian パッケージは、上記ディレクトリ内に自らの設定内容を配置することがあります。
よってファイル名に <tt>-local</tt> といった接尾辞を付けるなどして、名前が衝突
するのを避けてください。次に、設定はファイル名順に読み込まれます。順番を指定
するには、ファイル名の先頭に数字を追加してください。たとえば、最初に読み込ん
で欲しい設定は、<tt>00000myconf-local</tt> といったファイル名にしてください。

<p>
To know the syntax and options accepted by those configuration files,
check out the <tt>apt.conf(5)</tt> manpage.

これらの設定ファイルで使用できる構文やオプションは、<tt>apt.conf(5)</tt> の
man ページを調べてください。
</sect>

<sect id="apt:policy">Adjusting APT priority for packages
<sect id="apt:policy">パッケージの APT 優先度を調整する

<p>
APT uses a prioritization algorithm to decide what repository it
should grab a given package from. Here's a simple example:

指定したパッケージをどのリポジトリから取得するのかを判断するのに、
APT は優先度アルゴリズムを使っています。以下は簡単な見本です:

</p>

<p>
<example>
$ apt-cache policy apt-howto
apt-howto:
  Installed: 1.8.10.3-1
  Candidate: 1.8.11-1
  Version table:
     1.8.11-1 0
        500 http://ftp.nl.debian.org sid/main Packages
 *** 1.8.10.3-1 0
        500 http://ftp.nl.debian.org sarge/main Packages
        100 /var/lib/dpkg/status
</example>
</p>

<p>
I have two sources here: a sid and a sarge one, and that's all.

ここでは 2 つのソースがあります: sid と sarge だけです。
</p>
<p>
The installed version is marked with <tt>***</tt>. We can see its
installed because of the mention of the
<file>/var/lib/dpkg/status</file> file, too, which holds the
information about the current state of the system. We can also see
that the package comes from sid. The sarge version is also listed as
available.

### 訳注:下記の記述、見本と整合性が取れていない???
### インストールされているのは sarge 版のように見えるが...
### apt-howto パッケージに対して BTS 済  #342600

インストール済みバージョンには <tt>***</tt> というマークが付いています。
現在のシステムの状態に関する情報を記録している <file>/var/lib/dpkg/status</file>
ファイルの記述によっても、それがインストール済みであることがわかります。さらに、
当該パッケージが sid のものであることもわかります。sarge 版も利用可能である旨が
表示されています。

</p>

<p>
APT gives priority 100 for installed packages, as we can see, and 500
for all other sources with a single exception: the
<tt>experimental</tt> suite, which, as we already said, is treated in
a special way by many tool. APT's algorithm will prefer to install
packages from sources with higher priority. If priorities are the
same, then it will prefer the highest version. You can see that by
looking at the <tt>Candidate</tt> field, which lists the newer
version, from unstable, as candidate for installation: it wants to
upgrade it.

おわかりのとおり、インストール済みパッケージに対して、APT は優先度 100 を
付加しています。その他のソースに対しては、唯一の例外を除いて優先度 500 を
付加します: その例外とは <tt>experimental</tt> スイートで、すでに述べたように、
多くのツールで特別扱いされています。APT のアルゴリズムでは、優先度の高い
ソースからパッケージをインストールするように努めます。優先度が同じなら、
より新しいバージョンを選びます。<tt>Candidate</tt> の項目を見れば、このことが
わかります。上記の見本では、インストール候補として不安定版にある新バージョンが
表示されています: アップグレードしたくなるでしょう。
</p>

<p>
If you want to have the sid source only to install selected packages
and don't want APT to automatically consider packages from that source
as candidates for upgrades, then you must tweak its priorities. You do
that using the <tt>Archive</tt> field of the <tt>Release</tt> file of
the source you want to give priority to. You can find that information
out by looking at the Release file which the update process
downloaded:

指定したパッケージは sid ソースだけからインストールし、APT が sid にある
パッケージを機械的にアップグレード候補とみなさないようにしたければ、その
優先度に手を加える必要があります。優先度を付加したいソースの <tt>Release</tt>
ファイル内で、<tt>Archive</tt> 項目を使ってください。更新処理時にダウンロード
される Release ファイルを見れば、この情報が得られます。
</p>

<p>
<example>
# grep ^Archive /var/lib/apt/lists/ftp.nl.debian.org_debian_dists_sarge_main_binary-i386_Release
Archive: stable
</example>
</p>

<p>
Notice that the filename changes depending on your source line. To
make APT keep your packages at the stable suite, then, you add a file
with the following contents to <file>/etc/apt/apt.conf.d/</file>:

ファイル名は、ソース行に応じて変わることに注意してください。パッケージを
安定版スイートに保つよう APT を設定するには、以下の内容を備えたファイルを
<file>/etc/apt/apt.conf.d/</file> に追加してください:
</p>

<p>
<example>
APT::Default-Release "stable";
</example>
</p>

<p>
Then, APT policy will have changed:
すると、APT のポリシーが変更されるでしょう:
</p>

<p>
<example>
$ apt-cache policy apt-howto
apt-howto:
  Installed: 1.8.10.3-1
  Candidate: 1.8.10.3-1
  Version table:
     1.8.11-1 0
        500 http://ftp.nl.debian.org sid/main Packages
 *** 1.8.10.3-1 0
        990 http://ftp.nl.debian.org sarge/main Packages
        100 /var/lib/dpkg/status
</example>
</p>

<p>
APT will give priority 990 for its default source for any package,
the other sources remain just like before. Packages from other sources
which are installed will have their priority raised from 100 to
500. Why is APT not going to downgrade them? Because APT will only
consider a downgrade in case something is given a priority above
1000. That means, though, that APT will not automatically upgrade the
versions from the non-default sources unless the tool you're using
wants to try to help you there, which is the case for aptitude.

APT は、デフォルトのソースに対してあらゆるパッケージ用に優先度 990 を
付加します。その他のソースに対しては、従来の状態を保ちます。他のソースから
インストールされたパッケージは、その優先度が 100 から 500 に上がります。
なぜ APT は、それらをダウングレードしようとしないのでしょうか?  その理由は、
APT は 1000 以上の優先度が与えられた場合のみダウングレードを考えるからです。
しかしこのことは、使っているツールが手助けしようとしてくれないかぎり、
APT は自動的に非デフォルトのソースからバージョンのアップグレードを行なわない
ことを意味します。これは aptitude にも当てはまります。
</p>

<p>
Defining priority for groups of packages based on many other criteria
is also possible by using the <file>/etc/apt/preferences</file>
configuration file. You can even convince APT to try to downgrade your
whole system, although that's not supported and should not be tried
by the faint of heart. You can have more information about that by
reading the <tt>apt_preferences(5)</tt> manpage..

他の様々な基準を元にした一群のパッケージの優先度を定めるのも、
<file>/etc/apt/preferences</file> 設定ファイルを使えば可能です。
APT に対して、システム全体をダウングレードさせることさえもできますが、
これはサポートの対象外であり、臆病な人が試すべできはありません。
より詳しい情報は、<tt>apt_preferences(5)</tt> の man ページを読んで
ください...
</sect>

<sect id="proxy">Using APT through a proxy
<sect id="proxy">プロキシ経由で APT を使う
<p>
If you are using APT in a network in which all http and ftp
connections are made through a proxy, then you'll have to setup APT to
use that proxy.  You can do this by editing the
<file>/etc/apt/apt.conf</file> configuration file or by placing a
configuration file inside the <file>/etc/apt/apt.conf.d/</file>
directory, which makes it is easier to organize the configuration
stuff (take a look at <ref id="apt.conf">).

すべての http および ftp 接続がプロキシ経由となっているネットワーク内で
APT を使っているのなら、APT がそのプロキシを使うよう設定する必要がある
でしょう。そのためには、<file>/etc/apt/apt.conf</file> 設定ファイルを編集
するか、<file>/etc/apt/apt.conf.d/</file> ディレクトリ内に設定ファイルを
配置してください。後者の方が、各設定項目を容易に組織化できます
(<ref id="apt.conf"> を参照)。
<p>
If that file does not exist, then create it and add lines like these:

設定用のファイルがなければ、それを作成して以下の行を追加してください:
<p>
<example>
Acquire::http::proxy "http://<var>proxy</var>:<var>port</var>";
Acquire::ftp::proxy "http://<var>proxy</var>:<var>port</var>";
</example>
<p>
Replace <var>proxy</var>  and <var>port</var> for those  given by your
network administrator. You  can also specify user and  password if the
proxy requires like this: 

<var>proxy</var> と <var>port</var> の箇所は、ネットワーク管理者から
指定された内容に置き換えてください。プロキシが要求するなら、以下のようにして
ユーザとパスワードを指定することもできます:
<p>
<example>
Acquire::http::proxy "http://<var>user</var>:<var>password</var>@<var>proxy</var>:<var>port</var>";
</example>
<p>
There are many other useful options you can set for APT on the
<file>/etc/apt/apt.conf</file> configuration file, see <ref
id="apt.conf">.  

<file>/etc/apt/apt.conf</file> 設定ファイルでは、その他にも多くの便利な
オプションを設定することができます。<ref id="apt.conf"> を参照してください。
</sect> 
</chapt>

<chapt id="apt-get">パッケージの管理

<sect id="aptitude">Using the Debian Package Manager: aptitude
<sect id="aptitude">Debian パッケージマネージャの使用: aptitude

<p>
Debian has  long lived with  a package manager  which was known  to be
difficult  to understand  and use,  called  <prgn>dselect</prgn>.  The
Debian   system  is  now   moving  towards   a  new   default  manager
called <prgn>aptitude</prgn>, which is also based on the APT library.

Debian は長い間、<prgn>dselect</prgn> という名の、理解と使用が難しいこと
で知られるパッケージマネージャと共に歩んできました。現在の Debian システム
は、<prgn>aptitude</prgn> という名の新規デフォルトマネージャへと向かって
います。これもまた APT ライブラリを元にしています。

<p>
If you  installed Sarge you will  have <prgn>aptitude</prgn> installed
by    default    on     the    base    system,    otherwise    install
the <package>aptitude</package> package  by running, for example, this
command before continuing:

Sarge をインストールしているなら、<prgn>aptitude</prgn> がベースシステムの
デフォルトとしてインストールされているでしょう。そうでなければ、先に進む前に
以下のようなコマンドを実行して、<package>aptitude</package> パッケージを
インストールしてください。
</p>
<p>
<example>
# apt-get install aptitude
</example>
<p>
Try to avoid using  <prgn>apt-get</prgn>  and use  <prgn>aptitude</prgn>
instead, as it knows  much more about what APT is able  to do and have
some  unique features  like marking  packages that  were automatically
installed to satisfy dependencies and ask to remove them automatically
when they are no longer needed.

<prgn>apt-get</prgn> を使うのを止め、代わりに <prgn>aptitude</prgn> を
使うよう心がけてください。というのも <prgn>aptitude</prgn> は APT に可能
な事に関するはるかに多くの知識を備えており、また依存関係を満たすため自動
的にインストールされるようパッケージにマークを付けたり、それが不要になっ
た時には自動的に削除するかどうかを尋ねてくるといった、いくつかのユニーク
な機能を備えているからです。
<p>
<prgn>aptitude</prgn> has two main  modes: a ncurses-based UI in which
you    can    navigate   through    a    list    of   packages    much
like   <prgn>dselect</prgn>  and   a  command   line-based   UI,  much
like  <prgn>apt-get</prgn>. Most  examples  in this  document use  the
command line-based UI, giving tips on which command is used to achieve
the same results in the <prgn>aptitude</prgn> dselect-like UI.

<prgn>aptitude</prgn> には 2 つのメインモード - <prgn>dselect</prgn> に
よく似たパッケージ一覧内を渡り歩くことができる ncurses ベースの UI と、
<prgn>apt-get</prgn> によく似たコマンラインベースの UI - があります。
本文書内の大半の例はコマンドラインベースの UI を使っており、
<prgn>aptitude</prgn> の deselect 似な UI と同様な結果を得るために
使われるコマンドの tips を提示します。
<p>
To fire up this UI, type <tt>aptitude</tt> in a terminal -- there's no
need to be  root at this time, aptitude will  request root powers when
it needs them automatically. Let's check out the basics: to access the
menubar at the top of the screen  you need to press F10, as the second
line suggests.   This second line has  a summary of  the most commonly
used features  like getting help,  quitting, updating list  of packages
and proceeding.

この UI を起ち上げるには、端末で <tt>aptitude</tt> とタイプしてください --
現時点では root になる必要はありません。aptitude は、root 権限が必要な時
には自動的に要求してきます。
<p>
Do take a look at the <tt>User Manual</tt> which is located at the help
menu to understand how the thing works.

どのように動作するかについて理解するには、ヘルプメニューにある
<tt>User Manual</tt> を参照するようにしてください。
<p>
Notice  that <prgn>aptitude</prgn>  works in  a way  similar  to other
package    managers:    you    make    all   your    selections    and
then <tt>commits</tt> the changes. Almost all actions done in managing
the installation of a package  will require pressing the <tt>g</tt> key
two times to be effective.   The first time you press <tt>g</tt> you'll
be  presented  with   the  list  of  changes  being   done,  then  you
press  <tt>g</tt> again  to confirm  the changes  or <tt>q</tt>  to go
back. 

<prgn>aptitude</prgn> は、他のパッケージマネージャと似た動作をすることに
注意してください: すべての選択を自分で行ない、それから変更を<tt>コミット</tt>
します。パッケージのインストール管理時に行なわれるほぼすべてのアクションは、
実際に効力を発揮させるのに <tt>g</tt> キーを 2 回押す必要があるでしょう。
最初に <tt>g</tt> を押したときは、実行されようとしている変更の一覧が表示
されます。それから変更を承認するためにもう 1 回 <tt>g</tt> を押すか、
あるいは元に戻すために <tt>q</tt> を押します。
<p>
Similarly, you  can press the  <tt>Enter</tt> key to get  more details
about  a  package  or  group  of  packages --  for  example,  you  can
press <tt>Enter</tt>  when the selection  is on 'New Packages'  to see
the a  list of sections. By  pressing <tt>Enter</tt> on  a section you
will see the list of new packages in that section and you can see more
details on  a package  by pressing <tt>Enter</tt>  on it.  Notice that
entering a package's  details will change <prgn>aptitude</prgn>'s view
context, so you'll need to press <tt>q</tt> to go back.

同様に、<tt>Enter</tt> キーを押せば単体のパッケージやパッケージのグループ
に関する詳細を得ることができます -- たとえば、選択が 'New Packages' にある
ときに <tt>Enter</tt> を押せば、セクションの一覧を見ることができます。
あるセクションの上で <tt>Enter</tt> を押せば、そのセクション内の新パッ
ケージ一覧を見ることができ、さらにあるパッケージの上で <tt>Enter</tt> を
押せば、そのパッケージの詳細を見ることができます。パッケージの詳細表示時に
<tt>Enter</tt> を押すと <prgn>aptitude</prgn> の表示内容が変わってしまう
ので、戻るには <tt>q</tt> を押さなければならないことに注意してください。
<p>
The packages are categorized by default based on their installation
status and some other special categories. You'll be seeing this when
you first enter <prgn>aptitude</prgn>

デフォルトでは、パッケージはインストール状態とその他の特別なカテゴリで
分類されています。<prgn>aptitude</prgn> とコマンド入力して起動した際に、
最初にこれが表示されます。
<p>
<example>
--- New Packages
--- Upgradable Packages
--- Installed Packages
--- Not Installed Packages
--- Obsolete and Locally Created Packages
--- Virtual Packages
--- Tasks
</example>
<p>
New Packages has the packages that entered Debian since the last time
you cleared your list of new packages using the <tt>Forget new packages</tt>
option in the Actions menu, or the "<tt>f</tt>" key.

New Packages とは、Action メニュー内の <tt>Forget new packages</tt> オプ
ションを使うか、"<tt>f</tt>" キーを使って最後に新規パッケージ一覧をクリア
して以降、Debian に収録されたパッケージのことです。
<p>
Upgradable Packages are installed packages that have new versions
available. Installed Packages are the installed packages proper, Not
Installed Packages are the ones you did not install but are available
from one of the APT sources. Obsolete and Locally Created Packages are
those packages that are no longer available from at least one APT
source or the ones you created yourself. Virtual Packages are packages
defining a service rather than a particular software and that are
"provided" by several specific packages. Finally, Tasks are the collections
of packages which serve a specific purpose, also used by the
<prgn>tasksel</prgn> program.

Upgradable Packages は、インストール済みでなおかつ新バージョンが入手可能な
パッケージです。Installed Packages は正しくインストール済みなパッケージで、
Not Installed Packages は未インストールだが APT ソースの 1 つから入手可能
なパッケージです。Obsolete and Locally Created Packages は少なくとも 1 つ
の APT ソースから入手ができないパッケージか、自作したパッケージです。
Virtual Packages は特定のソフトウェアというよりはサービス内容を定義して
おり、複数の特定パッケージによって "提供される" パッケージです。最後に、
Tasks は特定の目的に使われるパッケージ集で、<prgn>tasksel</prgn> によっても
使われます。
<p>
Pressing <tt>Enter</tt> on any of those will expand the tree to something
like this:

以上のいずれかの上で <tt>Enter</tt> を押せば、次のようなツリーに展開
されます:
<p>
<example>
--\ Not Installed Packages
  --- admin - Administrative utilities (install software, manage users, etc)
  --- base - The Debian base system
[...]
</example>
<p>
Going even deeper we'll have:
さらに深く潜ると、次のようになります:
<p>
<example>
  --\ games - Games, toys, and fun programs
    --- contrib - Programs which depend on software not in Debian
    --\ main - The main Debian archive
p     3dchess                                               &lt;none&gt;    0.8.1-10
</example>
<p>
This shows us one package which is a not installed one, that is a game
and that is available from the main Debian repository, which is what
the Debian distribution is officially. 

上記の例では、未インストールなパッケージが 1 つ表示されています。
それはゲームであり、公式な Debian ディストリビューションである main
Debian リポジトリから入手可能なことがわかります。
<p>
On the center of the screen there's a marked line that is filled with
some text when you select a package. That is what we call the <tt>short
description</tt> of the package. Below it there's a text box containing
more detailed information on the package. That's the <tt>long 
description</tt>. Some times the long description is too big to fit
the rectangle reserved for it, so you can press the "<tt>z</tt>"
key to scroll it down and "<tt>a</tt>" to scroll it up again.

あるパッケージを選択すると、スクリーンの中央にいくつかの文章からなる
マーク付きの行が現われます。これはパッケージの<tt>短い説明 (short description)</tt>
と呼ばれるものです。その下にはテキストボックスがあり、パッケージに関する
より詳しい情報が記されています。これは <tt>長い説明 (long description)</tt> と
呼ばれます。長い説明は、大きすぎてボックス内に収まらないこともあります。
その際は "<tt>z</tt>" キーを押して先に進んだり、"<tt>a</tt>" キーで後戻り
することができます。
<p>
Check <ref id="install"> for more information on the data shown here.
ここで表示されるデータに関するより詳しい情報は、<ref id="install"> を
参照してください。
</sect>

<sect id="update">利用可能なパッケージの一覧を更新する

<p>
どのパッケージがインストール済みで、どれが未インストールか、どのパッケージが
インストール可能かについての記録用に、パッケージシステムはプライベートな
データベースを使用します。<prgn>apt-get</prgn> プログラムは、ユーザが
インストールを要求したパッケージを見つけたり、そのパッケージが適切に動作
するために必要な追加パッケージを見つけるのに、このデータベースを使います。

<p>
このデータベースを更新するには、<prgn>apt-get update</prgn> というコマンド
を使います。このコマンドは <tt>/etc/apt/sources.list</tt> に記述されている
アーカイブ内のパッケージ一覧を探します。このファイルに関する詳しい情報は
<ref id="sources.list"> を参照してください。aptitude の ncurses インター
フェイスでパッケージ一覧を更新するには、"<tt>u</tt>" キーを使うこともでき
ます。

<p>
One of the steps that APT takes in updating your database is to verify
that the list of packages and their MD5 sums is secure.  It does this
by verifying a cryptographic signature, and checking some MD5 sums;
see <ref id="trustchain"> for more information.  If APT finds that the
signature is incorrect, or that the MD5 sums do not match, you may get
an error while updating your package database.  This is to prevent
trojaned packages from being installed on your computer.  If this
occurs, there may be a configuration problem (such as an out-of-date
key) which you can solve.  Failing this, you should contact the
administrator of the apt source that failed.

APT がデータベースを更新する際の処理の 1 つに、パッケージ一覧とその
MD5 サム値が安全かどうかの確認があります。これは暗号化署名といくつかの
MD5 サム値を確認することにより行なわれます。署名が正しくなかったり、
MD5 サム値が一致しないことに APT が気づくと、パッケージデータベースの
更新中にエラー表示がされます。これは、あなたのコンピュータにトロイの
木馬パッケージがインストールされるのを防ぐための措置です。このエラー
が発生時には、解決可能な設定トラブル (時代遅れの鍵など) が原因かも
しれません。それにも失敗したなら、問題となっている APT ソースの管理者
に連絡すべきです。

<p>
可能なパッケージ更新についての情報を最新に保つために、このコマンドを
定期的に実行するのは良いアイデアです。セキュリティ関連のアップデートは
なおさらです。
</sect>

<sect id="searching">Searching for packages
<sect id="searching">パッケージの検索

<p>
Aptitude provides a very flexible and powerful search feature.
You can access it by pressing the "<tt>/</tt>" (slash) key.
That will open a small dialog on the center of the screen.

aptitude は、きわめて柔軟かつ強力な検索機能を提供します。
"<tt>/</tt>" (スラッシュ) キーを押すことで、この機能を利用できます。
スクリーン中央に小さなダイアログが開くでしょう。

<p>
You can then type the name of a package. Aptitude will search as
you type. If the package it finds is not exactly the one you want
you can press enter for the dialog to vanish and then press the
"<tt>n</tt>" key to repeat the search for the same string.

そこにパッケージ名をタイプしてください。タイプ内容に沿って、aptitude は
検索を行ないます。見つかったパッケージが探しているものとは異なる場合、
Enter を押してダイアログを消し、それから "<tt>n</tt>" を押すことで
同じ文字列での検索を繰り返すことができます。

<p>
You can use regular expressions<footnote>regular expressions
are special strings to match sentences based on some conditions, 
take a look at the regex(7) manpage</footnote> on the search dialog,
just beware that aptitude has its own search language which sometimes
overlaps with the regular expressions' one. Let's move on to an
example, then: if you want to have an exact match to the string 
"gnome" type "<tt>^gnome$</tt>" on the search dialog.

検索ダイアログでは正規表現<footnote>正規表現とは、いくつかの条件を元に
した文にマッチする特別な文字列のことです。regex(7) の man ページを参照
してください</footnote>を使うことができます。ただし、aptitude は正規
表現と重複することもある独自の検索言語を備えていることに注意してください。
では例に移りましょう: "gnome" という文字列に正確にマッチさせたければ、
検索ダイアログで "<tt>^gnome$</tt>" とタイプしてください。

<p>
Notice that when searching like this you are simply searching for
the package names. If you want to search for descriptions you need
to use "<tt>~d</tt>" right before the search term. So, if you want
to search for all packages mentioning "isolinux" on their descriptions
you'd write "<tt>~disolinux</tt>" at the search dialog.

このような検索時は、パッケージ名の検索を行なっているだけであることに
注意してください。パッケージ説明文の検索をしたければ、検索用語の直前に
"<tt>~d</tt>" を使う必要があります。したがって、説明文中で "isolinux"
に言及している全パッケージを検索したければ、検索ダイアログで
"<tt>~disolinux</tt>" とタイプすることになるでしょう。

<p>
You can also search for all packages which are currently broken
by searching for "<tt>~b</tt>", search for all the packages which
were removed but which configuration files have been kept searching
for "<tt>~c</tt>".

また、"<tt>~b</tt>" を使えば現在壊れている全パッケージを検索できます。
"<tt>~c</tt>" を使えば、削除済みだが設定ファイルは残っている全パッケージを
検索できます。

<p>
For more advanced searching on <prgn>aptitude</prgn> take a look
at Aptitude's <tt>User Manual</tt>, which you can find inside
the Help menu.

<prgn>aptitude</prgn> のより高度な検索については、aptitude の
<tt>User Manual</tt> を参照してください。ヘルプメニュー内にあります。

<p>
You can also use the command line to search for packages like this:

次のようにすれば、コマンドラインでも検索を行なうことができます:

<p>
<example>
$ aptitude search '~c'
c A abiword-common                  - WYSIWYG word processor based on GTK2
c A acme                            - Enables the "multimedia buttons" found on
(...)
</example>
<p>
As you can see, you can use any aptitude search string when using the
command line too, and <prgn>aptitude</prgn> provides you some information
on the state of the packages that we are going to discuss through this
manual.

おわかりのとおり、コマンドラインを使っている時でも aptitude のあらゆる検索
文字列を利用でき、<prgn>aptitude</prgn> はパッケージ状態に関するいくつか
の情報を提供してくれます。これは本マニュアルで述べようとしているものです。

</sect>

<sect id="install">パッケージのインストールと再インストール

<p>
ようやく、皆さんが待ち望んでいたプロセスです!  sources.list を用意し、
APT の鍵リングにあなたの鍵を追加し、利用可能なパッケージの一覧を更新したら、
欲しいパッケージをインストールするには <tt>aptitude</tt> を実行するだけです。

<p>
When you  enter <prgn>aptitude</prgn> you  can have it install  one or
more packages  by pressing the  "<tt>+</tt>" key while the  package in
question is selected.  You can  use the "<tt>/</tt>" key to search for
the package  you want, see  <ref id="searching">. When  you request
the installation of a package it will be marked with a green color and
the line will look like in this example:

<prgn>aptitude</prgn> を起ち上げると、パッケージの選択中に "<tt>+</tt>" を
押すことで 1 つないし複数のパッケージをインストールできます。パッケージを
探すには "<tt>/</tt>" キーを使うことができます。<ref id="searching"> を参照
してください。あるパッケージのインストールを要求すると、グリーンのマークが付いて
その行は次の例のように表示されます:

<p>
<example>
pi    celestia-gnome                                        &lt;none&gt;    1.3.0-1
</example>

<p>
This means that the package is not installed ('p') and is marked
for installation. The word <tt>&lt;none&gt;</tt> means no version
is installed and the version number after it is the one that is
being marked for installation.

この例では、パッケージが未インストール ('p') であり、インストールを行なう
マークが付いています。<tt>&lt;none&gt;</tt> という単語は、いかなるバージョンも
インストールされていないことを意味しており、続くバージョンナンバーは
これからインストールされるバージョンです。

<p>
Notice that when you do that other packages will be marked for
installation automatically. Those are the dependencies,
suggestions and recommendations of the selected package. They
will most probably be marked like this:

上記の手順を行なった際に、他のパッケージにも自動的にインストールのマークが
付けられることがあるのに注意してください。これは選択したパッケージの
依存や提案、推奨関係によるものです。大半の場合、以下のようなマークが付けられ
ます:

<p>
<example>
piA   gnome-bin                                             &lt;none&gt;    1.4.2-16
</example>

<p>
The uppercased 'A' means that this package is being installed
because another package depends on it. All packages installed
like that will be removed when no longer needed. You can have that
mark set manually by typing "<tt>M</tt>" with the cursor positioned
at a package.

大文字の 'A' は、他のパッケージが依存しているために当該パッケージが
インストールされることを意味します。このようにしてインストールされた
パッケージは、不要になると削除されます。パッケージの上にカーソルを
置いて "<tt>M</tt>" とタイプすれば、手作業でこの指定を行なうことが
できます。

<p>
A 'U' sign at the forth column means that package comes from an
untrusted source, which means there's no signed <tt>Release</tt> file
for the source that package comes from or its public key has not been
imported into APT's keyring. See <ref id="apt-key"> to understand what
you should do to have that source be trusted. You may have that same
package in one of the trusted sources too, though, so you may want to
take a look at the detailed information about available versions of
that package.

4 桁目に 'U' が表示されていると、信頼できないソースから来るパッケージ
であることを意味します。これは、パッケージがあるソースの <tt>Release</tt>
ファイルに署名がされていないか、その公開鍵が APT の鍵リングにインポート
されていないことを意味します。ソースを認証するために実施すべき事を知る
には、<ref id="apt-key"> を参照してください。同じパッケージが信頼できる
ソースの 1 つにも存在することがあります。よって当該パッケージの入手可能
なバージョンについて、詳しい情報を調べた方が良いでしょう。

<p>
You can have detailed information about the package you want to
install by pressing <tt>Enter</tt> while the package is selected.
This will bring you to something like this:

インストールしたいパッケージの詳細な情報が欲しければ、パッケージの選択中
に <tt>Enter</tt> を押してください。次のような情報が得られます:

<p>
<example>
i A --\ xterm                                               4.2.1-14  4.2.1-14
  Description
xterm - X terminal emulator
xterm is a terminal emulator for the X Window System.  It provides DEC VT102
and Tektronix 4014 compatible terminals for programs that cannot use the
window system directly.  This version implements ISO/ANSI colors and most of
the control sequences used by DEC VT220 terminals.
  Priority: optional
  Section: x11
  Maintainer: Branden Robinson &lt;branden@debian.org&gt;
  Compressed size: 547k
  Uncompressed size: 1130k
  Source Package: xfree86
  --\ Depends
    --- libc6 (>= 2.3.2.ds1-4)
    --- libfreetype6 (>= 2.1.5-1)
    --- libncurses5 (>= 5.3.20030510-1)
    --- libxaw7 (> 4.1.0)
    --- xlibs (> 4.1.0)
    --- xlibs (> 4.2.0)
  --\ Conflicts
    --- xbase (< 3.3.2.3a-2)
    --- suidmanager (< 0.50)
  --\ Replaces
    --- xbase (< 3.3.2.3a-2)
  --- Packages which depend on xterm
  --\ Versions
p A 4.3.0-0pre1v4
i A 4.2.1-14
</example>

<p>
Those versions which are trusted will not have the 'U' letter at the
forth column, so you just pick the one you want and tell aptitude to
install. Our example above has different versions coming from trusted
sources.

信頼できるバージョンには 4 桁目に 'U' の文字が無いので、インストール
したいものを選んで aptitude にインストールするよう伝えるだけです。
上の例では、信頼できるソースにある異なるバージョンが表示されています。

</p>
<p>
Notice that almost always, when you see three or more dashes you can
press <tt>Enter</tt> to have it expand. It will then become something
like <tt>--\</tt>. You now have plenty of information on this package,
like what packages it depends on and which it conflicts<footnote>a
package which conflicts with another one or with a specific version of
another package cannot be installed at the same time as that package
or package version</footnote>, for example.

情報を拡大するために <tt>Enter</tt> を押すことができるダッシュが、
ほぼ常に 3 個以上あることに注意してください。そうすれば当該パッケージに
関する大量の情報が得られます。たとえば、それが依存しているパッケージや
衝突<footnote>他のパッケージや、特定バージョンの他のパッケージと衝突
するパッケージは、それらのパッケージやバージョンと同時にインストール
できません</footnote>するパッケージなどです。

<p>
Also notice that at the end of the screen (you can go down using the
arrow keys or page down) you'll find the different <tt>Versions</tt>
available for that package. The <package>xterm</package> package
has two available versions for me, because I have more than one
APT source providing it at different versions.

またスクリーンの最後 (矢印キーや Page Down キーで下がることができ
ます) には、当該パッケージの入手可能な別バージョンが表示されている
ことにも注意してください。上の例では、<package>xterm</package> には
入手可能なバージョンが 2 つあります。これは異なるバージョンを提供する
1 つ以上の APT ソースを指定しているからです。

<p>
You can install the version you want by pressing "<tt>+</tt>" on
it. Remember that you need to ask <prgn>aptitude</prgn> to proceed
with the marks you have made. You do that by pressing "<tt>g</tt>".
<prgn>Aptitude</prgn> will then show a list of actions it's going
to perform where you can see if it is doing what you want:

インストールしたいバージョンの上で "<tt>+</tt>" を押せば、それをインストール
できます。付けたマークの処理を進めるよう <prgn>aptitude</prgn> に要求しなければ
ならないことに注意してください。そのためには "<tt>g</tt>" を押してください。
<prgn>Aptitude</prgn> はこれから実行されるアクションの一覧を表示するので、
それが望みどおりなのかどうかをチェックできます。

<p>
<example>
--\ Packages being automatically installed to satisfy dependencies
ciA calctool                                                &lt;none&gt;    4.3.16-2
--\ Packages being held back
ih  libgnomeprintui2.2-0                                    2.4.0-1   2.4.2-1
--\ Packages to be installed
pi  gwget2                                                  &lt;none&gt;    0.7-3
--\ Packages to be removed
ip  qvwm                                                    1:1.1.12-11:1.1.12-1</example>

<p>
The entries should be easily understandable. The new thing here is a
package being held back. You can read more about that in <ref
id="holding">.  After checking the changes are the ones you wish
confirm the selections by pressing the "<tt>g</tt>" key again.

各項目の理解は容易でしょう。ここで目新しいのは、保持されているパッケージ
です。詳しくは <ref id="holding"> を参照してください。変更点が望んでいる
ものであるかどうかをチェックした後は、"<tt>g</tt>" キーを再び押して選択を
承認してください。

<p>
<prgn>aptitude</prgn> will now start the process of downloading and
installing the packages you have selected.  APT may also start
upgrading any packages that need to be upgraded at this time (see <ref
id="upgrade">).  If you have selected packages from untrusted sources
aptitude will show you a list of those packages and prompt you before
starting to obtain the packages whether you really want to install
them. See <ref id="trustchain"> for more information on secure
sources.

いよいよ <prgn>aptitude</prgn> は、選択したパッケージのダウンロードと
インストール処理を開始します。APT はこの時点でアップグレードが必要な
パッケージのアップグレードも開始するかもしれません (<ref id="upgrade"> を
参照)。信頼できないソースにあるパッケージを選んだのなら、aptitude は
それらのパッケージ一覧を表示して、パッケージを取得開始前に本当にそれらの
インストールを望んでいるのか確認してくるでしょう。安全なソースに関する
より詳しい情報は、<ref id="trustchain"> を参照してください。

<p>
If you want to reinstall a package, say, to have files you removed
by accident recovered or something you can press the "<tt>L</tt>"
key to mark it for reinstallation. You'll then go through the same
process as if you were installing it.

たとえばうっかり削除してしまったファイルを復旧するためといった理由で、
あるパッケージを再インストールしたい場合、"<tt>L</tt>" キーを押して
再インストールのマークを付けることができます。その後は、通常の
インストールと同じ手順です。

<p>
You can also use <prgn>aptitude</prgn> without the interactive
UI to install or reinstall packages like this:

次のようにすれば、aptitude の対話式 UI を使わずにパッケージの
インストールや再インストールを行なうことができます:

<p>
<example>
# aptitude install <var>package1</var> <var>package2</var> ...
# aptitude --reinstall install <var>package1</var> <var>package2</var> ...
</example>
</sect>

<sect id="manual-install">Installing manually downloaded or locally created debian packages
<sect id="manual-install">手作業でダウンロードしたりローカルに作成した Debian パッケージのインストール

<p>
If you have downloaded a <tt>.deb</tt> file manually from the internet
or has got a <tt>.deb</tt> from any source other than using APT
you will not be able to use <prgn>aptitude</prgn> or any other APT-based
program to install it.

手作業でダウンロードした <tt>.deb</tt> ファイルや、APT を使わないソースから
入手した <tt>.deb</tt> ファイルの場合、それをインストールするのに
<prgn>aptitude</prgn> や他の APT ベースなプログラムを使うことはできない
でしょう。

<p>
You'll then need to use the underlying package management tool,
which is the one that actually does the hard work of installing
packages -- even aptitude calls this tool for installing: <prgn>dpkg</prgn>.

そこで下位に存在するパッケージ管理ツールを使う必要がありますが、これ
こそがパッケージのインストールという重労働を実際に担っています -- 
aptitude さえ、インストール処理用にはこのツールを呼び出しています。
その名は <prgn>dpkg</prgn>。

<p>
You can install a package by doing:

次のようにして、パッケージをインストールできます:

<p>
<example>
# dpkg -i <var>file.deb</var>
</example>
<p>
If you want to use the <tt>unstable</tt> branch of Debian or wishes
to create Debian packages you better learn more about <prgn>dpkg</prgn>!
It's a very powerful tool and has many useful options.

Debian の<tt>不安定版</tt>を使ったり、Debian パッケージを作成したい
のなら、<prgn>dpkg</prgn> について深く学んだ方が良いでしょう!
とても強力なツールで、多くの便利なオプションを備えています。

</sect>

<sect id="remove">パッケージの削除

<p>
あるパッケージをもはや使いたくないのなら、APT を使ってシステムから
取り除くことができます。
To do this just type "<tt>-</tt>" while having the package
selected on <prgn>aptitude</prgn>. That will mark the package for removal
with a purple-colored line, like this:

これを行なうには、<prgn>aptitude</prgn> を選択する際に "<tt>-</tt>" を
タイプするだけです。パッケージには削除を示すマークが付けられ、当該行は
次のように紫色で表示されます:

<p>
<example>
id    celestia-gnome                                    1.3.0-1        1.3.0-1
</example>
<p>
Notice that this will result in a line that looks like this, after the
package is removed:

パッケージの削除後は、行が次のようになることに注意してください:

<p>
<example>
c    ocaml-base                                            &lt;none&gt;    3.07.2a-1
</example>
<p>
There's  a  <tt>c</tt>  at  the  beginning of  the  line,  instead  of
a <tt>p</tt>.  This  means that, in my system,  the ocaml-base package
was removed but  the configuration files are still  hanging around. To
remove the  package with its configuration  files you have  to use the
"<tt>_</tt>" key<footnote>The  underscore key, usually  found together
with  the dash,  typeable by  pressing shift  while pressing  the dash
key.</footnote>, instead -- that's called purge.

行の先頭には <tt>p</tt> の代わりに <tt>c</tt> と表示されています。これ
は、システムから ocaml-base パッケージは削除されたものの、その設定ファイル
は依然として残っていることを意味します。設定ファイルも含めてパッケージを
削除するには、代わりに "<tt>_</tt>" キー<footnote>アンダースコアキーのこと。
英語キーボードでは通常、ダッシュと同じキーにあります。シフトを押しながら
ダッシュキーを押すとタイプできます</footnote> を使う必要があります。
これは purge と呼ばれます。

<p>
One important note: if you try to remove a package which is a dependency
of an installed package you'll end up having broken packages, as the
top of the aptitude screen shows:

重要な注意: インストール済みのパッケージが依存しているパッケージを削除
しようとした場合、パッケージを壊してしまうでしょう。aptitude のスク
リーン上部に、次のように表示されます:

<p>
<example>
aptitude 0.2.13      #Broken: 1   Will free 208MB of disk space
</example>
<p>
The broken packages will be marked like this:

壊れたパッケージには、次のようにマークが付けられます:
<p>
<example>
iBA   openoffice.org                                        1.1.0-3   1.1.0-3
</example>
You can try to solve the brokenness for yourself, by having the offending
packages removed as well, so that no broken depends are left or ask
<prgn>aptitude</prgn> to proceed, pressing the "<tt>g</tt>" key. It
will then try to fix all the brokenness. If the solution taken by the
program does not satisfy your wishes you can manually fix it before
confirming with "<tt>g</tt>".

原因となっているパッケージも削除して、壊れた依存関係が残らないように
することで、壊れた状態の修復を自力で試みることもできます。あるいは
"<tt>g</tt>" を押して、<prgn>aptitude</prgn> に処理を進めるように要求
することもできます。すべての破壊状態を修正しようと試みるでしょう。
プログラムによる解決が希望を満たさなかった場合、"<tt>g</tt>" で確認
する前に手作業で修正することもできます。

<p>
You can search for broken packages typing "<tt>/</tt>" and using
"<tt>~b</tt>" as search string and pressing <tt>Enter</tt>, you can
then search for the next match using the "<tt>\</tt>" key. You can
search broken packages by simply pressing the "<tt>b</tt>" key, also;
pressing it again will show you the next broken package.  See <ref
id="search"> for more information on finding packages.

"<tt>/</tt>" をタイプしてから検索文字列として "<tt>~b</tt>" を使い、それ
から <tt>Enter</tt> を押すことで壊れたパッケージを検索できます。
"<tt>\</tt>" キーを使えば次にマッチした結果を検索でき、これは繰り返す
ことができます。パッケージの検索に関するより詳しい情報は、
<ref id="search"> を参照してください。

<p>
As usual, you can have packages removed or purged through the
command line interface like this:

いつもと同じように、次のようにすればコマンドラインインターフェイス経由
でパッケージの削除や purge を行なうことができます:

<p>
<example>
# aptitude remove <var>package1</var> <var>package2</var> ...
# aptitude purge <var>package1</var> <var>package2</var> ...
</example>
</sect>

<sect id="upgrade">パッケージのアップグレード

<p>
パッケージのアップグレードは、APT システムの偉大な成果です。
Aptitude will
automatically mark the packages that have newer versions for upgrade
so all you have to do to upgrade your system is, usually, update the
lists of packages (see <ref id="update">) and then ask
<prgn>aptitude</prgn> to proceed, by typing "<tt>g</tt>" and, after
reviewing the changes, confirming with "<tt>g</tt>", again.  If
aptitude is not marking the upgrades automatically you can press the
"<tt>U</tt>" (upper "u") key to ask it to. This is a configuration
option which lives on the <tt>Options-&gt;Misc</tt> menu.

aptitude は、アップグレード用の新バージョンがあるパッケージに自動的に
マークを付けてくれるので、システムをアップグレードするのに必要なのは、
通常の場合、パッケージの一覧を更新 (<ref id="update"> を参照) し、
"<tt>g</tt>" をタイプして <prgn>aptitude</prgn> に処理を進めるよう指示
して変更内容を閲覧した後、もう一度 "<tt>g</tt>" をタイプして確認すること
だけです。aptitude が自動的にアップグレードのマークを付けなければ、
"<tt>U</tt>" (大文字の U) キーを押してマークを付けるよう指示できます。
これは <tt>Options-&gt;Misc</tt> メニュー内にある設定オプションです。

<p>
You can check the list of packages that have new versions available
looking at the <tt>Upgradable Packages</tt> category:

<tt>Upgradable Packages</tt> カテゴリを見れば、利用可能な新バージョン
があるパッケージの一覧をチェックできます:

<p>
<example>
--\ Upgradable Packages
  --\ libs - Collections of software routines
    --\ main - The main Debian archive
iu    libgnomeprintui2.2-0                                  2.4.0-1   2.4.2-1
</example>
<p>
Packages marked for upgrade have their lines cyan-colored and have the
character <tt>u</tt> as the action that is going to be performed.
If you want to upgrade to a new release, then take a look at the next
section, <ref id="dist-upgrade">.

アップグレードのマークが付けられたパッケージは、その行の色がシアンと
なっており、実行されようとしているアクションとして <tt>u</tt> の文字が
表示されています。新リリースへアップグレードしたければ、次の
<ref id="dist-upgrade">セクションを参照してください。

</sect>

<sect id="dist-upgrade">新リリースへのアップグレード

<p>
APT の本機能により、インターネットあるいは新しい CD (購入したものか、ISO イメージと
してダウンロードしたもの) を使って、全 Debian システムを一度にアップグレード
することができます。

<p>
たとえば、Debian の安定版リビジョン 0 を使っていて、リビジョン 3 の CD を
買ってきたとします。この新しい CD を元に APT を使って、システムをアップグレード
できます。そのためには、<prgn>apt-cdrom</prgn> (<ref id="cdrom"> を参照) 
を使って CD を <tt>/etc/apt/sources.list</tt> に追加し、それから 
前述の手順に従ってインストールを進めるために <tt>aptitude</tt> を実行します。

<p>
APT は、<ref id="apt:policy"> で示したソースの優先度が設定されているときを
除き、常に最新バージョンのパッケージを探すことに注意してください。
したがって、両方のソースの優先度が同じか、あるアーカイブが他のアーカイブ
よりも高い優先度を持つ場合、<tt>etc/apt/sources.list</tt> に CD よりも新しい
バージョンのパッケージを含むアーカイブが記述されていれば、APT はそこから
パッケージをダウンロードします。

<p>
If you want to update your system from the Internet you only need to
setup the <file>/etc/apt/sources.list</file> file accordingly.
Upgrading to a new stable release is usually just a matter of running
the normal upgrade process on <prgn>aptitude</prgn>. If your
<file>/etc/apt/sources.list</file> uses the release codename<footnote>For
example, Debian 3.0 was called woody, Debian 3.1 is sarge</footnote>
you'll need to update it to the new name or change it to `stable'.

インターネットでシステムを更新したければ、必要なのは
<file>/etc/apt/sources.list</file> ファイルをそれに応じて設定するだけです。
新しい安定版リリースへのアップグレードは、通常、<prgn>aptitude</prgn> の
標準的なアップグレード処理を実行するだけです。
<file>/etc/apt/sources.list</file> でリリースのコードネーム<footnote>たとえば
 Debian 3.0 は woody と呼ばれており、Debian 3.1 は sarge です</footnote>を
使っているのなら、それを新しいコードネームか `stable' に変更する必要が
あるでしょう。

<p>
So, for example, this line:

つまり、たとえば次の行:

<p>
<example>
deb http://http.us.debian.org/debian sarge main
</example>
<p>
Would have to read like one of the following as soon as Etch is
released as stable for the computer to be kept up-to-date with
the current stable system:

は、コンピュータを最新の安定版システムとして保つために、etch が
安定版としてリリースされた直後に次の行のいずれかのように書き換える
必要があります:

<p>
<example>
deb http://http.us.debian.org/debian etch main
deb http://http.us.debian.org/debian stable main
</example>
<p>
The difference here is that the first one will keep you at etch
as long as you wish, even if a new stable comes out. This may be
useful if you want to decide when to upgrade to the new stable.
The second example will automatically update your box to the new
stable when it is released.

これら 2 行の違いは、最初の例は新安定版が登場した後も、望むかぎり
 etch の状態を保ちます。新しい安定版へのアップグレード時期を、自分
で決めたい場合に便利です。2 番目の例は新安定版がリリースされ次第、
自動的にマシンを更新します。

</sect>

<sect id="holding">Keeping packages on hold
<sect id="holding">パッケージを hold 状態に保つ

<p>
As we saw on the previous section, <prgn>aptitude</prgn> will
automatically mark packages for upgrade. If you want to keep the
current version installed, though, you can ask it to put the
package <tt>on hold</tt>.

これまでのセクションで見てきたように、<prgn>aptitude</prgn> はパッケージに
対して自動的にアップグレードのマークを付けます。しかし、現在インストール
されているバージョンを保ちたければ、そのパッケージを <tt>hold 状態</tt>に
するよう要求できます。

<p>
This is achieved by pressing the "<tt>=</tt>" key. Packages being
held from upgrades will look like this:

これは、"<tt>=</tt>" キーを押すことで可能になります。アップグレードを
しないよう要求されたパッケージは、以下のように表示されます:

<p>
<example>
ih    alien                                                 8.41      8.41
</example>
<p>
In this example, the <package>alien</package> package will be kept
at version 8.41 even if a new version appears on an APT source --
notice the <tt>h</tt> character at the left. To have it 
upgraded/upgradable again just mark it for installation.

この例では、<package>alien</package> パッケージ用の新バージョンが APT
ソースに登場 (行の左側に <tt>h</tt> の文字があることに注意) している
にもかかわらず、バージョン 8.41 のまま保たれます。これをアップグレード
可能にするには、インストール用のマークを付けるだけです。

<p>
You can put packages on hold using the command line interface, too,
by running:

次のように実行すれば、コマンドラインインターフェイスを使っても
パッケージを hold 状態にできます:
<p>
<example>
# aptitude hold <var>package1</var> <var>package2</var> ...
</example>
</sect>

<sect id="clean">Removing unused package files: clean and autoclean
<sect id="clean">未使用パッケージのファイルを削除する: clean と autoclean

<p>
When you install a package APT retrieves the needed files from the hosts 
listed in /etc/apt/sources.list, stores them in a local repository
(<file>/var/cache/apt/archives/</file>), and then proceeds with
installation; see <ref id="install">.

パッケージのインストール時に、APT は /etc/apt/sources.list に記載された
ホストから必要なファイルを取得し、
ローカルリポジトリ (<file>/var/cache/apt/archives/</file>) に保存します。
それからインストールに進みます。<ref id="install"> を参照してください。

<p>
In time the local repository can grow and occupy a lot of disk space.
Fortunately, APT provides tools for managing its local repository:
<prgn>APT</prgn>'s <tt>clean</tt> and <tt>autoclean</tt> methods.

時が経つにつれてローカルリポジトリは膨れていき、大量のディスク空間を
占めるようになります。幸い、APT はローカルリポジトリを管理するための
ツールを提供しています - <prgn>APT</prgn> の <tt>clean</tt> および
<tt>autoclean</tt> メソッドがそれに当たります。

<p>
The clean method is invoked through the <tt>Clean package cache</tt>
menu item in the Actions menu. It is used to delete all the <tt>.deb</tt>
files downloaded. The autoclean method is invoked through the <tt>Clean 
obsolete files</tt> option, also in the Actions menu.

clean メソッドは、Actions メニュー内の <tt>Clean package cache</tt>
アイテムによって呼び出されます。ダウンロード済みの全 <tt>.deb</tt> ファイルを
削除するのに使われます。autoclean メソッドは、同じく Actions メニュー内の
<tt>Clean obsolete files</tt> オプションを通じて呼び出されます。

<p>
The autoclean method is to be used by those who like to keep a local
copy of the packages currently installed, mostly. It only deletes those
<tt>.deb</tt> files which are no longer provided by any APT source
and are, thus, obsoleted by a newer version.

autoclean メソッドは通常、現在インストールされているパッケージのローカル
コピーは残しておきたい人が使います。もはやいかなる APT ソースからも提供
されておらず、それゆえ新バージョンによって旧式となった <tt>.deb</tt>
ファイルのみを削除します。

</sect>
</chapt>

<chapt id="sourcehandling">ソースからの構築

<sect id="source">ソースパッケージのダウンロード

<p>
フリーソフトウェアの世界では、ソースコードで勉強したり、バグの多い
ソースを修正するのはよくあることです。
Building from source may also
be useful if you want to enable features that are disabled in the
official package, or disable some which is enabled.
ソースから構築することはまた、公式パッケージでは無効になっている機能を
有効にしたり、逆に有効になっているものを無効にする際にも役立ちます。

このためには、プログラムのソースをダウンロードしなければならないでしょう。
APT システムはディストリビューション中の多くのプログラムのソースコードと、
そのプログラムを .deb 化するために必要な全ファイルを入手するための、
簡単な方法を提供します。

<p>
Debian ソースのよくある使い方としては、プログラムの新しいバージョンを
適合させる場合などです。たとえば、stable ディストリビューションに 
unstable 中のプログラムを使う場合などです。あるパッケージを stable 用に
コンパイルするには、そのディストリビューションで利用可能なように
依存関係を調整して .deb を生成します。

<p>
このためには、<tt>/etc/apt/sources.list</tt> 中の <tt>deb-src</tt> の
エントリが unstable 向けとなっていなければなりません。さらにエントリが
有効 (アンコメント) になっている必要があります。<ref id="sources.list"> を
参照してください。

<p>
Aptitude, the Debian Package Manager is mainly targeted at binary
packages. To use source packages we'll need to use <prgn>apt-get</prgn>
instead.

Debian のパッケージマネージャである aptitude は、バイナリパッケージを
主な対象としています。ソースパッケージを扱うには、代わりに
<prgn>apt-get</prgn> を使う必要があるでしょう。

ソースパッケージをダウンロードするには、以下のコマンドを使います:

<p>
<example>
$ apt-get source packagename
</example>

<p>
これにより 3 つのファイルがダウンロードされます: <tt>.orig.tar.gz</tt>、
<tt>.dsc</tt>、<tt>.diff.gz</tt> です。Debian ネイティブパッケージの
場合、3 番目のファイルはダウンロードされず、最初のものも通常はファイル名中に 
<tt>"orig"</tt> は付きません。

<p>
<tt>.dsc</tt> ファイルは、dpkg-source がソースパッケージを 
<var>packagename-version</var> のディレクトリに展開するために
使われます。ダウンロードされた各ソースパッケージには、.deb パッケージを
作るために必要なファイルが含まれている <tt>debian/</tt> ディレクトリが
あります。

<p>
ダウンロードしたパッケージを自動的に構築するには、次の例のよう
に <tt>-b</tt> をコマンドラインに付加します:

<p>
<example>
$ apt-get -b source packagename
</example>

<p>
ダウンロード時に .deb を作らないのなら、ダウンロードされたパッケージが
あるディレクトリ内で次のようにすることで、後から作ることもできます。
<p>
<example>
$ dpkg-buildpackage -rfakeroot -uc -b
</example>
<p>
Notice that to build most packages you'll need at least the following
packages: <package>devscripts</package>, <package>dpkg-dev</package>,
<package>debhelper</package>, <package>fakeroot</package>, take a look
at <ref id="install"> and install them before proceeding.  Most
packages will also depend on compilation tools, so it may be useful to
install the <package>build-essential</package> package as well.  Other
packages may be needed, take a look at <ref id="build-dep"> for more
information.

大半のパッケージを構築するためには、少なくとも以下のパッケージが必要と
なることに注意してください: <package>devscripts</package>、<package>dpkg-dev</package>、
<package>debhelper</package>、<package>fakeroot</package>。
先に進む前に <ref id="install"> を見て、これらをインストールしておいて
ください。大半のパッケージはコンパイル用ツールにも依存しているので、
<package>build-essential</package> パッケージもインストールしておくと
役立つでしょう。それ以外のパッケージも必要となるかもしれませんが、より
詳しい情報は <ref id="build-dep"> を参照してください。

<p>
To install the package built by the commands above one must use the
package manager directly. Take a look at <ref id="manual-install">. A
useful tool is provided by the <package>devscripts</package> package:
<prgn>debi</prgn>. If you run <prgn>debi</prgn> from
inside the source package directory it will look for the
<tt>.changes</tt> file at the parent directory to discover what are
the binary packages the package produces and will run
<prgn>dpkg</prgn> to install all of them. While this is not very
useful if your source package produces conflicting packages, it might
be in most circumstances. Of course you need root powers in order to
perform this.

上記のコマンドで構築されたパッケージをインストールするには、パッケージ
マネージャを直接使わなければなりません。<ref id="manual-install"> を参照
してください。<prgn>debi</prgn> という便利なツールが <package>devscripts</package>
パッケージで提供されています。ソースパッケージディレクトリ内から直接
<prgn>debi</prgn> を実行すると、親ディレクトリにある <tt>.changes</tt>
ファイルを探し、そのパッケージから作られるバイナリパッケージを見つけると、
それらすべてをインストールするために <prgn>dpkg</prgn> を実行してくれます。
あるソースパッケージが衝突しあうパッケージ群を作る場合には、さほど便利と
いうわけではありませんが、大半の環境では便利でしょう。もちろん、これを
実行するには root 権限が必要です。

<p>
<prgn>apt-get</prgn> の <tt>source</tt> 指定と他の指定とでは違いがあります。
<tt>source</tt> 指示は、一般ユーザにも実行可能で、特別な root 権限は
必要ありません。ファイルは、<tt>apt-get source package</tt> が実行された
ディレクトリにダウンロードされます。
</sect>

<sect id="build-dep">ソースパッケージのコンパイルに必要なパッケージ

<p>
通常、ソースパッケージをコンパイルするには、特定のヘッダや共有
ライブラリが存在することが必要です。全ソースパッケージには、その
コントロールファイル中に 'Build-Depends' というフィールドがあります。
これは、そのパッケージをソースから構築する際に、必要となる追加
パッケージを示しています。
Some basic packages are also needed, check <ref id="source">
before continuing.

いくつかの基本パッケージも必要となるでしょうから、先に進む前に
<ref id="source"> をチェックしてください。

<p>
APT はこれらのパッケージをダウンロードする簡単な方法を持ち合わせています。
単に <tt>apt-get build-dep package</tt> を実行するだけです。'package' の箇所
は、構築したいパッケージの名前です。たとえば:
<p>
<example>
# apt-get build-dep gmc
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
  comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-dev
  libgpmg1-dev 
0 packages upgraded, 7 newly installed, 0 to remove and 1  not upgraded.
Need to get 1069kB of archives. After unpacking 3514kB will be used.
Do you want to continue? [Y/n]
</example>
<p>
インストールされるのは、<package>gmc</package> を正しく構築するために
必要なパッケージです。このコマンドは、構築されるプログラムのソース
パッケージを探さないことに注意してください。したがって、それを入手する
のに別途 <tt>apt-get source</tt> を実行する必要があります。
<p>
If all you want is checking what packages are needed to build a
given package, there's a <tt>showpkg</tt> method for <prgn>apt-cache</prgn>
command (see <ref id="search">, which will show, among other
informations, the <tt>Build-Depends</tt> line that lists those
packages.

所定のパッケージを構築するのに必要なパッケージを調べたいだけなら、
<prgn>apt-cache</prgn> コマンドの <tt>showpkg</tt> メソッドがあり
ます (<ref id="search"> を参照)。これは他の情報に加え、構築に必要な
パッケージが記載されている <tt>Build-Depends</tt> 行を表示します。

<p>
<example>
# apt-cache showsrc <var>package</var>
</example>
</sect>
<sect id="source-debuging">Building a debuging package
<p>
If you want to build a package for debuging purposes to, for
example, report a bug -- or fix one, you can use simple environment
variables that are supported by most Debian packages.

たとえばバグ報告や -- あるいはその修正用として、デバッグ目的でパッケージを
構築したければ、大半の Debian パッケージが対応しているシンプルな環境変数を
使うことができます。

<p>
To build  a package which  contains unstriped binaries<footnote>Debian
usually strips  all the  binaries and libraries  it ships.  That means
that all the debug symbols  are removed.</footnote> all you need to do
is  prefix it  with  <tt>DEB_BUILD_OPTIONS=nostrip</tt>. Optimizations
can  also make  debuging harder,  so you  can disable  them  by adding
the   <tt>noopt</tt>   string   to  the   DEB_BUILD_OPTIONS   variable
too. Example:

スリム化されていないバイナリ<footnote>通常 Debian は、配布にあたって
全バイナリとライブラリをスリム化します。これはすべてのデバッグ用シンボルが
削除されることを意味します。</footnote>を含むパッケージを構築したければ、
あらかじめ <tt>DEB_BUILD_OPTIONS=nostrip</tt> と指定するだけです。
また最適化もデバッグを困難にしますが、環境変数 DEB_BUILD_OPTIONS に
<tt>noopt</tt> という文字列を追加すれば、これを無効にできます。例を
次に示します:

<p>
<example>
$ DEB_BUILD_OPTIONS="nostrip noopt" dpkg-buildpackage -rfakeroot -uc -b
</example>
</sect>

<sect id="changing-source">Customizing package build options
<sect id="changing-source">パッケージ構築オプションのカスタマイズ

<p>
If what you want is to customize the way the package is built
you'll have to go about editing the <file>debian/rules</file> file.
This means: inside the main directory created when the source package
is extracted there will be a <tt>debian</tt> directory, which contains
many files. One of them is special: the <file>rules</file> file.

パッケージ構築の方法をカスタマイズしたければ、<file>debian/rules</file>
ファイルの編集に取りかかる必要があるでしょう。つまり、ソースパッケージ
展開時に作成されるメインディレクトリ内には <tt>debian</tt> というディレクトリ
があり、その中には多数のファイルが含まれています。その中の 1 つは特別な
ものです: それは <file>rules</file> というファイルです。

<p>
This file is usually a Makefile that has targets to configure, build,
install and create the package. For example, if I want to have
the <package>luola</package><footnote>A very nice ship-fighting
game that lacks network play. Any takers? =)</footnote> built without
sound I can, after downloading and extracting its source edit
the <file>debian/rules</file> file that looks like this:

同ファイルは Makefile のようなもので、通常はパッケージの設定や構築、
インストール、作成に関するターゲットが記されています。たとえば
<package>luola</package><footnote>とても楽しい飛行船の戦闘ゲームで、
ネットワーク対戦機能はありません。誰か手を挙げませんか? =)</footnote>
をサウンド機能無しで構築したければ、ソースをダウンロードして展開した後、
<file>debian/rules</file> ファイルを次のように編集できます:

<p>
<example>
[...]
configure: configure-stamp
configure-stamp:
	dh_testdir
	# Add here commands to configure the package.
	./configure $(confflags) \
		--prefix=/usr \
		--mandir=share/man \
		--infodir=share/info \
		--datadir=share/games \
		--bindir=games \
		--enable-sound
#		 --enable-sdl-gfx	

	touch configure-stamp
[...]
</example>
<p>
See the <tt>--enable-sound</tt> switch? If I remove it or replace
it with <tt>--disable-sound</tt> and then rebuild the package using
the technique described on <ref id="source"> I'll have a luola package
that is built with no sound.

<tt>--enable-sound</tt> のスイッチを見てください。これを削除するか、
あるいは <tt>--disable-sound</tt> と変更し、それから <ref id="source">
で述べた技を使ってパッケージを再構築すれば、サウンド無しで構築された
luola パッケージが手に入ります。

<p>
If you  really want to  work with source  packages on a daily  basis I
would           suggest           reading           the           <url
id="http://www.debian.org/doc/maint-guide/";      name="Debian      New
Maintainers           Guide">          and           the          <url
id="http://www.debian.org/doc/debian-policy/";  name="Debian  Policy">,
mainly.    Other    documentation     available    from    the    <url
id="http://www.debian.org/devel/"; name="Debian Developers Corner"> may
be useful too.

ソースパッケージを扱う作業を毎日したいと心から望んでいるのなら、
<url id="http://www.debian.org/doc/maint-guide/"; name="Debian New Maintainers Guide">
と <url id="http://www.debian.org/doc/debian-policy/"; name="Debian Policy"> を
主に読むことを勧めます。
<url id="http://www.debian.org/devel/"; name="Debian Developers Corner"> から
入手できる他の文書も、役に立つでしょう。

</sect>

<sect id="equivs">But hey, I do not want to use the Debian stuff!
<sect id="equivs">でもさ、僕は Debian のツールを使いたくないんだ!

<p>
Sometimes, people want to use a specific version of a program
available only on source code, with no Debian package. But the
packaging system can be a trouble when doing this. Suppose
you want to compile a new version of your email server. All
is fine, but many packages in Debian depend on an MTA (Mail 
Transport Agent). Since you installed something you compiled 
by yourself, the packaging system doesn't know about it.

しばしば、ソースコードでのみ入手可能で Debian パッケージが存在しない
特定バージョンのプログラムを使いたくなることがあります。しかしこれを
やろうとすると、パッケージングシステムにトラブルが起きるかもしれません。
電子メールサーバの新バージョンをコンパイルしたくなったと想像してみて
ください。すべてうまくいきましたが、Debian の多くのパッケージは
MTA (メール転送エージェント) に依存しています。コンパイルしたものを
勝手にインストールしてしまうと、パッケージングシステムはそのことを
知ることができません。

<p>
That's where <package>equivs</package> enters the scene. To use it,
install the package with that name. Equivs creates an empty package
that fulfills dependencies, making the package system believe that
the dependencies are satisfied.

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

<p>
Before we begin, it is good to remind you that there are safer
ways of compiling a program which is already packaged for Debian
with different options, and that one should not use equivs to
replace dependencies if she doesn't know what she is doing.
See <ref id="source"> for more information.

始めるにあたって、すでに Debian パッケージとなっているプログラムを
異なるオプションでコンパイルするにはもっと安全な方法があり、自分の
やっていることを理解していないかぎり、依存関係を置き換えるために
equivs を使うべきでないということを思い出してください。より詳しい
情報は、<ref id="source"> を参照してください。

<p>
Let's continue with the MTA example, you just installed your
new compiled <prgn>postfix</prgn> and goes on for installing
<package>mutt</package>. Suddenly you discover that
<package>mutt</package> wants to install another MTA. But you
already have yours.

MTA の例を続けることにしましょう。新たにコンパイルした <prgn>postfix</prgn> の
インストールが終わり、次に <package>mutt</package> のインストール
に取りかかろうとしています。とその瞬間、<package>mutt</package> が
別の MTA をインストールしたがっていることに気づきました。ですが
すでに、あなた専用の MTA はインストールされているのです。

<p>
Go to some directory (<file>/tmp</file>, for example) and run:
どこかのディレクトリ (たとえば <file>/tmp</file>) に移って、次の
ように実行してみてください:

<p>
<example>
# equivs-control <var>name</var>
</example>

<p>
Replace <var>name</var> for the name of the control file you
want to create. The file will be created as the following:

<var>name</var> の箇所は、作成したい control ファイルの名前で
置き換えてください。同ファイルが次のように作成されるでしょう。

<p>
<example>
Section: misc
Priority: optional
Standards-Version: 3.5.10
 
Package: &lt;enter package name; defaults to equivs-dummy&gt;
Version: &lt;enter version here; defaults to 1.0&gt;
Maintainer: Your Name &lt;yourname@xxxxxxx&gt;
Pre-Depends: &lt;packages&gt;
Depends: &lt;packages&gt;
Recommends: &lt;packages&gt;
Suggests: &lt;package&gt;
Provides: &lt;(virtual)package&gt;
Architecture: all
Copyright: &lt;copyright file; defaults to GPL2&gt;
Changelog: &lt;changelog file; defaults to a generic changelog&gt;
Readme: &lt;README.Debian file; defaults to a generic one&gt;
Extra-Files: &lt;additional files for the doc directory, commaseperated&gt;
Description: &lt;short description; defaults to some wise words&gt;
 long description and info
 .
 second paragraph
</example>

<p>
We just need modify this to do what we want. Have a look at
the field's format and at their descriptions, there's no need
to explain each one here, let's look at an example instead:

あとはこれを、望みどおりに修正するだけです。フィールドの書式とその
記述内容に目を向けてください。個々を説明する必要はないでしょう。
代わりに次の例を見てください:

</p>

<p>
<example>
Section: misc
Priority: optional
Standards-Version: 3.0.1

Package: mta-local
Conflicts: mail-transport-agent
Replaces: mail-transport-agent
Provides: mail-transport-agent
</example>
</p>

<p>
Yes, that's all. <package>mutt</package> depends on
<package>mail-transport-agent</package>, that is a virtual
package provided by all MTAs, mta-local "registers" itself
as an mail-transport-agent using the Provides field.

まったく、これだけなのです。<package>mutt</package> は、全 MTA が
提供する <package>mail-transport-agent</package> という仮想パッケージ
に依存します。mta-local は、Provides フィールドを使って自らを
mail-transport-agent として "登録" しています。

</p>
<p>
The <tt>Conflicts</tt> and <tt>Replaces</tt> fields are needed, too,
so that <prgn>APT</prgn> and <prgn>dpkg</prgn> will understand they
should remove the currently installed MTA package in favour of the new
one you're installing.

<tt>Conflicts</tt> および <tt>Replaces</tt> フィールドも必要です。
これらにより、あなたがインストールした新パッケージを優先させるために
現在インストール済みの MTA パッケージを削除しなければならないことを
<prgn>APT</prgn> や <prgn>dpkg</prgn> が理解するでしょう。

</p>
<p>
Now you only need to build the package:

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

</p>

<p>
<example>
# equivs-build <var>name</var>
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 `<var>name</var>' in `../<var>name</var>_1.0_all.deb'.

The package has been created.
Attention, the package has been created in the current directory,
</example>
<p>
And install the resulting <tt>.deb</tt>. See <ref id="manual-install">.

そして作成された <tt>.deb</tt> をインストールしてください。詳細は
<ref id="manual-install"> を参照。

<p>
As one can see, there are several uses for <prgn>equivs</prgn>. One
can even create a <tt>my-favorites</tt> package, which depends on
the programs you usually installs, for example. Just free your imagination,
although being careful.

おわかりになるとおり、<prgn>equivs</prgn> にはさまざまな使い方があります。
たとえば、普段インストールするプログラムに依存する <tt>my-favorites</tt>
パッケージすら作成できます。想像の翼を拡げてください。ですが用心もお忘れ
なく。

<p>
It is important to note that there are example control files in
<file>/usr/share/doc/equivs/examples</file>. Check them out.

重要な注意ですが、<file>/usr/share/doc/equivs/examples</file> には
control ファイルの見本があります。ぜひこれを調べてみてください。

</sect>
</chapt>

<chapt id="search">パッケージ情報の入手

<p>
APT システムには、パッケージが属しているセクションや重要度、その
内容説明などを見るためのフロントエンドプログラムと同様に、インストール
可能かあるいはインストール済みのパッケージ一覧をきわめて容易に入手する
ためのフロントエンドプログラムがいくつかあります。

<p>
ですが... ここでの我々の目的は APT 本体の使い方を学ぶことです。よって、
インストールしたいパッケージ名を見つけるにはどうすれば良いのでしょうか?

<p>
それこそが、この章が答えたいと思っていることです。我々の選択肢を見てみることにしましょう。

<sect id="cache">パッケージ名の発見

<p>
たとえば、旧き良き Atari 2600 の日々について回想に耽りたいとしましょう。
APT を使って Atari エミュレータをインストールし、いくつかのゲームを
ダウンロードできます。次のようにしてください:

<p>
<example>
$ aptitude search atari
p   atari-fdisk-cross               - Partition editor for Atari (running on no
p   atari800                        - Atari emulator for X/curses/SDL
p   console-keymaps-atari           - Keymaps for Atari keyboards.
</example>
<p>
We find several packages related to what we're looking for, together
with brief descriptions. The <tt>p</tt> letter at the beginning of the
line is similar to the notation used inside the curses UI aptitude
uses. It means, thus, that the package is not installed. Important to
notice that aptitude only searches package names by default. You can
use all the search options provided by aptitude, which you can
discover by reading the aptitude's User Manual. To search the
descriptions, for example, you could use:

探しているものに関連がありそうなパッケージがいくつかあり、簡潔な説明文も
あります。行頭の <tt>p</tt> という文字は、aptitude の curses UI 内で
使われている表記法に似ています。よって、これは当該パッケージがインストール
されていないことを意味します。aptitude は、デフォルトではパッケー名だけを
検索することに注意してください。aptitude が提供するすべての検索オプションを
使用できます。それらについては aptitude のユーザマニュアルを読んでください。
たとえば、説明部を検索するには次のようにします:

<p>
<example>
$ aptitude search ~datari 
p   aranym                          - Atari Running on Any Machine
p   atari-fdisk-cross               - Partition editor for Atari (running on no
p   atari800                        - Atari emulator for X/curses/SDL
p   circuslinux                     - The clowns are trying to pop balloons to
p   circuslinux-data                - Data files for circuslinux
p   console-keymaps-atari           - Keymaps for Atari keyboards.
[...]
p   stella                          - Atari 2600 Emulator for SDL & X windows
[...]
</example>

<p>
このように、より多くのパッケージが返されました。我々の問題を解決してくれそうな
ものの一覧を見つけられたので、その中により深く入ってみることにしましょう:

<p>
<example>
$ aptitude show stella
Package: atari-fdisk-cross
Version: 0.7.1-5
Priority: extra
Section: otherosfs
Maintainer: Roman Hodek &lt;roman@xxxxxxxxx&gt;
Uncompressed Size: 106k
Description: Partition editor for Atari (running on non-Atari)
 Atari-fdisk allows you to create and edit the partition table of a disk
 partitioned in Atari format. It supports both the AHDI 5.0 and ICD variations
 of the Atari format. It is an interactive tool with a menu similar to PC
 fdisk, and also supports most options of PC fdisk.
</example>

<p>
この出力から、インストールしたい (あるいはしたくない) パッケージの
詳細が得ることができ、そのパッケージの完全な説明文もあります。
このような情報を得るのに、<prgn>apt-cache</prgn> プログラムを使うことも
できます。このツールを選ぶと、パッケージの複数の利用可能なバージョンを
表示できます。たとえば:

<p>
<example>
$ apt-cache show muine
Package: muine
Version: 0.5.0-1
Priority: optional
Section: gnome
Maintainer: Link Dupont &lt;link@xxxxxxxxxx&gt;
Depends: gstreamer-gconf (>= 0.6.4), libatk1.0-0 (>= 1.4.1), libbonobo2-0 (>= 2.4.3), libc6 (>= 2.3.2.ds1-4), libflac4, libgconf2-4 (>= 2.4.0.1), libgdbm3, libglib2.0-0 (>= 2.2.3), libgnomevfs2-0 (>= 2.4.1), libgnomevfs2-common (>= 2.4.1), libgstreamer0.6-0 (>= 0.6.1-2), libgtk2.0-0 (>= 2.2.1), libid3tag0 (>= 0.15.0b), libogg0 (>= 1.1.0), liborbit2 (>= 1:2.8.0), libpango1.0-0 (>= 1.2.1), libvorbis0a (>= 1.0.1), libvorbisfile3 (>= 1.0.1), libxml2 (>= 2.6.7), zlib1g (>= 1:1.2.1), gconf2 (>= 2.4.0), mono-jit (>= 0.30) | cli-virtual-machine, gtk-sharp (>= 0.17), gconf-sharp (>= 0.17), gnome-sharp (>= 0.17)
Architecture: i386
Filename: ./pool/main/m/muine/muine_0.5.0-1_i386.deb
Size: 164314
Installed-Size: 692
MD5sum: 9885f13e5ef4f76b3bf6fe7bb3ea8634
Description: Simple music player
 Muine is an innovative music player. It has a simple interface designed to
 allow the user to easily construct playlists from albums and/or single songs.
 Its goal is to be simply a music player, not to become a robust music
 management application.
 
Package: muine
Priority: optional
Section: gnome
Installed-Size: 492
Maintainer: Link Dupont &lt;link@xxxxxxxxxx&gt;
Architecture: i386
Version: 0.4.0-8
Depends: gstreamer-gconf (>= 0.6.4), libatk1.0-0 (>= 1.4.1), libbonobo2-0 (>= 2.4.3), libc6 (>= 2.3.2.ds1-4), libflac4, libgconf2-4 (>= 2.4.0.1), libgdbm3, libglib2.0-0 (>= 2.2.3), libgnomevfs2-0 (>= 2.4.1), libgnomevfs2-common (>= 2.4.1), libgstreamer0.6-0 (>= 0.6.1-2), libgtk2.0-0 (>= 2.2.1), libid3tag0 (>= 0.15.0b), libogg0 (>= 1.1.0), liborbit2 (>= 1:2.8.0), libpango1.0-0 (>= 1.2.1), libvorbis0a (>= 1.0.1), libvorbisfile3 (>= 1.0.1), libxml2 (>= 2.6.6), zlib1g (>= 1:1.2.1), gconf2 (>= 2.4.0), mono-jit (>= 0.30) | cli-virtual-machine, gtk-sharp (>= 0.16), gconf-sharp (>= 0.16), gnome-sharp (>= 0.16)
Filename: pool/main/m/muine/muine_0.4.0-8_i386.deb
Size: 139864
MD5sum: e746709ad6a6fcc1e9c46b46b3d6e5b2
Description: Simple music player
 Muine is an innovative music player. It has a simple interface designed to
 allow the user to easily construct playlists from albums and/or single songs.
 Its goal is to be simply a music player, not to become a robust music
 management application.
</example>

<p>
パッケージに関する一般的な情報を得るには、次のようにします:

<p>
<example>
# apt-cache showpkg penguin-command
Package: penguin-command
Versions: 
1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status)

Reverse Depends: 
Dependencies: 
1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) 
Provides: 
1.4.5-1 - 
Reverse Provides: 
</example>

<p>
さらにどのパッケージに依存しているのかを見るには:

<p>
<example>
# apt-cache depends penguin-command
penguin-command
  Depends: libc6
  Depends: libpng2
  Depends: libsdl-mixer1.1
  Depends: libsdl1.1
  Depends: zlib1g
</example>

<p>
まとめると、我々は欲しいパッケージ名を探すのに使える多様な武器を持って
いることになります。
</sect>

<sect id="dpkg-search">dpkg を使ってパッケージ名を探す

<p>
パッケージ名を特定する方法の一つに、パッケージ中の重要なファイル名を
知っている場合があります。たとえば、特定の <tt>".h"</tt> ファイルがないと
コンパイルできない場合、次のようにします。

<p>
<example>
# dpkg -S stdio.h
libc6-dev: /usr/include/stdio.h
libc6-dev: /usr/include/bits/stdio.h
perl: /usr/lib/perl/5.6.0/CORE/nostdio.h
</example>

<p>
あるいは:

<p>
<example>
# dpkg -S /usr/include/stdio.h
libc6-dev: /usr/include/stdio.h
</example>

<p>
Notice that this method only works to find package names of packages
that are installed in your system. You'll have to use
<prgn>auto-apt</prgn> (see <ref id="auto-apt">) or
<prgn>apt-file</prgn> (see <ref id="apt-file">) to search for files on
packages which are not installed. You can also take a look at the <url
id="http://packages.debian.org/"; name="http://packages.debian.org/";>
website.

この手法は、システムにインストールされているパッケージの名前を探す
場合にのみ役立つことに注意してください。インストールされていない
パッケージ内のファイルを検索するには、
<prgn>auto-apt</prgn> (<ref id="auto-apt"> を参照) かあるいは
<prgn>apt-file</prgn> (<ref id="apt-file"> を参照) を使う必要がある
でしょう。さらに
<url id="http://packages.debian.org/"; name="http://packages.debian.org/";> を
参照することもできます。

システムにインストール済みのパッケージ名を探すときも、便利です。たとえば、
ハードディスクを掃除したいなら次のようにします。

<p>
<example>
$ dpkg -l | grep mozilla
ii  mozilla-browse 0.9.6-7        Mozilla Web Browser
</example>
<p>
このコマンドの問題点は、パッケージ名が "途切れて" しまうことです。
上記の例だと、パッケージの本当の名前は <tt>mozilla-browser</tt> です。
これに対処するには、次のように環境変数 <tt>COLUMNS</tt> を使うことができます:

<p>
<example>
$ COLUMNS=132 dpkg -l | grep mozilla
ii  mozilla-browser             0.9.6-7                     Mozilla Web Browser - core and browser
</example>
</sect>

<sect id="apt-file">How to discover to which package a file belongs
<sect id="apt-file">あるファイルが含まれているパッケージの見つけ方

<p>
If you want to install a package, and you can't find out what it is
called by searching with <prgn>apt-cache</prgn>, but know the filename 
of the program itself, or some other filename that belongs to the package,
then you can use <prgn>apt-file</prgn>, which is included in the package
of same name to find the package name. This is done like this:

あるパッケージをインストールしたいが、<prgn>apt-cache</prgn> で検索
しても正式なパッケージ名が判らないとします。しかしプログラム自体の
ファイル名や、そのパッケージに含まれる他のファイル名を知っているのなら、
<prgn>apt-file</prgn> を使うことができます。これは同名のパッケージに
含まれており、パッケージ名を探すためのものです。次のように使用します:

<p>
<example>
$ apt-file search <var>filename</var>
</example>

<p>
It works just like <tt>dpkg -S</tt>, but will also show you uninstalled
packages that contain the file. It could also be used to find what
packages contain necessary include files that are missing when
compiling programs, although <prgn>auto-apt</prgn> is a much better 
method of solving such issues, see <ref id="auto-apt">.

<tt>dpkg -S</tt> に似た動作をしますが、知っているファイルを含む
未インストールなパッケージも表示します。プログラムのコンパイル時に
欠けている、必要なインクルードファイルを含むパッケージを探すのにも
使用できます。ですがそのような問題の解決には、<prgn>auto-apt</prgn>
の方がはるかに適切でしょう。<ref id="auto-apt"> を参照してください。

<p>
You can also list the contents of a package, by running:

次のように実行すれば、パッケージの内容を一覧表示できます:

<p>
<example>
$ apt-file list <var>packagename</var>
</example>

<p>
<prgn>apt-file</prgn> keeps a database of which files all packages 
contain, just like auto-apt does and it needs to be up-to-date. 
This is done by running:

<prgn>apt-file</prgn> は全パッケージに含まれるファイルのデータベースを
保持しており、auto-apt と同じように更新する必要があります。これには次の
ように実行します:

<p>
<example>
# apt-file update
</example>

<p>
By default, <prgn>apt-file</prgn> uses the same database 
<prgn>auto-apt</prgn> is using, see <ref id="auto-apt">.

デフォルトでは、<prgn>apt-file</prgn> は <prgn>auto-apt</prgn> が
使っているのと同じデータベースを使用します。<ref id="auto-apt"> を
参照してください。

</sect>

<sect id="info-web">Information about packages on the Web
<sect id="info-web">パッケージに関するウェブ上の情報

<p>
There are lots of web resources with informations about the packages
available in the Debian distribution, most of them directed mainly
towards Debian Developers, but many of them may be useful for users,
too.

Debian ディストリビューションで利用可能なパッケージ関する情報を得る
ための、ウェブリソースは数多くあります。その大半は主に Debian 開発者
向けですが、ユーザにとって役に立つものも多くあります。

<p>
The <url id="http://packages.debian.org/"; name="Debian Packages
Pages"> lets you search for packages that are available on the various
architectures Debian supports and, also, search for the contents of
all the Debian packages. There are information regarding dependencies
and other relationships with packages. There are also links to
download the source package and the binary package for all
architectures. You can use a shortcut like
<tt>http://packages.debian.org/<var>packagename</var></tt> to have quick
access links to a package.  

<url id="http://packages.debian.org/"; name="Debian Packages Pages"> では、
Debian が対応している各種アーキテクチャで入手可能なパッケージの検索が
可能です。さらに、全 Debian パッケージの内容も検索できます。依存関係や、
別パッケージとのその他の関係についての情報があります。ソースパッケージや、
全アーキテクチャ用のバイナリパッケージのダウロードへのリンクもあります。
あるパッケージへアクセスするためのクイックリンクとして、
<tt>http://packages.debian.org/<var>packagename</var></tt> のような
ショートカットを使うことができます。

<p>
The <url id="http://packages.qa.debian.org/"; name="Package Tracking
System"> provides information about what happened to the package
recently, what are the TODO items, from a Debian maintainers point of
view, provides a summary of bugs reported and some more very useful
information. One of the nice things about the Package Tracking System
is that it lets you "subscribe" to a package to follow all the emails
that the maintainer usually receives about the package. This way you
can follow the development of packages that are crucial for your work
or play. The <tt>http://packages.qa.debian.org/<var>packagename</var></tt>
shortcut works here, as well.

<url id="http://packages.qa.debian.org/"; name="Package Tracking System"> は、
あるパッケージに最近発生した出来事についての情報を提供します。
Debian メンテナにしてみればそれらは ToDo アイテムであり、バグ報告の一覧や
その他のとても有益な情報を提供してくれます。パッケージ追跡システムについて
素晴らしいことのひとつに、日々メンテナがパッケージに関して受け取るすべての
電子メールを読めるよう、パッケージを "購読" できることがあります。これに
より、あなたの仕事や余暇にとって必要不可欠なパッケージの開発状況を追える
ようになります。ここでも、<tt>http://packages.qa.debian.org/<var>packagename</var></tt>
というショートカットを使うことができます。

<p>
Finally, the <url id="http://bugs.debian.org/"; name="Bug Tracking
System"> provides information about known bugs in the packages
distributed by Debian. This may be useful for you to find out why
something does not work the way you expected and even find solutions
or work-arounds through the bug logs. Also, read these pages and its
documentation to be able to fill good bug reports for Debian. The
<tt>http://bugs.debian.org/<var>packagename</var></tt> shortcut also works
here, as expected, but the BTS (Bug Tracking System) also accepts
other very useful shortcuts like, for example,
<tt>http://bugs.debian.org/src:<var>packagename</var></tt> to show all bug
reports on all binary packages provided by a given source package.

最後に <url id="http://bugs.debian.org/"; name="Bug Tracking System"> は、
Debian で配布されているパッケージの既知のバグに関する情報を提供します。
ある動作が期待どおりに動いてくれない原因を見つけるのに便利で、解決方法や
作業の様子さえもバグログを通じて見ることができます。Debian に良質なバグ
報告を送れるようになるためにも、これらのページとそのドキュメントを読む
ようにしてください。ここでも <tt>http://bugs.debian.org/<var>packagename</var></tt>
というショートカットが使えますが、BTS (バグ追跡システム) ではより便利な
ショートカットを使うことができます。たとえば
<tt>http://bugs.debian.org/src:<var>packagename</var></tt> とすれば、
指定したソースパッケージから提供される全バイナリパッケージに関するバグ
報告を見ることができます。
</sect>
</chapt>

<chapt id="tricks">トリックとテクニック
<sect id="auto-apt">"必要に応じて" パッケージをインストールする方法

<p>
プログラムをコンパイルしていて、まったく突然にドカーン!  エラーの
原因は、ある <tt>.h</tt> ファイルがなかったからでした。このような
シナリオは、<prgn>auto-apt</prgn> プログラムを使うことで避けられます。
あるパッケージが必要になった時点でインストールするかどうかを尋ね、
関連するプロセスを停止して、インストールが完了したら再開します。

<p>
基本的には、次のように実行します:

<p>
<example>
# auto-apt run command
</example>

<p>
'command' の個所には、実行するのに必要なファイルがないコマンドを
指定してください。たとえば:

<p>
<example>
# auto-apt run ./configure
</example>

<p>
必要なパッケージをインストールするかどうかを尋ねてきて、自動的に
apt-get を呼び出します。X の実行中であれば、デフォルトのテキスト
インターフェイスに代わってグラフィカルインターフェイスが使われ
ます。

<p>
auto-apt はデータベースを持っており、効果的に使うためにはそれを更新する
必要があります。そのためには、<tt>auto-apt update</tt>、<tt>auto-apt updatedb</tt>、
<tt>auto-apt update-local</tt> などのコマンドを使います。
</sect>

<sect id="apt-proxy">Caching packages

<sect id="apt-proxy">パッケージのキャッシュ

<p>
If you are dealing with several machines in a network it might
be useful to have a package caching system, so that you will not
have to download the packages for each machine. This manual will
focus on the <package>apt-proxy</package> package, which does
exactly that. Other solutions exist, like <package>apt-cacher</package>,
though. You may want to try each one to choose the one that best
fits your needs.

ネットワークで複数のマシンを扱っているのなら、各マシン用にパッケージを
ダウンロードしなくても済むように、パッケージキャッシングシステムを
持っておけば便利でしょう。本マニュアルでは、まさにこれを行なうための
<package>apt-proxy</package> パッケージに焦点を絞ります。しかしながら、
<package>apt-cacher</package> のような他の方策も存在します。自分の
必要性に合ったものを選ぶために、各々を試してみたくなるでしょう。

<p>
First of all, install the <package>apt-proxy</package> package. 
It will register itself on <prgn>inetd</prgn> to listen for requests 
on port 9999, you may need to restart the <prgn>inetd</prgn> service.

なによりもまず、<package>apt-proxy</package> パッケージをインストール
してください。同パッケージは、ポート 9999 用の要求を監視するために自らを
<prgn>inetd</prgn> に登録します。そのため <prgn>inetd</prgn> サービスを
再起動する必要があるでしょう。

<p>
Next you'll want to edit the <file>/etc/apt-proxy/apt-proxy.conf</file>
file. It lists the real servers apt-proxy will use to download the
package lists and packages from. You can use http, ftp and rsync
as transfer methods. The file comes with a default "backend" that
looks like this:

次に、<file>/etc/apt-proxy/apt-proxy.conf</file> ファイルを編集する
必要があるでしょう。ここには、apt-proxy がパッケージリストやパッケージを
ダウンロードするのに使う実際のサーバが記述されています。転送手段として、
http や ftp, rsync を使うことができます。同ファイルにはデフォルトの
"バックエンド" として、以下のような記述があります:

<p>
<example>
add_backend /debian/                                    \
        $APT_PROXY_CACHE/debian/                        \
        http://ftp.us.debian.org/debian/                \
        http://ftp.de.debian.org/debian/                \
        http://ftp.uk.debian.org/debian/                \
        +ftp.us.debian.org::debian/
</example>
<p>
This means that whenever a client tries to get something
from /debian/ <prgn>apt-proxy</prgn> will use its cache,
the listed Debian http mirrors and one rsync server, which
is preferred for downloading the package lists (the "+" sign 
means preferred for control files).

この意味は、クライアントが /debian/ から何かを取得しようとするたびに、
<prgn>apt-proxy</prgn> がそのキャッシュを使うということです。
Debian http ミラーと 1 つの rsync サーバが記述されており、後者が
パッケージリストの推奨ダウンロード元となっています ("+" の印は
推奨の意味です)。

<p>
How, then, a client will use this backend? By adding the
following line at the <file>/etc/apt/sources.list</file>
file at the clients (including the box in which apt-proxy
is installed):

それでは、クライアントがこのバックエンドを使うにはどのようにすれば
しょうか?  クライアント (apt-proxy がインストールされているマシンも
含む) の <file>/etc/apt/sources.list</file> ファイルに以下の行を追加
してください :

<p>
<example>
deb http://<var>server</var>:9999/debian/ stable main
</example>
<p>
The line looks much like a normal line. The difference here is you put
your apt-proxy server where you would normally put an http or ftp
mirror, uses a port value (9999) and then select the backend
(/debian/). After having done all this initial setup update the list
of packages at one of the machines and upgrade it first, so that it
will only download a package one time. After the first machine is
up-to-date update the others.

この行は通常のものに見えます。異なるのは、通常であれば http や ftp
ミラーを記述する場所に apt-proxy サーバが記述されていることです。
ポート番号 (9999) を使い、それからバックエンド (/debian/) を選択して
ください。これらすべてが完了すると、初期設定においてある 1 つのマシンで
パッケージリストが更新され、そのマシンが最初にアップグレードされます。
これにより、あるパッケージのダウンロードが 1 回だけで済みます。最初の
マシンの更新後に、他のマシンが更新されます。

<p>
You can use the <prgn>apt-proxy-import</prgn> command to import the
packages that are inside your current APT cache
(<file>/var/cache/apt/archives/</file>) by running
<tt>apt-proxy-import /var/cache/apt/archives</tt>. Notice that you
must have run the update process in at least one client to initiate
the <prgn>apt-proxy</prgn>'s cache before using
<prgn>apt-proxy-import</prgn>.

最新の APT キャッシュ (<file>/var/cache/apt/archives/</file>) 内に
あるパッケージをインポートするのに、<prgn>apt-proxy-import</prgn>
コマンドを使うことができます。そのためには、
<tt>apt-proxy-import /var/cache/apt/archives</tt> と実行してください。
<prgn>apt-proxy-import</prgn> を使うのに先立ち、<prgn>apt-proxy</prgn> の
キャッシュを最新化するために、最低 1 台のクライアントで更新処理を実行
しなければならないことに注意してください。

<p>
You can learn more about <prgn>apt-proxy</prgn> by reading the
comments that populate the <file>/etc/apt-proxy/apt-proxy.conf</file>
file. To setup http and ftp proxies for <prgn>apt-proxy</prgn> to
use, for example, you will find example configurations at the end
of the file.

<file>/etc/apt-proxy/apt-proxy.conf</file> ファイル内にあるコメントを
読めば、<prgn>apt-proxy</prgn> についてより深く学ぶことができます。
たとえば <prgn>apt-proxy</prgn> で http および ftp プロキシを使える
ように設定するには、同ファイルの末尾に設定例があります。

</sect>

<sect id="netselect">sources.list ファイルに記述すべき最適なミラーサイトの決定: netselect, netselect-apt

<p>
主に始めたばかりのユーザが間違いなく抱く疑問があります——「<tt>sources.list
</tt> に記述すべき Debian のミラーサイトはどれですか?」。どのミラーにするのかを
決めるには、多くの方法があります。おそらく熟練者なら、いくつかのミラーに
ping を打って時間を測るスクリプトを持っているでしょう。ですが我々のためにも、
同じことをしてくれるプログラムがあります。それが、<strong>netselect</strong> です。

<p>
netselect のインストールは、いつものようにするだけです:
<p>
<example>
# aptitude install netselect
</example>
<p>
パラメータなしで実行すると、ヘルプが表示されます。スペースで区切った
ホスト (ミラー) のリストを付けて実行すると、1つのホストとそのスコアを
返します。このスコアは、推定 ping 時間と hops 数 (接続要求が目的地に到達
するまでに経由したホストの数)、逆比例する推定ダウンロード速度 (よって
少ないほど可) などを計算して算出されます。コマンドが返すホストは、
最少のスコアとなった1つだけです (-vv オプションを付ければ、全候補の
スコアが出力されます)。以下の例を参照してください:
<p>
<example>
# netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
  365 ftp.debian.org.br
bash$
</example>
<p>
上記の意味は、netselect のパラメータとして渡したミラーの中で、
<tt>ftp.debian.org.br</tt> が最適であり、スコアは 365 であるということ
です (注意してください!!  これは私のコンピュータで実行したものであり、
ネットワークトポロジは接続ポイントによって大きく異なります。このスコア
は、必ずしも他のコンピュータでの結果と一致するわけではありません)。

<p>
さあ、netselect が見つけた最速のミラーを <tt>/etc/apt/sources.list</tt> 
ファイルに記述して (<ref id="sources.list"> を参照)、<ref id="apt-get"> 
にある tips に従ってください。

<p>
<strong>注意:</strong> ミラーの一覧は、
<url id="http://www.debian.org/mirror/mirrors_full";
name="http://www.debian.org/mirror/mirrors_full";> というファイルを
見れば、いつでもわかります。

<p>
バージョン 0.3 から、netselect パッケージには <strong>netselect-apt
</strong> というスクリプトが含まれるようになりました。これは上記の
プロセスを自動的に行なってくれるものです。ディストリビューションの
種類 (デフォルトは stable) をパラメータとして実行するだけで、最適な
main のミラーが記述された <tt>sources.list</tt> が生成され、
今いるディレクトリ内に配置されます。以下は、stable ディストリ
ビューション用の sources.list を生成する例です。
<p>
<example>
# ls sources.list
ls: sources.list: File or directory not found
# netselect-apt stable
(...)
# ls -l sources.list
sources.list
#
</example>

<p>
<strong>注記:</strong> <tt>sources.list</tt> ファイルは、コマンドを
実行したディレクトリ内に生成されます。その後、<tt>/etc/apt</tt>
ディレクトリに移動しなければなりません。
</sect>

<sect id="apt-listchanges">パッケージの変更点を常に知らせる方法

<p>
どのパッケージも、個別の文書用ディレクトリ 
(<tt>/usr/share/doc/packagename</tt>) に、<tt>changelog.Debian.gz</tt> という
ファイルをインストールします。このファイルは、前回のバージョンからの変更点一覧を
含んでいます。こういったファイルは、'<tt>zless</tt>' などの助けを借りて読むこと
ができますが、全システムをアップグレードした後などは、アップグレードされた
各パッケージの changelog を探すのに骨が折れます。

<p>
<prgn>apt-listchanges</prgn> というツールを使って、この作業を自動化できます。
まずは <package>apt-listchanges</package> パッケージをインストールする必要が
あります。インストール中に、Debconf が設定を行ないます。質問に対して、
あなたの希望するように答えてください。

<p>
"Should apt-listchanges be automatically run by apt?" というオプションは、
アップグレード途中で apt によってインストールされようとしている各パッケージの
変更点一覧を表示し、作業を続ける前にその内容を確認できるので、役に立ちます。
"Should apt-listchanges prompt for confirmation after displaying changes?" と
いうオプションは、変更点一覧を読んだ後で、インストールを続けるかどうかを
問い合わせてくれるので役に立ちます。継続を望まないと答えれば、apt-listchanges は
エラーを返し、apt はインストールを取り止めます。

<p>
apt-listchanges がインストールされればすぐに、その後ダウンロードされた (あるい
は CD やマウントされたディスクから入手した) パッケージはインストールされる前に
変更点一覧を表示するようになります。
</sect>
</chapt>

<chapt id="repositories">Being at the other side: creating a repository

<chapt id="repositories">もう一方の側面: リポジトリの作成

<p>
To create a repository you mainly need a set of packages (source
and/or binary) to generate <tt>Packages.gz</tt> and
<tt>Sources.gz</tt> files from them. You may have binary-only packages
in some cases, but be careful not to violate licenses. A GPL'ed
software, for example, needs to have its source distributed along with
the binaries.

リポジトリを作成するには、<tt>Packages.gz</tt> および <tt>Sources.gz</tt>
ファイルを生成するためのパッケージ (ソースおよびバイナリ) 一式が必要と
なります。いくかの場合ではバイナリのみのパッケージを持つことができますが、
ライセンス違反とならないよう注意してください。たとえば GPL 適用のソフト
ウェアでは、バイナリに加えてそのソースも配布することが求められます。

</p>

<p>
To do that you need to use the <prgn>apt-ftparchive</prgn> program
which is installed by the <package>apt-utils</package> package. First
of all you collect all your packages in a directory. Let's say, for
example, <file>~/public_html/debian</file>; using that we're going to
be exposing the repository through our http server, already!

リポジトリ作成には、<package>apt-utils</package> パッケージによって
インストールされる <prgn>apt-ftparchive</prgn> プログラムを使う必要が
あります。まず最初に、あなたの全パッケージを 1 つのディレクトリ内に
集めてください。ここでは、<file>~/public_html/debian</file> という
ディレクトリを使っており、すでに http サーバ経由でリポジトリを公開
する予定であるということにします!

</p>

<p>
I can go to that directory and do the following:

上記ディレクトリに移動して、次のように実行します:
</p>

<p>
<example>
$ apt-ftparchive sources . > Sources
$ apt-ftparchive packages . > Packages
$ gzip -c Packages > Packages.gz
$ gzip -c Sources > Sources.gz
</example>
</p>

<p>
The first two commands scan the directory and its subdirectories of
the directory you specified (<tt>.</tt>, in this case) and prints the
resulting packages list to the standard output, which we're
redirecting to the <tt>Sources</tt> and <tt>Packages</tt> files.

最初の 2 つのコマンドは、当該ディレクトリおよび指定 (この場合は <tt>.</tt>)
したディレクトリのサブディレクトリを調べ、結果として得られたパッケージ
一覧を標準出力に出力します。上記の例では、それを <tt>Sources</tt> および
<tt>Packages</tt> というファイルにリダイレクトしています。
</p>

<p>
If you're using the <tt>file</tt> method to access this repository
the first two lines are enough. If you're using a remote method like
<tt>ftp</tt> or <tt>http</tt>, then you need the compressed versions,
as they're what APT will look for when updating the packages lists.

リポジトリへのアクセスに <tt>file</tt> メソッドを使っているのなら、
上記 2 つのコマンドだけで充分です。<tt>ftp</tt> や <tt>http</tt> と
いったリモートメソッドを使っているのなら、圧縮版が必要となります。
これは APT がパッケージ一覧の更新用に探すのと同じものです。
</p>

<p>
Here are the source lines you could add to your
<file>/etc/apt/sources.list</file> to make APT aware of your
repository now:

これで、APT にあなたのリポジトリを認識させるために
<file>/etc/apt/sources.list</file> へソース行を追加する準備ができました:
</p>

<p>
<example>
# This will only work with local access to the filesystem
deb file:/home/<var>user</var>/public_html/debian/ ./

# This will be useable by people that can access your machine
# with a network connection if you have your http server properly
# configured
deb http://<var>host</var>/~<var>user</var>/debian/ ./
</example>
</p>

<p>
You get the idea. As we called apt-ftparchive at the same directory
the packages were on we can simply provide the full path to where the
packages are and add a <tt>./</tt> at the end.  You can do things
differently, by calling apt-ftparchive with different relative paths
instead of calling it on the same directory in which the packages
are. You can also separate groups of packages as sections like Debian
does. Read the <tt>apt-ftparchive(1)</tt> manpage for more information
and play with the possibilities.

あなたはピンと来たでしょう。パッケージがある同一ディレクトリで apt-ftparchive を
呼び出したように、パッケージが存在するフルパスを指定して、末尾に <tt>./</tt> を
追加できます。また、パッケージが存在する同一ディレクトリ上で apt-ftparchive を
呼び出す代わりに、異なる相対パスを付けて呼び出すこともできます。さらに Debian の
ように、セクションごとにパッケージをグループ化することも可能です。より詳しい情報は
<tt>apt-ftparchive(1)</tt> を参照して、いろいろと遊んでみてください。
</p>

</chapt>

<!-- <chapt id="otheruis">Alternative User Interfaces for managing packages -->
<!-- <chapt id="otheruis">パッケージを管理する別のユーザインターフェイス -->
<!-- <p>
Aptitude is what this howto recommends as the main user interface for
managing packages for your Debian system. This is because, as we
stated through the document, aptitude has a set of features that makes
the administrator's life easier. -->
<!-- <p>
aptitude は、この HOWTO においてあなたの Debian システムのパッケージを
管理するメインユーザインターフェイスとして推奨されています。というのも、
本文書を通して述べてきたように、aptitude は管理者の日常をより楽に
してくれるいろいろな機能を持ち合わせているからです。-->
<!-- <p>
There are, though, other user interfaces, even graphical ones, like
Synaptic or GNOME-APT. In this chapter we're going to go through them. -->
<!-- <p>
しかしながら、その他のインターフェイス—— Synaptic や GNOME-APT のような
グラフィカルなものさえもあります。この章では、これらを俯瞰していきます。-->

<sect id="synaptic">Synaptic
<p>
Synaptic was originally written by Alfredo Kojima for Conectiva. Today
it's maintained by people from both Conectiva and Debian. It was
originally written in wing, Window Maker's graphical toolkit, but was
rewritten in GTK+.

Synaptic は元々、Conectiva 用として Alfredo Kojima さんにより書かれた
ものです。現在では、Conectiva および Debian 両方の人々が保守しています。
元は Window Maker 用グラフィカルツールキットである wing で書かれていましたが、
GTK+ で書き直されました。

<p>
To use Synaptic you have to install the <package>synaptic</package>
package.

Synaptic を使うには、<package>synaptic</package> パッケージをインストール
してください。

<p>
Synaptic is probably the most usable of all the graphical user
interfaces for APT, the one the end users will most likely have less
problems with.

おそらく Synaptic は、APT 用の全グラフィカルユーザインターフェイスの中で
もっとも便利なものであり、エンドユーザが問題に直面することはほとんどない
でしょう。
</sect>

<sect id="gnome-apt">GNOME-APT
<p>
GNOME-APT は、Debian システム向けに Havoc Pennington と Diego Lages に
よって最初に書かれました。かつてはメンテナンスされていませんでしたが、
Woody では維持されていました。Sarge で、このパッケージは新しいメンテナを
得ました。Synaptic に対して GNOME-APT は、見栄えのよい GTK+ インター
フェイスを楽しんでおり、ユーザビリティよりも柔軟性を好む人々向けです。
<p>
<package>gnome-apt</package> をインストールすれば、GNOME-APT を利用できます。
</sect>


</chapt>

<chapt id="erros">エラーへの対処方法

<sect id="erros-comuns">よくあるエラー

<p>
エラーは常に起き、多くはユーザの不注意が原因です。以下は、とても頻繁に
報告されるエラーと、その対処方法です。

<p>
<tt>apt-get install package</tt> を実行した際に、以下のような
メッセージを受け取ったら...

<p>
<example>
Reading Package Lists... Done
Building Dependency Tree... Done
W: Couldn't stat source package list 'http://people.debian.org unstable/ Packages' (/var/state/apt/lists/people.debian.org_%7ekov_debian_unstable_Packages) - stat (2 No such file or directory)
W: You may want to run apt-get update to correct these missing files
E: Couldn't find package penguineyes
</example>

<p>
最後に <tt>/etc/apt/sources.list</tt> ファイルを修正した後で、
<tt>apt-get update</tt> を実行するのを忘れているのでしょう。

<p>
以下のエラーの場合は:

<p>
<example>
E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
</example>

<p>
<tt>source</tt> 以外の <prgn>apt-get</prgn> 指示を行う場合は、
root 権限がなければなりません。つまり、一般ユーザとして実行して
しまったのです。

<p>
上記に似たエラーが出るのは、<prgn>apt-get</prgn> を同時に 2 つ実行
しようとした場合や、<prgn>dpkg</prgn> のプロセスが生きている間に、
<prgn>apt-get</prgn> を実行しようとした場合があります。
同時に並行して実行できるのは、<tt>source</tt> 指示だけです。

<p>
インストール時、処理途中で止まってしまい、そのパッケージをインストール
することも削除もできなくなった場合、次の 2 つのコマンドを実行してみて
ください。

<p>
<example>
# apt-get -f install
# dpkg --configure -a
</example>

<p>
その後で、もう一度試してください。上記の例中の 2 番目のコマンドは、
繰り返し実行する必要があるかもしれません。これは 'unstable' を使う
冒険家にとって、重要な教えです。

<!-- p>
If you receive the error "E: Dynamic MMap ran out of room" when running
<tt>apt-get update</tt>, add the following line to 
<file>/etc/apt/apt.conf</file>: -->
<!-- <p>
<tt>apt-get update</tt> の実行時に "E: Dynamic MMap ran out of room" というエラーが出てしまったら、以下の行を
<file>/etc/apt/apt.conf</file> に追加します: -->

<example>
APT::Cache-Limit 10000000;
</example>

</sect>

<sect id="help">ヘルプはどこにありますか?

<p>
疑いを抱いたなら、Debian パッケージングシステム用に利用可能な
膨大な文書を調べてみてください。<tt>/usr/share/doc/apt</tt> の
ような <tt>/usr/share/doc</tt> 内にある文書と同様、
<tt>--help</tt> オプションや man ページも大きな助けとなるでしょう。

<p>
以上の文書でも恐怖を拭い去ることができなければ、Debian の
メーリングリスト中で回答を探してみてください。特定のリストに関する
情報は Debian のウェブサイトで見つかります:
<url id="http://www.debian.org"; name="http://www.debian.org";>。

<p>
これらのリストやリソースは、Debian ユーザだけが使用すべきであることに
注意してください。他のシステムのユーザには、各ディストリビューションの
コミュニティリソースが有するより良いサポートがあるでしょう。
</sect>
</chapt>

<chapt id="distros">APT に対応しているディストリビューションは?

<p>
以下に、APT を使用しているいくつかのディストリビューション名を示します。

<p>
Debian GNU/Linux (<url id="http://www.debian.org"; name="http://www.debian.org";>) 
- APT が開発されたのは、このディストリビューションのためにです。

<p>
Conectiva (<url id="http://www.conectiva.com.br"; name="http://www.conectiva.com.br";>) 
- APT で rpm を使えるように移植した、最初のディストリビューションです。
<p>
Libranet (<url id="http://www.libranet.com"; name="http://www.libranet.com";>)
<p>
Mandrake (<url id="http://www.mandrake.com"; name="http://www.mandrake.com";>)
<p>
PLD (<url id="http://www.pld.org.pl"; name="http://pld.org.pl";>)
<p>
Vine (<url id="http://www.vinelinux.org"; name="http://www.vinelinux.org";>)
<p>
APT4RPM (<url id="http://apt4rpm.sf.net"; name="http://apt4rpm.sf.net";>)
<p>
Alt Linux (<url id="http://www.altlinux.ru/"; name="http://www.altlinux.ru/";>)
<p>
Red Hat (<url id="http://www.redhat.com/"; name="http://www.redhat.com/";>)
<p>
Sun Solaris (<url id="http://www.sun.com/"; name="http://www.sun.com/";>)
<p>
SuSE (<url id="http://www.suse.de/"; name="http://www.suse.de/";>)
</p>
<p>
Ubuntu (<url id="http://www.ubuntulinux.com/"; name="http://www.ubuntulinux.com/";>)
<p>
Yellow Dog Linux (<url id="http://www.yellowdoglinux.com/";
name="http://www.yellowdoglinux.com/";>)
</chapt>

<chapt id="agradecimentos">クレジット

<p>
Debian-BR プロジェクトと、Debian 本体の偉大なる友人たちに深く感謝します。
絶え間のない手助けと、世界を救うという私の目的を手伝ってくれるばかりで
なく、人類の利益のために作業を続ける力を私に与えてくれました :)。

<p>
CIPSGA に対して我々のプロジェクトへの多大なる助力に、また偉大なアイデア
の弾みとなったあらゆるフリープロジェクトにも、感謝したいと思います。

<p>
以下の方には特に謝意を表します。

<p>
Yooseong Yang &lt;yooseong@debian.org&gt;
<p>
Michael Bramer &lt;grisu@debian.org&gt;
<p>
Bryan &lt;Stillwell bryan@xxxxxxxxxx&gt;
<p>
Pawel Tecza  &lt;pawel.tecza@xxxxxxxxxx&gt;
<p>
<p>
Hugo Mora &lt;h.mora@xxxxxxxxxxxx&gt;
<p>
Luca Monducci &lt;luca.mo@xxxxxxxxxx&gt;
<p>
Tomohiro KUBOTA &lt;kubota@debian.org&gt;
<p>
Pablo Lorenzzoni &lt;spectra@debian.org&gt;
<p>
Steve Langasek &lt;vorlon@xxxxxxxxxxxxxx&gt;
<p>
Arnaldo Carvalho de Melo &lt;acme@xxxxxxxxxxxxxxxx&gt;
<p>
Erik Rossen &lt;rossen@xxxxxxxxxxx&gt;
<p>
Ross Boylan &lt;RossBoylan@xxxxxxxxxxxxxxxxxx&gt;
<p>
Matt Kraai &lt;kraai@debian.org&gt;
<p>
Aaron M. Ucko &lt;ucko@debian.org&gt;
<p>
Jon &Aring;slund &lt;d98-jas@xxxxxxxxxxx&gt;
<p>
Isaac Jones &lt;ijones@xxxxxxxxxxxxxxxx&gt;
</p>
</chapt>

<chapt id="novas">このチュートリアルの新バージョン

<p>
本マニュアルは、Debian を使うあらゆる人の助けとなることを願って、
<url id="http://debian-br.cipsga.org.br"name="Debian-BR";> プロジェクトに
よって作成されました。

<p>
最新バージョンは、Debian ドキュメンテーションプロジェクトのページから入手可能です:
<url id="http://www.debian.org/doc/ddp"; 
name="http://www.debian.org/doc/ddp";>. 
<p>
コメントや批判は、私 <email>kov@debian.org</email> 宛てに直接メール
するか、Debian BTS のパッケージ <package>apt-howto</package> にバグとして報告してください。
</chapt>

</book>

</debiandoc>