use japanese punctuation chars.

This commit is contained in:
Hiroyuki Hanai 2003-11-14 10:10:09 +00:00
parent 2fd95cb94c
commit 0a5423878a
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=18838

View file

@ -9,8 +9,8 @@
<chapter id="config-tuning">
<title>設定とチューニング</title>
<para>この章は &a.msmith; と &a.dillon; によって書かれたものをもとに,
&a.chern; と &a.murray によって書かれました.</para>
<para>この章は &a.msmith; と &a.dillon; によって書かれたものをもとに
&a.chern; と &a.murray によって書かれました</para>
<sect1>
<title>この章では</title>
@ -18,12 +18,12 @@
<indexterm><primary>System configuration</primary></indexterm>
<indexterm><primary>System optimization</primary></indexterm>
<para>システムを正しく設定することは,
作業の量を減らしメンテナンスや将来の更新の際の困難を減らします.
この章では FreeBSD システムの管理上の設定の側面について記述します.</para>
<para>システムを正しく設定することは
作業の量を減らしメンテナンスや将来の更新の際の困難を減らします
この章では FreeBSD システムの管理上の設定の側面について記述します</para>
<para>またこの章では FreeBSD システムのパフォーマンスを最適化する
チューンについても記述します.</para>
チューンについても記述します</para>
</sect1>
@ -42,53 +42,53 @@
<title>基本パーティション</title>
<para>ファイルシステムのレイアウトを &man.disklabel.8; や
&man.sysinstall.8; で行う際, ハードディスクの外周部は
内周部よりもデータ転送が速いということを覚えておくことが大事です.
これに従えば,
ルートやスワップのような小さくて激しくアクセスされるファイルシステムを外周付近に,
/usr のようなより大きなパーティションはその内側に配置すべきでしょう.
そうするなら, パーティションを作成する際には, ルート, スワップ,
<filename>/var</filename>, <filename>/usr</filename>
のような順で作ってゆくのがよいでしょう.</para>
&man.sysinstall.8; で行う際ハードディスクの外周部は
内周部よりもデータ転送が速いということを覚えておくことが大事です
これに従えば
ルートやスワップのような小さくて激しくアクセスされるファイルシステムを外周付近に
/usr のようなより大きなパーティションはその内側に配置すべきでしょう
そうするなら、パーティションを作成する際には、ルート、スワップ、
<filename>/var</filename><filename>/usr</filename>
のような順で作ってゆくのがよいでしょう</para>
<para><filename>/var</filename> パーティションのサイズは
あなたが計算機をどのように使おうとしているかを反映します.
<filename>/var</filename> は主としてメールボックスやプリントスプール,
ログファイルの保持に使われます.
特にメールボックスとログファイルは,
あなたのシステムのユーザ数やログの保持期間に依存して予期し得ぬサイズにまで成長します.
あなたが計算機をどのように使おうとしているかを反映します
<filename>/var</filename> は主としてメールボックスやプリントスプール
ログファイルの保持に使われます
特にメールボックスとログファイルは
あなたのシステムのユーザ数やログの保持期間に依存して予期し得ぬサイズにまで成長します
もしあなたがメールサーバを運用する予定なら <filename>/var</filename>
パーティションはギガバイト以上のものがよいでしょう.
さらに, <filename>/var/tmp</filename> は追加したくなるかもしれない
パッケージを収められるだけの大きさが必要です.</para>
パーティションはギガバイト以上のものがよいでしょう
さらに<filename>/var/tmp</filename> は追加したくなるかもしれない
パッケージを収められるだけの大きさが必要です</para>
<para><filename>/usr</filename> パーティションはシステムを
サポートするのに必要なファイル群と,
サポートするのに必要なファイル群と
&man.ports.7; 階層からインストールされたファイル群を収める
<filename>/usr/local</filename> と呼ばれるサブディレクトリを
その中に含みます.
その中に含みます
ports をまったく使わずシステムのソース (/usr/src)
も不要だというのであれば, 1 ギガバイトの /usr
パーティションだけで充分です. しかし, ports
も不要だというのであれば1 ギガバイトの /usr
パーティションだけで充分です。 しかし、ports
(特にウィンドウマネージャや Linux エミュレーションを使うバイナリ)
を少なからずインストールするのであれば
少なくとも /usr に 2 ギガバイトを薦め,
少なくとも /usr に 2 ギガバイトを薦め
システムのソースも置こうというなら 3 ギガバイトの
<filename>/usr</filename> を推奨します.
このパーティションで必要になる量を過小評価してはいけません.
<filename>/usr</filename> を推奨します
このパーティションで必要になる量を過小評価してはいけません
それは驚く程に蔓延るものなのです!</para>
<para>パーティションのサイズを考える時,
必要量にシステムの成長分を見込んでおいてください.
別のパーティションには潤沢にスペースが余っているのに,
<para>パーティションのサイズを考える時
必要量にシステムの成長分を見込んでおいてください
別のパーティションには潤沢にスペースが余っているのに
あるパーティションでスペースが足らないままというのは
フラストレーションがたまるものです.</para>
フラストレーションがたまるものです</para>
<note><para>&man.sysinstall.8; の <literal>Auto-defaults</literal>
パーティションサイズを使ったことのある人なら,
パーティションサイズを使ったことのある人なら
そのルートや <filename>/var</filename> パーティションが
小さすぎることを知っているでしょう.
賢明かつ気前よくパーティションを切ってください.</para></note>
小さすぎることを知っているでしょう
賢明かつ気前よくパーティションを切ってください</para></note>
</sect3>
@ -98,34 +98,34 @@
<indexterm><primary>swap サイズ</primary></indexterm>
<indexterm><primary>swap パーティション</primary></indexterm>
<para>経験からスワップサイズはメインメモリの 2 倍というのが一般的です.
つまり, 計算機のメモリが 128 メガバイトならばスワップファイルは
256 メガバイトになります. メモリの少ないシステムでは,
もっとスワップを増した方が性能がよくなります. 256
メガバイト未満のスワップでシステムを設計することはお薦めできません.
またスワップサイズを決める時に,
将来のメモリ増設のことも考えておくべきです.
<para>経験からスワップサイズはメインメモリの 2 倍というのが一般的です
つまり計算機のメモリが 128 メガバイトならばスワップファイルは
256 メガバイトになります。 メモリの少ないシステムでは、
もっとスワップを増した方が性能がよくなります 256
メガバイト未満のスワップでシステムを設計することはお薦めできません
またスワップサイズを決める時に
将来のメモリ増設のことも考えておくべきです
カーネルの VM (訳註: virtual memory(仮想メモリ))
ページングアルゴリズムはスワップパーティションがメインメモリの
2 倍以上存在するときに最も性能を発揮するように設計されています.
スワップが少なすぎる設定は,
あなたが後にメモリを増設したときに問題を起すばかりではなく,
VM ページスキャニングのコードの能率を落します.</para>
2 倍以上存在するときに最も性能を発揮するように設計されています
スワップが少なすぎる設定は
あなたが後にメモリを増設したときに問題を起すばかりではなく
VM ページスキャニングのコードの能率を落します</para>
<para>最後に, 複数の SCSI ディスク
<para>最後に複数の SCSI ディスク
(や異なるコントローラで操作される複数の IDE ディスク)
を持つ大規模なシステムでは, それぞれのドライブ
(4 台まで) にスワップを設定することを強く推奨します.
各ドライブのスワップパーティションはほぼ同一サイズであるべきです.
カーネルは任意のサイズを扱うことができますが,
内部のデータ構造は最大のスワップパーティションの 4 倍に調節されます.
を持つ大規模なシステムではそれぞれのドライブ
(4 台まで) にスワップを設定することを強く推奨します
各ドライブのスワップパーティションはほぼ同一サイズであるべきです
カーネルは任意のサイズを扱うことができますが
内部のデータ構造は最大のスワップパーティションの 4 倍に調節されます
スワップパーティションをほぼ同一のサイズにしておくことで
カーネルはスワップスペースを最適なかたちで
ディスクをまたいでストライブさせることができます.
こだわりすぎる必要はありません.
スワップスペースは UNIX のつつましい美点です.
あなたが通常スワップをたくさん使わないとしても,
プログラムが暴走してもリブートさせられる前に回復する時間を多く得られます.</para>
ディスクをまたいでストライブさせることができます
こだわりすぎる必要はありません
スワップスペースは UNIX のつつましい美点です
あなたが通常スワップをたくさん使わないとしても
プログラムが暴走してもリブートさせられる前に回復する時間を多く得られます</para>
</sect3>
<sect3>
@ -135,30 +135,30 @@
何故巨大な root パーティション一発では駄目なのでしょう?
そうすれば容量が溢れるかもと心配しなくてもすむのに!</para>
<para>いくつかの理由からそれはよいアイデアとは言えません.
まず各パーティションはアクセスの特徴がそれぞれ異なっていて,
分離しておくことでそれぞれの特徴に応じたチューンができるようになるからです.
<para>いくつかの理由からそれはよいアイデアとは言えません
まず各パーティションはアクセスの特徴がそれぞれ異なっていて
分離しておくことでそれぞれの特徴に応じたチューンができるようになるからです
root パーティションや <filename>/usr</filename>
パーティションはほとんどが読み出しでわずかな書き込みがあるだけですが
<filename>/var</filename> や <filename>/var/tmp</filename>
パーティションでは大量の読み書きが発生します.</para>
パーティションでは大量の読み書きが発生します</para>
<para>システムを適切にパーティション化することで
小さいが書き込みの激しいパーティションによって引き起こされる
フラグメント化を読み出し専門のパーティションにまで波及させずにすみます.
また書き込みの激しいパーティションをディスクの周辺部に配置することで,
たとえばパーティションテーブル内で大きなパーティションの後のかわりに前に配置することで,
フラグメント化を読み出し専門のパーティションにまで波及させずにすみます
また書き込みの激しいパーティションをディスクの周辺部に配置することで
たとえばパーティションテーブル内で大きなパーティションの後のかわりに前に配置することで
それが最も必要とされているパーティションの
I/O パフォーマンスを増大させることができます.
I/O パフォーマンスを増大させることができます
大きなパーティション内の I/O
パフォーマンスもまた必要とされているでしょうが,
パフォーマンスもまた必要とされているでしょうが
それらは大きすぎてディスク周辺部へ移動させてやったとしても
<filename>/var</filename>
を周辺部に移動させることによって大きな効果が得られたのとは対照的に
意味のあるパフォーマンスの増加は見込めないでしょう.
意味のあるパフォーマンスの増加は見込めないでしょう
基本的にリードオンリーな root
パーティションを小さくまとめておくことで
不幸なクラッシュを生き延びるチャンスが増大します.</para>
不幸なクラッシュを生き延びるチャンスが増大します</para>
</sect3>
</sect2>
@ -173,29 +173,29 @@
</indexterm>
<para>システムの設定情報が収められている主な場所は
<filename>/etc/rc.conf</filename> です.
<filename>/etc/rc.conf</filename> です
このファイルにはシステムの起動時にシステムの設定を行なうものをはじめ
多岐に渡る設定情報が含まれています.
そのファイル名はダイレクトに, それが <filename>rc*</filename>
ファイル群の設定情報であることを示しています.</para>
多岐に渡る設定情報が含まれています
そのファイル名はダイレクトにそれが <filename>rc*</filename>
ファイル群の設定情報であることを示しています</para>
<para>管理者は <filename>/etc/defaults/rc.conf</filename>
のデフォルトの設定を rc.conf ファイルにエントリを作ることで上書きすべきです.
のデフォルトの設定を rc.conf ファイルにエントリを作ることで上書きすべきです
デフォルトのファイルをそのまま <filename>/etc</filename>
にコピーするのはやめるべきです.
それはデフォルト値であってサンプルではないのです.
システム固有のすべての変更は rc.conf ファイルの中でするべきです.</para>
にコピーするのはやめるべきです
それはデフォルト値であってサンプルではないのです
システム固有のすべての変更は rc.conf ファイルの中でするべきです</para>
<para>管理の手間を減らす為, クラスター化されたアプリケーションには
サイト共通の設定とシステム固有の設定を分離する様々な戦略が適用できます.
推奨されるアプローチは, サイト共通の設定は
<filename>/etc/rc.conf.site</filename> のような別のファイルに置き,
<para>管理の手間を減らす為クラスター化されたアプリケーションには
サイト共通の設定とシステム固有の設定を分離する様々な戦略が適用できます
推奨されるアプローチはサイト共通の設定は
<filename>/etc/rc.conf.site</filename> のような別のファイルに置き
それをシステム固有の設定情報しか含ませない
<filename>/etc/rc.conf</filename> からインクルードすることです.</para>
<filename>/etc/rc.conf</filename> からインクルードすることです</para>
<para><filename>rc.conf</filename> は &man.sh.1;
によって読み込まれているので, これはじつに簡単に達成できます.
たとえば,</para>
によって読み込まれているので、これはじつに簡単に達成できます。
たとえば</para>
<itemizedlist>
<listitem><para>rc.conf:</para>
@ -210,39 +210,39 @@
</itemizedlist>
<para><filename>rc.conf.site</filename> ファイルは
<command>rsync</command> 等を使うことで全システムに配布でき,
<command>rsync</command> 等を使うことで全システムに配布でき
一方 <filename>rc.conf</filename>
ファイルはユニークなままを保つことができます.</para>
ファイルはユニークなままを保つことができます</para>
<para>システムを &man.sysinstall.8; や 'make world' 等で
更新した場合 rc.conf ファイルは上書きされません.
なのでシステムの設定情報が失われることもありません.</para>
更新した場合 rc.conf ファイルは上書きされません
なのでシステムの設定情報が失われることもありません</para>
</sect1>
<sect1 id="configtuning-appconfig">
<title>アプリケーションの設定</title>
<para>基本的に, インストールされたアプリケーションは独自の文法を持つ
固有の設定ファイルを持ちます.
これらのファイルがベースシステムから分離されているということは重要で,
このためパッケージ管理ツールによる配置と管理が容易になっています.</para>
<para>基本的にインストールされたアプリケーションは独自の文法を持つ
固有の設定ファイルを持ちます
これらのファイルがベースシステムから分離されているということは重要で
このためパッケージ管理ツールによる配置と管理が容易になっています</para>
<indexterm><primary>/usr/local/etc</primary></indexterm>
<para>基本的に, それらのファイルは <filename>/usr/local/etc</filename>
にインストールされます.
設定ファイルの数が多数にのぼるアプリケーションに対しては,
それら用にサブディレクトリが作られます.</para>
<para>基本的にそれらのファイルは <filename>/usr/local/etc</filename>
にインストールされます
設定ファイルの数が多数にのぼるアプリケーションに対しては
それら用にサブディレクトリが作られます</para>
<para>通常, ports やパッケージがインストールされると
設定ファイルのサンプルが一緒にインストールされます.
大抵, 識別のためにサフィックスとして ".default" がついています.
アプリケーションのための設定ファイルがまだ存在していなければ,
.defaults ファイルをコピーすることで作成できます.</para>
<para>通常ports やパッケージがインストールされると
設定ファイルのサンプルが一緒にインストールされます
大抵、識別のためにサフィックスとして ".default" がついています。
アプリケーションのための設定ファイルがまだ存在していなければ
.defaults ファイルをコピーすることで作成できます</para>
<para>以下は
<filename>/usr/local/etc/apache</filename> の例です.</para>
<filename>/usr/local/etc/apache</filename> の例です</para>
<literallayout class="monospaced">-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf
-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default
@ -255,9 +255,9 @@
-rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf
-rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.default</literallayout>
<para>srm.conf ファイルだけが変更されていることが即座に見てとれるでしょう.
後に apache を更新した時にも,
この変更されたファイルは上書きされることはありません.</para>
<para>srm.conf ファイルだけが変更されていることが即座に見てとれるでしょう
後に apache を更新した時にも
この変更されたファイルは上書きされることはありません</para>
</sect1>
@ -267,22 +267,22 @@
<indexterm><primary>サービス</primary></indexterm>
<para>一つのシステムでサービスをいくつも立ち上げているということは
よくあることです. それらには独自の立ち上げかたがあることがあり,
それぞれ有利な点があります.</para>
よくあることです。 それらには独自の立ち上げかたがあることがあり、
それぞれ有利な点があります</para>
<indexterm><primary>/usr/local/etc/rc.d</primary></indexterm>
<para>Ports collection やパッケージからインストールしたソフトウェアは
しばしば <filename>/usr/local/etc/rc.d</filename> にスクリプトを置き,
システムが起動した時には 'start', システムをシャットダウンする時には
'stop' の引数をつけてこれを実行します.
しばしば <filename>/usr/local/etc/rc.d</filename> にスクリプトを置き
システムが起動した時には 'start'システムをシャットダウンする時には
'stop' の引数をつけてこれを実行します
これは root によって実行されるべきであるようなシステムワイドな
サービスを起動する場合に推奨される方法です.
これらのスクリプトはパッケージの一部としてインストール時に記録され,
パッケージとともに削除されます.</para>
サービスを起動する場合に推奨される方法です
これらのスクリプトはパッケージの一部としてインストール時に記録され
パッケージとともに削除されます</para>
<para><filename>/usr/local/etc/rc.d</filename> にある
一般的なスクリプトは次のようなものです.</para>
一般的なスクリプトは次のようなものです</para>
<programlisting>#!/bin/sh
echo -n ' FooBar'
@ -303,41 +303,41 @@ esac
exit 0
</programlisting>
<para>このスクリプトはその目的を果すべく起動時に <option>start</option>,
シャットダウン時に <option>stop</option> をつけて呼ばれます.</para>
<para>このスクリプトはその目的を果すべく起動時に <option>start</option>
シャットダウン時に <option>stop</option> をつけて呼ばれます</para>
<para>サービスの中には固有のポートに接続を受けたときに
&man.inetd.8; から起動されるものもあります.
これはメールリーダサーバ (POP や IMAP 等) の場合によくあります.
&man.inetd.8; から起動されるものもあります
これはメールリーダサーバ (POP や IMAP 等) の場合によくあります
これらのサービスは <filename>/etc/inetd.conf</filename>
ファイルを編集することで有効化されます.
このファイルの編集に関する詳細は &man.inetd.8; を見てください.</para>
ファイルを編集することで有効化されます
このファイルの編集に関する詳細は &man.inetd.8; を見てください</para>
<para>これらの他に <filename>/etc/rc.conf</filename>
による有効化/無効化がカバーされていないサービスもあります.
による有効化/無効化がカバーされていないサービスもあります
それらは伝統的に <filename>/etc/rc.local</filename>
にコマンドを書き込むことで実行されていました.
にコマンドを書き込むことで実行されていました
FreeBSD 3.1 にはデフォルトの <filename>/etc/rc.local</filename>
は存在していません. もし管理者によって作られていれば,
その時は一般的なやりかたとして認められるべきでしょう.
は存在していません。 もし管理者によって作られていれば、
その時は一般的なやりかたとして認められるべきでしょう
<filename>rc.local</filename> は最後の場所と考えられているということを
知っておいてください. サービスを起動させるのにもっといい場所があるなら
そこから始めてください.</para>
知っておいてください サービスを起動させるのにもっといい場所があるなら
そこから始めてください</para>
<note><para><filename>/etc/rc.conf</filename>
でその他のコマンドを実行<emphasis>しないでください</emphasis>.
そのかわり, デーモンの起動やブート時のコマンド実行は
<filename>/usr/local/etc/rc.d</filename> にスクリプトを配置してください.</para>
でその他のコマンドを実行<emphasis>しないでください</emphasis>
そのかわりデーモンの起動やブート時のコマンド実行は
<filename>/usr/local/etc/rc.d</filename> にスクリプトを配置してください</para>
</note>
<para>この他にサービスの起動に &man.cron.8; を利用することもできます.
このアプローチには, cron がそのプロセスを
crontab のオーナ権限で実行したり, サービスが非特権ユーザによって
立ち上げられ管理されるなどといった有利な点がいくつもあります.</para>
<para>この他にサービスの起動に &man.cron.8; を利用することもできます
このアプローチにはcron がそのプロセスを
crontab のオーナ権限で実行したりサービスが非特権ユーザによって
立ち上げられ管理されるなどといった有利な点がいくつもあります</para>
<para>これで cron の文書化されていない機能の利点を得ることができます.
<para>これで cron の文書化されていない機能の利点を得ることができます
日時の指定を '@reboot' で置き換えることでジョブは
システムがブートした直後, cron が起動した時に実行されます.</para>
システムがブートした直後、cron が起動した時に実行されます。</para>
</sect1>
<sect1 id="configtuning-virtual-hosts">
@ -347,38 +347,38 @@ exit 0
<indexterm><primary>ip aliases</primary></indexterm>
<para>FreeBSD の非常にありふれた用途の一つにバーチャルサイトの
ホスティングがあります.
これは一つのサーバがネットワークには複数のサーバとして現れるものです.
ホスティングがあります
これは一つのサーバがネットワークには複数のサーバとして現れるものです
これは一つのネットワークインタフェイスに
複数のアドレスを割当てることで実現されます.</para>
複数のアドレスを割当てることで実現されます</para>
<para>ネットワークインタフェイスは "真の" アドレスを一つと
"別名" のアドレスを複数持ちます. これらの別名は通常
"別名" のアドレスを複数持ちます これらの別名は通常
<filename>/etc/rc.conf</filename>
に別名のエントリを置くことで追加されます.</para>
に別名のエントリを置くことで追加されます</para>
<para>'fxp0' インタフェイスへの別名のエントリは以下の様なものです.</para>
<para>'fxp0' インタフェイスへの別名のエントリは以下の様なものです</para>
<programlisting>ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"</programlisting>
<para>別名のエントリは alias0 から始まり _alias1, _alias2
の様に増加してゆかなければなりません. 設定プロセスは
最初に欠けた番号のところで停まります.</para>
<para>別名のエントリは alias0 から始まり _alias1_alias2
の様に増加してゆかなければなりません 設定プロセスは
最初に欠けた番号のところで停まります</para>
<para>別名のネットマスクの計算は重要ですが, 幸いなことに非常に簡単です.
<para>別名のネットマスクの計算は重要ですが、幸いなことに非常に簡単です。
個々のインタフェイスについてそのネットワークのネットマスクを正しく
表現しているアドレスが必ず一つ必要です.
表現しているアドレスが必ず一つ必要です
そのネットワークに所属しているそれ以外のアドレスのネットマスクは
全て 1 でなければなりません.</para>
全て 1 でなければなりません</para>
<para>例として, fxp0 インタフェイスが二つのネットワークに接続されている
ものを考えてみましょう. 一つはネットマスクが 255.255.255.0 である
10.1.1.0 ネットワークで, もう一つはネットマスクが 255.255.255.240 である
202.0.75.16 ネットワークです. システムは 10.1.1.0 には 10.1.1.1 として,
202.0.75.20 には 202.0.75.17 として現れるようにします.</para>
<para>例としてfxp0 インタフェイスが二つのネットワークに接続されている
ものを考えてみましょう 一つはネットマスクが 255.255.255.0 である
10.1.1.0 ネットワークでもう一つはネットマスクが 255.255.255.240 である
202.0.75.16 ネットワークです。 システムは 10.1.1.0 には 10.1.1.1 として、
202.0.75.20 には 202.0.75.17 として現れるようにします</para>
<para>以下のエントリはネットワークインタフェイスを上述の環境に正しく
設定するものです.</para>
設定するものです</para>
<programlisting> ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0"
ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255"
@ -397,50 +397,50 @@ exit 0
<sect2>
<title><filename>/etc</filename> のレイアウト</title>
<para>設定のための情報が含まれているディレクトリはたくさんあります.
それぞれ以下のものを含んでいます.</para>
<para>設定のための情報が含まれているディレクトリはたくさんあります
それぞれ以下のものを含んでいます</para>
<informaltable frame="none">
<tgroup cols="2">
<tbody>
<row>
<entry><filename>/etc</filename></entry>
<entry>システム全般の設定情報. ここにあるデータはシステム
固有のものです.</entry>
<entry>システム全般の設定情報 ここにあるデータはシステム
固有のものです</entry>
</row>
<row>
<entry><filename>/etc/defaults</filename></entry>
<entry>デフォルトのシステム設定ファイル.</entry>
<entry>デフォルトのシステム設定ファイル</entry>
</row>
<row>
<entry><filename>/etc/mail</filename></entry>
<entry>追加的な sendmail の設定, 他の MTA の設定ファイル.
<entry>追加的な sendmail の設定、他の MTA の設定ファイル。
</entry>
</row>
<row>
<entry><filename>/etc/ppp</filename></entry>
<entry>ユーザモード, およびカーネルモードの ppp プログラムの設定.
<entry>ユーザモード、およびカーネルモードの ppp プログラムの設定。
</entry>
</row>
<row>
<entry><filename>/etc/namedb</filename></entry>
<entry>bind(8) のデータのデフォルトの置場. 通常
boot ファイルはここに置かれ, /var/db に置かれた他のデータを
参照するディレクティブを含みます.</entry>
<entry>bind(8) のデータのデフォルトの置場 通常
boot ファイルはここに置かれ/var/db に置かれた他のデータを
参照するディレクティブを含みます</entry>
</row>
<row>
<entry><filename>/usr/local/etc</filename></entry>
<entry>インストールされたアプリケーションの設定ファイル.
アプリケーションごとのサブディレクトリを含んでいることがあります.</entry>
<entry>インストールされたアプリケーションの設定ファイル
アプリケーションごとのサブディレクトリを含んでいることがあります</entry>
</row>
<row>
<entry><filename>/usr/local/etc/rc.d</filename></entry>
<entry>インストールされたアプリケーションの起動/停止スクリプト.</entry>
<entry>インストールされたアプリケーションの起動/停止スクリプト</entry>
</row>
<row>
<entry><filename>/var/db</filename></entry>
<entry>永続的なシステム固有のデータファイル. たとえば
bind(8) のゾーンファイル, データベースファイル等.</entry>
<entry>永続的なシステム固有のデータファイル たとえば
bind(8) のゾーンファイル、データベースファイル等。</entry>
</row>
</tbody>
</tgroup>
@ -460,7 +460,7 @@ exit 0
<para><filename>/etc/resolv.conf</filename> は FreeBSD に
インターネットドメインネームシステム (DNS)
にどのようにアクセスするかを指定します.</para>
にどのようにアクセスするかを指定します</para>
<para><filename>resolv.conf</filename> の最もよくあるエントリは
</para>
@ -470,30 +470,30 @@ exit 0
<tbody>
<row>
<entry><literal>nameserver</literal></entry>
<entry>リゾルバが問い合わせるべきネームサーバの IP アドレス.
サーバはリストの順に 3 番目まで問い合わせられます.</entry>
<entry>リゾルバが問い合わせるべきネームサーバの IP アドレス
サーバはリストの順に 3 番目まで問い合わせられます</entry>
</row>
<row>
<entry><literal>search</literal></entry>
<entry>ホスト名をルックアップする検索リスト.
通常, ローカルなホスト名のドメインから決定されます.</entry>
<entry>ホスト名をルックアップする検索リスト
通常、ローカルなホスト名のドメインから決定されます。</entry>
</row>
<row>
<entry><literal>domain</literal></entry>
<entry>ローカルドメイン名.</entry>
<entry>ローカルドメイン名</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>基本的な <filename>resolv.conf</filename>.</para>
<para>基本的な <filename>resolv.conf</filename></para>
<programlisting>search foobar.com
nameserver 147.11.1.11
+nameserver 147.11.100.30</programlisting>
<para>&man.dhclient.8; は通常 <filename>resolv.conf</filename>
を DHCP サーバから受け取った情報で書き換えます.</para>
を DHCP サーバから受け取った情報で書き換えます</para>
</sect3>
<sect3>
@ -502,14 +502,14 @@ nameserver 147.11.1.11
<indexterm><primary>hosts</primary></indexterm>
<para><filename>/etc/hosts</filename> は古きインターネットを
偲ばせるシンプルなテキストのデータベースです.
偲ばせるシンプルなテキストのデータベースです
これはホスト名と IP アドレスをマッピングする DNS や NIS
と組み合わせて使われます. LAN でつながれているローカルな計算機は,
と組み合わせて使われます。 LAN でつながれているローカルな計算機は、
名前引きを簡単にするために
&man.named.8; サーバを立ち上げるかわりにここに書くことができます.
&man.named.8; サーバを立ち上げるかわりにここに書くことができます
さらに <filename>/etc/hosts</filename>
はインターネット名のローカルなレコードを提供し,
よくアクセスされる名前を外部に問い合わせるのを減らすためにも使えます.</para>
はインターネット名のローカルなレコードを提供し
よくアクセスされる名前を外部に問い合わせるのを減らすためにも使えます</para>
<programlisting># &dollar;FreeBSD$
#
@ -542,8 +542,8 @@ nameserver 147.11.1.11
# rs.internic.net, directory `/templates').
#</programlisting>
<para><filename>/etc/hosts</filename> は,
次のようなごく簡単なフォーマットになっています.</para>
<para><filename>/etc/hosts</filename> は
次のようなごく簡単なフォーマットになっています</para>
<programlisting>[インターネットアドレス] [正式なホスト名] [別名1] [別名2] ...</programlisting>
@ -551,7 +551,7 @@ nameserver 147.11.1.11
<programlisting>10.0.0.1 myRealHostname.foobar.com myRealHostname foobar1 foobar2</programlisting>
<para>これ以上の情報は &man.hosts.5; をあたってください.</para>
<para>これ以上の情報は &man.hosts.5; をあたってください</para>
</sect3>
</sect2>
@ -566,9 +566,9 @@ nameserver 147.11.1.11
<indexterm><primary>syslog.conf</primary></indexterm>
<para><filename>syslog.conf</filename>
は &man.syslogd.8; プログラムのための設定ファイルです.
は &man.syslogd.8; プログラムのための設定ファイルです
これはどのタイプの syslog メッセージを対応する
ログファイルに記録するかを指定します.</para>
ログファイルに記録するかを指定します</para>
<programlisting># $FreeBSD&dollar;
#
@ -603,7 +603,7 @@ cron.* /var/log/cron
*.* /var/log/ppp.log</programlisting>
<para>これ以上の情報は &man.syslog.conf.5; のマニュアルページに
あたってください.</para>
あたってください</para>
</sect3>
<sect3>
@ -612,21 +612,21 @@ cron.* /var/log/cron
<indexterm><primary>newsyslog.conf</primary></indexterm>
<para><filename>newsyslog.conf</filename> は &man.newsyslog.8;
のための設定ファイルで,
のための設定ファイルで
通常 &man.cron.8; によって実行されるプログラム &man.newsyslog.8;
がログファイルをいつ保存して再編するかを決定します.
がログファイルをいつ保存して再編するかを決定します
<filename>logfile</filename> は <filename>logfile.1</filename>
に移され, <filename>logfile.1</filename> は
<filename>logfile.2</filename> に, そして以下同様に移されます.
さらにログファイルを gzip 形式で保存することもできます.
この場合ファイル名は logfile.0.gz, logfile.1.gz
の様になります.</para>
に移され<filename>logfile.1</filename> は
<filename>logfile.2</filename> に、そして以下同様に移されます。
さらにログファイルを gzip 形式で保存することもできます
この場合ファイル名は logfile.0.gzlogfile.1.gz
の様になります</para>
<para><filename>newsyslog.conf</filename>
はどのログファイルが管理され, どのくらいの期間保存され,
そしていつ touch されるかを指定します.
ログファイルはあるサイズに到達するか, ある決められた時刻・
日時で再編されあるいは保存されます.</para>
はどのログファイルが管理され、どのくらいの期間保存され、
そしていつ touch されるかを指定します
ログファイルはあるサイズに到達するかある決められた時刻・
日時で再編されあるいは保存されます</para>
<programlisting># configuration file for newsyslog
# $FreeBSD&dollar;
@ -650,7 +650,7 @@ cron.* /var/log/cron
/var/log/console.log 640 5 100 * Z</programlisting>
<para>これ以上の情報は &man.newsyslog.8; のマニュアルページに
あたってください.</para>
あたってください</para>
</sect3>
</sect2>
@ -661,15 +661,15 @@ cron.* /var/log/cron
<indexterm><primary>sysctl</primary></indexterm>
<para><filename>sysctl.conf</filename> は
<filename>rc.conf</filename> によく似ています.
値は変数=値のかたちでセットされます.
指定された値はシステムがマルチユーザモードに移行した後でセットされます.
すべての変数がこのモードで設定可能というわけではありません.</para>
<filename>rc.conf</filename> によく似ています
値は変数=値のかたちでセットされます
指定された値はシステムがマルチユーザモードに移行した後でセットされます
すべての変数がこのモードで設定可能というわけではありません</para>
<para>以下は <filename>sysctl.conf</filename> のサンプルで
致命的なシグナルを記録しないように, また Linux プログラムに
致命的なシグナルを記録しないようにまた Linux プログラムに
それらが実際は FreeBSD 上で動いていることを知らせる様に
チューニングしています.</para>
チューニングしています</para>
<programlisting>kern.logsigexit=0 # Do not log fatal signal exits (e.g. sig 11)
compat.linux.osname=FreeBSD
@ -685,34 +685,34 @@ compat.linux.osrelease=4.3-STABLE</programlisting>
<indexterm><primary>sysctl によるチューニング</primary></indexterm>
<para>&man.sysctl.8; は稼働中の FreeBSD
システムに変更を加えるためのインタフェイスです.
システムに変更を加えるためのインタフェイスです
これには経験を積んだ管理者用の TCP/IP スタックへや
仮想メモリシステムのパフォーマンスを劇的に改善する
先進的なオプションが含まれます.
先進的なオプションが含まれます
500 を越えるシステム変数を &man.sysctl.8; で読んだり
セットしたりできます</para>
<para>中心において &man.sysctl.8; の機能は以下の二つに尽きます.
すなわちシステムの設定を読んで変更することです.</para>
<para>中心において &man.sysctl.8; の機能は以下の二つに尽きます
すなわちシステムの設定を読んで変更することです</para>
<para>読むことができるすべての変数を表示するには以下のようにします.</para>
<para>読むことができるすべての変数を表示するには以下のようにします</para>
<screen>&prompt.user; <userinput>sysctl -a</userinput></screen>
<para>個々の変数, たとえば
<literal>kern.maxproc</literal> を読むには以下のようにします.</para>
<para>個々の変数たとえば
<literal>kern.maxproc</literal> を読むには以下のようにします</para>
<screen>&prompt.user; <userinput>sysctl kern.maxproc</userinput>
kern.maxproc: 1044</screen>
<para>個々の変数をセットするには <literal>=</literal>
オプションを使います.</para>
オプションを使います</para>
<screen>&prompt.root; <userinput>sysctl kern.maxfiles=5000</userinput>
kern.maxfiles: 2088 -> 5000</screen>
<para>sysctl 変数の値は通常, 文字列, 数値, 真偽値のいずれかです.
真偽値は yes の場合には 1 で no の場合には 0 です.</para>
<para>sysctl 変数の値は通常、文字列、数値、真偽値のいずれかです。
真偽値は yes の場合には 1 で no の場合には 0 です</para>
</sect1>
<sect1 id="configtuning-disk">
@ -728,29 +728,29 @@ kern.maxfiles: 2088 -> 5000</screen>
<para><varname>vfs.vmiodirenable</varname> sysctl
はデフォルトは 0 (オフ) であり (しかし近いうちにデフォルトが 1
になるでしょう), 0 (オフ) または 1 (オン) にセットすることができます.
になるでしょう)、0 (オフ) または 1 (オン) にセットすることができます。
このパラメータはディレクトリがシステムによってどのように
キャッシュされるかを制御します.
ほとんどのディレクトリは小さく,
キャッシュされるかを制御します
ほとんどのディレクトリは小さく
ファイルシステムにおいては単一フラグメント (典型的には 1K)
であり, バッファキャッシュではさらに小さくなっています
(典型的には 512 バイト).
しかしデフォルトモードで動作している時は,
でありバッファキャッシュではさらに小さくなっています
(典型的には 512 バイト)
しかしデフォルトモードで動作している時は
大量のメモリを搭載していても
バッファキャッシュは固定数のディレクトリしかキャッシュしません.
この sysctl をオンにすると、バッファキャッシュが VM ページキャッシュを,
ディレクトリをキャッシュするために使うことを可能にします.
これによる利点は, 全てのメモリがディレクトリを
キャッシュするのに使えるようになるということです.
欠点は, キャッシュに使われる最小のメモリの大きさが 512 バイトではなく
物理ページサイズ (大抵は 4K) になることです.
多数のファイルを操作するサービスを稼動しているなら,
常にこのオプションをオンにすることを推奨します.
そのようなサービスには, web キャッシュや大規模なメールシステム,
ニューズシステムなどが含まれます.
このオプションは一般にメモリを消費しますが,
性能を削減することはありません.
ただし実験して調べてみるべきでしょう.</para>
バッファキャッシュは固定数のディレクトリしかキャッシュしません
この sysctl をオンにすると、バッファキャッシュが VM ページキャッシュを
ディレクトリをキャッシュするために使うことを可能にします
これによる利点は全てのメモリがディレクトリを
キャッシュするのに使えるようになるということです
欠点はキャッシュに使われる最小のメモリの大きさが 512 バイトではなく
物理ページサイズ (大抵は 4K) になることです
多数のファイルを操作するサービスを稼動しているなら
常にこのオプションをオンにすることを推奨します
そのようなサービスには、web キャッシュや大規模なメールシステム、
ニューズシステムなどが含まれます
このオプションは一般にメモリを消費しますが
性能を削減することはありません
ただし実験して調べてみるべきでしょう</para>
</sect3>
<sect3>
@ -758,28 +758,28 @@ kern.maxfiles: 2088 -> 5000</screen>
<indexterm><primary>hw.ata.wc</primary></indexterm>
<para>FreeBSD 4.3 では IDE のライトキャッシュがオフになりました.
<para>FreeBSD 4.3 では IDE のライトキャッシュがオフになりました
これは IDE
ディスクへの書き込み帯域幅を減らしてしまうことになりますが,
ディスクへの書き込み帯域幅を減らしてしまうことになりますが
ハードドライブベンダに起因するデータの一貫性に関する
重大な問題のために必要なことだと考えられました.
基本的には, 書き込み完了時期について IDE
ドライブが嘘をつくという問題です.
重大な問題のために必要なことだと考えられました
基本的には書き込み完了時期について IDE
ドライブが嘘をつくという問題です
IDE ライトキャッシュがオンであると
IDE ハードドライブはデータを順番に書きこまないばかりか,
IDE ハードドライブはデータを順番に書きこまないばかりか
ディスクの負荷が高い時にはいくつかのブロックの書き込みを
無期限に延期してしまいます. クラッシュや電源故障の場合,
ファイルシステムの重大な破壊をもたらします.
したがって私たちはデフォルトを安全側に変更しました.
残念ながらこれは大変な性能の低下をもたらし,
私たちはあきらめてこのリリース後にオンに戻しました.
hw.ata.wc sysctl 変数を見てデフォルトをチェックしてみるべきです.
もし IDE ライトキャッシュがオフになっていたら,
hw.ata.wc カーネル変数を 1 に戻すことでオンに戻すことができます.
これはブート時にブートローダから行わなければなりません.
カーネルがブートした後に行っても効果はありません.</para>
無期限に延期してしまいます。 クラッシュや電源故障の場合、
ファイルシステムの重大な破壊をもたらします
したがって私たちはデフォルトを安全側に変更しました
残念ながらこれは大変な性能の低下をもたらし
私たちはあきらめてこのリリース後にオンに戻しました
hw.ata.wc sysctl 変数を見てデフォルトをチェックしてみるべきです
もし IDE ライトキャッシュがオフになっていたら
hw.ata.wc カーネル変数を 1 に戻すことでオンに戻すことができます
これはブート時にブートローダから行わなければなりません
カーネルがブートした後に行っても効果はありません</para>
<para>&man.ata.4; を見てください.</para>
<para>&man.ata.4; を見てください</para>
</sect3>
</sect2>
@ -789,32 +789,32 @@ kern.maxfiles: 2088 -> 5000</screen>
<indexterm><primary>ソフトアップデート</primary></indexterm>
<indexterm><primary>tunefs</primary></indexterm>
<para>&man.tunefs.8; はファイルシステムを fine チューンするのに使えます.
<para>&man.tunefs.8; はファイルシステムを fine チューンするのに使えます
この目的においてはソフトアップデートをオンオフすることを
考えるだけですみます. 以下の様にしてトグルします.</para>
考えるだけですみます。 以下の様にしてトグルします。</para>
<screen>&prompt.root; tunefs -n enable /filesystem
&prompt.root; tunefs -n disable /filesystem</screen>
<para>ファイルシステムはマウントされているあいだは &man.tunefs.8;
で変更することができません. ソフトアップデートを有効にする
で変更することができません ソフトアップデートを有効にする
いい機会はシングルユーザモードでどのパーティションもマウント
されていない時です.</para>
されていない時です</para>
<para>softupdates はメタデータの性能,
主にファイルの作成と削除の性能を劇的に改善します.
全てのファイルシステムで softupdates を有効にすることを推奨します.
softupdates に関して, 2 つの欠点を意識すべきです.
1 つめは, softupdates
はクラッシュ時におけるファイルシステムの一貫性は保証しますが,
<para>softupdates はメタデータの性能
主にファイルの作成と削除の性能を劇的に改善します
全てのファイルシステムで softupdates を有効にすることを推奨します
softupdates に関して、2 つの欠点を意識すべきです。
1 つめはsoftupdates
はクラッシュ時におけるファイルシステムの一貫性は保証しますが
物理ディスクの更新が何秒か (1 分になることもあります!)
遅れる可能性が高いことです.
クラッシュした場合, より多くの成果が消えてしまうかもしれません.
2 つめは, softupdates
はファイルシステムブロックを解放するのを遅らせるということです.
遅れる可能性が高いことです
クラッシュした場合、より多くの成果が消えてしまうかもしれません。
2 つめはsoftupdates
はファイルシステムブロックを解放するのを遅らせるということです
あるファイルシステム (例えばルートファイルシステム) が満杯近くの時に
それに対する大規模な更新, たとえば make installworld
をすると, 空き領域を使い果たして更新が失敗してしまうことがあります.
それに対する大規模な更新たとえば make installworld
をすると、空き領域を使い果たして更新が失敗してしまうことがあります。
</para>
</sect2>
</sect1>
@ -833,21 +833,21 @@ kern.maxfiles: 2088 -> 5000</screen>
<indexterm><primary>kern.maxfiles</primary></indexterm>
<para><varname>kern.maxfiles</varname> はあなたのシステムの要求に
応じて増減させることができます.
この変数はあなたのシステムのファイル記述子の最大値を示します.
応じて増減させることができます
この変数はあなたのシステムのファイル記述子の最大値を示します
ファイル記述子テーブルが溢れるような時には dmesg に頻繁に
<literal>file: table is full</literal>
と表示されます.</para>
と表示されます</para>
<para>ファイル, ソケット, パイプ(fifo) は
それぞれオープンされるとファイル記述子を一つ消費します.
<para>ファイル、ソケット、パイプ(fifo) は
それぞれオープンされるとファイル記述子を一つ消費します
大規模なプロダクションサーバでは
その時実行されているサービスの種類や数に応じては
あっさり数千のファイル記述子が必要になります.</para>
あっさり数千のファイル記述子が必要になります</para>
<para><varname>kern.maxfile</varname> のデフォルト値は
kernel config ファイルの maxusers オプションで決ります.
<varname>kern.maxfiles</varname> は maxusers の値に応じて増加します.
kernel config ファイルの maxusers オプションで決ります
<varname>kern.maxfiles</varname> は maxusers の値に応じて増加します
</para>
</sect3>
</sect2>