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

Re: Packaging Manual 第8章



遠藤です。

翻訳お疲れさまです。
ざっとですが、一通りチェックしてみました。

なお、control なんとかの control は「制御」で
お願いします。< 訳語統一プロジェクト

あと、本文書のタイトルですが「Debian パッケージングマニュアル」
と訳しませんか? 「日本語版」という言葉も特に必要ないと思います。

HAYASE Shigenori <shayase@xxxxxxxxxxxxxxx> writes:

> 	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.

> 	パッケージは、コントロールファイル中に他のパッケージとの
> 	関連性について宣言することができます。例えば、あるパッケージと
> 	同時にインストールすることが許されていないパッケージや、また、
> 	あるパッケージがきちんとインストールされていなければ
> 	インストールできないパッケージ、またはあるパッケージが
> 	インストールされているとき、そのファイルを上書きする
> 	パッケージなどがあります。

「各パッケージは、その制御ファイルの中で、
同時にインストールすることができないパッケージや、
そのパッケージに依存したり、ファイルを上書きされるパッケージなど、
特定の他パッケージとの関連づけを宣言することができます。」

でしょうか?

> 	  These fields all have a uniform syntax.  They are a list of
> 	  package names separated by commas.

> 	  これらのフィールドはすべて同一書式です。このフィールドは、
> 	  コンマで区切ったパッケージ名のリストです。

# この二つの文の主語が違うもののように捉えられそうなので…

「また、各フィールドはコンマで区切られたパッケージ名の一覧です。」

> 	  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).

> 	  <tt>Depends</tt> や <tt>Recommends</tt>、<tt>Suggests</tt>、
> 	  <tt>Pre-Depends</tt>
> 	  (他のパッケージに依存関係がある場合に宣言するフィールド)
> 	  の各フィールド内のパッケージ名には、代替パッケージ名の
> 	  リストを書くこともできます。代替パッケージ名は、
> 	  <tt>|</tt> (パイプシンボル) で区切って書きます。

「の各フィールド内に記述するパッケージ名は、
代替パッケージ名の一覧でも構いません。
代替パッケージ名は、垂直バーシンボル <tt>|</tt> (パイプシンボル) 
で区切って書きます。」

# vertical bar symbols が抜けてます。

> 	  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">.

> 	  この場合、パッケージ名の後に括弧を続け、その中に
> 	  バージョン番号を記述します。 括弧内には、
> 	  <ref id="versions"> の書式に従ったバージョン番号との関係を
> 	  記します。

その指定は、各パッケージ名の後に続く括弧の中で行なわれ、
その括弧の中には、下記の一覧で示される (バージョン番号) 関係記号と、
それに続いて <ref id="versions"> の書式に従ったバージョン番号を、
記述します。

# 「バージョン番号関係記号」というのも変な気がしますが…

> 	  strictly earlier, earlier or equal, exactly equal, later or
> 	  equal and strictly later, respectively.  The forms

> 	  <tt>&gt;=</tt>、<tt>&gt;&gt;</tt> です。それぞれ、
> 	  順番に「全く小さい」「小さいか等しい」「全く同じ」
> 	  「等しいか大きい」「全く大きい」を意味しています。

「より小さい」「以下」「等しい」「以上」「より大きい」を使う方が
分かりやすいかも。

> 	  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

> 	  空白は、バージョン設定のどの部分に入れてもかまいません。
> 	  そして、必要ならば空白を挿入して、あいまいさを
> 	  取りのぞかなければいけません。その他の意味はありません。
> 	  空白を一ついれることを推奨します。そして通常は、コンマのあとに
> 	  空白を一つ入れ、パイプシンボル「|」の両側にも空白を入れます。
> 	  また、開括弧の前にも空白を一つ入れます。

"For consistency and in case of future changes to <prgn>dpkg</prgn>" と
"after a version relationship and before a version number"
が抜けてます。

「しかし、空白にそれ以上の意味はありません。
なお、データの一貫性や、将来 <prgn>dpkg</prgn> に変更があるかもしれな
いことから、バージョン関係記号の後ろ、つまりバージョン番号の前に、空白
を一ついれることを推奨します。」

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

"," ->「、」

> 	  These four fields are used to declare a dependency by one
> 	  package on another.  They appear in the depending package's
> 	  control file.

