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

Re: Japanese translation of Debian FAQ



pkg_basics.ja.sgml です。

--
関戸 幸一 <sekido@xxxxxxxxxxxxxx>

<!--
<chapt id="pkg_basics">Basics of the Debian Package Management System
-->
<chapt id="pkg_basics">Debian パッケージ管理システムの基本

<!--
<sect id="package">What is a Debian package?
-->
<sect id="package">Debian パッケージとはどのようなものですか?

<!--
<p>Packages generally contain all of the files necessary to implement
a set of related commands or features.  There are two types of Debian
packages:
-->
<p>一般にパッケージには関連するコマンドや機能を実装するにに必要なファイ
ルすべてが含まれています。Debian パッケージには二つのタイプがあります。

<!--
<list>
  <item><em>Binary packages</em>, which contain executables, configuration
  files, man/info pages, copyright information, and other documentation.
  These packages are distributed in a Debian-specific archive format
  (see <ref id="deb-format">); they are usually distinguished by having
  a '.deb' file extension. Binary packages can be unpacked using the Debian
  utility <tt>dpkg</tt>; details are given in its manual page.
-->
<list>
  <item><em>バイナリパッケージ</em>。これには実行ファイル、設定ファイル、
  man ページと info ページ、著作権情報やその他の文書が含まれます。これら
  のパッケージは Debian 固有のアーカイブ形式で配布されています (<ref
  id="deb-format"> 参照)。また .deb というファイル拡張子を持っているので、
  普通それと分かります。バイナリパッケージは Debian ユーティリティ
  <tt>dpkg</tt> を用いて展開できます。詳細はそのマニュアルページに記載さ
  れてあります。

<!--
  <item><em>Source packages</em>, which consist of a <tt>.dsc</tt> file
  describing the source package (including the names of the following
  files), a <tt>.orig.tar.gz</tt> file that contains the original
  unmodified source in gzip-compressed tar format and usually a
  <tt>.diff.gz</tt> file that contains the Debian-specific changes to the
  original source.  The utility <tt>dpkg-source</tt> packs and unpacks
  Debian source archives; details are provided in its manual page.
</list>
-->
  <item><em>ソースパッケージ</em>。ソースパッケージの解説が書かれた
  <tt>.dsc</tt> ファイル (このファイルには以下のファイルの名前も書かれて
  います) や、修整されていないオリジナルのプログラムソースが gzip で圧縮
  された tar フォーマット形式で含まれている <tt>.orig.tar.gz</tt> ファイ
  ル、通常 Debian 固有の変更を記した <tt>.diff.gz </tt>ファイルから構成
  されています。<tt>dpkg-source</tt> ユーティリティは Debian ソースアー
  カイブをパックしたりアンパックしたりします。詳細はマニュアルページに記
  載されています。
</list>

<!--
<p>Installation of software by the package system uses "dependencies" which
are carefully designed by the package maintainers.  These dependencies are
documented in the <tt>control</tt> file associated with each package.
For example, the package containing the GNU C compiler (<package/gcc/)
"depends" on the package <package/binutils/ which includes the linker and
assembler. If a user attempts to install <package/gcc/ without having first
installed <package/binutils/, the package management system (dpkg) will send
an error message that it also needs <package/binutils/, and stop installing
<package/gcc/. (However, this facility can be overridden by the insistent
user, see <manref name="dpkg" section="8">.)  See more in <ref id="depends">
below.
-->
<p>このパッケージシステムでは、ソフトウェアをインストールするとき、パッ
ケージ保守担当者が注意深く設計した「依存情報」を使います。この依存情報は
それぞれのパッケージに関連する制御 (<tt>control</tt>)ファイルに記載され
ています。例えば、GNU C コンパイラ (<package/gcc/) を含むパッケージは、
リンカやアセンブラを含む <package/binutils/ パッケージに「依存」していま
す。もしユーザがあらかじめ <package/binutils/ をインストールしていないの
に <package/gcc/ をインストールしようとしたなら、Debian のパッケージシス
テムは <package/binutils/ も必要であるというエラーメッセージを出力し、ユー
ザがまず <package/binutils/ をインストールするのに同意するまで
<package/gcc/ をインストールしません (とは言うものの、頑固なユーザはこの
機能を上書きできます)。詳細は下記の <ref id="depends">をご覧ください。

<!--
<p>Debian's packaging tools can be used to:
<list>
  <item>manipulate and manage packages or parts of packages,
  <item>aid the user in the break-up of packages that must be transmitted
    through a limited-size medium such as floppy disks,
  <item>aid developers in the construction of package archives, and
  <item>aid users in the installation of packages which reside on a remote
    FTP site.
</list>
-->
<p>Debian のパッケージングツールは以下の用途に使えます。
<list>
  <item>パッケージやパッケージの一部を操作したり管理したりする。
  <item>フロッピーディスクなどの限られたサイズの媒体を通じて伝送しなけれ
    ばならないパッケージをユーザが分解するのを助ける。
  <item>パッケージアーカイブを開発者が構築するのを助ける。
  <item>遠くにあるFTPサイトに置かれたパッケージをユーザがインストールす
    るのを助ける。
