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

Packaging Manual 第8章



早瀬です。
Packaging Manual の第8章の作業が完了しました。
誤訳などありましたら、連絡下さい。

# 連休明けくらいまでには、全作業が終るよう頑張ります。

-- 
早瀬 茂規 (shayase@xxxxxxxxxxxxxxx)

<!-- ORIG
    <chapt id="relationships"><heading>Declaring relationships between
    packages
 ORIG -->
    <chapt id="relationships"><heading>パッケージ間の関連性の宣言
      </heading>

      <p>	
<!-- ORIG
	Packages can declare in their control file that they have
	certain relationships to other packages - for example, that
	they may not be installed at the same time as certain other
	packages, and/or that they depend on the presence of others,
	or that they should overwrite files in certain other packages
	if present.
 ORIG -->
	パッケージは、コントロールファイル中に他のパッケージとの
	関連性について宣言することができます。例えば、あるパッケージと
	同時にインストールすることが許されていないパッケージや、また、
	あるパッケージがきちんとインストールされていなければ
	インストールできないパッケージ、またはあるパッケージが
	インストールされているとき、そのファイルを上書きする
	パッケージなどがあります。
     </p>

      <p>	
<!-- ORIG
	This is done using the <tt>Depends</tt>, <tt>Recommends</tt>,
	<tt>Suggests</tt>, <tt>Conflicts</tt>, <tt>Provides</tt> and
	<tt>Replaces</tt> control file fields.
 ORIG -->
	この宣言には、コントロールファイルの <tt>Depends</tt> と
	<tt>Recommends</tt>、<tt>Suggests</tt>、<tt>Conflicts</tt>、
	<tt>Provides</tt>、<tt>Replaces</tt> フィールドを使用します。
      </p>

<!-- ORIG
      <sect id="depsyntax"><heading>Syntax of relationship fields
 ORIG -->
      <sect id="depsyntax"><heading>関係性フィールドの書式
	</heading>

	<p>	  
<!-- ORIG
	  These fields all have a uniform syntax.  They are a list of
	  package names separated by commas.
 ORIG -->
	  これらのフィールドはすべて同一書式です。このフィールドは、
	  コンマで区切ったパッケージ名のリストです。
	</p>

	<p>	  
<!-- ORIG
	  In <tt>Depends</tt>, <tt>Recommends</tt>, <tt>Suggests</tt>
	  and <tt>Pre-Depends</tt> (the fields which declare
	  dependencies of the package in which they occur on other
	  packages) these package names may also be lists of
	  alternative package names, separated by vertical bar symbols
	  <tt>|</tt> (pipe symbols).
 ORIG -->
	  <tt>Depends</tt> や <tt>Recommends</tt>、<tt>Suggests</tt>、
	  <tt>Pre-Depends</tt>
	  (他のパッケージに依存関係がある場合に宣言するフィールド)
	  の各フィールド内のパッケージ名には、代替パッケージ名の
	  リストを書くこともできます。代替パッケージ名は、
	  <tt>|</tt> (パイプシンボル) で区切って書きます。
	</p>

	<p>	  
<!-- ORIG
	  All the fields except <tt>Provides</tt> may restrict their
	  applicability to particular versions of each named package.
	  This is done in parentheses after each individual package
	  name; the parentheses should contain a relation from the
	  list below followed by a version number, in the format
	  described in <ref id="versions">.
 ORIG -->
	  <tt>Provides</tt> 以外のすべてのフィールドでは、
	  パッケージ名ごとにそのバージョンを指定することができます。
	  この場合、パッケージ名の後に括弧を続け、その中に
	  バージョン番号を記述します。 括弧内には、
	  <ref id="versions"> の書式に従ったバージョン番号との関係を
	  記します。
	</p>

	<p>	  
<!-- ORIG
	  The relations allowed are <tt>&lt;&lt;</tt>, <tt>&lt;=</tt>,
	  <tt>=</tt>, <tt>&gt;=</tt> and <tt>&gt;&gt;</tt> for
	  strictly earlier, earlier or equal, exactly equal, later or
	  equal and strictly later, respectively.  The forms
	  <tt>&lt;</tt> and <tt>&gt;</tt> were used to mean
	  earlier/later or equal, rather than strictly earlier/later,
	  so they should not appear in new packages (though
	  <prgn>dpkg</prgn> still supports them).
 ORIG -->
	  バージョン番号の関係を示すために使用する記号は、
	  <tt>&lt;&lt;</tt> と <tt>&lt;=</tt>、<tt>=</tt>、
	  <tt>&gt;=</tt>、<tt>&gt;&gt;</tt> です。それぞれ、
	  順番に「全く小さい」「小さいか等しい」「全く同じ」
	  「等しいか大きい」「全く大きい」を意味しています。
	  記号 <tt>&lt;</tt> と <tt>&gt;</tt> は「小さいか等しい」
	  「等しいか大きい」という意味をもちます。「全く小さい」
	  または「全く大きい」という意味ではありません。
	  新しいパッケージでは、<tt>&lt;</tt>、<tt>&gt;</tt> は
	  使用しません。(いちおう<prgn>dpkg</prgn>はまだこの書式を
	  サポートしていますけど)。
	</p>

	<p>	  