> 	  これらの四つのフィールドはあるパッケージと他のパッケージとの
> 	  依存関係を宣言するために使用します。これらのフィールドは、
> 	  他に依存しているパッケージのコントロールファイルの中にあります。

「これらのフィールドは、依存する側のパッケージの制御ファイル中に記述さ
れます。」の方が分かりやすいかな?

> 	  All but <tt>Pre-Depends</tt> (discussed below) take effect

> 	  <tt>Pre-Depends</tt> (これについては以下で議論します) 以外の

「議論します」は「説明します」程度でいいのでは…。

> 	  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.

> 	  設定 (configure) します。こうすることによって、現存の
> 	  システムに存在しない、新しいバージョンのパッケージに依存関係を
> 	  宣言している新しいパッケージが依存関係を満足できることに
> 	  なります。

「新しいパッケージが依存関係を満足できることになります。」
              ->「の依存関係を満すことができます。」

> 	      <p>This declares an absolute dependency.

> 	      <p>これは、必ず依存しているパッケージを宣言します。

「必ず依存している」 -> 「(完全|無条件)に依存する」でしょうか?

> 		<prgn>dpkg</prgn> will not configure packages whose
> 		dependencies aren't satisfied.  If it is asked to make

> 		<prgn>dpkg</prgn> は、その依存関係が満足されない限り、
> 		パッケージを設定しようとしません。もし、強制的に

# 「その依存関係」の「その」が (文章だけ見たら) dpkg を指してるように
# 読めるので、

「<prgn>dpkg</prgn> は、パッケージの依存関係が満されない限り、
その (パッケージの) 設定を行ないません。」

> 		<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

> 		<prgn>dselect</prgn> はパッケージの
> 		<prgn>Depends</prgn> フィールドが依存関係を
> 		満足しないようなパッケージの導入や削除、更新が
> 		できにくいようにしてありますが、望めば強制的に
> 		実施することができます。これは例えば

「パッケージの <prgn>Depends</prgn> フィールドに記述されている依存関係
が満されていない場合、<prgn>dselect</prgn> は、そのようなパッケージを、
ユーザが容易にインストールしたり削除したり、アップグレードしたりできな
いようにします。しかし、ユーザが望むならば、このフィールドを無視するこ
ともできます。」

でしょうか?

> 		<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.

> 		<prgn>dpkg</prgn> は、<tt>Recommends</tt> フィールドを
> 		無視します。コマンドラインを使うユーザ
> 		(自分が何をしているかを知っているユーザ)

「自分が何をしているかを(分かっている|理解している)ユーザ」

> 		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.

> 		一方、<prgn>dselect</prgn> がこのフィールドを扱うときは、
> 		<tt>Depends</tt> と同様の扱いをします。
> 		<tt>Recommends</tt> フィールドの関係を満足せずに、
> 		パッケージを選択することは難しくなっています。
> 		けれども、ユーザがもし望むのであればそうすることも
> 		できるようになっています。

「<tt>Recommends</tt> フィールドの関係を満足せずに、
パッケージを選択することは難しくなっています。」

->「つまり、<tt>Recommends</tt> フィールドの依存関係が満されていない場
   合、<prgn>dselect</prgn> は、そのパッケージをなるべく選択できないよ
   うにします。」

でしょうか?

> 		<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>

> 		<prgn>dselect</prgn> を使用してパッケージを選択すると、
> 		管理者に <tt>Suggests</tt> されたパッケージを
> 		インストールするように提案してきます。けれども、
> 		デフォルトではインストールしません。</p>

「管理者」 -> 「システム管理者」

> 		<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.

> 		<prgn>dselect</prgn> は、一連のインストール作業の
> 		実行中に、その先行依存性をチェックします。そして最初に
> 		インストールしなければいけないパッケージから正しい
> 		順番でインストール作業を行おうとします。

「先行依存性」->「先行依存関係」

> 		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).

> 		けれども、この作業は遅く (<prgn>dpkg</prgn> の複数回の
> 		実行が必要なのです)、またトラブルを起しやすいです
> 		(適切なファイルがどこにあるか推測しなければならないので)。

「 けれども、この作業は、(適切なファイルがどこにあるか推測しなければな
らないので、) 時間がかかり、…」

> 		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> は、そのパッケージの不完全な

これらの理由「から or や」、また、このフィールドがパッケージの展開順序に
制約を設ける (中略) 「ことから、」

