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

Debian Policy Manual Chapter 5



かねこです。5章のチェックお願いします。

#4章も8割方あがっているので気が向いたら数日中に投げるかもしれません。
---------- >8 ---------- >8
    <chapt>
      <!-- <heading>Customized programs</heading> -->
      <heading>プログラムの個々の設定</heading>

<!-- -------------------------------------------- -->
      <sect id="arch-spec">
	<!-- <heading>Architecture specification strings</heading> -->
	<heading>アーキテクチャ指定のための文字列</heading>

	<p>
	  <!-- If a program needs to specify an <em>architecture specification
	    string</em> in some place, the following format has to be used: -->
	  もしプログラムに<em>アーキテクチャを指定するための文字列</em>が
	  必要な場合には以下の書式を使わなければなりません。
	  <example>
	    &lt;arch&gt;-&lt;os&gt;
	  </example>
	  <!-- where `&lt;arch&gt;' is one of the following: i386, alpha, arm,
	  m68k, powerpc, sparc and `&lt;os&gt;' is one of: linux, gnu.  Use
	  of <em>gnu</em> in this string is reserved for the GNU/Hurd
	  operating system.  .	  -->
	  ここで &lt;arch&gt;' は i386、alpha、arm、m68k、powerpc、sparc
	  のいずれかです。また `&lt;os&gt;' は linux か gnu のどちらかに
	  なります。ここでの <em>gnu</em> は GNU/Hurd オペレーティングシ
	  ステムのために予約されています。
	  </p>
	<p>
	  <!-- Note, that we don't want to use `&lt;arch&gt;-debian-linux'
	  to apply to the rule `architecture-vendor-os' since this
	  would make our programs incompatible to other Linux
	  distributions. Also note, that we don't use
	  `&lt;arch&gt;-unknown-linux', since the `unknown' does not
	  look very good.-->
	  我々は、他の Linux ディストリビューションとの互換性をなくすので、
	  `architecture-vendor-os' の場所に `&lt;arch&gt;-debian-linux'を
	  使わないようにしています。また、`unknown' は見るからに良くない
	  ので、`&lt;arch&gt;-unknown-linux' も使いません。
	  </p></sect>