<!-- ORIG
	  Whitespace may appear at any point in the version
	  specification, and must appear where it's necessary to
	  disambiguate; it is not otherwise significant.  For
	  consistency and in case of future changes to
	  <prgn>dpkg</prgn> it is recommended that a single space be
	  used after a version relationship and before a version
	  number; it is usual also to put a single space after each
	  comma, on either side of each vertical bar, and before each
	  open parenthesis.
 ORIG -->
	  空白は、バージョン設定のどの部分に入れてもかまいません。
	  そして、必要ならば空白を挿入して、あいまいさを
	  取りのぞかなければいけません。その他の意味はありません。
	  空白を一ついれることを推奨します。そして通常は、コンマのあとに
	  空白を一つ入れ、パイプシンボル「|」の両側にも空白を入れます。
	  また、開括弧の前にも空白を一つ入れます。
	</p>

	<p>	  
<!-- ORIG
	  For example:
 ORIG -->
	  例を以下に示します。
	  <example>
  Package: metamail
  Version: 2.7-3
  Depends: libc5 (>= 5.2.18-4), mime-support, csh | tcsh
	  </example>
	</p>
      </sect>

<!-- ORIG
      <sect><heading>Dependencies - <tt>Depends</tt>, <tt>Recommends</tt>,
	  <tt>Suggests</tt>, <tt>Pre-Depends</tt>
 ORIG -->
      <sect><heading>依存関係 - <tt>Depends</tt>, <tt>Recommends</tt>,
	  <tt>Suggests</tt>, <tt>Pre-Depends</tt>
	</heading>

	<p>	  
<!-- ORIG
	  These four fields are used to declare a dependency by one
	  package on another.  They appear in the depending package's
	  control file.
 ORIG -->
	  これらの四つのフィールドはあるパッケージと他のパッケージとの
	  依存関係を宣言するために使用します。これらのフィールドは、
	  他に依存しているパッケージのコントロールファイルの中にあります。
	</p>

	<p>	  
<!-- ORIG
	  All but <tt>Pre-Depends</tt> (discussed below) take effect
	  <em>only</em> when a package is to be configured.  They do
	  not prevent a package being on the system in an unconfigured
	  state while its dependencies are unsatisfied, and it is
	  possible to replace a package whose dependencies are
	  satisfied and which is properly installed with a different
	  version whose dependencies are not and cannot be satisfied;
	  when this is done the depending package will be left
	  unconfigured (since attempts to configure it will give
	  errors) and will not function properly.
 ORIG -->
	  <tt>Pre-Depends</tt> (これについては以下で議論します) 以外の
	  すべての宣言は、パッケージを設定する時<em>だけ</em>作用します。
	  そのため、依存関係を満たさないパッケージがシステム中に
	  未設定 (unconfigured) な状態でインストールされることを
	  防ぐことはできません。このパッケージは、依存関係がきちんと
	  満足されており正しくインストールされているパッケージを
	  依存関係を満たしていないか、満たせないような別のバージョンの
	  パッケージで置き換えることさえできます。この場合は
	  そのパッケージは未設定のまま (configure しようとすると
	  エラーが返ってきまず) で、当然、きちんと動作しないでしょう。
	</p>

	<p>	  
<!-- ORIG
	  For this reason packages in an installation run are usually
	  all unpacked first and all configured later; this gives
	  later versions of packages with dependencies on later
	  versions of other packages the opportunity to have their
	  dependencies satisfied.
 ORIG -->
	  この理由から、最初のインストール時には、すべてのパッケージが
	  まず展開されて、その後、すべてのパッケージを
	  設定 (configure) します。こうすることによって、現存の
	  システムに存在しない、新しいバージョンのパッケージに依存関係を
	  宣言している新しいパッケージが依存関係を満足できることに
	  なります。
	</p>

	<p>	  
<!-- ORIG
	  Thus <tt>Depends</tt> allows package maintainers to impose
	  an order in which packages should be configured.
 ORIG -->
	  このように、<tt>Depends</tt> フィールドによって、パッケージの
	  メンテナはパッケージの設定順序を指定できます。
	  <taglist>
	    <tag><tt>Depends</tt></tag>
	    <item>
	      
<!-- ORIG
	      <p>This declares an absolute dependency.
 ORIG -->
	      <p>これは、必ず依存しているパッケージを宣言します。

	      </p>

	      <p>		
<!-- ORIG
		<prgn>dpkg</prgn> will not configure packages whose
		dependencies aren't satisfied.  If it is asked to make
		an installation which would cause an installed
		package's dependencies to become unsatisfied it will
		complain
		<footnote>
		  <p>
		    Current versions (1.2.4) of <prgn>dpkg</prgn> have
		    a bug in this area which will cause some of these
		    problems to be ignored.
		  </p>
		</footnote>, unless <tt>−auto-deconfigure</tt> is
		specified, in which case those packages will be
		deconfigured before the installation proceeds.
 ORIG -->
		<prgn>dpkg</prgn> は、その依存関係が満足されない限り、
		パッケージを設定しようとしません。もし、強制的に
		依存関係を無視してインストールしようとすると、
		<tt>--auto-deconfigure</tt> オプションが
		指定されていないかぎり、<prgn>dpkg</prgn> は文句を
		いいます
		<footnote>
		  <p>
		    現行バージョン(1.2.4)の <prgn>dpkg</prgn> には、
		    この領域中のバグがあり、依存関係の問題のうちの
		    いくらかを無視してしまいます。
		  </p>
		</footnote>。このオプションが指定されていると、
		パッケージのインストールが行われる前に、設定が
		解除されます。
	      </p>

	      <p>		