</list>

<!--
<sect id="deb-format">What is the format of a Debian binary package?
-->
<sect id="deb-format">Debian バイナリパッケージはどんな形式ですか?

<!--
<p>A Debian "package", or a Debian archive file, contains the executable
files, libraries, and documentation associated with a particular suite of
program or set of related programs.  Normally, a Debian archive file has
a filename that ends in <tt>.deb</tt>.
-->
<p>Debian の「パッケージ」つまり Debian アーカイブファイルには、実行プロ
グラム一式や関連するプログラムのセットに関係する実行可能ファイルやライブ
ラリ・文書が含まれています。通常、Debian アーカイブファイルはファイル名
の最後に <tt>.deb</tt>が付いています。

<!--
<p>The internals of this Debian binary packages format are described in
the <manref name="deb" section="5"> manual page. This internal format is
subject to change (between major releases of &debian;), therefore please
always use <manref name="dpkg-deb" section="8"> for manipulating <tt>.deb</tt>
files.
-->
<p>Debian バイナリパッケージの形式の内部仕様は <manref name="deb"
section="5"> マニュアルページに解説されています。この内部形式は
(&debian; のメジャーリリースの間で) 変更されることがあるので、
<tt>.deb</tt> ファイルを操作する時は <manref name="dpkg-deb"
section="8"> を必ず使って下さい。

<!--
<sect id="pkgname">Why are Debian package file names so long? 
-->
<sect id="pkgname">どうして Debian パッケージのファイル名はこんなに長い
のですか?

<!--
<p>The Debian binary package file names conform to the following convention:
&lt;foo&gt;_&lt;VersionNumber&gt;-&lt;DebianRevisionNumber&gt;.deb
-->
<p>Debian バイナリパッケージのファイル名は次のような規則に従います。
&lt;foo&gt;_&lt;バージョン番号&gt;-&lt;Debian リビジョン番号&gt;.deb。

<!--
<p>Note that <tt>foo</tt> is supposed to be the package name. As a check,
one can learn the package name associated with a particular Debian archive
file (.deb file) in one of these ways:
-->
<p><tt>foo</tt> はパッケージ名の代わりであることに注意して下さい。照会す
るためには、以下の方法で特定の Debian アーカイブファイル (.deb ファイル
) に関係のあるパッケージ名を調べることができます。

<!--
<list>
  <item>inspect the "Packages" file in the directory where it was stored
  at a Debian FTP archive site.  This file contains a stanza describing
  each package; the first field in each stanza is the formal package name.
  <item>use the command <tt>dpkg &#45;&#45;info foo_VVV-RRR.deb</tt> (where VVV and
  RRR are the version and revision of the package in question, respectively).
  This displays, among other things, the package name corresponding to the
  archive file being unpacked.
</list>
-->
<list>
  <item>Debian FTP アーカイブサイトの中の、そのパッケージが置かれていた
  ディレクトリにある「Packages」ファイルを調べる。このファイルにはそれぞ
  れのパッケージの解説が数行づつ書かれています。解説行の最初のフィールド
  は正式なパッケージ名です。
  <item>コマンド <tt>dpkg --info foo_VVV-RRR.deb</tt> を使う (VVV と
  RRR はそれぞれ、問い合わせたいパッケージのバージョンとリビジョン)。この
  コマンドは、アンパックされるアーカイブファイルに対応するパッケージ名を
  他の情報と一緒に表示します。
</list>

<!--
<p>The <tt>VVV</tt> component is the version number specified by the
upstream developer.  There are no standards in place here, so the version
number may have formats as different as "19990513" and "1.3.8pre1".
-->
<p><tt>VVV</tt> の部分はバージョン番号を示し、上流の開発者により指定され
ます。この部分には標準がありません。バージョン番号は「19960513」や
「1.3.8pre1」のようにフォーマットが異なっているかもしれません。

<!--
<p>The <tt>RRR</tt> component is the Debian revision number, and is
specified by the Debian developer (or an individual user if he chooses
to build the package himself).  This number corresponds to the revision
level of the Debian package, thus, a new revision level usually signifies
changes in the Debian Makefile (<tt>debian/rules</tt>), the Debian control
file (<tt>debian/control</tt>), the installation or removal scripts
(<tt>debian/p*</tt>), or in the configuration files used with the package.
-->
<p><tt>RRR</tt> の部分は Debian のリビジョン番号で、Debian の開発者 (か自分
自身のためにパッケージをビルドすることにした個人ユーザ) が決定します。こ
の番号は Debian パッケージのリビジョンレベルに対応します。したがって、リ
ビジョンレベルが新しくなると、普通、Debian の Makefile
(<tt>debian/rules</tt>) や Debian 制御ファイル
(<tt>debian/control</tt>)、インストールまたは削除スクリプト
(<tt>debian/p*</tt>)、パッケージが利用する設定ファイルなどに変更があった
ことを意味します。