<!-- -------------------------------------------- -->
      <sect>
	<!-- <heading>Daemons</heading>-->
	<heading>デーモン類</heading>

	<p>
	  <!-- The configuration files <tt>/etc/services</tt>,
	  <tt>/etc/protocols</tt>, and <tt>/etc/rpc</tt> are managed
	  by the <prgn>netbase</prgn> package and may not be modified
	  by other packages.-->
	  設定ファイルのうち、<tt>/etc/services</tt>、
	  <tt>/etc/protocols</tt> と <tt>/etc/rpc</tt> は
	  <prgn>netbase</prgn> パッケージで管理されます。ほかのパッケージ
	  はこれらに修正を加えてはいけません。
	</p>
	<p>
	  <!-- If a package requires a new entry in one of these files, the
	  maintainer has to get in contact with the
	  <prgn>netbase</prgn> maintainer, who will add the entries
	  and release a new version of the <prgn>netbase</prgn>
	  package.-->
	  パッケージの都合でこれらのファイルに新エントリが必要な場合には
	  メンテナは <prgn>netbase</prgn> パッケージのメンテナに連絡を取
	  って、エントリを加えた新しい <prgn>netbase</prgn> パッケージを
	  リリースしてもらわなければなりません。
	  </p>

	<p>
	  <!-- The configuration file <tt>/etc/inetd.conf</tt> may be
	  modified by the package's scripts only via the
	  <prgn>update-inetd</prgn> script or the
	  <prgn>DebianNet.pm</prgn> Perl module.-->
	  設定ファイル <tt>/etc/inetd.conf</tt> はパッケージスクリプトか
	  ら変更してもかまいませんが、その際には <prgn>update-inetd</prgn>
	  スクリプトか、<prgn>DebianNet.pm</prgn> Perl モジュールを介して
	  実際の変更を行ってください。
	  </p>

	<p>
	  <!-- If a package wants to install an example entry into
	  <tt>/etc/inetd.conf</tt>, the entry has to be preceded with
	  exactly one hash character (<tt>#</tt>). Such lines are
	  treated as `commented out by user' by the
	  <prgn>update-inetd</prgn> script and are not changed or
	  activated during a package updates.-->
	  パッケージから <tt>/etc/inetd.conf</tt> に設定例としてエントリ
	  を挿入したい場合には、対象となるエントリは最初に一つだけのコメ
	  ントキャラクタ (<tt>#</tt>) を置いてください。そのように書かれ
	  た行は <prgn>update-inetd</prgn> からは『ユーザによってコメン
	  トアウトされた行』と扱われ、変更されたりパッケージ更新時に有効
	  化されたりすることはありません。
	  </p></sect>

<!-- -------------------------------------------- -->
      <sect>
        <!-- <heading>Using pseudo-ttys and modifying wtmp, utmp and
lastlog</heading> -->
        <heading>仮想 tty の使用、wtmp、utmp、lastlog 等の更新</heading>

	<p>
	  <!-- Some programs need to create pseudo-ttys. This should be done
	  using Unix98 ptys if the C library supports it. The resulting
	  program must not be installed setuid root, unless that
	  is required for other functionality. -->
	  一部のプログラムでは仮想 tty の作成が必要になります。これは C
	  ライブラリのサポートがあれば Unix98 pty を使うことで実現できま
	  す。このようなプログラムは、ほかの機能実現のために必要でなけれ
	  ば、root に setuid してはいけません。
	</p>

	<p>
	  <!-- The files <tt>/var/run/utmp</tt>, <tt>/var/log/wtmp</tt> and
	  <tt>/var/log/lastlog</tt> must be installed writeable by
	  group utmp.  Programs who need to modify those files must
	  be installed install setgid utmp. -->
	  <tt>/var/run/utmp</tt>、<tt>/var/log/wtmp</tt> と
	  <tt>/var/log/lastlog</tt> はグループ utmp に対して書き込み可能
	  なようにインストールしなければなりません。また、これらのファイ
	  ルに書く必要があるプログラムは utmp に setgid してインストール
	  してください。
	</p>
      </sect>

<!-- -------------------------------------------- -->
      <sect>
	<!-- <heading>Editors and pagers</heading> -->
	<heading>エディタとページャ</heading>

	<p>
	  <!-- Some programs have the ability to launch an editor or pager
	  program to edit or display a text document. Since there are
	  lots of different editors and pagers available in the Debian
	  distribution, the system administrator and each user should
	  have the possibility to choose his/her preferred editor and
	  pager.-->
	  エディタやページャをテキスト文書の編集、表示に使うプログラムが
	  あります。Debian ディストリビューションで利用できるエディタやペ
	  ージャにはたくさんの種類があるので、システム管理者とユーザが好
	  みのエディタとページャを選択できるようにすべきです。
	  </p>

	<p>
	  <!-- In addition, every program should choose a good default
	  editor/pager if none is selected by the user or system
	  administrator.-->
	  さらに、各々のプログラムは、ユーザまたはシステム管理者が特定の
	  選択を行っていない場合には、相応しいデフォルトのエディタとページ
	  ャを選択すべきです。
	  </p>

	<p>
	  <!-- Thus, every program that launches an editor or pager has to
	  use the EDITOR or PAGER environment variables to determine
	  the editor/pager the user wants to get started. If these
	  variables are not set, the programs <tt>/usr/bin/editor</tt>
	  and <tt>/usr/bin/pager</tt> have to be used, respectively.-->
	  上記の理由で、エディタやページャを利用する各プログラムは、
	  EDITOR および PAGER 環境変数を利用してエディタとページャを決め
	  なければいけません。これらの値が設定されていなければ、プログラ
	  ムは <tt>/usr/bin/editor</tt> と <tt>/usr/bin/pager</tt> を利
	  用するようにしてください。
	  </p>

	<p>
	  <!-- These two files are managed through `alternatives.' That is,
	  every package providing an editor or pager has to call the
	  <prgn>update-alternatives</prgn> script to register these
	  programs.-->
	  これら2つのファイルは `alternatives' を通して管理されています。
	  すなわち、エディタとページャ機能を提供する各プログラムは
	  `update-alternatives' スクリプトを使って自分を登録しておかなけ
	  ればいけません。
	  </p>

	<p>
	  <!-- If it is very hard to adapt a program to make us of the
	  EDITOR and PAGER variable, that program should be configured
	  to use <tt>/usr/bin/sensible-editor</tt> and
	  <tt>/usr/bin/sensible-pager</tt> as editor or pager program,
	  respectively. These are two scripts provided in the Debian
	  base system that check the EDITOR and PAGER variables and
	  launches the appropriate program or falls back to
	  <tt>/usr/bin/editor</tt> and <tt>/usr/bin/pager</tt>,
	  automatically.-->
	  EDITOR、PAGER 環境変数にプログラムが適応するのが困難な場合は、
	  <tt>/usr/bin/sensible-editor</tt> と
	  <tt>/usr/bin/sensible-pager</tt> をエディタ、ページャのプログ
	  ラムとして使うように設定してください。
	  これらは Debian 基本システムで提供されるスクリプトで、自動的
	  に EDITOR と PAGER の各環境変数を調べて適当なプログラムを起動
	  するか、それに失敗すれば <tt>/usr/bin/editor</tt> や
	  <tt>/usr/bin/pager</tt> を起動します。</p>

	<p>
	  <!-- A program may also use the VISUAL environment variable to
	  determine the user's choice of editor. If it exists, it
	  should take precedence over EDITOR. This is in fact what
	  <tt>/usr/bin/sensible-editor</tt> does. -->
	  プログラムはユーザの好みのエディタを判断するのに VISUAL 環境変
	  数を用いてもかまいません。この環境変数が定義されているならば、
	  EDITOR による設定より優先させてください。これは
	  <tt>/usr/bin/sensible-editor</tt> でも同様に処理されています。
	  </p>

	<p>
	  <!-- Since the Debian base system already provides an editor and
	  a pager program, there is no need for a package to depend on
	  `editor' and `pager', nor is it necessary for a package to
	  provide such virtual packages.-->
	  Debian 基本システムがエディタとページャプログラムを提供してい
	  るので、パッケージは `editor' や `pager' に依存する必要がなく、
	  パッケージからこの二つの仮想パッケージを提供する必要もありませ
	  ん。
	  </p></sect>

<!-- -------------------------------------------- -->
      <sect id="web-appl">
	<!-- <heading>Web servers and applications</heading> -->
	<heading>Web サーバとアプリケーション</heading>

	<p>
	  <!-- This section describes the locations and URLs that have to
	  be used by all web servers and web application in the Debian
	  system.-->
	  この節では Debian システムでの全ての web サーバと web アプリケ
	  ーションから利用すべき場所 (ディレクトリ) といくつかの URL を
	  説明します。
	  </p>

	<p>
	  <enumlist>
	    <item>
	      <p><!-- Cgi-bin executable files are installed in the
		directory -->
		Cgi-bin 実行ファイルは以下のディレクトリにインストールし
		てください。
		<example>
		  /usr/lib/cgi-bin/&lt;cgi-bin-name&gt;
		</example>
		<!-- and can be referred to as -->
		そして次のようにして参照できるように設定してください。
		<example>
		  http://localhost/cgi-bin/&lt;cgi-bin-name&gt;
		</example></p></item>


	    <!-- <item><p>Access to html documents</p> -->
	    <item><p>HTML 文書へのアクセス</p>

	      <p>
		<!-- Html documents for a package are stored in
                <tt>/usr/share/doc/<var>package</var></tt> but should
                be accessed via symlinks as
                <tt>/usr/doc/<var>package</var></tt><footnote> for
                backward compatibility, see <ref id="usrdoc"></footnote>
		and can be referred to as -->
		各パッケージの HTML 形式の文書は
		<tt>/usr/share/doc/<var>package</var></tt>に置きます。
		ただし、<tt>/usr/doc/<var>package</var></tt> からシ
		ンボリックリンクでアクセスできるようにしてください。
		<footnote> 以前との互換性を維持するためです。<ref id="usrdoc">
		の項を参照ください。</footnote>
		また、次のようにして参照することができるようにしてください。
		<example>
		  http://localhost/doc/&lt;package&gt;/&lt;filename&gt;
		</example></p></item>


	    <!-- <item><p>Web Document Root</p> -->
	    <item><p>Web 文書ルートディレクトリ</p>

	      <p>
		<!-- Web Applications should try to avoid storing files in
		the Web Document Root.  Instead use the
		/usr/share/doc/&lt;package&gt; directory for documents and
		register the Web Application via the menu package. If
		access to the web-root is unavoidable then use -->
		web アプリケーションは Web 文書ルートディレクトリにファ
		イルを置かないように努めてください。代わりに、文書類には
		<tt>/usr/share/doc/&lt;package&gt;</tt> ディレクトリを使
		い、メニューパッケージ経由で web アプリケーションとして
		登録してください。Web 文書ルートディレクトリを使うことが
		さけられない場合には、Web 文書ルートディレクトリとして
		<example>
		  /var/www
		</example>
		<!-- as the Document Root. This might be just a
		symbolic link to the location where the sysadmin has
		put the real document root.-->
		これは、システム管理者が実際に Document Rootへ設定した場
		所へのシンボリックリンクでも良いでしょう。
		</p>
	    </item>

	  </enumlist></p></sect>

<!-- -------------------------------------------- -->
      <sect>
	<!-- <heading>Mail transport agents</heading>-->
	<heading>メール配送エージェント (MTA)</heading>

	<p>
	  <!-- Debian packages which process electronic mail, whether
	  mail-user-agents (MUAs) or mail-transport-agents (MTAs),
	  <em>must</em> make sure that they are compatible with the
	  configuration decisions below.  Failure to do this may
	  result in lost mail, broken <tt>From:</tt> lines, and other
	  serious brain damage!-->
	  電子メールを扱う Debian パッケージは、それがメールユーザエージ
	  ェント (mail-user-agents、MUA) またはメール配送エージェント
	  (mail-transport-agents、MTA) のいずれであれ、以下の設定基準に準
	  拠していることを確認してください。これが満たされない場合はメー
	  ルを失ったり、<code>From:</code> 行がおかしかったり、他の流血の
	  惨事をを引き起こすかもしれません。
	  </p>

	<p>
	  <!-- The mail spool is <tt>/var/spool/mail</tt> and the interface
	  to send a mail message is <tt>/usr/sbin/sendmail</tt> (as
	  per the FHS).  The mail spool is part of the base system
	  and not part of the MTA package.-->
	  FHS に記載の通り、メールスプールは <tt>/var/spool/mail</tt> で
	  あり、メールを送るインターフェースプログラムは
	  <tt>/usr/sbin/sendmail</tt>です。メールスプールは基本システムの
	  一部で、 MTA パッケージの一部ではありません。</p>
	<p>
	  <!-- All Debian MUAs, MTAs, MDAs and other mailbox accessing
	  programs (like IMAP daemons) have to lock the mailbox in a
	  NFS-safe way. This means that <tt>fcntl()</tt> locking has
	  to be combined with dot locking.  To avoid dead locks, a
	  program has to use <tt>fcntl()</tt> first and dot locking
	  after this or alternatively implement the two locking
	  methods in a non blocking way-->
	  Debian システムの MUA、MTA、MDA およびその他のメールボックスを
	  参照するプログラム (IMAP デーモンなど) はすべて NFS 環境下で安
	  全な方法を使ってファイルロックを行わなければいけません。すなわ
	  ち、<tt>fcntl()</tt> によるロックはドットファイルによるロック
	  と併用しなければなりません。デッドロックを避けるため、プログラム
	  ではまず <tt>fcntl()</tt> を使って、次にドットファイルロックを
	  使うか、二つのロックをブロックしないやり方で使ってください。
	  <footnote>
	    <p>
	      <!-- If it is not possible to establish both locks, the
	      system shouldn't wait for the second lock to be
	      established, but remove the first lock, wait a (random)
	      time, and start over locking again.-->
	      二つのロックが取得できない場合には、システムは二つ目のロッ
	      クが取得できるまで待つのではなく、最初のロックを解放して、
	      乱数で決定した時間だけ待ち、再度ロックの収録をおこなうよう
	      にしてください。
	      </p>
	  </footnote>.
	  <!-- Using the functions <tt>maillock</tt> and
	  <tt>mailunlock</tt> provided by the
	  <tt>liblockfile*</tt><footnote>
	    <p>
	      <tt>liblockfile</tt> version &gt;&gt;1.01</p>
	  </footnote> packages is the recommended way to realize this. -->
	  <tt>liblockfile*</tt><footnote>
	    <p>
	      <tt>liblockfile</tt> version &gt;&gt;1.01</p>
	  に含まれる <tt>maillock</tt> と <tt>mailunlock</tt> を使うのが
	  上記を実現するお勧めのやり方です。
	</p>

	<p>
	  <!-- Mailboxes are generally 660 <tt><var>user</var>.mail</tt>
	  unless the user has chosen otherwise.  A MUA may remove a
	  mailbox (unless it has nonstandard permissions) in which
	  case the MTA or another MUA must recreate it if needed.
	  Mailboxes must be writable by group mail.-->
	  メールボックスはユーザが他を選ばない限り、通常は 660
	  <tt><var>user</var>.mail</tt> のパーミッションです。MUA は必要
	  に応じてメールボックスを削除しても構いません (特殊なパーミッシ
	  ョンになっていない場合)。その場合には MTA や ほかの MUA は必要
	  に応じてメールボックスを再作成できなければなりません。メール
	  ボックスは mail グループから書き込み可能でなければなりません。
	  </p>

	<p>
	  <!-- The mail spool is 2775 <tt>mail.mail</tt>, and MUAs need to
	  be setgid mail to do the locking mentioned above (and
	  obviously need to avoid accessing other users' mailboxes
	  using this privilege).-->
	  メールスプールディレクトリは 2775 <tt>mail.mail</tt> で、MUA は
	  上記のロックを取得するため mail に setgid されている必要があり
	  ます。当然、この特権を使って他のメールボックスにアクセスするこ
	  とを避けなければなりません。</p>

	<p>
	  <tt>/etc/aliases</tt> <!-- is the source file for the system mail
	  aliases (e.g., postmaster, usenet, etc.)--it is the one
	  which the sysadmin and <tt>postinst</tt> scripts may edit.
	  After <tt>/etc/aliases</tt> is edited the program or human
	  editing it must call <prgn>newaliases</prgn>.  All MTA
	  packages should come with a <prgn>newaliases</prgn> program,
	  even if it does nothing, but older MTA packages do not do
	  this so programs should not fail if <prgn>newaliases</prgn>
	  cannot be found.-->
	  はシステムのメール alias(例えば、postmaster、usenetなど)が記
	  載されたソースファイルで、システム管理者と <tt>postinst</tt>
	  スクリプトからの編集が許されています。<tt>/etc/aliases</tt> を
	  プログラムあるいは人手で編集した後には
	  <prgn>newaliases</prgn>コマンドを呼び出さなければなりません。全
	  ての MTA パッケージは(実際には何もしないものであったとしても)
	  <prgn>newaliases</prgn> プログラムを同梱していなければなりませ
	  んが 古いMTAパッケージにはこれがないものもありますので、たとえ
	  <prgn>newaliases</prgn> が見つからなくてもプログラムが落ちな
	  いようにしなければなりません。</p>

	<p>
	  <!-- The convention of writing <tt>forward to
	  <var>address</var></tt> in the mailbox itself is not
	  supported.  Use a <tt>.forward</tt> file instead.-->
	  メールボックスに転送先のアドレスを書く仕組みはサポートされてい
	  ません。代わりに <tt>.forward</tt> ファイルを使ってください。</p>

	<p>
	  <!-- The location for the <prgn>rmail</prgn> program used by UUCP
	  for incoming mail is <tt>/usr/sbin/rmail</tt>, as per the
	  FHS.  Likewise, <prgn>rsmtp</prgn>, for receiving
	  batch-SMTP-over-UUCP, is in <tt>/usr/sbin/rsmtp</tt> if it
	  is supported.-->
	  UUCPで使われる <prgn>rmail</prgn> プログラムの場所は FHS に規定
	  されているとおり <tt>/usr/sbin/rmail</tt> にしてください。同様に
	  batch-SMTP-over-UUCP を受け取る <prgn>rsmtp</prgn> は、サポート
	  されている場合は、<tt>/usr/sbin/rsmtp</tt> に置いてください。</p>

	<p>
	  <!-- If you need to know what name to use (for example) on
	  outgoing news and mail messages which are generated locally,
	  you should use the file <tt>/etc/mailname</tt>.  It will
	  contain the portion after the username and <tt>@</tt> (at)
	  sign for email addresses of users on the machine (followed
	  by a newline).-->
	  ローカルで作成された外部へのニュースやメールのメッセージに対
	  して使う名前が必要な場合は、<tt>/etc/mailname</tt> ファイルを
	  使ってください。そのファイル中にはそのマシンのユーザのメール
	  アドレスとして、ユーザ名と <tt>@</tt> 、およびその後に続くも
	  のが書かれています (最後に改行が入ります)。</p>

	<p>
	  <!-- A package should check for the existence of this file.  If
	  it exists it should use it without comment. (An MTA's
	  prompting configuration script may wish to prompt the user
	  even if it finds this file exists.) If it does not exist it
	  should prompt the user for the value and store it in
	  <tt>/etc/mailname</tt> as well as using it in the package's
	  configuration.  The prompt should make it clear that the
	  name will not just be used by that package.  For example, in
	  this situation the INN package says: -->
	  各パッケージはこのファイルの存在をチェックしなければなりません。
	  そのファイルが存在すればそれ以上の質問なしにそのファイルを使っ
	  てください (MTAの設定スクリプト中では、このファイルが存在して
	  いる場合にこれを使うかどうかの質問をしてもかまいません)。この
	  ファイルが存在しなければ、パッケージの設定中にユーザに
	  <tt>/etc/mailname</tt> に書くべき内容を問い合わせ、その内容を
	  書いてください。ここでの問い合わせでは、今問い合わせている
	  名前は、ここで問い合わせを行ったプログラムだけで使うものではな
	  いことがはっきり分かるように質問を行うよう留意してください。
	  例えば、INN パッケージでは以下のように質問しています。
	  <example>
	    Please enter the `mail name' of your system.  This is the
	    hostname portion of the address to be shown on outgoing
	    news and mail messages.  The default is
	    <var>syshostname</var>, your system's host name.  Mail
	    name [`<var>syshostname</var>']:
	  </example>
	  <!-- そのままに(一応)してあります。INN ってここ日本語にな
	  ってたんでしたっけ -->
	  <!-- where <var>syshostname</var> is the output of <tt>hostname
	    --fqdn</tt>.-->
	  ここで <var>syshostname</var> は <tt>hostname --fqdn</tt>
	  の出力結果です。
      </p></sect>

<!-- -------------------------------------------- -->
      <sect>
	<!-- <heading>News system configuration</heading> -->
	<heading>ニュースシステムの設定</heading>

	<p>
	  <!-- All the configuration files related to the NNTP (news)
	  servers and clients should be located under
	  <tt>/etc/news</tt>.-->
	  NNTP (ニュース) サーバやクライアントに関係した設定ファイルはす
	  べて <tt>/etc/news</tt> 以下に置かなければなりません。</p>

	<p>
	  <!-- There are some configuration issues that apply to a number
	  of news clients and server packages on the machine. These
	  are: -->
	  一台のマシン上での複数のニュースクライアントやサーバパッケージ
	  で用いる設定上の留意点があります。それらを以下に説明します。

	  <taglist>
	    <tag>/etc/news/organization</tag>
	    <item><p><!-- A string which shall appear as the
		organization header for all messages posted
		by NNTP clients on the machine-->
		当該マシンの NNTP クライアントから投稿された記事の
		Organization ヘッダに現れる (べき) 文字列を格納します。
		</p></item>

	    <tag>/etc/news/server</tag>
	    <item><p><!-- Contains the FQDN of the upstream NNTP
		server, or localhost if the local machine is
		an NNTP server.-->
		上流の NNTP サーバの FQDN が書かれています。自分自身が
		ニュースサーバでもある場合には localhost と書かれてい
		ます。</p></item>
	  </taglist>

	  <!-- Other global files may be added as required for cross-package
news
	  configuration.-->
	  そのほかの複数パッケージで使用する設定は必要に応じて適宜追加
	  してください。</p></sect>

<!-- -------------------------------------------- -->
      <sect>
	<!-- <heading>Programs for the X Window System</heading> -->
	<heading>X ウィンドウシステム用のプログラム</heading>

	<p>
	  <!-- Some programs can be configured with or without support for
the X
	  Window System.  Typically, binaries produced with support for X
	  will need the X shared libraries to run.-->
	  一部のプログラムは X ウィンドウシステム向けか、X なしでも動作
	  するかを設定できますが、通常は X をサポートしたプログラムは実
	  行時に X 共有ライブラリが必要になります。
	</p>

	<p>
	  <!-- Such programs should be configured <em>with</em> X support,
	  and should declare a dependency on <tt>xlib6g</tt> (which
	  contains X shared libraries).  Users who wish to use the
	  program can install just the relatively small
	  <tt>xfree86-common</tt> and <tt>xlib6g</tt> packages, and do
	  not need to install the whole of X.-->
	  そのようなプログラムは X のサポート<em>付き</em>で設定して、
	  <tt>xlib6g</tt> パッケージ (X 共有ライブラリを含みます) に依存
	  するよう宣言するようにしてください。そのようにしておけば、この
	  プログラムをただ使いたいユーザは比較的小さな
	  <tt>xfree86-common</tt> と <tt>xlib6g</tt> パッケージだけをイン
	  ストールすればよく、X 全体をインストールする必要はありませんから。
	  </p>

	<p>
	  <!-- Do not create two versions (one with X support and one
	  without) of your package.-->
	  X のサポートのありなしでパッケージを二種類に分けないでください。</p>

	<p>
	  <!-- <em>Application defaults</em> files have to be installed in
	  the directory <tt>/usr/X11R6/lib/X11/app-defaults/</tt>.
	  They are considered as part of the program code.  Thus, they
	  should not be modified and should not be tagged as
	  <em>conffile</em>s nor otherwise treated as configuration
	  files.  If the local system administrator wants
	  to customize X applications globally, a file with the same
	  name as that of the package should be placed in the
	  <tt>/etc/X11/Xresources/</tt> directory instead.
	  <em>Important:</em> packages that install files into the
	  <tt>/etc/X11/Xresources/</tt> directory <em>must</em>
	  declare a conflict with <tt>xbase (&lt;&lt;
	  3.3.2.3a-2)</tt>; if this is not done it is possible for the
	  package to destroy a previously-existing
	  <tt>/etc/X11/Xresources</tt> <em>file</em>.-->
	  <em>アプリケーションデフォルト</em>ファイルは
	  <tt>/usr/X11R6/lib/X11/app-defaults/</tt> にインストールしなけ
	  ればいけません。これらはプログラムの一部と考えるべきで、変更し
	  たり、<em>conffile</em> であるとの属性を設定したり、そのほか設
	  定ファイルとしての扱いを行ってはいけません。ローカルシステムの
	  管理者が、X アプリケーションをそのサイト全体にわたって有効なよ
	  うに設定したい場合には上記のディレクトリの代わりに
	  <tt>/etc/X11/Xresources/</tt> にパッケージと同じ名前のファイル
	  を置いてください。
	  <em>重要</em> <tt>/etc/X11/Xresources/</tt> ディレクトリにファ
	  イルをインストールするパッケージは
	  <tt>xbase (&lt;&lt;3.3.2.3a-2)</tt>; へのコンフリクトを宣言し
	  てください。これがなされていないと、パッケージのインストールの
	  際に既存の <tt>/etc/X11/Xresources</tt> の中の <em>ファイル</em>
	  を壊す可能性があります。
	  </p>

	<p>
	  <!-- No package should ever install files into the directories
	  <tt>/usr/bin/X11/</tt>, <tt>/usr/share/doc/X11/</tt>,
	  <tt>/usr/include/X11/</tt>, or <tt>/usr/lib/X11/</tt>; these
	  directories are actually symbolic links, which <tt>dpkg</tt>
	  does not follow when unpacking a package.  Instead, use
	  <tt>/usr/X11R6/bin/</tt>, <tt>/usr/share/doc/package/</tt>
	  (i.e., place files with the rest of your package's
	  documentation), <tt>/usr/X11R6/include/</tt>, and
	  <tt>/usr/X11R6/lib/</tt>.  This restriction governs only the
	  paths used by the package as it is unpacked onto the system;
	  it is permissible, and even preferable, for files within a
	  package (shell scripts, for instance) to refer to the
	  <tt>/usr/{bin,include,lib}/X11/</tt> directories rather than
	  their <tt>/usr/X11R6/</tt> counterparts -- this way they do
	  not have to be modified in the event that the X Window
	  System packages install their files into a different
	  directory in the future.-->
	  ディレクトリ <tt>/usr/bin/X11/</tt>, <tt>/usr/share/doc/X11/</tt>,
	  <tt>/usr/include/X11/</tt>, や <tt>/usr/lib/X11/</tt>; にファ
	  イルをインストールしては絶対にいけません。これらのディレクトリは
	  実際にはシンボリックリンクで、<tt>dpkg</tt> はパッケージ展開時に
	  シンボリックリンクをたどらないためです。代わりに、
	  <tt>/usr/X11R6/bin/</tt>、
	  <tt>/usr/share/doc/package/</tt> (即、あなたのパッケージの残り
	  の説明文書の行き先です), <tt>/usr/X11R6/include/</tt> と
	  <tt>/usr/X11R6/lib/</tt> を使ってください。この制約はパッケージ
	  を展開する際にパッケージの使うパスに関してのみのものです。パッ
	  ケージ内のファイル (シェルスクリプトなど) が <tt>/usr/X11R6/</tt>
	  以下ではなく <tt>/usr/{bin,include,lib}/X11/</tt> ディレクトリを
	  参照することは可能ですし、そればかりか望ましくすらあります。
	  このようにしておけば、将来 X ウィンドウシステムのパッケージがイ
	  ンストールされる場所が変わるような事が起きても変更の必要が生じ
	  ませんから。
	  </p>

 	<p>
	  <!-- If you package a program that requires the (non-free)
	  OSF/Motif library, you should try to determine whether the
	  programs works reasonably well with the free
	  re-implementation of Motif called LessTif.  If so, build the
	  package using the LessTif libraries; it can then go into the
	  main section of the package repository and become an
	  official part of the Debian distribution.-->
	  パッケージが non-free な OSF/Motif ライブラリを必要とする場合
	  フリーな Motif の別実装である LessTif で問題なく動作するかを
	  調べるべきです。問題がなければ、LessTif ライブラリを使ってパッ
	  ケージングしてください。そうすればパッケージを main セクショ
	  ンに移して Debian の公式配布部に含めることができるようになり
	  ます。
	  <!-- ここは追っつけ改訂される、のでしょうね。-->
	  </p>

	<p>
	  <!-- If however, the Motif-based program works insufficiently
	  well with LessTif, you should instead provide "-smotif" and "-dmotif"
	  versions (appending these identifiers to the name of the
	  package), which are statically and dynamically linked
	  against the Motif libraries, respectively.  (All known
	  versions of OSF/Motif permit redistribution of
	  statically-linked binaries using the library, but check the
	  license on your copy of Motif to be sure.)  This two-package
	  approach allows users without Motif to use the package,
	  whereas users with Motif installed can enjoy the advantages
	  of the dynamically-linked version (a considerable savings in
	  disk space usage, download time, etc.).  Neither "-smotif"
	  nor "-dmotif" packages can go into the main section; if the
	  licensing on the package is compatible with the Debian Free
	  Software Guidelines, it may go into the contrib section;
	  otherwise it must go into the non-free section. -->
	  もし、Motif を使ったプログラムが LessTif で満足に動作しないな
	  らば、代わりに "-smotif" と "-dmotif" バージョンを提供してく
	  ださい (パッケージ名にこの識別子をつけてください)。これは各々
	  Motif ライブラリに静的、および動的にリンクした版を指します。
	  知られている OSF/Motif の各版はすべて静的にリンクされたバイ
	  ナリの再配布を許していますが、確認のためあなたの Motif のラ
	  イセンスを調べてください。このようにして二つの版を提供すれば
	  Motif を持たないユーザがこのパッケージを使うことができますし、
	  Motif を持つユーザは動的リンクの恩恵 (ディスク容量の節約や、
	  ダウンロード時間の減少など) を受けることができます。"-smotif"
	  版も "-dmotif" 版も main セクションには収録できません。パッケ
	  ージのライセンスが Debian フリーソフトウェアガイドラインに沿
	  ったものならば contrib セクションへ、そうでないなら non-free
	  セクションに収録されます。
	</p>
      </sect>

<!-- -------------------------------------------- -->
      <sect>
	<!-- <heading>Emacs lisp programs</heading>-->
	<heading>Emacs lisp プログラム</heading>

	<p>
	  <!-- Please refer to the `Debian Emacs Policy' (documented in
	  <tt>debian-emacs-policy.gz</tt> of the
	  <prgn>emacsen-common</prgn> package) for details of how to
	  package emacs lisp programs.-->
	  emacs lisp プログラムをパッケージングする際には『Debian Emacs
	  Policy』(<prgn>emacsen-common</prgn> パッケージの文書中に
	  <tt>debian-emacs-policy.gz</tt> という名で収録されています) に
	  当たってください。
	  </p></sect>

<!-- -------------------------------------------- -->
      <sect>
	<!-- <heading>Games</heading>-->
	<heading>ゲーム</heading>

	<p>
	  <!-- The permissions on /var/games are 755
	  <tt>root.root</tt>.-->
	  /var/ilb/games のパーミッションは 755 <tt>root.root</tt> です。
	  </p>

	<p>
	  <!-- Each game decides on its own security policy.-->
	  各ゲームは個々にセキュリティ方針を決めてかまいません。</p>

	<p>
	  <!-- Games which require protected, privileged access to
	  high-score files, savegames, etc., must be made
	  set-<em>group</em>-id (mode 2755) and owned by
	  <tt>root.games</tt>, and use files and directories with
	  appropriate permissions (770 <tt>root.games</tt>, for
	  example).  They must <em>not</em> be made
	  set-<em>user</em>-id, as this causes security problems. (If
	  an attacker can subvert any set-user-id game they can
	  overwrite the executable of any other, causing other players
	  of these games to run a Trojan horse program.  With a
	  set-group-id game the attacker only gets access to less
	  important game data, and if they can get at the other
	  players' accounts at all it will take considerably more
	  effort.)-->
	  ハイスコアファイル、保存ファイルなどの保護され、アクセスに特権
	  が必要なファイルを持つゲームは、オーナ・グループを
	  <tt>root.games</tt> にして 2755 で set-gid しておき、ファイル
	  とディレクトリには適当なパーミッション(例えば、770
	  <tt>root.games</tt>)を与えてください。
	  set-uid はセキュリティ上の問題が起きるのでしてはいけません。
	  (アタックする人は set-uid されたゲームを破ることができたら、
	  そのファイルを他の実行ファイルで上書きし、ほかのプレイヤーが
	  トロイの木馬を実行してしまうことになります。set-gid されたゲ
	  ームでは、アタッカーはあまり重要ではないゲームのデータだけに
	  アクセスできるようになるだけで、ほかのプレイヤーのアカウント
	  を手にいれることができるとしても、そこから更にかなりの労力
	  を費すことになるでしょう。)</p>

	<p>
	  <!-- Some packages, for example some fortune cookie programs, are
	  configured by the upstream authors to install with their
	  data files or other static information made unreadable so
	  that they can only be accessed through set-id programs
	  provided.  Do not do this in a Debian package: anyone can
	  download the <tt>.deb</tt> file and read the data from it,
	  so there is no point making the files unreadable.  Not
	  making the files unreadable also means that you don't have
	  to make so many programs set-id, which reduces the risk of a
	  security hole.-->
	  一部のパッケージ、例えば fortune cookie プログラムでは、データ
	  ファイルやその他の静的な情報を読み込み不可でインストールし、提
	  供される set-id されたプログラムによってのみアクセスできるよう
	  に、上流の開発者が設定しています。このようなことを Debian パッ
	  ケージでやってはいけません。なんとなれば誰でも <tt>.deb</tt>
	  ファイルをダウンロードしてきて中身を読むことができますから、読
	  み込み不可のファイルを使っても無意味なためです。また、読み込み
	  不可のファイルを作らないことは set-id されたプログラムをたくさ
	  ん作る必要がなくなることを意味しますし、引いてはセキュリティホ
	  ールのリスクを減らすことにもなります。</p>

	<p>
	  <!-- As described in the FHS, binaries of games should be
	  installed in the directory <tt>/usr/games</tt>. This also
	  applies to games that use the X Window System. Manual pages
	  for games (X and non-X games) should be installed in
	  <tt>/usr/share/man/man6</tt>.-->
	  FHS で規定されているように、ゲームのバイナリは
	  <tt>/usr/games</tt> にインストールしてください。X ウィンド
	  ウシステムを使うゲームもここに入れてください。ゲームのマニ
	  ュアル (X 用、X 不使用の両方とも) は
	  <tt>/usr/share/man/man6</tt> にインストールしてください。</p>
      </sect>
    </chapt>

---------- >8 ---------- >8

--
Seiji Kaneko                              skaneko@xxxxxxxxxxxx
--------------------------- http://plaza25.mbn.or.jp/~efialtes