<!-- ORIG
		<prgn>dselect</prgn> makes it hard for the user to
		select packages for installation, removal or upgrade
		in a way that would mean that packages'
		<prgn>Depends</prgn> fields would be unsatisfied.  The
		user can override this if they wish, for example if
		they know that <prgn>dselect</prgn> has an out-of-date
		view of the real package relationships.
 ORIG -->
		<prgn>dselect</prgn> はパッケージの
		<prgn>Depends</prgn> フィールドが依存関係を
		満足しないようなパッケージの導入や削除、更新が
		できにくいようにしてありますが、望めば強制的に
		実施することができます。これは例えば
		<prgn>dselect</prgn> が実際のパッケージ間関係を
		反映しておらず、古い情報しか持っていない場合に
		使用します。
	      </p>

	      <p>		
<!-- ORIG
		The <tt>Depends</tt> field should be used if the
		depended-on package is required for the depending
		package to provide a significant amount of
		functionality.</p>
 ORIG -->
		<tt>Depends</tt> フィールドは、そのパッケージが
		他のあるパッケージに重要な機能の多くを
		依存している場合に使わなければいけません。
	    </item>
	      
	    <tag><tt>Recommends</tt></tag>
	    <item>
<!-- ORIG
	      <p>This declares a strong, but not absolute, dependency.
 ORIG -->
	      <p>強い依存関係だけれども、絶対というほどではない
	      依存関係の場合に宣言します。
	      </p>

	      <p>		