<!--
<p>The <tt>Arch</tt> component identifies the processor for which
the package was built.  This is commonly <tt>i386</tt>, which refers to
chips compatible to Intel's 386 or later versions.  For other
possibilities see <ref id="dirtree" name="Debian's FTP directory structure">.
-->

<!--
<sect id="controlfile">What is a Debian control file?
-->
<sect id="controlfile">Debian 制御ファイルとは何ですか?

<!--
<p>Specifics regarding the contents of a Debian control file are provided
in the Debian Packaging manual, chapter 4, see <ref id="debiandocs">.
-->
<p>Debian 制御ファイルの内容に関する仕様は Debian パッケージングマニュア
ルの第 4 章にあります。<ref id="debiandocs"> を参照してください。

<!--
<p>Briefly, a sample control file is shown below for the Debian package hello:
-->
簡単に Debian パッケージ hello のための制御ファイルの例を以下に書いてお
きます。

<example>
Package: hello
Priority: optional
Section: devel
Installed-Size: 45
Maintainer: Adam Heath &lt;doogie@debian.org&gt;
Architecture: i386
Version: 1.3-16
Depends: libc6 (>= 2.1)
Description: The classic greeting, and a good example
 The GNU hello program produces a familiar, friendly greeting.  It
<!-- XXX below 'non-programmers' were better, but this is a verbatim copy -->
 allows nonprogrammers to use a classic computer science tool which
 would otherwise be unavailable to them.
 .
 Seriously, though: this is an example of how to do a Debian package.
 It is the Debian version of the GNU Project's `hello world' program
 (which is itself an example for the GNU Project).
</example>

<!--
<p>The Package field gives the package name.  This is the name by which the
package can be manipulated by the package tools, and usually similar
to but not necessarily the same as the first component string in the
Debian archive file name.
-->
<p>Package フィールドにはパッケージ名が書いてあります。これはパッケージ
ツールがパッケージを操作するときの名前です。通常は Debian アーカイブファ
イル名の最初の構成要素と同じですが、同じでなければならないわけではありま
せん。

<!--
<p>The Version field gives both the upstream developer's version number
and (in the last component) the revision level of the Debian package of
this program as explained in <ref id="pkgname">. <!&#45;&#45; XXX missing name &#45;&#45;>
-->
<p>version フィールドには上流の開発者のバージョン番号と (最後の構成要素
で) そのプログラムの Debian パッケージのリビジョンレベル (<ref
id="pkgname"> で説明したもの) が表示されます。

<!--
<p>The Architecture field specifies the chip for which this particular
binary was compiled.
-->
<p>Architecture フィールドにはどの CPU 向けにそのバイナリがコンパイルさ
れているか書かれています。

<!--
<p>The Depends field gives a list of packages that have to be
installed in order to install this package successfully.
-->
<p>Depends フィールドにはこのパッケージをきちんとインストールするために、
あらかじめインストールされていなければならないパッケージの一覧があります。

<!--
<p>The Installed-Size indicates how much disk space the installed package
will consume. This is intended to be used by installation front-ends in
order to show whether there is enough disk space available to install the
program .
-->
<p>Installed-Size フィールドはインストールしたパッケージがどれくらいディ
スク領域を消費するかを表しています。プログラムをインストールするのに十分
なディスクがあるかどうかをインストールのフロントエンドが表示するために使
われる予定です。

<!--
<p>The Section line gives the "section" where this Debian package is stored
at the Debian FTP sites.  This is the name of a subdirectory (within one
of the main directories, see <ref id="dirtree">) where the package is stored.
-->
<p>Section フィールドは Debian パッケージが Debian FTP サイトのどの「セ
クション」に収容されるかを示します。これはパッケージが収容されるサブディ
レクトリ(main ディレクトリの中の一つ。<ref id="dirtree"> 参照) の名前で
す。

<!--
<p>The Priority indicates how important is this package for installation, so
that semi-intelligent software like dselect or console-apt can sort the
package into a category of e.g. packages optionally installed. See
<ref id="priority">.
-->
<p>Priority フィールドはこのパッケージがインストールにあたってどのくらい
重要かを示します。これによって dselect や console-apt のような半インテリ
ジェントなソフトウェアが、パッケージを「任意にインストールされるパッケー
ジ」のようなカテゴリーに並べ変えられるようになります。<ref
id="priority"> を参照してください。

<!--
<p>The Maintainer field gives the e-mail address of the person who is
currently responsible for maintaining this package.
-->
<p>Maintainer フィールドは、現在そのパッケージの維持に責任を持っている人
の電子メールアドレスを示します。

<!--
<p>The Description field gives a brief summary of the package's features.
-->
<p>Description フィールドはパッケージの特徴の簡単なまとめがあります。

<!--
<p>For more information about all possible fields a package can have, please
see the Debian Packaging Manual, section 4., "Control files and their fields".
-->
<p>パッケージで使えるすべての可能なフィールドのより詳細な情報に関しては
Debian パッケージングマニュアルの第 4 章「制御ファイルとそのフィールド」
を参照してください。

<!--
<sect id="conffile">What is a Debian conffile?
-->
<sect id="conffile">Debian conffile とは何ですか?

