[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>
<arch>-<os>
</example>
<!-- where `<arch>' is one of the following: i386, alpha, arm,
m68k, powerpc, sparc and `<os>' is one of: linux, gnu. Use
of <em>gnu</em> in this string is reserved for the GNU/Hurd
operating system. . -->
ここで <arch>' は i386、alpha、arm、m68k、powerpc、sparc
のいずれかです。また `<os>' は linux か gnu のどちらかに
なります。ここでの <em>gnu</em> は GNU/Hurd オペレーティングシ
ステムのために予約されています。
</p>
<p>
<!-- Note, that we don't want to use `<arch>-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
`<arch>-unknown-linux', since the `unknown' does not
look very good.-->
我々は、他の Linux ディストリビューションとの互換性をなくすので、
`architecture-vendor-os' の場所に `<arch>-debian-linux'を
使わないようにしています。また、`unknown' は見るからに良くない
ので、`<arch>-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/<cgi-bin-name>
</example>
<!-- and can be referred to as -->
そして次のようにして参照できるように設定してください。
<example>
http://localhost/cgi-bin/<cgi-bin-name>
</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/<package>/<filename>
</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/<package> 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/<package></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 >>1.01</p>
</footnote> packages is the recommended way to realize this. -->
<tt>liblockfile*</tt><footnote>
<p>
<tt>liblockfile</tt> version >>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 (<<
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 (<<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