> 		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.

> 		ただし、ある時点できちんと設定され、以後削除されて
> 		いない場合には、<tt>Pre-Dependency</tt> を宣言した
> 		パッケージが展開中や展開直後、中途半端な設定済の
> 		状態でさえ、先行依存性 (<tt>Pre-Dependency</tt>) は
> 		満足できます。この場合は、以前に設定されていた
> 		パッケージのバージョンと、現在展開された、または
> 		ある程度設定されたバージョンとの両方が、
> 		<tt>Pre-Depends</tt> フィールドのバージョン部分を
> 		満足しなければいけません。

"package(s)" パッケージ(群)

"or partially removed" が抜けていませんか?

> 	  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

> 	  依存関係のレベルを選択するにあたって、そのパッケージの機能に
> 	  おいて依存パッケージの機能がどの程度重要なのかを考えなければ
> 	  いけません。あるパッケージが、重要度のことなるいくつかの

「ことなる」->「異なる」

> 	  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.

> 	  けれども、<tt>--auto-deconfigure</tt> (<tt>-B</tt>) という
> 	  オプションが使用されていると、<prgn>dpkg</prgn> は、
> 	  依存関係に問題のあるパッケージの設定を自動的に解除します。
> 	  この場合は、競合関係のあるパッケージは削除可能になり、
> 	  インストールしようとしているパッケージはインストール可能に
> 	  なります。この時、<prgn>dpkg</prgn> は、依存関係の問題を、
> 	  他のあるパッケージが解決してくれることを期待して、
> 	  インストール時に、展開後、再設定を行おうとします。


"If <prgn>dpkg</prgn> is being asked to install packages (rather than
just unpacking them) " や "all its arguments" が抜けてます。

なんだかよく分かってないのですが、

「この場合に、<prgn>dpkg</prgn> が、複数のパッケージを (単に展開するだ
けでなく) インストールするよう指示されているならば、同時にインストール
される他のパッケージが問題のある依存関係を満すことを期待して、コマンド
ラインでインストールするよう指示されたすべてのパッケージを展開したあと
に、<prgn>dpkg</prgn> はそのパッケージの再設定を行なおうとします。」

でしょうか?

> 	  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.

> 	  一つのパッケージがインストールされていると、他方のパッケージは
> 	  まず最初に削除しなければいけません。また、そのインストール中の
> 	  パッケージが置き換えられるように指示されているとき
> 	  (<ref id="replaces">) や、システムにインストールされている
> 	  パッケージが選択解除されるように指示されているとき、両方の
> 	  パッケージに、<tt>Essential</tt> という宣言がされているときは、
> 	  <prgn>dpkg</prgn> は、競合関係の原因となっているパッケージを
> 	  自動的に削除します。そうでない時は、エラーを出力し、
> 	  新規パッケージのインストールを中止します。

「この一方のパッケージをインストールするには、
もう一方のパッケージをまず削除しなければなりません。
つまり、インストールするパッケージにシステム上にあるパッケージを置き換えるよう
にマークがつけられている場合や、
システムにインストールされているパッケージに選択を解除するようマークが
つけられている場合、
また、両方のパッケージに…」

> 	  <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.

> 	  競合パッケージをユーザが選択することは難しくなっていますが、
> 	  <prgn>dselect</prgn> を使用するときは、もし望むのであれば
> 	  上書きすることができます。けれども、ユーザが上書きをしなかった
> 	  場合は、<prgn>dselect</prgn> が自動的に削除するパッケージを
> 	  選びます。ユーザはそれが正しいものかどうかを確認しなければ
> 	  いけません。将来的には、<prgn>dselect</prgn> が、
> 	  <tt>Replaces</tt> フィールドが存在しているのかどうかを
> 	  見つけるようになる予定です。これによって、どれを
> 	  インストールしてどれを削除するのかの判断がより容易に
> 	  なるでしょう。


「<prgn>dselect</prgn> は、なるべくユーザが競合パッケージを選択できな
いようにさせますが...」

「…どれをインストールしてどれを削除すべきなのかについての…」 

 "override" は、「無視する」ですよね?

> 	  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.

> 	  インストール中のパッケージ自身の名前やそれ自身が提供する
> 	  仮想パッケージ (以下を参照してください) との競合関係が
> 	  宣言されている場合は特殊な例外です。:この場合、そういう
> 	  パッケージのインストールが妨げられることはありません。
> 	  また、このパッケージを置換する他のパッケージと競合することも
> 	  できます。あるパッケージだけが、ある仮想パッケージを
> 	  提供するように指定したいときに、この機能を使用します。