<!--
<p>Conffiles is a list of configuration files (usually placed in <tt>/etc</tt>)
that the package management system will not overwrite when the package is
upgraded. This ensures that local values for the contents of these files
will be preserved, and is a critical feature enabling the in-place upgrade
of packages on a running system.
-->
<p>conffile は (通常 <tt>/etc/</tt>の下に置かれる) 設定ファイルの一覧で
す。これらの設定ファイルはパッケージをアップグレードしてもパッケージ管理
システムに上書きされません。つまり、これらのファイルの内容のローカルな値
が保存されることが保証されます。また、稼動中のシステムのパッケージをきち
んと更新できるようにする、重要な機能です。

<!--
<p>To determine exactly which files are preserved during an upgrade, run:
  <example>dpkg &#45;&#45;status package</example>
And look under "Conffiles:".
-->
<p>更新中にどのファイルが保存されるかを正確に断定するには
  <example>dpkg --status package</example>
を実行して「Conffile:」の下を見てください。

<!--
<sect id="maintscripts">What is a Debian preinst, postinst, prerm, and postrm
  script?
-->
<sect id="maintscripts">Debian preinst、postinst、prerm、postrm スクリプ
トとは何ですか?

<!--
<p>These files are executable scripts which are automatically run before
or after a package is installed. Along with a file named <tt>control</tt>,
all of these files are part of the "control" section of a Debian archive file.
-->
<p>これらのファイルはパッケージがインストールされる前か後で自動的に実行
される実行可能なスクリプトです。これらのファイルは <tt>control</tt> とい
う名前のファイルと一緒にすべて Debian アーカイブファイルの制御セクション
の一部となっています。

<!--
<p>The individual files are:
<taglist>
<tag/preinst/
  <item>This script executes before that package will be unpacked from its
  Debian archive (".deb") file. Many 'preinst' scripts stop services for
  packages which are being upgraded until their installation or upgrade is
  completed (following the successful execution of the 'postinst' script).
-->
<p>個々のファイルは以下の通りです。
<taglist>
<tag/preinst/
<item>このスクリプトは、パッケージが Debian アーカイブ (「.deb」) ファイ
ルからアンパックされる前に実行されます。パッケージがインストールかアップ
グレードし終わる (「postinst」スクリプトが正常に実行されたあと) まで、多
くの「preinst」スクリプトの中で、更新されるパッケージのためにサービスが
停止されるようになっています。

<!--
<tag/postinst/
  <item>This script typically completes any required configuration of the
  package <tt>foo</tt> once <tt>foo</tt> has been unpacked from its Debian
  archive (".deb") file. Often, 'postinst' scripts ask the user for input,
  and/or warn the user that if he accepts default values, he should remember
  to go back and re-configure that package as the situation warrants.
  Many 'postinst' scripts then execute any commands necessary to start or
  restart a service once a new package has been installed or upgraded.
-->
<tag/postinst/
<item>このスクリプトの典型的な仕事は、パッケージ <tt>foo</tt> が
Debian アーカイブファイル (「.deb」) からアンパックされたらそれに必要な
設定をすべて完了させることです。「postinst」スクリプトのよくある動作とし
て、ユーザに入力を求め、既定値を受け入れるなら後戻りしてこのパッケージを
環境に沿うように再設定することを忘れないように警告を表示します。新しいパッ
ケージがインストールされるかアップグレードされると、多くの「postinst」ス
クリプトはサービスを開始または再開するのに必要なコマンドをすべて実行しま
す。

<!--
<tag/prerm/
  <item>This script typically stops any daemons which are associated with
  a package.  It is executed before the removal of files associated with
  the package.
-->
<tag/prerm/
<item>このスクリプトは典型的にはパッケージに関連したあらゆるデーモンを停
止します。これはパッケージに関連したファイルを削除する前に実行されます。

<!--
<tag/postrm/
  <item>This script typically modifies links or other files associated with
  <tt>foo</tt>, and/or removes files created by the package. (Also see
  <ref id="virtual">.)
</taglist>
-->
<tag/postrm/
<item>このスクリプトは典型的には <tt>foo</tt> に関連したリンクや他のファ
イルを修整したりパッケージが作成したファイルを削除したりします (<ref
id="virtual"> も参照してください)。
</taglist>

<!--
<p>Currently all of the control files can be found in directory
<tt>/var/lib/dpkg/info</tt>. The files relevant to package <tt>foo</tt>
begin with the name "foo" and have file extensions of "preinst", "postinst",
etc., as appropriate.  The file <tt>foo.list</tt> in that directory
lists all of the files that were installed with the package <tt>foo</tt>.
(Note that the location of these files is a dpkg internal; you should not
rely on it.)
-->
<p>現在、制御ファイルはすべて <tt>/var/lib/dpkg/info/</tt> に置かれてい
ます。パッケージ <tt>foo</tt> に関係するファイルは「foo」で始まる名前を
持ち、「preinst」や「postinst」などの適当なファイル拡張子を持ちます。こ
のディレクトリにある <tt>foo.list</tt> というファイルは、パッケージ
<tt>foo</tt> によってインストールされたファイルがすべてリストされていま
す (これらのファイルの存在場所は dpkg が内部に持っていることに注意して下
さい。存在場所を頼りにしないほうがいいでしょう)。