<!-- ORIG
		<tt>Recommends</tt> is ignored by <prgn>dpkg</prgn>,
		so that users using the command-line (who are presumed
		to know what they're doing) will not be impeded.
 ORIG -->
		<prgn>dpkg</prgn> は、<tt>Recommends</tt> フィールドを
		無視します。コマンドラインを使うユーザ
		(自分が何をしているかを知っているユーザ)
		はエラーなどに邪魔されることはありません。
	      </p>

	      <p>		
<!-- ORIG
		It is treated by <prgn>dselect</prgn> exactly as
		<tt>Depends</tt> is; this makes it hard for the user
		to select things so as to leave <tt>Recommends</tt>
		fields unsatisfied, but they are able to do so by
		being persistent.
 ORIG -->
		一方、<prgn>dselect</prgn> がこのフィールドを扱うときは、
		<tt>Depends</tt> と同様の扱いをします。
		<tt>Recommends</tt> フィールドの関係を満足せずに、
		パッケージを選択することは難しくなっています。
		けれども、ユーザがもし望むのであればそうすることも
		できるようになっています。
	      </p>

	      <p>		
<!-- ORIG
		The <tt>Recommends</tt> field should list packages
		that would be found together with this one in all but
		unusual installations.</p>
 ORIG -->
		この <tt>Recommends</tt> フィールドには、特別な場合で
		ないかぎり一緒に使用されるパッケージが書かれます。
	    </item>
	      
	    <tag><tt>Suggests</tt></tag>
	    <item>
	      
	      <p>
<!-- ORIG
		This is used to declare that one package may be more
		useful with one or more others.  Using this field
		tells the packaging system and the user that the
		listed packages are related to this one and can
		perhaps enhance its usefulness, but that installing
		this one without them is perfectly reasonable.
 ORIG -->
		そのパッケージをより便利に使うための一つまたは
		それ以上の他のパッケージを宣言します。ここに
		宣言されているパッケージも一緒にインストールすると、
		おそらく、より便利になるでしょう。けれども、それらが
		ない場合でも全く問題なくインストールできます。
	      </p>

	      <p>		
<!-- ORIG
		<prgn>dselect</prgn> will offer suggsted packages to
		the system administrator when they select the
		suggesting package, but the default is not to install
		the suggested package.</p>
 ORIG -->
		<prgn>dselect</prgn> を使用してパッケージを選択すると、
		管理者に <tt>Suggests</tt> されたパッケージを
		インストールするように提案してきます。けれども、
		デフォルトではインストールしません。</p>
	    </item>
	      
	    <tag><tt>Pre-Depends</tt></tag>
	    <item>
	      
<!-- ORIG
	      <p>This field is like <tt>Depends</tt>, except that it also forces
		<prgn>dpkg</prgn> to complete installation of the
		packages named before even starting the installation
		of the package which declares the predependency.
 ORIG -->
	      <p>このフィールドは <tt>Depends</tt> と似ていますが、
		この場合は、目的のパッケージのインストール前に、
		先行依存 (predependency) パッケージの完全インストールを、
		<tt>dpkg</tt> に強制します。
	      </p>

	      <p>		
<!-- ORIG
		<prgn>dselect</prgn> checks for predependencies when
		it is doing an installation run, and will attempt to
		find the packages which are required to be installed
		first and do so in the right order.
 ORIG -->
		<prgn>dselect</prgn> は、一連のインストール作業の
		実行中に、その先行依存性をチェックします。そして最初に
		インストールしなければいけないパッケージから正しい
		順番でインストール作業を行おうとします。
	      </p>

	      <p>		
<!-- ORIG
		However, this process is slow (because it requires
		repeated invocations of <prgn>dpkg</prgn>) and
		troublesome (because it requires guessing where to
		find the appropriate files).
 ORIG -->
		けれども、この作業は遅く (<prgn>dpkg</prgn> の複数回の
		実行が必要なのです)、またトラブルを起しやすいです
		(適切なファイルがどこにあるか推測しなければならないので)。
	      </p>

	      <p>		
<!-- ORIG
		For these reasons, and because this field imposes
		restrictions on the order in which packages may be
		unpacked (which can be difficult for installations
		from multipart media, for example),
		<tt>Pre-Depends</tt> should be used sparingly,
		preferably only by packages whose premature upgrade or
		installation would hamper the ability of the system to
		continue with any upgrade that might be in progress.
 ORIG -->
		これらの理由から、また、このフィールドが、パッケージの
		展開順序に制約を設ける (例えば、
		マルチパートメディアからのインストールが難しくなります)
		ので、<tt>Pre-Depends</tt> は、そのパッケージの不完全な
		更新やインストールが、システムで進行中の更新作業を
		続ける妨げとなる場合のみに使用されなければいけません。
	      </p>

	      <p>		
<!-- ORIG
		When the package declaring it is being configured, a
		<tt>Pre-Dependency</tt> will be considered satisfied
		only if the depending package has been correctly
		configured, just as if an ordinary <tt>Depends</tt>
		had been used.
 ORIG -->
		<tt>Pre-Dependency</tt> を宣言したパッケージが設定中の
		時、依存するパッケージが正常に設定済である場合にのみ
		<tt>Pre-Dependency</tt> を満たしたとみなします。
		これは、通常の <tt>Depends</tt> と同様です。
	      </p>

	      <p>		
<!-- ORIG
		However, when a package declaring a predependency is
		being unpacked the predependency can be satisfied even
		if the depended-on package(s) are only unpacked or
		half-configured, provided that they have been
		configured correctly at some point in the past (and
		not removed or partially removed since).  In this case
		both the previously-configured and currently unpacked
		or half-configured versions must satisfy any version
		clause in the <tt>Pre-Depends</tt> field.
 ORIG -->
		ただし、ある時点できちんと設定され、以後削除されて
		いない場合には、<tt>Pre-Dependency</tt> を宣言した
		パッケージが展開中や展開直後、中途半端な設定済の
		状態でさえ、先行依存性 (<tt>Pre-Dependency</tt>) は
		満足できます。この場合は、以前に設定されていた
		パッケージのバージョンと、現在展開された、または
		ある程度設定されたバージョンとの両方が、
		<tt>Pre-Depends</tt> フィールドのバージョン部分を
		満足しなければいけません。
	      </p>
	    </item>
	  </taglist>
	</p>
	<p> 
<!-- ORIG
	  When selecting which level of dependency to use you should
	  consider how important the depended-on package is to the
	  functionality of the one declaring the dependency.  Some
	  packages are composed of components of varying degrees of
	  importance.  Such a package should list using
	  <tt>Depends</tt> the package(s) which are required by the
	  more important components.  The other components'
	  requirements may be mentioned as Suggestions or
	  Recommendations, as appropriate to the components' relative
	  importance.
 ORIG -->
	  依存関係のレベルを選択するにあたって、そのパッケージの機能に
	  おいて依存パッケージの機能がどの程度重要なのかを考えなければ
	  いけません。あるパッケージが、重要度のことなるいくつかの
	  部品から構成されているとします。そのとき、その部品のなかでも
	  重要度の高いものが必要とするようなパッケージを
	  <tt>Depends</tt> として並べ挙げるべきです。そのほかの部分が
	  必要とするパッケージは、その部品の相対的な重要性にしたがって
	  Suggests なり、Recommends として参照されることになります。
	</p>

<!-- ORIG
      <sect1><heading>Dependencies on shared libraries
 ORIG -->
      <sect1><heading>共有ライブラリへの依存関係
	</heading>
	
	<p>	    
<!-- ORIG
	    The dependency fields listed above are used by packages
	    which need shared libraries to declare dependencies on the
	    appropriate packages.
 ORIG -->
	    上述の Depends フィールドは、共有ライブラリを必要とする
	    パッケージが、ある適切なパッケージへの依存関係を宣言する際に
	    使用します。
	</p>

	<p>	    
<!-- ORIG
	  These dependencies are usually determined automatically
	  using <prgn>dpkg-shlibdeps</prgn> and inserted in the
	  package control file using the control file substitution
	  variables mechanism; see <ref id="srcsubstvars"> and 
	  <ref id="sourcetools">.
 ORIG -->
	  これらの依存関係は、通常は、<prgn>dpkg-shlibdeps</prgn>
	  によって自動的に決定され、パッケージのコントロールファイルに
	  挿入されます。これは、コントロールファイルへの変数代入機構に
	  よっています。<ref id="srcsubstvars"> および
	  <ref id="sourcetools"> をごらんください。
	</p>
      </sect1>
	  
<!-- ORIG
      <sect1><heading>Deconfiguration due to removal during bulk
      installations
 ORIG -->
      <sect1><heading>大量インストール時のパッケージ削除による設定の解除
	</heading>
	  
	<p>	    
<!-- ORIG
	  If <prgn>dpkg</prgn> would like to remove a package due to a
	  conflict, as described above, but this would violate a
	  dependency of some other package on the system,
	  <prgn>dpkg</prgn> will usually not remove the conflicting
	  package and halt with an error.
 ORIG -->
	  <prgn>dpkg</prgn> が、上述のような競合関係のためにある
	  パッケージを削除しようとしたとき、システム中の他の
	  あるパッケージとの依存関係を満足できなくなることがありえます。
	  この場合、<prgn>dpkg</prgn> は、その競合パッケージを
	  削除しようとせず、エラーを出力して終了します。
	</p>
	  
	<p>	    
<!-- ORIG
	  However, if the <tt>−auto-deconfigure</tt> (<tt>-B</tt>)
	  option is used <prgn>dpkg</prgn> will automatically
	  `deconfigure' the package with the problematic dependency,
	  so that the conflicting package can be removed and the
	  package we're trying to install can be installed.  If
	  <prgn>dpkg</prgn> is being asked to install packages (rather
	  than just unpacking them) it will try to reconfigure the
	  package when it has unpacked all its arguments, in the hope
	  that one of the other packages it is installing will satisfy
	  the problematic dependency.
 ORIG -->
	  けれども、<tt>--auto-deconfigure</tt> (<tt>-B</tt>) という
	  オプションが使用されていると、<prgn>dpkg</prgn> は、
	  依存関係に問題のあるパッケージの設定を自動的に解除します。
	  この場合は、競合関係のあるパッケージは削除可能になり、
	  インストールしようとしているパッケージはインストール可能に
	  なります。この時、<prgn>dpkg</prgn> は、依存関係の問題を、
	  他のあるパッケージが解決してくれることを期待して、
	  インストール時に、展開後、再設定を行おうとします。
	</p>

	  <p>	    
<!-- ORIG
	    <prgn>dselect</prgn> supplies this argument to
	    <prgn>dpkg</prgn> when it invokes it, so that bulk
	    installations proceed smoothly.
 ORIG -->
	    <prgn>dselect</prgn> は、大量のインストール作業を円滑に
	    進めるため、<prgn>dpkg</prgn> をこのオプション付きで
	    起動します。
	</p>
      </sect1>

<!-- ORIG
      <sect id="conflicts"><heading>Alternative packages -
	  <tt>Conflicts</tt> and <tt>Replaces</tt>
 ORIG -->
      <sect id="conflicts"><heading>代替パッケージ -
	  <tt>Conflicts</tt> と <tt>Replaces</tt>
	</heading>

	<p>	  
<!-- ORIG
	  When one package declares a conflict with another
	  <prgn>dpkg</prgn> will refuse to allow them to be installed
	  on the system at the same time.
 ORIG -->
	  あるパッケージが他のパッケージとの競合関係を宣言している場合、
	  <prgn>dpkg</prgn>は、それら二つのパッケージを同時に
	  インストールすることはできません。
	</p>

	<p>	  
<!-- ORIG
	  If one package is to be installed, the other must be removed first -
	  if the package being installed is marked as replacing (<ref
								      id="replaces">) the one on the system, or the one on the system is
	  marked as deselected, or both packages are marked
	  <tt>Essential</tt>, then <prgn>dpkg</prgn> will
	  automatically remove the package which is causing the
	  conflict, otherwise it will halt the installation of the new
	  package with an error.
 ORIG -->
	  一つのパッケージがインストールされていると、他方のパッケージは
	  まず最初に削除しなければいけません。また、そのインストール中の
	  パッケージが置き換えられるように指示されているとき
	  (<ref id="replaces">) や、システムにインストールされている
	  パッケージが選択解除されるように指示されているとき、両方の
	  パッケージに、<tt>Essential</tt> という宣言がされているときは、
	  <prgn>dpkg</prgn> は、競合関係の原因となっているパッケージを
	  自動的に削除します。そうでない時は、エラーを出力し、
	  新規パッケージのインストールを中止します。
	</p>

	<p>	  
<!-- ORIG
	  <prgn>dselect</prgn> makes it hard to select conflicting
	  packages, though the user can override this if they wish.
	  If they do not override it then <prgn>dselect</prgn> will
	  select one of the packages for removal, and the user must
	  make sure it is the right one.  In the future
	  <prgn>dselect</prgn> will look for the presence of a
	  <tt>Replaces</tt> field to help decide which package should
	  be installed and which removed.
 ORIG -->
	  競合パッケージをユーザが選択することは難しくなっていますが、
	  <prgn>dselect</prgn> を使用するときは、もし望むのであれば
	  上書きすることができます。けれども、ユーザが上書きをしなかった
	  場合は、<prgn>dselect</prgn> が自動的に削除するパッケージを
	  選びます。ユーザはそれが正しいものかどうかを確認しなければ
	  いけません。将来的には、<prgn>dselect</prgn> が、
	  <tt>Replaces</tt> フィールドが存在しているのかどうかを
	  見つけるようになる予定です。これによって、どれを
	  インストールしてどれを削除するのかの判断がより容易に
	  なるでしょう。
	</p>

	<p>	  
<!-- ORIG
	  A package will not cause a conflict merely because its
	  configuration files are still installed; it must be at least
	  half-installed.
 ORIG -->
	  あるパッケージは単に構成ファイルがまだインストールされて
	  いないという理由で、競合関係をひきおこすことはありません。
	  この場合は最低でも half-installed の状態でなければいけません。
	</p>

	<p>	  
<!-- ORIG
	  A special exception is made for packages which declare a
	  conflict with their own package name, or with a virtual
	  package which they provide (see below): this does not
	  prevent their installation, and allows a package to conflict
	  with others providing a replacement for it.  You use this
	  feature when you want the package in question to be the only
	  package providing something.
 ORIG -->
	  インストール中のパッケージ自身の名前やそれ自身が提供する
	  仮想パッケージ (以下を参照してください) との競合関係が
	  宣言されている場合は特殊な例外です。:この場合、そういう
	  パッケージのインストールが妨げられることはありません。
	  また、このパッケージを置換する他のパッケージと競合することも
	  できます。あるパッケージだけが、ある仮想パッケージを
	  提供するように指定したいときに、この機能を使用します。
	</p>

	<p>	  
<!-- ORIG
	  A <tt>Conflicts</tt> entry should almost never have an
	  `earlier than' version clause.  This would prevent
	  <prgn>dpkg</prgn> from upgrading or installing the package
	  which declared such a conflict until the upgrade or removal
	  of the conflicted-with package had been completed.  This
	  aspect of installation ordering is not handled by
	  <prgn>dselect</prgn>, so that the use <tt>Conflicts</tt> in
	  this way is likely to cause problems for `bulk run' upgrades
	  and installations.
 ORIG -->
	  <tt>Conflicts</tt> フィールドは、バージョン番号の指定に、
	  「より古い」という指定を含んではいけません。このフィールドが
	  あると、<prgn>dpkg</prgn> は、その競合関係を宣言している
	  パッケージが削除されるか更新されるまでそのパッケージの
	  インストールまたは更新を中止します。このインストール順序は、
	  <prgn>dselect</prgn> コマンドでは扱われません。従って、
	  インストール順序の規定に、このフィールドを使用すると、
	  <prgn>dselect</prgn> によって、大量のインストール作業を
	  行うときには、問題がおきるかもしれません。
	</p>
      </sect>
	
<!-- ORIG
      <sect id="virtual"><heading>Virtual packages - <tt>Provides</tt>
 ORIG -->
      <sect id="virtual"><heading>仮想パッケージ - <tt>Provides</tt>
	</heading>

	<p>	  
<!-- ORIG
	  As well as the names of actual (`concrete') packages, the
	  package relationship fields <tt>Depends</tt>,
	  <tt>Recommends</tt>, <tt>Suggests</tt> and
	  <tt>Conflicts</tt> may mention virtual packages.
 ORIG -->
	  実際に存在するパッケージと同様、パッケージの関連性を記述する
	  フィールド、<tt>Depends</tt> と、<tt>Recommends</tt>、
	  <tt>Suggests</tt>、<tt>Conflicts</tt> には、仮想パッケージ名を
	  記述することができます。
	</p>

	<p>	  
<!-- ORIG
	  A virtual package is one which appears in the
	  <tt>Provides</tt> control file field of another package.
	  The effect is as if the package(s) which provide a
	  particular virtual package name had been listed by name
	  everywhere the virtual package name appears.
 ORIG -->
	  この仮想パッケージ名は、あるパッケージのコントロールファイルの、
	  <tt>Provides</tt> フィールドに書かれるものです。これによって、
	  そのパッケージが仮想パッケージが書かれているところすべてに
	  リストされることになります。
	</p>

	<p>	  
<!-- ORIG
	  If there are both a real and a virtual package of the same
	  name then the dependency may be satisfied (or the conflict
	  caused) by either the real package or any of the virtual
	  packages which provide it.  This is so that, for example,
	  supposing we have
 ORIG -->
	  同じ名前の実際のパッケージと仮想パッケージが存在していた場合、
	  依存関係は、そのパッケージによって、満足されたりされなかったり
	  します。例えば、
	  <example>
  Package: vm
  Depends: emacs
	  </example>
<!-- ORIG
	  and someone else releases an xemacs package they can say
 ORIG -->
	  こういうパッケージがあった場合で、他の xemacs の
	  リリースパッケージが、
	  <example>
  Package: xemacs
  Provides: emacs
<!-- ORIG
	  </example> and all will work in the interim (until a purely
	  virtual package name is decided on and the <tt>emacs</tt>
	  and <tt>vm</tt> packages are changed to use it).
 ORIG -->
	  </example>こういう宣言をしていた場合、すべて正常に動作します
	  (ただし、仮想パッケージ名が上書きされたり、<tt>emacs</tt> と
	  <tt>vm</tt> パッケージが変更された場合を除きます)。

	</p>

	<p>	  
<!-- ORIG
	  If a dependency or a conflict has a version number attached
	  then only real packages will be considered to see whether
	  the relationship is satisfied (or the prohibition violated,
	  for a conflict) - it is assumed that a real package which
	  provides virtual package is not of the `right' version.  So,
	  a <tt>Provides</tt> field may not contain version numbers,
	  and the version number of the concrete package which
	  provides a particular virtual package will not be looked at
	  when considering a dependency on or conflict with the
	  virtual package name.
 ORIG -->
	  依存、競合関係にバージョン番号が付けられている場合は、
	  そのチェックのためには実際のパッケージだけが考慮されます。
	  - 仮想パッケージを提供するある実在のパッケージの
	  バージョン番号は、「正しい」バージョン番号ではないと
	  みなされます。従って、<tt>Provides</tt> フィールドには、
	  バージョン番号を含んではいけません、そして仮想パッケージとの
	  競合または依存関係を決定するときに、その仮想パッケージを
	  提供する実際パッケージのバージョン番号を参照してはいけません。
	</p>

	<p>	  
<!-- ORIG
	  It is likely that the ability will be added in a future
	  release of <prgn>dpkg</prgn> to specify a version number for
	  each virtual package it provides.  This feature is not yet
	  present, however, and is expected to be used only
	  infrequently.
 ORIG -->
	  将来的に、<prgn>dpkg</prgn> には、提供される仮想パッケージの
	  バージョン番号を特定する機能が付加される予定です。しかし、
	  この機能は今はまだ実装されていませんし、またそれはめったに
	  使われないことと思います。
	</p>

	<p>	  
<!-- ORIG
	  If you want to specify which of a set of real packages should be the
	  default to satisfy a particular dependency on a virtual package, you
	  should list the real package as an alternative before the virtual.
 ORIG -->
	  ある実際のパッケージのセットが、ある仮想パッケージに関する
	  特定の依存関係を満足しなければいけないときは、仮想パッケージの
	  前に、実際のパッケージ名をフィールドに並べてください。
	</p>
      </sect>
	
	
<!-- ORIG
      <sect id="replaces"><heading><tt>Replaces</tt> - overwriting
      files and replacing packages
 ORIG -->
      <sect id="replaces"><heading><tt>Replaces</tt> -
      ファイルの上書きと置換
	</heading>

	<p>	  
<!-- ORIG
	  The <tt>Replaces</tt> control file field has two purposes,
	  which come into play in different situations.
 ORIG -->
	  コントロールファイルの <tt>Replaces</tt> フィールドは、
	  違う状況下で作用する二つの目的を持っています。
	</p>

	<p>	  
<!-- ORIG
	  Virtual packages (<ref id="virtual">) are not considered
	  when looking at a <tt>Replaces</tt> field - the packages
	  declared as being replaced must be mentioned by their real
	  names.
 ORIG -->
	  仮想パッケージは (<ref id="virtual">) は、<tt>Replaces</tt>
	  フィールドを参照するときは、考慮されません。このフィールドに
	  置換されるパッケージを宣言するときは、実際のパッケージ名を
	  使用してください。
	</p>
	  
<!-- ORIG
	<sect1><heading>Overwriting files in other packages
 ORIG -->
	<sect1><heading>他のパッケージ中の一部ファイルの上書き
	  </heading>

	  <p>	    
<!-- ORIG
	    Firstly, as mentioned before, it is usually an error for a
	    package to contains files which are on the system in
	    another package, though currently the
	    <tt>−force-overwrite</tt> flag is enabled by default,
	    downgrading the error to a warning,
 ORIG -->
	    最初に、以前言及したように、通常、システム中の他の
	    パッケージに含まれているファイルをインストールしようとする
	    パッケージが含んでいると、それはエラーになります。しかし、
	    現在のところ、dpkg のオプション、<tt>--force-overwrite</tt>
	    はデフォルトでオンになっており、このエラーはウォーニングに
	    格下げされています。
	  </p>

	  <p>	    
<!-- ORIG
	    If the overwriting package declares that it replaces the
	    one containing the file being overwritten then
	    <prgn>dpkg</prgn> will proceed, and replace the file from
	    the old package with that from the new.  The file will no
	    longer be listed as `owned' by the old package.
 ORIG -->
	    ここで、インストールパッケージが、システム中のあるファイルを
	    置換すると宣言していた場合、<prgn>dpkg</prgn> はそれの処理を
	    実行します。そして、古いパッケージ中のファイルを新しい
	    ファイルと置き換えます。そのファイルは古いパッケージの
	    所有リストからは削除されます。
	  </p>

	  <p>	    
<!-- ORIG
	    If a package is completely replaced in this way, so that
	    <prgn>dpkg</prgn> does not know of any files it still
	    contains, it is considered to have disappeared.  It will
	    be marked as not wanted on the system (selected for
	    removal) and not installed.  Any conffiles details noted
	    in the package will be ignored, as they will have been
	    taken over by the replacing package(s).  The package's
	    <prgn>postrm</prgn> script will be run to allow the
	    package to do any final cleanup required.  See <ref
	    id="mscriptsinstact">.
 ORIG -->
	    このようにして、パッケージが完全に置き換えられてしまった
	    ときは、<prgn>dpkg</prgn> は、どのファイルがまだ
	    含まれているのか、もはや情報を持っていません。したがって、
	    この場合は、古いパッケージは削除されたと考えられます。
	    システムは、「削除」および「インストールされていない」との
	    マークを古いパッケージに付けます。一方、そのパッケージの
	    構成情報を記した設定ファイルは削除されません。これは、
	    新しいパッケージによって上書きされている可能性が
	    あるからです。最終的な大掃除が必要であれば、
	    そのパッケージの <prgn>postrm</prgn> スクリプトを必要に
	    応じて実行することになるでしょう。
	    <ref id="mscriptsinstact"> をごらんください。
	  </p>

	  <p>	    
<!-- ORIG
	    In the future <prgn>dpkg</prgn> will discard files which
	    overwrite those from another package which declares that
	    it replaces the one being installed (so that you can
	    install an older version of a package without problems).
 ORIG -->
	    将来の <prgn>dpkg</prgn> のバージョンにおいては、
	    置き換えインストールが発生した時は、最初にシステム中に
	    あったファイルは削除されるようになる予定です
	    (これによって、古いバージョンのパッケージを問題なく
	    上書きインストールできるようになります)。
	  </p>

	  <p>	    
<!-- ORIG
	    This usage of <tt>Replaces</tt> only takes effect when
	    both packages are at least partially on the system at
	    once, so that it can only happen if they do not conflict
	    or if the conflict has been overridden.</p>
 ORIG -->
	    <tt>Replaces</tt> フィールドがこのような使われるときは、
	    二つのパッケージが一時的にせよシステム中に同時に
	    存在するときです。つまり、この場合は、これらのパッケージは
	    競合関係にないか、または、その競合関係がすでに上書きされて
	    解消されたていることになります。</p>
	</sect1>
	  
<!-- ORIG
	<sect1><heading>Replacing whole packages, forcing their
	removal
 ORIG -->
	<sect1><heading>パッケージ全体の削除を伴う置換
	  </heading>

	  <p>	    
<!-- ORIG
	    Secondly, <tt>Replaces</tt> allows <prgn>dpkg</prgn> and
	    <prgn>dselect</prgn> to resolve which package should be
	    removed when there is a conflict - see <ref id="conflicts">.  This
	    usage only takes effect when the two packages <em>do</em>
	    conflict, so that the two effects do not interfere with
	    each other.
 ORIG -->
	    もう一つは、<tt>Replaces</tt> がパッケージ間の競合関係を
	    解決するために、<prgn>dpkg</prgn> および <prgn>dpkg</prgn>
	    にどのパッケージを削除するのか指示する場合です。
	    <ref id="conflicts"> をご覧ください。この場合は、二つの
	    パッケージが<em>競合している</em>ときです。したがって、
	    前節の場合とこの場合との間にはお互いに干渉することは
	    ありません。
	  </p>
	</sect1>
      </sect>
	
<!-- ORIG
      <sect><heading>Defaults for satisfying dependencies - ordering
 ORIG -->
      <sect><heading>依存関係満足のデフォルト - 順序
	</heading>

	<p>	  
<!-- ORIG
	  Ordering is significant in dependency fields.
 ORIG -->
	  依存関係を記述するフィールドにおいて、その順序は重要です。
	</p>

	<p>	  
<!-- ORIG
	  Usually dselect will suggest to the user that they select
	  the package with the most `fundamental' class (eg, it will
	  prefer Base packages to Optional ones), or the one that they
	  `most wanted' to select in some sense.
 ORIG -->
	  複数のパッケージが記述されていた場合、ふつうは、dselect が、
	  ユーザにもっとも基本的クラスのパッケージ (つまり、
	  ベースパッケージのほうが、オプションよりも優先されます)
	  や、ある意味で dselect がインストールすることをもっとも望む
	  パッケージを選択するように提案してきます。
	</p>

	<p>	  
<!-- ORIG
	  In the absence of other information <prgn>dselect</prgn>
	  will offer a default selection of the first named package in
	  a list of alternatives.
 ORIG -->
	  その他の情報が欠けていた場合、<prgn>dselect</prgn> は、
	  代替リストのなかの一番最初のパッケージをデフォルトで
	  選択します。
	</p>

	<p>	  
<!-- ORIG
	  However, there is no way to specify the `order' of several
	  packages which all provide the same thing, when that thing
	  is listed as a dependency.
 ORIG -->
	  けれども、同じ仮想パッケージを提供するいくつかのパッケージが、
	  依存関係として記述されているとき、それらのパッケージの
	  インストール順を規定することはできません。
	</p>

	<p>	  
<!-- ORIG
	  Therefore a dependency on a virtual package should contain a
	  concrete package name as the first alternative, so that this
	  is the default.
 ORIG -->
	  ですから、仮想パッケージに対して依存関係を記述するときは、
	  実際のパッケージ名を代替リストの最初におくようにします。
	  この場合、そのパッケージがデフォルトで選択されるようになります。
	</p>

	<p>	  
<!-- ORIG
	  For example, consider the set of packages:
 ORIG -->
	  例えば、次のような場合を考えます。
	  <example>
  Package: glibcdoc
  Recommends: info-browser
  
  Package: info
  Provides: info-browser
  
  Package: emacs
  Provides: info-browser
	  </example>
	</p>

	<p>	  
<!-- ORIG
	  If <prgn>emacs</prgn> and <prgn>info</prgn> both have the
	  same priority then <prgn>dselect</prgn>'s choice is
	  essentially random.  Better would be
 ORIG -->
	  <prgn>emacs</prgn> と <prgn>info</prgn> とが同一の優先順位を
	  持っていたとしたら、<prgn>dselect</prgn> の選択は、ランダムと
	  なります。一方、
	  <example>
  Package: glibcdoc
  Recommends: info | info-browser
	  </example>
<!-- ORIG
	  so that <prgn>dselect</prgn> defaults to selecting the
	  lightweight standalone info browser.
 ORIG -->
	  このような記述になっていた場合、<prgn>dselect</prgn> は、
	  軽くて単独で動作する info-browser である info をデフォルトで
	  選択します。
	</p>
      </sect>
    </chapt>