「:この場合」の「:」は不要。

# あるいは「つまり」と訳す?

> 	  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.

> 	  実際に存在するパッケージと同様、パッケージの関連性を記述する
> 	  フィールド、<tt>Depends</tt> と、<tt>Recommends</tt>、
> 	  <tt>Suggests</tt>、<tt>Conflicts</tt> には、仮想パッケージ名を
> 	  記述することができます。

(`concrete') は要らない?

> 	  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.

> 	  依存、競合関係にバージョン番号が付けられている場合は、
> 	  そのチェックのためには実際のパッケージだけが考慮されます。
> 	  - 仮想パッケージを提供するある実在のパッケージの
> 	  バージョン番号は、「正しい」バージョン番号ではないと
> 	  みなされます。従って、<tt>Provides</tt> フィールドには、
> 	  バージョン番号を含んではいけません、そして仮想パッケージとの
> 	  競合または依存関係を決定するときに、その仮想パッケージを
> 	  提供する実際パッケージのバージョン番号を参照してはいけません。

"to see whether the relationship is satisfied (or the prohibition
violated, for a conflict)" を「そのチェックのためには」と訳すのは強引
すぎませんか?

「参照してはいけません。」 -> 「参照されません。」では?

>       <sect id="replaces"><heading><tt>Replaces</tt> - overwriting
>       files and replacing packages

>       <sect id="replaces"><heading><tt>Replaces</tt> -
>       ファイルの上書きと置換
> 	</heading>

ファイルの上書きとパッケージの置換

> 	  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.

> 	  仮想パッケージは (<ref id="virtual">) は、<tt>Replaces</tt>
> 	  フィールドを参照するときは、考慮されません。このフィールドに
> 	  置換されるパッケージを宣言するときは、実際のパッケージ名を
> 	  使用してください。

「<tt>Replaces</tt> フィールドにある仮想パッケージ (<ref
id="virtual">) は考慮されません。」とか…

> 	    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>

> 	    <tt>Replaces</tt> フィールドがこのような使われるときは、
> 	    二つのパッケージが一時的にせよシステム中に同時に
> 	    存在するときです。つまり、この場合は、これらのパッケージは
> 	    競合関係にないか、または、その競合関係がすでに上書きされて
> 	    解消されたていることになります。</p>
                    ~~
「…このよう*に*使われるときは、…」

「…解消されていることになります。」

> 	    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.

> 	    もう一つは、<tt>Replaces</tt> がパッケージ間の競合関係を
> 	    解決するために、<prgn>dpkg</prgn> および <prgn>dpkg</prgn>
> 	    にどのパッケージを削除するのか指示する場合です。
> 	    <ref id="conflicts"> をご覧ください。この場合は、二つの
> 	    パッケージが<em>競合している</em>ときです。したがって、
> 	    前節の場合とこの場合との間にはお互いに干渉することは
> 	    ありません。


"to resolve which package should be removed when there is a conflict"

「競合が起きた際にどのパッケージを削除すべきかを決定するために」

>       <sect><heading>Defaults for satisfying dependencies - ordering

>       <sect><heading>依存関係満足のデフォルト - 順序

たとえば、依存関係「解決」とかはどうでしょう?

> 	  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.

> 	  複数のパッケージが記述されていた場合、ふつうは、dselect が、
> 	  ユーザにもっとも基本的クラスのパッケージ (つまり、
> 	  ベースパッケージのほうが、オプションよりも優先されます)
> 	  や、ある意味で dselect がインストールすることをもっとも望む
> 	  パッケージを選択するように提案してきます。

「(複数のパッケージが記述されていた場合、)
ふつう dselect は、最も「基本的な」クラスのパッケージ (つまり、ベース
パッケージのほうが、オプショ (ン or ナル) パッケージよりも優先されます) 
や、ある意味ユーザが「最も望んでいる」パッケージを選択するよう、
ユーザに提案します。」

でしょうか?

# この "they" は、"he or she" とかいう意味で、"the user" を指している
# のでしょうか? (自信なし)

-- 
Yoshizumi Endo <y-endo@xxxxxxxxxxxxxxx>