<!--
<sect id="priority">What is a Required/Important/Standard/Optional/Extra
package?
-->
<sect id="priority">Required/Important/Standard/Optional/Extra パッケー
ジとはなんですか ?

<!--
<p>Each Debian package is assigned a <em>priority</em> by the distribution
maintainers, as an aid to the package management system.  The priorities are:
-->
<p>それぞれの Debian パッケージには、パッケージ管理システムの助けとして、
ディストリビューション保守担当者が<em>優先度</em>を割りあてています。優
先度には以下のものがあります。

<!--
<list>
  <item><strong>Required</strong>: packages that are necessary for the proper
    functioning of the system.
    <p>This includes all tools that are necessary to repair system defects.
    You must not remove these packages or your system may become totally broken
    and you may probably not even be able to use dpkg to put things back.
    Systems with only the Required packages are probably unusable, but they do
    have enough functionality to allow the sysadmin to boot and install more
    software.
-->
<list>
  <item><strong>Required (要求)</strong>: システムを正しく動作させるため
    に必要なパッケージです。
    <p>システムの欠陥を修復するのに必要なツールをすべて含みます。これら
    のパッケージを消去してはいけません。システムがすっかり破壊され、復旧
    するために dpkg を使うことすら恐らくできなくなります。Required パッ
    ケージだけのシステムは恐らく使いものになりませんが、システム管理者が
    起動したり他のソフトウェアをインストールするだけの機能はあります。

<!--
  <item><strong>Important</strong> packages should be found on any Unix-like
    system.
    <p>Other packages which the system will not run well or be usable without
    will be here. This does <em>NOT</em> include Emacs or X11 or TeX or any
    other large applications. These packages only constitute the bare
    infrastructure.
-->
  <item><strong>Important (重要)</strong>: どのような Unix ライクなシス
    テムにもあるべきパッケージです。
    <p>Required 以外のパッケージで、ないとシステムがうまく動かなかったり
    不便だったりするものにこの優先度がつけられています。これには Emacs
    や X11、TeX 他の巨大なアプリケーションは含まれて<em>いません</em>。
    ここのパッケージは、素のインフラストラクチャを構成するだけです。

<!--
  <item><strong>Standard</strong> packages are standard on any Linux system,
    including a reasonably small but not too limited character-mode system.
    <p>This is what will install by default if users do not select anything
    else. It does not include many large applications, but it does include
    Emacs (this is more of a piece of infrastructure than an application)
    and a reasonable subset of TeX and LaTeX (if this turns out to be
    possible without X).
-->
  <item><strong>Standard (標準)</strong>: どんな Linux システムにも標準
    的なパッケージで、手頃な小ささですが機能が限定されすぎていないキャラ
    クタモードシステムを含んでいます。
    <p>ユーザが何も指示しなかったらデフォルトでインストールされます。多
    くの巨大なアプリケーションは含まれませんが、Emacs はあります (これは
    アプリケーションというよりも多くのプログラムのためのインフラストラク
    チャの一部です) し、TeX と LaTeX の手頃なサブセットが (X なしで稼動
    可能な部分なら) 含まれています。

<!--
  <item><strong>Optional</strong> packages include all those that you might
    reasonably want to install if you did not know what it was, or do not
    have specialized requirements.
    <p>This includes X11, a full TeX distribution, and lots of applications.
-->
  <item><strong>Optional (任意)</strong>: そのパッケージが何なのかを知ら
    なかったり、そのパッケージを使わなければならない特別な要求がなかった
    りしてもインストールしてかまわないパッケージが含まれています。
    <p>これには X11 や TeX 配布物全体、多くのアプリケーションが含まれて
    います。

<!--
  <item><strong>Extra</strong>: packages that either conflict with others
    with higher priorities, are only likely to be useful if you already know
    what they are, or have specialized requirements that make them
    unsuitable for "Optional".
</list>
-->
  <item><strong>Extra (付録)</strong>: より高い優先度を持つパッケージと
  衝突するか、そのパッケージがどういうものか知っているか、あるいは「任意」
  というには相応しくない特殊な要求を持っているパッケージです。
</list>

<!--
<sect id="virtual">What is a Virtual Package?
-->
<sect id="virtual">仮想パッケージとはなんですか?

<!--
<p>A virtual package is a generic name that applies to any one of a group
of packages, all of which provide similar basic functionality. For example,
both the <tt>tin</tt> and <tt>trn</tt> programs are news readers, and
should therefore satisfy any dependency of a program that required a news
reader on a system, in order to work or to be useful.
They are therefore both said to provide the "virtual package" called
<tt>news-reader</tt>.
-->
<p>仮想パッケージとは、すべて同じ基本機能を提供するパッケージの集まりの
どれか一つに供される一般的な名前のことです。たとえば <tt>tin</tt> と
<tt>trn</tt> プログラムはどちらもニュースリーダであり、それゆえ、動作す
るか便利に使うかするためにニュースリーダを要求するプログラムの依存性を満
たします。したがって両プログラムは <tt>news-reader</tt> と呼ばれる「仮想
パッケージ」を供給します。

<!--
<p>Similarly, <tt>smail</tt> and <tt>sendmail</tt> both provide the
functionality of a mail transport agent.  They are therefore said to
provide the virtual package, "mail transport agent".
If either one is installed, then any program depending on the
installation of a <tt>mail-transport-agent</tt> will be satisfied by
the existence of this virtual package.
-->
<p>同様に、<tt>smail</tt> と <tt>sendmail</tt> には両方ともメール配送エー
ジェント (mail transport agent) の機能が備わっています。それゆえ仮想パッ
ケージ「mail transport agent」を提供するといわれます。どちらかがインストー
ルされていれば、<tt>mail transport agent</tt> がインストールされているこ
とに依存するプログラムはどれでも、この仮想パッケージが存在しているので条
件を満たされています。

<!--
<p>Debian provides a mechanism so that, if more than one package which
provide the same virtual package is installed on a system, then system
administrators can set one as the preferred package. The relevant command
is <tt>update-alternatives</tt>, and is described further in
<ref id="diverse">.
-->
<p>Debian はこのようなしくみを提供するので、同じ仮想パッケージを持つパッ
ケージが一つ以上システムにインストールされると、システム管理者は優先パッ
ケージを設定できます。関連するコマンドは <tt>update-alternatives</tt> で、
<ref id="diverse"> の節でより詳しく解説されています。

<!--
<sect id="depends">What is meant by saying that a package
  Depends/Recommends/Suggests/Conflicts/Replaces/Provides another package?
-->
<sect id="depends">他のパッケージに
Depends/Recommends/Suggests/Conflicts/Replaces/Provides しているとはどう
いう意味ですか?

<!--
<p>The Debian package system has a range of package "dependencies"
which are designed to indicate (in a single flag) the level at which
Program A can operate independently of the existence of Program B on
a given system:
-->
<p>Debian パッケージシステムはパッケージ「依存性」に幅を持っています。あ
るシステム上でプログラム A がプログラム B の存在からどれくらい独立して動
作させられるかを (フラグ一つで) 表示するよう設計されています。

<!--
<list>
  <item>Package A <em>depends</em> on Package B if B absolutely must
    be installed in order to run A.  In some cases, A depends not only
    on B, but on a version of B.  In this case, the version dependency is
    usually a lower limit, in the sense that A depends on any version
    of B more recent than some specified version.
-->
<list>
  <item>もし A を実行するためには B が必ずインストールされていなければな
    らないなら、パッケージ A はパッケージ B に<em>依存 (Depend)</em>して
    います。A は B の存在だけではなく B のバージョンにも依存していること
    があります。この場合、バージョン依存性は通常下限を設定します。つまり、
    A はあるバージョンより新しいバージョンの B に依存しているということ
    です。

<!--
  <item>Package A <em>recommends</em> Package B, if the package maintainer
    judges that most users would not want A without also having the
    functionality provided by B.
-->
  <item>パッケージ A の保守担当者が、たいていのユーザはパッケージ B の機
    能を使うことなく A を使いたくはないだろうと判断したら、パッケージ
    A はパッケージ B を<em>推奨 (Recommends)</em>しているといいます。

<!--
  <item>Package A <em>suggests</em> Package B if B contains files that
    are related to (and usually enhance) the functionality of A.
-->
  <item>もしパッケージ B に含まれているファイルがパッケージ A の機能に関
    係している (通常は機能を拡張する) なら、パッケージ A はパッケージ
    B を<em>提案 (Suggest)</em>すると言います。

<!--
  <item>Package A <em>conflicts</em> with Package B when A will not
    operate if B is installed on the system.  Most often, conflicts are
    cases where A contains files which are an improvement over those in B.
    "Conflicts" are often combined with "replaces".
-->
  <item>システムにパッケージ B がインストールされているとパッケージ A が
    動作しないというとき、パッケージ A はパッケージ B と<em>衝突
    (conflicts)</em>していると言います。ほとんどの場合、衝突はパッケージ
    B に含まれているファイルをパッケージ A が書き換えるのが原因で起こり
    ます。「衝突 (Conflicts)」はしばしば「置換 (Replaces)」と組みあわさ
    れます。

<!--
  <item>Package A <em>replaces</em> Package B when files installed
    by B are removed and (in some cases) over-written by files in A.
-->
  <item>パッケージ B がインストールしたファイルが削除され (ある場合には)
    パッケージ A のファイルで上書きされるとき、パッケージ A はパッケージ
    B を<em>置換 (Replace)</em>するといいます。

<!--
  <item>Package A <em>provides</em> Package B when all of the files and
    functionality of B are incorporated into A.  This mechanism provides
    a way for users with constrained disk space to get only that part of
    package A which they really need.
</list>
-->
  <item>パッケージ B のすべてのファイルと機能がパッケージ A の中に組み込
    まれているとき、パッケージ A はパッケージ B を<em>提供
    (Provide)</em>するといいます。このしくみは、ディスクの空き容量に余裕
    がないユーザに、パッケージ A のなかで本当に必要な部分を取得する方法
    を用意します。
</list>

<!--
<p>More detailed information on the use of each these terms can be found
in the Packaging manual and the Policy manual.
-->
<p>これらの用語の使用法についてのより詳しい情報は Debian パッケージング
マニュアルとポリシーマニュアルにあります。

<!--
<sect id="pre-depends">What is meant by Pre-Depends?
-->
<sect id="pre-depends">Pre-Depends とはどういう意味ですか?

<!--
<p>"Pre-Depends" is a special dependency. In the case of most packages,
<tt>dpkg</tt> will unpack its archive file (i.e., its <tt>.deb</tt> file)
independently of whether or not the files on which it depends exist on the
system.  Simplistically, unpacking means that <tt>dpkg</tt> will extract
the files from the archive file that were meant to be installed on your
filesystem, and put them in place.  If those packages <em>depend</em> on
the existence of some other packages on your system, <tt>dpkg</tt> will
refuse to complete the installation (by executing its "configure" action)
until the other packages are installed.
-->
<p>「Pre-Depends」は特殊な依存性です。たいていのパッケージでは、
<tt>dpkg</tt> はそのアーカイブファイル (つまりその <tt>.deb</tt> ファイ
ル)を、そのパッケージが依存するファイルがシステムにあろうがなかろうが、
アンパックしようとします。単純にいうと、アンパックとは <tt>dpkg</tt> が
アーカイブファイルからファイルを取り出すことを意味しています。取り出され
たファイルはファイルシステムにインストールされ、あるべき場所に置かれるこ
とになります。これらのパッケージが他のパッケージに<em>依存</em>している
なら <tt>dpkg</tt> はその他のパッケージがインストールされるまで「設定」
動作を行わずにインストールの完了を拒否します。

<!--
<p>However, for some packages, <tt>dpkg</tt> will refuse even to unpack
them until certain dependencies are resolved.  Such packages are said
to "Pre-depend" on the presence of some other packages.
The Debian project provided this mechanism to support the safe upgrading
of systems from <tt>a.out</tt> format to <tt>ELF</tt> format, where
the <em>order</em> in which packages were unpacked was critical. There are
other large upgrade situations where this method is useful, e.g. the
packages with the required priority and their LibC dependency.
-->
<p>しかしながらいくつかのパッケージでは <tt>dpkg</tt> はある依存関係が解
決されるまでアンパックすら拒否します。このようなパッケージを、他のパッケー
ジの存在に「Pre-depends」していると言います。Debian プロジェクトは、
<tt>a.out</tt> 形式から <tt>ELF</tt> 形式へシステムを安全にアップグレー
ドするためにこのしくみを作りました。このアップグレードの際はどのパッケー
ジがアンパックされるかその<em>順序</em>が重要なのです。この方法が役に立
つ大きなアップグレード状況は他にもあります。例えば「required (要求)」優
先度を持つパッケージとその LibC 依存などです。

<!--
<p>As before, more detailed information about this can be found in the
Packaging manual.
-->
<p>先の項目と同様に、より詳しい情報はパッケージングマニュアルにあります。

<!--
<sect id="pkgstatus">What is meant by unknown/install/remove/purge/hold in
  the package status?
-->
<sect id="pkgstatus">パッケージ状態の
unknown/install/remove/purge/hold とはどういう意味ですか?

<!--
<p>These "want" flags tell what the user wanted to do with a package (as
indicated either by the user's actions in the "Select" section of
<tt>dselect</tt>, or by the user's direct invocations of <tt>dpkg</tt>).
-->
<p>これらの「want」フラグは利用者がそのパッケージをどう扱いたいかを示し
ています。利用者は <tt>dselect</tt> の「Select」セクションでのアクション
や <tt>dpkg</tt> の直接起動によってこれを示すことができます。

<!--
<p>Their meanings are:
<list>
  <item>unknown  - the user has never indicated whether he wants the package
  <item>install  - the user wants the package installed or upgraded
  <item>remove   - the user wants the package removed, but does not want to
    remove any existing configuration files.
  <item>purge    - the user wants the package to be removed completely,
    including its configuration files.
  <item>hold     - the user wants this package not to be processed, i.e., he
    wants to keep the current version with the current status whatever that is.
</list>
-->
<p>それぞれの意味は以下の通りです。
<list>
  <item>unknown  - インストールするかどうかユーザが表明していないパッケー
    ジ
  <item>install  - ユーザがインストールまたはアップグレードしたいパッケー
    ジ
  <item>remove - 削除はしたいが、既存の設定ファイルは一つも削除したくな
    いパッケージ
  <item>purge    - 設定ファイルを含め、完全に削除してしまうパッケージ
  <item>hold     - 処理はしない、つまりどのような状態であれ現在の状態で
    現在のバージョンを維持するパッケージ
</list>

<!--
<sect id="puttingonhold">How do I put a package on hold?
-->
<sect id="puttingonhold">どうしたらパッケージを hold にできますか?

<!--
<p>There are two ways of holding back packages, with dpkg, or with dselect.
-->
<p>パッケージを hold するには二つの方法があります。dpkg を使う方法と
dselect を使う方法です。

<!--
<p>With dpkg, you just have to export the list of package selections, with:
  <example>dpkg &#45;&#45;get-selections > selections.txt</example>
Then edit the resulting file <file/selections.txt/, change the line
containing the package you wish to hold, e.g. <package/libc6/, from this:
  <example>libc6                                           install</example>
to this:
  <example>libc6                                           hold</example>
Save the file, and reload it into dpkg database with:
  <example>dpkg &#45;&#45;set-selections < selections.txt</example>
-->
<p>dpkg では、パッケージ選択の一覧を
  <example>dpkg --get-selections > selections.txt</example>
で書き出すだけです。それから書き出されたファイル <file/selections.txt/
を編集して hold したいパッケージの行を変更します。例えば
  <example>libc6                                           install</example>
を
  <example>libc6                                           hold</example>
にします。ファイルを保存して
  <example>dpkg --set-selections < selections.txt</example>
で dpkg データベースに再ロードしてください。

<!--
<p>With dselect, you just have to enter the [S]elect screen, find the
package you wish to hold in its present state, and press the `=' key (or
`H'). The changes will go live immediately after you exit the [S]elect
screen.
-->
<p>dselect では、[S]elect 画面に入って hold したいパッケージの現在の状態
を確認し、「=」キー (もしくは「H」キー) を押下するだけです。変更は
[S]elect 画面を終了するとすぐに反映します。

<!--
<sect id="sourcepkgs">How do I install a source package?
-->
<sect id="sourcepkgs">ソースパッケージをインストールするにはどうしたらよ
いですか?

<!--
<p>Debian source packages can't actually be "installed", they are just
unpacked in whatever directory you want to build the binary packages they
produce.
Source packages are distributed in a directory called <tt>source</tt>, and
you can either download them manually, or use
  <example>apt-get source foo</example>
to fetch them (see <manref name="apt-get" section="8"> manual page on how
to setup APT for doing that).
-->
<p>Debian のソースパッケージは実際には「インストール」できません。作成す
るバイナリパッケージを構築したい任意のディレクトリにソースの中身を取り出
せるだけです。
ソースパッケージは <tt>source</tt> というディレクトリ以下で配布されます。
マニュアルでダウンロードすることもできますし、
  <example>apt-get source foo</example>
を使って取得することもできます (このための APT の設定法については
<manref name="apt-get" section="8"> マニュアルページを参照してください)。

<!--
<sect id="sourcebuild">How do I build binary packages from a source package?
-->
<sect id="sourcebuild">ソースパッケージからバイナリパッケージを作るには
どうしたらよいですか?


<!--
<p>You will need all of foo_*.dsc, foo_*.tar.gz and foo_*.diff.gz to compile
the source (note: there is no .diff.gz for a Debian native package).
-->
<p>ソースをコンパイルするには foo_*.dsc と foo_*.tar.gz 、
foo_*.diff.gz のすべてが必要になります (ただし Debian 固有のパッケージに
は .diff.gz はありません)。

<!--
<p>Once you have them, if you have the <package/dpkg-dev/ package installed,
the following command:
  <example>dpkg-source -x foo_version-revision.dsc</example>
will extract the package into a directory called <tt>foo-version</tt>.
-->
<p>これらを入手すると、<package/dpkg-dev/ パッケージがインストールされて
いたら
  <example>dpkg-source -x foo_version-revision.dsc</example>
というコマンドを実行すれば <tt>foo-version</tt> というディレクトリにパッ
ケージが取り出されます。

<!--
<p>If you want just to compile the package, you may cd into
<tt>foo-version</tt> directory and issue the command
  <example>debian/rules build</example>
to build the program, then
  <example>debian/rules binary</example>
as root, to build the package, and then
  <example>dpkg -i ../foo_version-revision_arch.deb</example>
to install the newly-built package.
-->
<p>単にパッケージをコンパイルしたいだけなら <tt>foo-version</tt> ディレ
クトリに cd してから
  <example>debian/rules build</example>
を実行してプログラムを作成し、root で
  <example>debian/rules binary</example>
してパッケージを構築し、
  <example>dpkg -i ../foo_version-revision_arch.deb</example>
で新規作成パッケージをインストールすれば結構です。

<!--
<sect id="creatingdebs">How do I create Debian packages myself?
-->
<sect id="creatingdebs">Debian パッケージを自分で作るにはどうしたらよい
ですか?

<!--
<p>For more detailed description on this, read the New Maintainers' Guide,
available in the <package/maint-guide/ package, or at
<url id="ftp://ftp.debian.org/debian/doc/package-developer/maint-guide.html.tar.gz";>.
-->
<p>これについての詳細な情報に関しては『Debian メンテナ入門』を読んでくだ
さい。<package/maint-guide-ja/ パッケージか <url
id="ftp://ftp.debian.org/debian/doc/package-developer/maint-guide.ja.html.tar.gz";>
で入手できます。