Merge the following from the English version:

1.40  -> 1.51 	Makefile
	1.2   -> 1.3  	chapter.decl
	1.15  -> 1.19 	chapters.ent
	1.106 -> 1.118	book.sgml                 [doc-jp 8394]
	1.38  -> 1.45 	backups/chapter.sgml      [doc-jp 8394]
	1.458 -> 1.468	contrib/chapter.sgml      [doc-jp 8430]
	1.26  -> 1.27 	disks/chapter.sgml        [doc-jp 8402]
	1.41  -> 1.63 	introduction/chapter.sgml [doc-jp 8386]
	1.139 -> 1.165	mirrors/chapter.sgml      [doc-jp 8431]
	(new) -> 1.4  	config/chapter.sgml       [doc-jp 8399]
	(new) -> 1.4  	colophon.sgml

Submitted by:	Shun SUZUKI <si006@ccm.gs.niigata-u.ac.jp>
This commit is contained in:
Hiroki Sato 2001-10-27 18:12:09 +00:00
parent f55b11e1fe
commit 980f64c3fe
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=11058
12 changed files with 2430 additions and 12889 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,9 +1,9 @@
#
# $FreeBSD: doc/ja_JP.eucJP/books/handbook/Makefile,v 1.49 2001/07/18 19:29:08 hrs Exp $
# $FreeBSD$
#
# Build the FreeBSD Handbook (Japanese).
#
# Original revision: 1.40
# Original revision: 1.51
#
# ------------------------------------------------------------------------
@ -14,7 +14,16 @@
# fingerprints by default. If you would like for the
# entire key to be displayed, then set this variable.
# This option has no affect on the HTML formats.
#
#
# Handbook-specific targets
#
# pgpkeyring This target will read the contents of
# pgpkeys/chapter.sgml and will extract all of
# the pgpkeys to standard out. This output can then
# be redirected into a file and distributed as a
# public keyring of FreeBSD developers that can
# easily be imported into PGP/GPG.
#
# ------------------------------------------------------------------------
MAINTAINER=kuriyama@FreeBSD.ORG
@ -31,6 +40,72 @@ NO_TIDY= YES
#IMAGES = advanced-networking/isdn-bus.eps
#IMAGES+= advanced-networking/isdn-twisted-pair.eps
#IMAGES+= advanced-networking/natd.eps
#IMAGES+= install/userconfig.scr
#IMAGES+= install/userconfig2.scr
#IMAGES+= install/hdwrconf.scr
#IMAGES+= install/probstart.scr
#IMAGES+= install/main1.scr
#IMAGES+= install/sysinstall-exit.scr
#IMAGES+= install/main-doc.scr
#IMAGES+= install/docmenu1.scr
#IMAGES+= install/main-keymap.scr
#IMAGES+= install/keymap.scr
#IMAGES+= install/main-options.scr
#IMAGES+= install/options.scr
#IMAGES+= install/main-std.scr
#IMAGES+= install/fdisk-drive1.scr
#IMAGES+= install/fdisk-edit1.scr
#IMAGES+= install/fdisk-edit2.scr
#IMAGES+= install/boot-mgr.scr
#IMAGES+= install/fdisk-drive2.scr
#IMAGES+= install/disklabel-ed1.scr
#IMAGES+= install/disklabel-auto.scr
#IMAGES+= install/disklabel-root1.scr
#IMAGES+= install/disklabel-root2.scr
#IMAGES+= install/disklabel-fs.scr
#IMAGES+= install/disklabel-root3.scr
#IMAGES+= install/disklabel-ed2.scr
#IMAGES+= install/dist-set.scr
#IMAGES+= install/dist-set2.scr
#IMAGES+= install/media.scr
#IMAGES+= install/ed0-conf.scr
#IMAGES+= install/ed0-conf2.scr
#IMAGES+= install/ftp-anon1.scr
#IMAGES+= install/ftp-anon2.scr
#IMAGES+= install/nfs-server-edit.scr
#IMAGES+= install/security.scr
#IMAGES+= install/console-saver1.scr
#IMAGES+= install/console-saver2.scr
#IMAGES+= install/console-saver3.scr
#IMAGES+= install/console-saver4.scr
#IMAGES+= install/timezone1.scr
#IMAGES+= install/timezone2.scr
#IMAGES+= install/timezone3.scr
#IMAGES+= install/mouse1.scr
#IMAGES+= install/mouse2.scr
#IMAGES+= install/mouse3.scr
#IMAGES+= install/mouse4.scr
#IMAGES+= install/mouse5.scr
#IMAGES+= install/mouse6.scr
#IMAGES+= install/xf86setup.scr
#IMAGES+= install/desktop.scr
#IMAGES+= install/pkg-cat.scr
#IMAGES+= install/pkg-sel.scr
#IMAGES+= install/pkg-install.scr
#IMAGES+= install/pkg-confirm.scr
#IMAGES+= install/adduser1.scr
#IMAGES+= install/adduser2.scr
#IMAGES+= install/adduser3.scr
#IMAGES+= install/mainexit.scr
#IMAGES+= install/disk-layout.eps
#IMAGES+= install/edit-inetd-conf.scr
# Images from the cross-document image library
#IMAGES_LIB= callouts/1.png
#IMAGES_LIB+= callouts/2.png
#IMAGES_LIB+= callouts/3.png
#IMAGES_LIB+= callouts/4.png
#IMAGES_LIB+= callouts/5.png
#
# SRCS lists the individual SGML files that make up the document. Changes
@ -40,19 +115,16 @@ NO_TIDY= YES
# SGML content
SRCS= book.sgml
SRCS+= advanced-networking/chapter.sgml
SRCS+= backups/chapter.sgml
SRCS+= basics/chapter.sgml
SRCS+= bibliography/chapter.sgml
#SRCS+= config/chapter.sgml
SRCS+= config/chapter.sgml
SRCS+= boot/chapter.sgml
SRCS+= contrib/chapter.sgml
SRCS+= cutting-edge/chapter.sgml
SRCS+= disks/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= install/chapter.sgml
SRCS+= introduction/chapter.sgml
SRCS+= kernelconfig/chapter.sgml
SRCS+= kernelopts/chapter.sgml
SRCS+= l10n/chapter.sgml
SRCS+= linuxemu/chapter.sgml
SRCS+= mail/chapter.sgml
@ -63,10 +135,10 @@ SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= sound/chapter.sgml
SRCS+= staff/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= x11/chapter.sgml
SRCS+= ports/chapter.sgml
SRCS+= colophon.sgml
# Entities
SRCS+= chapters.ent
@ -79,17 +151,22 @@ SYMLINKS= ${DESTDIR} index.html handbook.html
# Turn on all the chapters.
CHAPTERS?= ${SRCS:M*chapter.sgml}
JADEFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./}
SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./}
# XXX The Handbook build currently overflows some internal, hardcoded
# limits in pdftex. Until we split the Handbook up, build the PDF
# version using ps2pdf instead of pdftex.
PS2PDF?= ${PREFIX}/bin/ps2pdf
book.tex-pdf:
touch book.tex-pdf
${TOUCH} book.tex-pdf
book.pdf: book.ps
ps2pdf book.ps book.pdf
${PS2PDF} book.ps book.pdf
pgpkeyring: pgpkeys/chapter.sgml
@${JADE} -V nochunks ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
DOC_PREFIX?= ${.CURDIR}/../../..

View file

@ -2,8 +2,8 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.38
$FreeBSD: doc/ja_JP.eucJP/books/handbook/backups/chapter.sgml,v 1.20 2001/07/24 16:54:06 hrs Exp $
Original revision: 1.45
$FreeBSD$
-->
<chapter id="backups">
@ -256,9 +256,9 @@ st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
方法2)フロントパネルのボタンを押してテープをとりだします.
</para>
<para>再びテープを入れ,データをテープに &man.dump.8; します.</para>
<para>再びテープを入れ,データをテープに <command>dump</command> します.</para>
<para>&man.dump.8; はそのうちに <literal>DUMP: End of tape
<para><command>dump</command> はそのうちに <literal>DUMP: End of tape
detected</literal> と表示し, コンソールには
<literal>HARDWARE FAILURE info:280
asc:80,96</literal>と表示されるでしょう.</para>
@ -289,19 +289,19 @@ st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<indexterm><primary><command>restore</command></primary></indexterm>
<para>Unixで古くから使われているバックアッププログラムは
&man.dump.8; と &man.restore.8; です.
<command>dump</command> と <command>restore</command> です.
これらはディスクドライブをディスクブロックの集まりとして,
ファイルシステム上につくられるファイル,
リンク, ディレクトリといった概念よりも低レベルで扱います.
&man.dump.8; はデバイスやファイルシステム全体をバックアップするもので,
<command>dump</command> はデバイスやファイルシステム全体をバックアップするもので,
ファイルシステムの一部や,
複数のファイルシステムにまたがるディレクトリツリーの一部だけを
バックアップすることはできません.
&man.dump.8; はファイルやディレクトリではなく,
<command>dump</command> はファイルやディレクトリではなく,
ファイルやディレクトリを構成する生のデータブロックをテープに記録します.</para>
<note>
<para>ルートディレクトリで &man.dump.8; を使った場合,
<para>ルートディレクトリで <command>dump</command> を使った場合,
<filename>/home</filename> や <filename>/usr</filename> など,
他の多くのディレクトリはバックアップされません.
これは, 上にあげたようなディレクトリが通常,
@ -309,7 +309,7 @@ st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
他のファイルシステムへのシンボリックリンクとなっているためです.</para>
</note>
<para>&man.dump.8; には初期の ATT UNIX のバージョン 6 (1975
<para><command>dump</command> には初期の ATT UNIX のバージョン 6 (1975
年ごろ) に由来する癖が残っています.
デフォルトのパラメータは 9 トラックテープ (6250 bpi)
に適したものになっていて,
@ -318,17 +318,16 @@ st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
これらのデフォルト値をコマンドラインで必ず置き換える必要があります.</para>
<indexterm><primary><filename>rhosts</filename></primary></indexterm>
<para>また, &man.rdump.8; と &man.rrestore.8; を用いると,
<para>また, <command>rdump</command> と <command>rrestore</command> を用いると,
他のコンピュータに接続されたテープドライブを使い,
ネットワーク経由でデータをバックアップすることも可能です.
どちらのプログラムもリモートテープドライブにアクセスするために
&man.rcmd.3; と &man.ruserok.3; に依存しています.
<command>rcmd</command> と <command>ruserok</command> に依存しています.
このためユーザがバックアップを実行するためには
<literal>rhosts</literal> によるリモートアクセスが必要です.
&man.rdump.8; と &man.rrestore.8;
<command>rdump</command> と <command>rrestore</command>
の引数はリモートコンピュータに適切なものを用います.
&man.rrestore.8;
はリモートコンピュータから使うのに適しています. (例えば
(例えば
FreeBSD コンピュータより <hostid>komodo</hostid> という名前の
Sun に接続されている Exabyte テープドライブへ
<command>/sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nrsa8
@ -338,12 +337,12 @@ st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<literal>rhosts</literal>の管理にかかっています.
あなたの状況を注意深く調べてください.</para>
<para>&man.ssh.1; を用いると
&man.rdump.8; と &man.rrestore.8;
<para><command>ssh</command> を用いると
<command>rdump</command> と <command>rrestore</command>
をより安全な形で利用することができます.</para>
<example>
<title>ssh 経由で <command>rdump</command> を使う</title>
<title><application>ssh</application> 経由で <command>rdump</command> を使う</title>
<screen>&prompt.root; <userinput>/sbin/dump -0uan -f - /usr | gzip -2 | ssh1 -c blowfish \
targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz</userinput></screen>
@ -358,28 +357,28 @@ st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<primary>バックアッププログラム(backup software)</primary>
<secondary><command>tar</command></secondary>
</indexterm>
<para>&man.tar.1; AT&amp;T Unix のバージョン 6 (1975ごろ)
にさかのぼる事ができます. &man.tar.1;
<para><command>tar</command> AT&amp;T Unix のバージョン 6 (1975ごろ)
にさかのぼる事ができます. <command>tar</command>
はファイルシステムと協調して機能し,
ファイルやディレクトリをテープに書きます. &man.tar.1;
ファイルやディレクトリをテープに書きます. <command>tar</command>
&man.cpio.1;
で使えるようなフルレンジのオプションは持ちませんが
&man.cpio.1;
<command>cpio</command>
で使うような奇妙なコマンドパイプラインは必要ありません.</para>
<indexterm><primary><command>tar</command></primary></indexterm>
<para>大部分の &man.tar.1;
<para>大部分の <command>tar</command>
にはネットワーク経由のバックアップの機能はありませんが,
FreeBSD で使用されている GNU の &man.tar.1; は,
FreeBSD で使用されている GNU の <command>tar</command> は,
<command>rdump</command>
とおなじ構文でリモートデバイスを扱うことができます.
<hostid>komodo</hostid>
というホスト名の Sun に繋いである Exabyte
のテープデバイスに対して &man.tar.1; を実行するには,
のテープデバイスに対して <command>tar</command> を実行するには,
次のようにします.
<command>/usr/bin/tar cf komodo:/dev/nrsa8 .
2>&amp;1</command> リモートデバイスをサポートしていない tar
を使用している場合は, パイプラインと &man.rsh.1; を使うことで,
を使用している場合は, パイプラインと <command>rsh</command> を使うことで,
リモートテープデバイスにデータを送る事ができます.
</para>
@ -398,12 +397,12 @@ st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
</indexterm>
<para>&man.cpio.1; は本来, Unix
ファイルを磁気メディアで交換するためのプログラムです.
&man.cpio.1; はバイトスワッピング,
<command>cpio</command> はバイトスワッピング,
多くの異なるアーカイブフォーマットの書き込みのオプション
(それ以外にも多数のオプションがあります)があり,
パイプで他のプログラムにデータを渡す事もできます.
この最後に挙げた特徴により, &man.cpio.1;
はインストールメディアについては優れた選択です. &man.cpio.1;
この最後に挙げた特徴により, <command>cpio</command>
はインストールメディアについては優れた選択です. <command>cpio</command>
は <filename>stdin</filename> からの入力でなければならず,
ディレクトリツリーの探索や
ファイルリストについての機能はありません.</para>
@ -417,7 +416,7 @@ st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<screen>&prompt.root; <userinput>for f in <replaceable>directory_list; do</replaceable></userinput>
<userinput>find $f >> backup.list</userinput>
<userinput>done</userinput>
&prompt.root; <userinput>cpio -v -o --format=newc < backup.list | ssh <replaceable>user</replaceable>@<replaceable>host</replaceable> "cat > <replaceable>backup_device</replaceable></userinput></screen>
&prompt.root; <userinput>cpio -v -o --format=newc < backup.list | ssh <replaceable>user</replaceable>@<replaceable>host</replaceable> "cat > <replaceable>backup_device</replaceable>"</userinput></screen>
<para><replaceable>directory_list</replaceable>
にはバックアップしたいディレクトリのリスト,
@ -480,7 +479,7 @@ st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
これには夜間に作られるすべてのファイルシステムの増分
(あるいは差分として) のバックアップも含みます.
障害の起きたファイルシステムの回復には最も新しい
フルバックアップと増分のバックアップが必要です. </para>
フルバックアップと増分のバックアップが必要です.</para>
<para>設定ファイルでバックアップのコントロールと Amanda
によるネットワークトラフィック量を設定します. Amanda
@ -526,7 +525,7 @@ st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<primary>LISA</primary>
</indexterm>
<para><emphasis>定期的に</emphasis> &man.dump.8; しましょう.
<para><emphasis>定期的に</emphasis> <command>dump</command> しましょう.
Elizabeth D. Zwicky はここで検討したプログラムすべてについて
拷問的なテストをおこないました. すべてのデータと
Unixファイルシステムの状態すべてを保存するには明らかに
@ -581,13 +580,13 @@ st0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
そのシステムのすべてのディスクをマウントでき,
テープドライブにもアクセスできる
2種類のカスタム起動フロッピディスクを作る必要があります.
これらのフロッピディスクには &man.fdisk.8;, &man.disklabel.8;,
&man.newfs.8;, &man.mount.8;,
これらのフロッピディスクには <command>fdisk</command>, <command>disklabel</command>,
<command>newfs</command>, <command>mount</command>,
と利用したいバックアッププログラムが
入っていなければなりません.
これらのプログラムはスタティックリンクされた
プログラムである必要があります. &man.dump.8;
を使うのであればフロッピディスクに &man.restore.8;
プログラムである必要があります. <command>dump</command>
を使うのであればフロッピディスクに <command>restore</command>
を入れる必要があります.</para>
<para>ステップ 3では, 通常の方法でバックアップを作ります.
@ -680,44 +679,45 @@ then
cat << EOM
The MINI kernel does not exist, please create one.
Here is an example config file:
# MINIカーネルの config fileの例
# MINI -- A kernel to get FreeBSD on onto a disk.
# MINIカーネルの config fileの例
# MINI -- A kernel to get FreeBSD onto a disk.
#
machine "i386"
cpu "I486_CPU"
ident MINI
maxusers 5
options INET # needed for _tcp _icmpstat _ipstat
# _udpstat _tcpstat _udb
options FFS #Berkeley Fast File System
options FAT_CURSOR #block cursor in syscons or pccons
options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device
options NCONS=2 #1 virtual consoles
options USERCONFIG #Allow user configuration with -c XXX
machine "i386"
cpu "I486_CPU"
ident MINI
maxusers 5
config kernel root on da0 swap on da0 and da1 dumps on da0
options INET # needed for _tcp _icmpstat _ipstat
# _udpstat _tcpstat _udb
options FFS #Berkeley Fast File System
options FAT_CURSOR #block cursor in syscons or pccons
options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device
options NCONS=2 #1 virtual consoles
options USERCONFIG #Allow user configuration with -c XXX
controller isa0
controller pci0
config kernel root on da0 swap on da0 and da1 dumps on da0
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk fd0 at fdc0 drive 0
device isa0
device pci0
controller ncr0
device fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
device fd0 at fdc0 drive 0
controller scbus0
device ncr0
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
device scbus0
device da0
device da1
device da2
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
device sa0
device da0
device da1
device da2
pseudo-device loop # required by INET
pseudo-device gzip # Exec gzipped a.out's
device sa0
pseudo-device loop # required by INET
pseudo-device gzip # Exec gzipped a.out's
EOM
exit 1
fi
@ -744,7 +744,7 @@ chmod 555 /mnt/bin/sh /mnt/bin/sync
chmod 6555 /mnt/sbin/restore
#
# create the devices nodes デバイスノードを作る
# create the devices nodes デバイスノードを作る
#
cd /mnt/dev
./MAKEDEV std
@ -756,14 +756,14 @@ cd /mnt/dev
cd /
#
# create minimum filesystem table 最小限のファイルシステムテーブル
# create minimum filesystem table 最小限のファイルシステムテーブル
#
cat > /mnt/etc/fstab <<EOM
/dev/fd0a / ufs rw 1 1
/dev/fd0a / ufs rw 1 1
EOM
#
# create minimum passwd file 最小限のパスワードファイル
# create minimum passwd file 最小限のパスワードファイル
#
cat > /mnt/etc/passwd <<EOM
root:*:0:0:Charlie &:/root:/bin/sh
@ -778,7 +778,7 @@ chmod 644 /mnt/etc/passwd
/usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd
#
# umount the floppy and inform the user フロッピディスクを unmount
# umount the floppy and inform the user フロッピディスクを unmount
#
/sbin/umount /mnt
echo "The floppy has been unmounted and is now ready."]]></programlisting>
@ -820,7 +820,7 @@ echo "The floppy has been unmounted and is now ready."]]></programlisting>
<indexterm>
<primary><command>mount</command></primary>
</indexterm>
</indexterm>
<indexterm><primary>root partition</primary></indexterm>
<indexterm>
<primary><command>disklabel</command></primary>
@ -828,13 +828,13 @@ echo "The floppy has been unmounted and is now ready."]]></programlisting>
<indexterm>
<primary><command>newfs</command></primary>
</indexterm>
<para>最初のディスクのrootパーティションを &man.mount.8;
<para>最初のディスクのrootパーティションを <command>mount</command>
(例えば <command>mount /dev/da0a /mnt</command> のように)
マウントしてみてください.
ディスクラベルが破壊されている場合は &man.disklabel.8;
ディスクラベルが破壊されている場合は <command>disklabel</command>
を使ってあらかじめプリントしておいた通りに
パーティションを作り直しラベルをつけてセーブしてください.
&man.newfs.8; を使いファイルシステムを作り直します.
<command>newfs</command> を使いファイルシステムを作り直します.
ルートパーティションを読み書き可能にマウント (<command>mount
-u -o rw /mnt</command>) しなおします.
バックアッププログラムとバックアップテープを使って
@ -905,8 +905,8 @@ echo "The floppy has been unmounted and is now ready."]]></programlisting>
するのですか?</title>
<para>フロッピディスクへバックアップする最も良い方法は tar
&man.tar.1; コマンドに <option>-M</option> (マルチ・ボリューム)
    オプションを付けて, 複数のフロッピディスクにまたがるバックアップも
<command>tar</command> コマンドに <option>-M</option> (マルチ・ボリューム)
オプションを付けて, 複数のフロッピディスクにまたがるバックアップも
できるようにする方法です.</para>
<para>カレントディレクトリのすべてのファイルとサブディレクトリを
@ -914,9 +914,9 @@ echo "The floppy has been unmounted and is now ready."]]></programlisting>
<screen>&prompt.root; <userinput>tar Mcvf /dev/fd0 *</userinput></screen>
<para>1枚目のフロッピディスクがいっぱいになると &man.tar.1;
<para>1枚目のフロッピディスクがいっぱいになると <command>tar</command>
次のボリュームを入れるようプロンプトを表示します.
( &man.tar.1; は, さまざまなメディアを扱えるので
( <command>tar</command> は, さまざまなメディアを扱えるので
ボリュームと表示します. ここではフロッピディスクのことです)</para>
<screen>Prepare volume #2 for /dev/fd0 and hit return:</screen>
@ -935,10 +935,10 @@ echo "The floppy has been unmounted and is now ready."]]></programlisting>
</indexterm>
<indexterm><primary>圧縮</primary></indexterm>
<para>残念ながら, &man.tar.1; はマルチ・ボリュームに保存する場合は
<para>残念ながら, <command>tar</command> はマルチ・ボリュームに保存する場合は
<option>-z</option> オプションを使うことができません.
もちろん, すべてのファイルを &man.gzip.1; してから, フロッピディスクに
&man.tar.1; して, ファイルを &man.gunzip.1;
もちろん, すべてのファイルを <command>gzip</command> してから, フロッピディスクに
<command>tar</command> して, ファイルを <command>gunzip</command>
することはできます!</para>
</sect2>
@ -954,13 +954,13 @@ echo "The floppy has been unmounted and is now ready."]]></programlisting>
<screen>&prompt.root; <userinput>tar Mxvf /dev/fd0 <replaceable>filename</replaceable></userinput></screen>
<para>&man.tar.1; は, 必要なファイルを見つけるまで, 続きのフロッピディスクを
<para><command>tar</command> は, 必要なファイルを見つけるまで, 続きのフロッピディスクを
セットするよう表示します.</para>
<para>別の方法として, どのフロッピディスクにファイルが入っているのかが
分かっているなら, そのフロッピディスクを挿入して上記と同じコマンドを
使うこともできます. 最初のファイルが前のフロッピディスクから続いて
いる場合は, &man.tar.1; は, 頼みもしないのに, そのファイルはリストア
いる場合は, <command>tar</command> は, 頼みもしないのに, そのファイルはリストア
できないと警告します!</para>
</sect2>
</sect1>

View file

@ -2,8 +2,8 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.106
$FreeBSD: doc/ja_JP.eucJP/books/handbook/book.sgml,v 1.68 2001/07/18 19:29:08 hrs Exp $
Original revision: 1.118
$FreeBSD$
-->
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@ -24,14 +24,9 @@
%authors;
<!ENTITY % ja-mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//JA">
%ja-mailing-lists;
<!ENTITY % newsgroups SYSTEM "newsgroups.ent"> %newsgroups;
<!ENTITY % newsgroups PUBLIC "-//FreeBSD//ENTITIES DocBook Newsgroup Entities//EN"> %newsgroups;
<!ENTITY % not.published "INCLUDE">
<!-- The currently released version of FreeBSD. This value is used to
create some links on web sites and such, so do NOT change it until
it's really release time -->
<!ENTITY rel.current CDATA "4.3">
<!ENTITY % chap.introduction "IGNORE">
<!ENTITY % chap.install "IGNORE">
<!ENTITY % chap.basics "IGNORE">
@ -52,15 +47,14 @@
<!ENTITY % chap.advanced-networking "IGNORE">
<!ENTITY % chap.mail "IGNORE">
<!ENTITY % chap.cutting-edge "IGNORE">
<!ENTITY % chap.contrib "IGNORE">
<!ENTITY % chap.policies "IGNORE">
<!ENTITY % chap.kerneldebug "IGNORE">
<!ENTITY % chap.linuxemu "IGNORE">
<!ENTITY % chap.mirrors "IGNORE">
<!ENTITY % chap.bibliography "IGNORE">
<!ENTITY % chap.eresources "IGNORE">
<!ENTITY % chap.staff "IGNORE">
<!ENTITY % chap.pgpkeys "IGNORE">
<!ENTITY % chap.index "IGNORE">
]>
<book>
@ -86,7 +80,7 @@
<abstract>
<para>FreeBSD へようこそ!
このハンドブックは <emphasis>FreeBSD Release &rel.current;</emphasis>
このハンドブックは <emphasis>FreeBSD &rel.current;-RELEASE</emphasis>
のインストールおよび, 日常での使い方について記述したものです.
本ハンドブックは<emphasis>改編作業中</emphasis>であり,
さまざまな人々が編集に携わっています.
@ -95,20 +89,19 @@
もし, このハンドブックを編集するプロジェクトに協力したいとお考えなら,
&a.doc; まで電子メールを(英語で)送ってください.
この文書の最新バージョンは, いつでも
<ulink URL="http://www.jp.FreeBSD.org/">日本国内版 FreeBSD World
Wide Web サーバ</ulink> および
<ulink URL="http://www.FreeBSD.org/">FreeBSD World Wide Web
サーバ</ulink> で入手することができます.
<ulink URL="http://www.jp.FreeBSD.org/">日本国内版
FreeBSD ウェブサイト</ulink> および
<ulink url="../../../../index.html">FreeBSD ウェブサイト</ulink>
で入手することができます.
また, 他のさまざまな文書形式, 圧縮形式のものが
<ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">FreeBSD FTP
<ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc">FreeBSD FTP
サーバ</ulink>や数多くの<link linkend="mirrors">ミラーサイト</link>からダウンロードすること
ができます. このハンドブックの書籍版 (英語版) は,
<ulink url="http://www.freebsdmall.com/">FreeBSD Mall</ulink>
から購入することができ,
<ulink URL="http://www.FreeBSD.org/search/search.html"
>ハンドブックの検索</ulink>を行なうことも可能です.</para>
から購入することができ,
<ulink url="../../../../search/index.html">ハンドブックの検索</ulink>を行なうことも可能です.</para>
<para>日本語版の作成は FreeBSD
<para>FreeBSD ハンドブック日本語版の作成は FreeBSD
日本語ドキュメンテーションプロジェクト(FreeBSD doc-jp)がおこなっています.
日本語訳および, 日本語版のみに関することは FreeBSD &a.jp.doc-jp;
において日本語で議論されています.</para>
@ -122,15 +115,61 @@
<part>
<title>導入</title>
<partintro>
<para>FreeBSD ハンドブックの第 1 部はユーザと
FreeBSD が始めての管理者向けです. 各章の内容は以下のとおりです.</para>
<itemizedlist>
<listitem>
<para>FreeBSD を紹介します</para>
</listitem>
<listitem>
<para>インストールの手順を説明します</para>
</listitem>
<listitem>
<para>Unix の基本について教えます</para>
</listitem>
<listitem>
<para>FreeBSD で利用が可能な豊富なサードパーティ製のアプリケーションを
どのようにしてインストールするか例示します</para>
</listitem>
<listitem>
<para>Unix におけるウィンドウシステム X と
あなたをより創造的にしてくれるデスクトップ環境の設定の詳細を
紹介します</para>
</listitem>
</itemizedlist>
<para>このハンドブックでは頻繁にページを飛すことなく前から後へと
スムーズに読み進めるように,
後方への参照を極力抑えるようにしています.</para>
</partintro>
<![ %chap.introduction; [ &chap.introduction; ]]>
<![ %chap.install; [ &chap.install; ]]>
<![ %chap.basics; [ &chap.basics; ]]>
<![ %chap.ports; [ &chap.ports; ]]>
<![ %chap.x11; [ &chap.x11; ]]>
</part>
<part>
<title>システム管理</title>
<partintro>
<para>FreeBSD ハンドブックのこれより後の章では
FreeBSD のシステム管理の面について記述します.
各章では始めに, その章で学ぶ内容や
実際に取り組む前に知っておくべきことについて記述します.</para>
<para>各章は必要になるつど読み込めるように書かれています.
どの順番で読まなければならない等ということはなく,
FreeBSD を使い始める前に通読しておく必要もありません.</para>
</partintro>
<![ %chap.config; [ &chap.config; ]]>
<![ %chap.boot; [ &chap.boot; ]]>
<![ %chap.users; [ &chap.users; ]]>
@ -138,26 +177,13 @@
<![ %chap.security; [ &chap.security; ]]>
<![ %chap.printing; [ &chap.printing; ]]>
<![ %chap.disks; [ &chap.disks; ]]>
<![ %chap.backups; [ &chap.backups; ]]>
<![ %chap.x11; [ &chap.x11; ]]>
<![ %chap.l10n; [ &chap.l10n; ]]>
<![ %chap.sound; [ &chap.sound; ]]>
</part>
<part>
<title>ネットワーク通信</title>
<![ %chap.serialcomms; [ &chap.serialcomms; ]]>
<![ %chap.ppp-and-slip; [ &chap.ppp-and-slip; ]]>
<![ %chap.advanced-networking; [ &chap.advanced-networking; ]]>
<![ %chap.mail; [ &chap.mail; ]]>
</part>
<part>
<title>さらに進んだ話題</title>
<![ %chap.cutting-edge; [ &chap.cutting-edge; ]]>
<![ %chap.contrib; [ &chap.contrib; ]]>
<![ %chap.policies; [ &chap.policies; ]]>
<![ %chap.kerneldebug; [ &chap.kerneldebug; ]]>
<![ %chap.linuxemu; [ &chap.linuxemu; ]]>
@ -169,10 +195,10 @@
<![ %chap.mirrors; [ &chap.mirrors; ]]>
<![ %chap.bibliography; [ &chap.bibliography; ]]>
<![ %chap.eresources; [ &chap.eresources; ]]>
<![ %chap.staff; [ &chap.staff; ]]>
<![ %chap.pgpkeys; [ &chap.pgpkeys; ]]>
&chap.index;
<![ %chap.index; [ &chap.index; ]]>
</part>
&chap.colophon;
</book>
<!--

View file

@ -2,8 +2,8 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.2
Original revision: 1.3
$FreeBSD$
-->
<!DOCTYPE chapter PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN">
<!DOCTYPE chapter PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN">

View file

@ -2,8 +2,8 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.15
$FreeBSD: doc/ja_JP.eucJP/books/handbook/chapters.ent,v 1.7 2000/12/24 19:08:49 hrs Exp $
Original revision: 1.19
$FreeBSD$
Creates entities for each chapter in the FreeBSD Handbook. Each entity
is named chap.foo, where foo is the value of the id attribute on that
@ -27,27 +27,21 @@
<!ENTITY chap.security SYSTEM "security/chapter.sgml">
<!ENTITY chap.printing SYSTEM "printing/chapter.sgml">
<!ENTITY chap.disks SYSTEM "disks/chapter.sgml">
<!ENTITY chap.backups SYSTEM "backups/chapter.sgml">
<!ENTITY chap.x11 SYSTEM "x11/chapter.sgml">
<!ENTITY chap.l10n SYSTEM "l10n/chapter.sgml">
<!ENTITY chap.sound SYSTEM "sound/chapter.sgml">
<!-- Part three -->
<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml">
<!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.sgml">
<!ENTITY chap.advanced-networking SYSTEM "advanced-networking/chapter.sgml">
<!ENTITY chap.mail SYSTEM "mail/chapter.sgml">
<!-- Part four -->
<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml">
<!ENTITY chap.contrib SYSTEM "contrib/chapter.sgml">
<!ENTITY chap.linuxemu SYSTEM "linuxemu/chapter.sgml">
<!-- Part five (appendices) -->
<!-- Part three (appendices) -->
<!ENTITY chap.mirrors SYSTEM "mirrors/chapter.sgml">
<!ENTITY chap.bibliography SYSTEM "bibliography/chapter.sgml">
<!ENTITY chap.eresources SYSTEM "eresources/chapter.sgml">
<!ENTITY chap.staff SYSTEM "staff/chapter.sgml">
<!ENTITY chap.pgpkeys SYSTEM "pgpkeys/chapter.sgml">
<!ENTITY chap.index SYSTEM "index.sgml">
<!ENTITY chap.colophon SYSTEM "colophon.sgml">
<!ENTITY chap.jcontrib SYSTEM "jcontrib/chapter.sgml">

View file

@ -0,0 +1,35 @@
<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.4
$FreeBSD$
-->
<colophon>
<para>この本は <quote>The FreeBSD Documentation Project</quote>
に対するたくさんの人々の共同作業によって完成したものです.
文書は DocBook DTD を用いた SGML 形式で管理されており,
オープンソースの DSSSL エンジン
<application>Jade</application> を使って,
さまざまな可読形式に組版されています.
Jade に対するスタイルシートの指定は, Norm Walsh 氏による DSSSL
スタイルシートとカスタマイズレイヤを利用しました.
もし, Donald Knuth 氏による
組版言語 <application>TeX</application> および,
Leslie Lamport 氏による <application>LaTeX</application>,
Sebastian Rahtz 氏による <application>JadeTeX</application>
マクロパッケージがなかったら,
この文書の書籍版を実現することはできなかったでしょう.</para>
</colophon>
<!--
Local Variables:
mode: sgml
sgml-declaration: "chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("book.sgml" "part" "chapter")
End:
-->

View file

@ -0,0 +1,866 @@
<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.4
$FreeBSD$
-->
<chapter id="config-tuning">
<title>設定とチューニング</title>
<para>この章は &a.msmith; と &a.dillon; によって書かれたものをもとに,
&a.chern; と &a.murray によって書かれました.</para>
<sect1>
<title>この章では</title>
<indexterm><primary>System configuration</primary></indexterm>
<indexterm><primary>System optimization</primary></indexterm>
<para>システムを正しく設定することは,
作業の量を減らしメンテナンスや将来の更新の際の困難を減らします.
この章では FreeBSD システムの管理上の設定の側面について記述します.</para>
<para>またこの章では FreeBSD システムのパフォーマンスを最適化する
チューンについても記述します.</para>
</sect1>
<sect1 id="configtuning-initial">
<title>初期設定</title>
<sect2>
<title>パーティションのレイアウト</title>
<indexterm><primary>パーティションレイアウト</primary></indexterm>
<indexterm><primary>/etc</primary></indexterm>
<indexterm><primary>/var</primary></indexterm>
<indexterm><primary>/usr</primary></indexterm>
<sect3>
<title>基本パーティション</title>
<para>ファイルシステムのレイアウトを &man.disklabel.8; や
&man.sysinstall.8; で行う際, ハードディスクの外周部は
内周部よりもデータ転送が速いということを覚えておくことが大事です.
これに従えば,
ルートやスワップのような小さくて激しくアクセスされるファイルシステムを外周付近に,
/usr のようなより大きなパーティションはその内側に配置すべきでしょう.
そうするなら, パーティションを作成する際には, ルート, スワップ,
<filename>/var</filename>, <filename>/usr</filename>
のような順で作ってゆくのがよいでしょう.</para>
<para><filename>/var</filename> パーティションのサイズは
あなたが計算機をどのように使おうとしているかを反映します.
<filename>/var</filename> は主としてメールボックスやプリントスプール,
ログファイルの保持に使われます.
特にメールボックスとログファイルは,
あなたのシステムのユーザ数やログの保持期間に依存して予期し得ぬサイズにまで成長します.
もしあなたがメールサーバを運用する予定なら <filename>/var</filename>
パーティションはギガバイト以上のものがよいでしょう.
さらに, <filename>/var/tmp</filename> は追加したくなるかもしれない
パッケージを収められるだけの大きさが必要です.</para>
<para><filename>/usr</filename> パーティションはシステムを
サポートするのに必要なファイル群と,
&man.ports.7; 階層からインストールされたファイル群を収める
<filename>/usr/local</filename> と呼ばれるサブディレクトリを
その中に含みます.
ports をまったく使わずシステムのソース (/usr/src)
も不要だというのであれば, 1 ギガバイトの /usr
パーティションだけで充分です. しかし, ports
(特にウィンドウマネージャや Linux エミュレーションを使うバイナリ)
を少なからずインストールするのであれば
少なくとも /usr に 2 ギガバイトを薦め,
システムのソースも置こうというなら 3 ギガバイトの
<filename>/usr</filename> を推奨します.
このパーティションで必要になる量を過小評価してはいけません.
それは驚く程に蔓延るものなのです!</para>
<para>パーティションのサイズを考える時,
必要量にシステムの成長分を見込んでおいてください.
別のパーティションには潤沢にスペースが余っているのに,
あるパーティションでスペースが足らないままというのは
フラストレーションがたまるものです.</para>
<note><para>&man.sysinstall.8; の <literal>Auto-defaults</literal>
パーティションサイズを使ったことのある人なら,
そのルートや <filename>/var</filename> パーティションが
小さすぎることを知っているでしょう.
賢明かつ気前よくパーティションを切ってください.</para></note>
</sect3>
<sect3>
<title>スワップパーティション</title>
<indexterm><primary>swap サイズ</primary></indexterm>
<indexterm><primary>swap パーティション</primary></indexterm>
<para>経験からスワップサイズはメインメモリの 2 倍というのが一般的です.
つまり, 計算機のメモリが 128 メガバイトならばスワップファイルは
256 メガバイトになります. メモリの少ないシステムでは,
もっとスワップを増した方が性能がよくなります. 256
メガバイト未満のスワップでシステムを設計することはお薦めできません.
またスワップサイズを決める時に,
将来のメモリ増設のことも考えておくべきです.
カーネルの VM (訳註: virtual memory(仮想メモリ))
ページングアルゴリズムはスワップパーティションがメインメモリの
2 倍以上存在するときに最も性能を発揮するように設計されています.
スワップが少なすぎる設定は,
あなたが後にメモリを増設したときに問題を起すばかりではなく,
VM ページスキャニングのコードを能率を落します.</para>
<para>最後に, 複数の SCSI ディスク
(や異なるコントローラで操作される複数の IDE ディスク)
を持つ大規模なシステムでは, それぞれのドライブ
(4 台まで) にスワップを設定することを強く推奨します.
各ドライブのスワップパーティションはほぼ同一サイズであるべきです.
カーネルは任意のサイズを扱うことができますが,
内部のデータ構造は最大のスワップパーティションの 4 倍に調節されます.
スワップパーティションをほぼ同一のサイズにしておくことで
カーネルはスワップスペースを最適なかたちで
ディスクをまたいでストライブさせることができます.
こだわりすぎる必要はありません.
スワップスペースは UNIX のつつましい美点です.
あなたが通常スワップをたくさん使わないとしても,
プログラムが暴走してもリブートさせられる前に回復する時間を多く得られます.</para>
</sect3>
<sect3>
<title>何故パーティション化するのか?</title>
<para>何故パーティション化してしまうのでしょう?
何故巨大な root パーティション一発では駄目なのでしょう?
そうすれば容量が溢れるかもと心配しなくてもすむのに!</para>
<para>いくつかの理由からそれはよいアイデアとは言えません.
まず各パーティションはアクセスの特徴がそれぞれ異なっていて,
分離しておくことでそれぞれの特徴に応じたチューンができるようになるからです.
root パーティションや <filename>/usr</filename>
パーティションはほとんどが読み出しでわずかな書き込みがあるだけですが
<filename>/var</filename> や <filename>/var/tmp</filename>
パーティションでは大量の読み書きが発生します.</para>
<para>システムを適切にパーティション化することで
小さいが書き込みの激しいパーティションによって引き起こされる
フラグメント化を読み出し専門のパーティションにまで波及させずにすみます.
また書き込みの激しいパーティションをディスクの周辺部に配置することで,
たとえばパーティションテーブル内で大きなパーティションの後のかわりに前に配置することで,
それが最も必要とされているパーティションの
I/O パフォーマンスを増大させることができます.
大きなパーティション内の I/O
パフォーマンスもまた必要とされているでしょうが,
それらは大きすぎてディスク周辺部へ移動させてやったとしても
<filename>/var</filename>
を周辺部に移動させることによって大きな効果が得られたのとは対照的に
意味のあるパフォーマンスの増加は見込めないでしょう.
基本的にリードオンリーな root
パーティションを小さくまとめておくことで
不幸なクラッシュを生き延びるチャンスが増大します.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="configtuning-core-configuration">
<title>中核となる設定</title>
<indexterm>
<primary>rc files</primary>
<secondary><filename>rc.conf</filename></secondary>
</indexterm>
<para>システムの設定情報が収められている主な場所は
<filename>/etc/rc.conf</filename> です.
このファイルにはシステムの起動時にシステムの設定を行なうものをはじめ
多岐に渡る設定情報が含まれています.
そのファイル名はダイレクトに, それが <filename>rc*</filename>
ファイル群の設定情報であることを示しています.</para>
<para>管理者は <filename>/etc/defaults/rc.conf</filename>
のデフォルトの設定を rc.conf ファイルにエントリを作ることで上書きすべきです.
デフォルトのファイルをそのまま <filename>/etc</filename>
にコピーするのはやめるべきです.
それはデフォルト値であってサンプルではないのです.
システム固有のすべての変更は rc.conf ファイルの中でするべきです.</para>
<para>管理の手間を減らす為, クラスター化されたアプリケーションには
サイト共通の設定とシステム固有の設定を分離する様々な戦略が適用できます.
推奨されるアプローチは, サイト共通の設定は
<filename>/etc/rc.conf.site</filename> のような別のファイルに置き,
それをシステム固有の設定情報しか含ませない
<filename>/etc/rc.conf</filename> からインクルードすることです.</para>
<para><filename>rc.conf</filename> は &man.sh.1;
によって読み込まれているので, これはじつに簡単に達成できます.
たとえば,</para>
<itemizedlist>
<listitem><para>rc.conf:</para>
<programlisting> . rc.conf.site
hostname="node15.webcompany.com"
network_interfaces="fxp0 lo0"
ifconfig_fxp0="inet 10.1.1.1"</programlisting></listitem>
<listitem><para>rc.conf.site:</para>
<programlisting> defaultrouter="10.1.1.254"
saver="daemon"
blanktime="100"</programlisting></listitem>
</itemizedlist>
<para><filename>rc.conf.site</filename> ファイルは
<command>rsync</command> 等を使うことで全システムに配布でき,
一方 <filename>rc.conf</filename>
ファイルはユニークなままを保つことができます.</para>
<para>システムを &man.sysinstall.8; や 'make world' 等で
更新した場合 rc.conf ファイルは上書きされません.
なのでシステムの設定情報が失われることもありません.</para>
</sect1>
<sect1 id="configtuning-appconfig">
<title>アプリケーションの設定</title>
<para>基本的に, インストールされたアプリケーションは独自の文法を持つ
固有の設定ファイルを持ちます.
これらのファイルがベースシステムから分離されているということは重要で,
このためパッケージ管理ツールによる配置と管理が容易になっています.</para>
<indexterm><primary>/usr/local/etc</primary></indexterm>
<para>基本的に, それらのファイルは <filename>/usr/local/etc</filename>
にインストールされます.
設定ファイルの数が多数にのぼるアプリケーションに対しては,
それら用にサブディレクトリが作られます.</para>
<para>通常, ports やパッケージがインストールされると
設定ファイルのサンプルが一緒にインストールされます.
大抵, 識別のためにサフィックスとして ".default" がついています.
アプリケーションのための設定ファイルがまだ存在していなければ,
.defaults ファイルをコピーすることで作成できます.</para>
<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
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default
-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>
</sect1>
<sect1 id="configtuning-starting-services">
<title>サービスの起動</title>
<indexterm><primary>サービス</primary></indexterm>
<para>一つのシステムでサービスをいくつも立ち上げているということは
よくあることです. それらには独自の立ち上げかたがあることがあり,
それぞれ有利な点があります.</para>
<indexterm><primary>/usr/local/etc/rc.d</primary></indexterm>
<para>Ports collection やパッケージからインストールしたソフトウェアは
しばしば <filename>/usr/local/etc/rc.d</filename> にスクリプトを置き,
システムが起動した時には 'start', システムをシャットダウンする時には
'stop' の引数をつけてこれを実行します.
これは root によって実行されるべきであるようなシステムワイドな
サービスを起動する場合に推奨される方法です.
これらのスクリプトはパッケージの一部としてインストール時に記録され,
パッケージとともに削除されます.</para>
<para><filename>/usr/local/etc/rc.d</filename> にある
一般的なスクリプトは次のようなものです.</para>
<programlisting>#!/bin/sh
echo -n ' FooBar'
case "$1" in
start)
/usr/local/bin/foobar
;;
stop)
kill -9 `cat /var/run/foobar.pid`
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0
</programlisting>
<para>このスクリプトはその目的を果すべく起動時に <option>start</option>,
シャットダウン時に <option>stop</option> をつけて呼ばれます.</para>
<para>サービスの中には固有のポートに接続を受けたときに
&man.inetd.8; から起動されるものもあります.
これはメールリーダサーバ (POP や IMAP 等) の場合によくあります.
これらのサービスは <filename>/etc/inetd.conf</filename>
ファイルを編集することで有効化されます.
このファイルの編集に関する詳細は &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>
<note><para><filename>/etc/rc.conf</filename>
でその他のコマンドを実行<emphasis>しないでください</emphasis>.
そのかわり, デーモンの起動やブート時のコマンド実行は
<filename>/usr/local/etc/rc.d</filename> にスクリプトを配置してください.</para>
</note>
<para>この他にサービスの起動に &man.cron.8; を利用することもできます.
このアプローチには, cron がそのプロセスを
crontab のオーナ権限で実行したり, サービスが非特権ユーザによって
立ち上げられ管理されるなどといった有利な点がいくつもあります.</para>
<para>これで cron の文書化されていない機能の利点を得ることができます.
日時の指定を '@reboot' で置き換えることでジョブは
システムがブートした直後, cron が起動した時に実行されます.</para>
</sect1>
<sect1 id="configtuning-virtual-hosts">
<title>バーチャルホスト</title>
<indexterm><primary>バーチャルホスト</primary></indexterm>
<indexterm><primary>ip aliases</primary></indexterm>
<para>FreeBSD の非常にありふれた用途の一つにバーチャルサイトの
ホスティングがあります.
これは一つのサーバがネットワークには複数のサーバとして現れるものです.
これは一つのネットワークインタフェイスに
複数のアドレスを割当てることで実現されます.</para>
<para>ネットワークインタフェイスは "真の" アドレスを一つと
"別名" のアドレスを複数持ちます. これらの別名は通常
<filename>/etc/rc.conf</filename>
に別名のエントリを置くことで追加されます.</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>別名のネットマスクの計算は重要ですが, 幸いなことに非常に簡単です.
個々のインタフェイスについてそのネットワークのネットマスクを正しく
表現しているアドレスが必ず一つ必要です.
そのネットワークに所属しているそれ以外のアドレスのネットマスクは
全て 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>以下のエントリはネットワークインタフェイスを上述の環境に正しく
設定するものです.</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"
ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255"
ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255"
ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255"
ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240"
ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255"
ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255"
ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"</programlisting>
</sect1>
<sect1 id="configtuning-configfiles">
<title>設定ファイル</title>
<sect2>
<title><filename>/etc</filename> のレイアウト</title>
<para>設定のための情報が含まれているディレクトリはたくさんあります.
それぞれ以下のものを含んでいます.</para>
<informaltable frame="none">
<tgroup cols="2">
<tbody>
<row>
<entry><filename>/etc</filename></entry>
<entry>システム全般の設定情報. ここにあるデータはシステム
固有のものです.</entry>
</row>
<row>
<entry><filename>/etc/defaults</filename></entry>
<entry>デフォルトのシステム設定ファイル.</entry>
</row>
<row>
<entry><filename>/etc/mail</filename></entry>
<entry>追加的な sendmail の設定, 他の MTA の設定ファイル.
</entry>
</row>
<row>
<entry><filename>/etc/ppp</filename></entry>
<entry>ユーザモード, およびカーネルモードの ppp プログラムの設定.
</entry>
</row>
<row>
<entry><filename>/etc/namedb</filename></entry>
<entry>bind(8) のデータのデフォルトの置場. 通常
boot ファイルはここに置かれ, /var/db に置かれた他のデータを
参照するディレクティブを含みます.</entry>
</row>
<row>
<entry><filename>/usr/local/etc</filename></entry>
<entry>インストールされたアプリケーションの設定ファイル.
アプリケーションごとのサブディレクトリを含んでいることがあります.</entry>
</row>
<row>
<entry><filename>/usr/local/etc/rc.d</filename></entry>
<entry>インストールされたアプリケーションの起動/停止スクリプト.</entry>
</row>
<row>
<entry><filename>/var/db</filename></entry>
<entry>永続的なシステム固有のデータファイル. たとえば
bind(8) のゾーンファイル, データベースファイル等.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2>
<title>ホスト名</title>
<indexterm><primary>hostnames</primary></indexterm>
<indexterm><primary>DNS</primary></indexterm>
<sect3>
<title>/etc/resolv.conf</title>
<indexterm><primary>resolv.conf</primary></indexterm>
<para><filename>/etc/resolv.conf</filename> は FreeBSD に
インターネットドメインネームシステム (DNS)
にどのようにアクセスするかを指定します.</para>
<para><filename>resolv.conf</filename> の最もよくあるエントリは
</para>
<informaltable frame="none">
<tgroup cols="2">
<tbody>
<row>
<entry><literal>nameserver</literal></entry>
<entry>リゾルバが問い合わせるべきネームサーバの IP アドレス.
サーバはリストの順に 3 番目まで問い合わせられます.</entry>
</row>
<row>
<entry><literal>search</literal></entry>
<entry>ホスト名をルックアップする検索リスト.
通常, ローカルなホスト名のドメインから決定されます.</entry>
</row>
<row>
<entry><literal>domain</literal></entry>
<entry>ローカルドメイン名.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<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>
</sect3>
<sect3>
<title><filename>/etc/hosts</filename></title>
<indexterm><primary>hosts</primary></indexterm>
<para><filename>/etc/hosts</filename> は古きインターネットを
偲ばせるシンプルなテキストのデータベースです.
これはホスト名と IP アドレスをマッピングする DNS や NIS
と組み合わせて使われます. LAN でつながれているローカルな計算機は,
名前引きを簡単にするために
&man.named.8; サーバを立ち上げるかわりにここに書くことができます.
さらに <filename>/etc/hosts</filename>
はインターネット名のローカルなレコードを提供し,
よくアクセスされる名前を外部に問い合わせるのを減らすためにも使えます.</para>
<programlisting># &dollar;FreeBSD$
#
# Host Database
# This file should contain the addresses and aliases
# for local hosts that share this file.
# In the presence of the domain name service or NIS, this file may
# not be consulted at all; see /etc/nsswitch.conf for the resolution order.
#
#
::1 localhost localhost.my.domain myname.my.domain
127.0.0.1 localhost localhost.my.domain myname.my.domain
#
# Imaginary network.
#10.0.0.2 myname.my.domain myname
#10.0.0.3 myfriend.my.domain myfriend
#
# According to RFC 1918, you can use the following IP networks for
# private nets which will never be connected to the Internet:
#
# 10.0.0.0 - 10.255.255.255
# 172.16.0.0 - 172.31.255.255
# 192.168.0.0 - 192.168.255.255
#
# In case you want to be able to connect to the Internet, you need
# real official assigned numbers. PLEASE PLEASE PLEASE do not try
# to invent your own network numbers but instead get one from your
# network provider (if any) or from the Internet Registry (ftp to
# rs.internic.net, directory `/templates').
#</programlisting>
<para><filename>/etc/hosts</filename> は,
次のようなごく簡単なフォーマットになっています.</para>
<programlisting>[インターネットアドレス] [正式なホスト名] [別名1] [別名2] ...</programlisting>
<para>例:</para>
<programlisting>10.0.0.1 myRealHostname.foobar.com myRealHostname foobar1 foobar2</programlisting>
<para>これ以上の情報は &man.hosts.5; をあたってください.</para>
</sect3>
</sect2>
<sect2>
<title>ログファイルに関係する設定</title>
<indexterm><primary>log files</primary></indexterm>
<sect3>
<title><filename>syslog.conf</filename></title>
<indexterm><primary>syslog.conf</primary></indexterm>
<para><filename>syslog.conf</filename>
は &man.syslogd.8; プログラムのための設定ファイルです.
これはどのタイプの syslog メッセージを対応する
ログファイルに記録するかを指定します.</para>
<programlisting># $FreeBSD&dollar;
#
# Spaces ARE valid field separators in this file. However,
# other *nix-like systems still insist on using tabs as field
# separators. If you are sharing this file between systems, you
# may want to use only tabs as field separators here.
# Consult the syslog.conf(5) manpage.
*.err;kern.debug;auth.notice;mail.crit /dev/console
*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.* /var/log/security
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
cron.* /var/log/cron
*.err root
*.notice;news.err root
*.alert root
*.emerg *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
#*.* /var/log/all.log
# uncomment this to enable logging to a remote loghost named loghost
#*.* @loghost
# uncomment these if you're running inn
# news.crit /var/log/news/news.crit
# news.err /var/log/news/news.err
# news.notice /var/log/news/news.notice
!startslip
*.* /var/log/slip.log
!ppp
*.* /var/log/ppp.log</programlisting>
<para>これ以上の情報は &man.syslog.conf.5; のマニュアルページに
あたってください.</para>
</sect3>
<sect3>
<title><filename>newsyslog.conf</filename></title>
<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>
<para><filename>newsyslog.conf</filename>
はどのログファイルが管理され, どのくらいの期間保存され,
そしていつ touch されるかを指定します.
ログファイルはあるサイズに到達するか, ある決められた時刻・
日時で再編されあるいは保存されます.</para>
<programlisting># configuration file for newsyslog
# $FreeBSD&dollar;
#
# logfilename [owner:group] mode count size when [ZB] [/pid_file] [sig_num]
/var/log/cron 600 3 100 * Z
/var/log/amd.log 644 7 100 * Z
/var/log/kerberos.log 644 7 100 * Z
/var/log/lpd-errs 644 7 100 * Z
/var/log/maillog 644 7 * @T00 Z
/var/log/sendmail.st 644 10 * 168 B
/var/log/messages 644 5 100 * Z
/var/log/all.log 600 7 * @T00 Z
/var/log/slip.log 600 3 100 * Z
/var/log/ppp.log 600 3 100 * Z
/var/log/security 600 10 100 * Z
/var/log/wtmp 644 3 * @01T05 B
/var/log/daily.log 640 7 * @T00 Z
/var/log/weekly.log 640 5 1 $W6D0 Z
/var/log/monthly.log 640 12 * $M1D0 Z
/var/log/console.log 640 5 100 * Z</programlisting>
<para>これ以上の情報は &man.newsyslog.8; のマニュアルページに
あたってください.</para>
</sect3>
</sect2>
<sect2>
<title><filename>sysctl.conf</filename></title>
<indexterm><primary>sysctl.conf</primary></indexterm>
<indexterm><primary>sysctl</primary></indexterm>
<para><filename>sysctl.conf</filename> は
<filename>rc.conf</filename> によく似ています.
値は変数=値のかたちでセットされます.
指定された値はシステムがマルチユーザモードに移行した後でセットされます.
すべての変数がこのモードで設定可能というわけではありません.</para>
<para>以下は <filename>sysctl.conf</filename> のサンプルで
致命的なシグナルを記録しないように, また Linux プログラムに
それらが実際は FreeBSD 上で動いていることを知らせる様に
チューニングしています.</para>
<programlisting>kern.logsigexit=0 # Do not log fatal signal exits (e.g. sig 11)
compat.linux.osname=FreeBSD
compat.linux.osrelease=4.3-STABLE</programlisting>
</sect2>
</sect1>
<sect1 id="configtuning-sysctl">
<title>sysctl によるチューニング</title>
<indexterm><primary>sysctl</primary></indexterm>
<indexterm><primary>sysctl によるチューニング</primary></indexterm>
<para>&man.sysctl.8; は稼働中の FreeBSD
システムに変更を加えるためのインタフェイスです.
これには経験を積んだ管理者用の TCP/IP スタックへや
仮想メモリシステムのパフォーマンスを劇的に改善する
先進的なオプションが含まれます.
500 を越えるシステム変数を &man.sysctl.8; で読んだり
セットしたりできます</para>
<para>中心において &man.sysctl.8; の機能は以下の二つに尽きます.
すなわちシステムの設定を読んで変更することです.</para>
<para>読むことができるすべての変数を表示するには以下のようにします.</para>
<screen>&prompt.user; <userinput>sysctl -a</userinput></screen>
<para>個々の変数, たとえば
<literal>kern.maxproc</literal> を読むには以下のようにします.</para>
<screen>&prompt.user; <userinput>sysctl kern.maxproc</userinput>
kern.maxproc: 1044</screen>
<para>個々の変数をセットするには <literal>=</literal>
オプションを使います.</para>
<screen>&prompt.root; <userinput>sysctl kern.maxfiles=5000</userinput>
kern.maxfiles: 2088 -> 5000</screen>
<para>sysctl 変数の値は通常, 文字列, 数値, 真偽値のいずれかです.
真偽値は yes の場合には 1 で no の場合には 0 です.</para>
</sect1>
<sect1 id="configtuning-disk">
<title>ディスクのチューニング</title>
<sect2>
<title>sysctl 変数</title>
<sect3>
<title>vfs.vmiodirenable</title>
<indexterm><primary>vfs.vmiodirenable</primary></indexterm>
<para><varname>vfs.vmiodirenable</varname> sysctl
はデフォルトは 0 (オフ) であり (しかし近いうちにデフォルトが 1
になるでしょう), 0 (オフ) または 1 (オン) にセットすることができます.
このパラメータはディレクトリがシステムによってどのように
キャッシュされるかを制御します.
ほとんどのディレクトリは小さく,
ファイルシステムにおいては単一フラグメント (典型的には 1K)
であり, バッファキャッシュではさらに小さくなっています
(典型的には 512 バイト).
しかしデフォルトモードで動作している時は,
大量のメモリを搭載していても
バッファキャッシュは固定数のディレクトリしかキャッシュしません.
この sysctl をオンにすると、バッファキャッシュが VM ページキャッシュを,
ディレクトリをキャッシュするために使うことを可能にします.
これによる利点は, 全てのメモリがディレクトリを
キャッシュするのに使えるようになるということです.
欠点は, キャッシュに使われる最小のメモリの大きさが 512 バイトではなく
物理ページサイズ (大抵は 4K) になることです.
多数のファイルを操作するサービスを稼動しているなら,
常にこのオプションをオンにすることを推奨します.
そのようなサービスには, web キャッシュや大規模なメールシステム,
ニューズシステムなどが含まれます.
このオプションは一般にメモリを消費しますが,
性能を削減することはありません.
ただし実験して調べてみるべきでしょう.</para>
</sect3>
<sect3>
<title>hw.ata.wc</title>
<indexterm><primary>hw.ata.wc</primary></indexterm>
<para>FreeBSD 4.3 では IDE のライトキャッシュがオフになりました.
これは IDE
ディスクへの書き込み帯域幅を減らしてしまうことになりますが,
ハードドライブベンダに起因するデータの一貫性に関する
重大な問題のために必要なことだと考えられました.
基本的には, 書き込み完了時期について IDE
ドライブが嘘をつくという問題です.
IDE ライトキャッシュがオンであると
IDE ハードドライブはデータを順番に書きこまないばかりか,
ディスクの負荷が高い時にはいくつかのブロックの書き込みを
無期限に延期してしまいます. クラッシュや電源故障の場合,
ファイルシステムの重大な破壊をもたらします.
したがって私たちはデフォルトを安全側に変更しました.
残念ながらこれは大変な性能の低下をもたらし,
私たちはあきらめてこのリリース後にオンに戻しました.
hw.ata.wc sysctl 変数を見てデフォルトをチェックしてみるべきです.
もし IDE ライトキャッシュがオフになっていたら,
hw.ata.wc カーネル変数を 1 に戻すことでオンに戻すことができます.
これはブート時にブートローダから行わなければなりません.
カーネルがブートした後に行っても効果はありません.</para>
<para>&man.ata.4; を見てください.</para>
</sect3>
</sect2>
<sect2>
<title>ソフトアップデート</title>
<indexterm><primary>ソフトアップデート</primary></indexterm>
<indexterm><primary>tunefs</primary></indexterm>
<para>&man.tunefs.8; はファイルシステムを fine チューンするのに使えます.
この目的においてはソフトアップデートをオンオフすることを
考えるだけですみます. 以下の様にしてトグルします.</para>
<screen>&prompt.root; tunefs -n enable /filesystem
&prompt.root; tunefs -n disable /filesystem</screen>
<para>ファイルシステムはマウントされているあいだは &man.tunefs.8;
で変更することができません. ソフトアップデートを有効にする
いい機会はシングルユーザモードでどのパーティションもマウント
されていない時です.</para>
<para>softupdates はメタデータの性能,
主にファイルの作成と削除の性能を劇的に改善します.
全てのファイルシステムで softupdates を有効にすることを推奨します.
softupdates に関して, 2 つの欠点を意識すべきです.
1 つめは, softupdates
はクラッシュ時におけるファイルシステムの一貫性は保証しますが,
物理ディスクの更新が何秒か (1 分になることもあります!)
遅れる可能性が高いことです.
クラッシュした場合, より多くの成果が消えてしまうかもしれません.
2 つめは, softupdates
はファイルシステムブロックを解放するのを遅らせるということです.
あるファイルシステム (例えばルートファイルシステム) が満杯近くの時に
それに対する大規模な更新, たとえば make installworld
をすると, 空き領域を使い果たして更新が失敗してしまうことがあります.
</para>
</sect2>
</sect1>
<sect1 id="configtuning-kernel-limits">
<title>kernel の制限をチューニングする</title>
<indexterm><primary>kernel の制限をチューニングする</primary></indexterm>
<sect2>
<title>File/process 制限</title>
<sect3>
<title>kern.maxfiles</title>
<indexterm><primary>kern.maxfiles</primary></indexterm>
<para><varname>kern.maxfiles</varname> はあなたのシステムの要求に
応じて増減させることができます.
この変数はあなたのシステムのファイル記述子の最大値を示します.
ファイル記述子テーブルが溢れるような時には dmesg に頻繁に
<literal>file: table is full</literal>
と表示されます.</para>
<para>ファイル, ソケット, パイプ(fifo) は
それぞれオープンされるとファイル記述子を一つ消費します.
大規模なプロダクションサーバでは
その時実行されているサービスの種類や数に応じては
あっさり数千のファイル記述子が必要になります.</para>
<para><varname>kern.maxfile</varname> のデフォルト値は
kernel config ファイルの maxusers オプションで決ります.
<varname>kern.maxfiles</varname> は maxusers の値に応じて増加します.
</para>
</sect3>
</sect2>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->

File diff suppressed because it is too large Load diff

View file

@ -2,8 +2,8 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.26
$FreeBSD: doc/ja_JP.eucJP/books/handbook/disks/chapter.sgml,v 1.8 2000/12/25 15:48:39 hrs Exp $
Original revision: 1.27
$FreeBSD$
-->
<chapter id="disks">
@ -941,6 +941,190 @@ Filesystem 1K-blocks Used Avail Capacity Mounted on
<screen>&prompt.root; <userinput>kill -HUP `cat /var/run/inetd.pid`</userinput></screen>
</sect2>
</sect1>
<sect1 id="creating-cds">
<title>CD の作成</title>
<para><emphasis>寄稿: Mike Meyer
<email>mwm@mired.org</email>, 2001 年 4 月.</emphasis></para>
<sect2>
<title>はじめに</title>
<para>CD は他の一般的なディスクと異なる様々な特徴を持っています.
そもそもユーザが書き込むことができません.
また遅延なしで連続的に読み出せるように,
トラック間をヘッドが移動しないですむようにデザインされています.
さらにこのサイズのメディアの中では最もシステム間での転送が簡単なものです.</para>
<para>CD はトラックの概念を持っていますが,
これはデータを連続的に読み出すためのものであってディスクの物理属性ではありません.
FreeBSD に CD を提供するにあたっては,
まず CD 上のトラックとなるデータファイルを処理し,
そのトラックを CD に書き込みます.</para>
<para>ISO 9660 ファイルシステムはこの様な差異を扱うべく設計されました.
残念ながらファイルシステムは標準的なものに制限されるような明文化がされてしまいましたが,
適切に書かれた CD がその拡張をサポートしないシステムでも動作する範囲でこの制限を越えられるようにこれを拡張する機構が提供されています.</para>
<para><command><link linkend="mkisofs">mkisofs</link></command>
プログラムは ISO 9660 ファイルシステムを持つデータファイルを作成するのに使われます.
これには様々な拡張をサポートするオプションがあり,
それは以下に書かれています. あなたはそれを ports の
<filename>/usr/ports/sysutils/mkisofs</filename>
からインストールすることができます.</para>
<para>CD を焼くためのツールはあなたの CD ライタが ATAPI か否かにも依存します.
ATAPI CD ライタはベースシステムの一部である <command><link
linkend="burncd">burncd</link></command> プログラムを使います.
SCSI や USB の CD ライタは ports の
<filename>/usr/ports/sysutils/cdrecord</filename> から
<command><link linkend="cdrecord">cdrecord</link></command>
を使わなければなりません.</para>
</sect2>
<sect2 id="mkisofs">
<title>mkisofs</title>
<para><command>mkisofs</command> は Unix
ファイルシステムの名前空間でのディレクトリツリーのイメージである
ISO 9660 ファイルシステムを作成します.
最も簡単な使い方は以下の通りです.</para>
<screen>&prompt.root; <userinput>mkisofs <option>-o</option> <replaceable>imagefile.iso</replaceable> <replaceable>/path/to/tree</replaceable></userinput></screen>
<para>このコマンドは <replaceable>/path/to/tree</replaceable>
以下のディレクトリツリーのコピーである ISO 9660
ファイルシステムを含む <replaceable>imagefile</replaceable>
を作成します. プロセスにおいて, ファイル名は標準的な ISO 9660
ファイルシステムの制限に適合するようなファイル名に対応づけられ,
ISO ファイルシステムの特徴を持たないファイル名のファイルを含めることができます.
この過程の詳細とオプションについては
&man.mkisofs.8; を読んでください.</para>
<para>制限を回避するオプションはいくつもあります.
<option>-R</option> は Unix システムで標準的な Rock Ridge
拡張を可能にします. <option>-J</option> は Microsoft
のシステムで標準的な Joliet 拡張を可能にし, <option>-hfs</option>
は Mac で使われている HFS ファイルシステムを作るために使われます.
後の二つについてのこれ以上の情報は &man.mkisofs.8;
を読んでください.</para>
<para>FreeBSD でしか使わないのであれば <option>-U</option>
があらゆるファイル名制限を無効にするのに使えます.
さらに <option>-R</option> とともに使うことで
FreeBSD と同一のファイルシステムイメージを作成できますが,
これは ISO 9660 標準の多数を無視しています.</para>
<para>一般的に使われるオプションの最後のものは <option>-b</option> です.
これは <quote>El Torito</quote>
ブータブル CD を作成するのに使うブートイメージのありかを指示します.
このオプションは引数としてブートイメージへのパスを,
CD に書き込まれるディレクトリツリーのトップからの相対位置で取ります.
よって <filename>/tmp/myboot</filename> がブート可能な
FreeBSD システムで <filename>/tmp/myboot/boot/cdboot</filename>
にブートイメージがあるならば, 以下のようにすることで ISO 9660
ファイルシステムのイメージを
<filename>/tmp/bootable.iso</filename> に作成することができます.</para>
<screen>&prompt.root; <userinput>mkisofs <option>-U</option> <option>-R</option> <option>-b</option> <filename>boot/cdboot</filename> <option>-o</option> <filename>/tmp/bootable.iso</filename> <filename>/tmp/myboot</filename></userinput></screen>
<para>この後, カーネルで vn が設定されていれば,
ファイルシステムを以下のようにしてマウントすることができます.</para>
<screen>&prompt.root; <userinput>vnconfig <option>-e</option> <filename>vn0c</filename> <filename>/tmp/bootable.iso</filename></userinput>
&prompt.root; <userinput>mount <option>-t</option> cd9660 <filename>/dev/vn0c</filename> <filename>/mnt</filename></userinput></screen>
<para>あなたが確認すべきは <filename>/mnt</filename>
と <filename>/tmp/myboot</filename> が同一かどうかです.</para>
<para><command>mkisofs</command>
には挙動を細かく制御するためにたくさんのオプションがあります.
詳細は &man.mkisofs.8; を見てください.</para>
</sect2>
<sect2 id="burncd">
<title>burncd</title>
<para>あなたが持っているのが ATAPI CD ライタならば CD 上に ISO
イメージを焼くのために <command>burncd</command> コマンドが使えます.
<command>burncd</command> はベースシステムの一部で
<filename>/usr/sbin/burncd</filename> としてインストールされています.
使い方はとても単純でオプションも少ししかありません.</para>
<screen>&prompt.root; <userinput>burncd <option>-f</option> <replaceable>cddevice</replaceable> data <replaceable>imagefile.iso</replaceable> fixate</userinput></screen>
<para>以上のコマンドは <replaceable>imagefile.iso</replaceable>
のコピーを <replaceable>cddevice</replaceable> 上に焼付けます.
デフォルトのデバイスは <filename>/dev/acd0</filename> です.
書きこみ速度やフロッピーのイジェクト,
オーディオデータの書き込みなどのオプションについては &man.burncd.8;
を見てください.</para>
</sect2>
<sect2 id="cdrecord">
<title>cdrecord</title>
<para>あなたが持っている CD ライタが ATAPI ではないのでしたら
CD を書き込むのに <command>cdrecord</command> を使わねばなりません.
<command>cdrecord</command> はベースシステムの一部ではなく,
<filename>/usr/ports/sysutils/cdrecord</filename> から ports
としてかそのパッケージをインストールするしなければなりません.
ベースシステムへの変更はこのプログラムのバージョンを途切れさせ,
<quote>コースター</quote>を作ることになるでしょう.
それゆえシステムをアップグレードするつど ports もアップグレードし,
あるいはあなたが<link
linkend="stable">FreeBSD の安定版を追い掛けている</link>のならば,
新しいバージョンが利用できるようになった時に ports
をアップグレードする必要があります.</para>
<para><command>cdrecord</command> にはたくさんのオプションがありますが,
基本的な使い方は <command>burncd</command> と同様です.
ISO 9660 イメージを書き込むには以下のようにします.</para>
<screen>&prompt.root; <userinput>cdrecord <option>dev=</option><replaceable>device</replaceable> <replaceable>imagefile.iso</replaceable></userinput></screen>
<para><command>cdrecord</command> のトリッキーな部分は使う
<option>dev</option> を見つけるところにあります.
適切な設定を見つけるためには <command>cdrecord</command> の
<option>-scanbus</option> フラグを使います.
それは以下のような結果を出力するはずです.</para>
<screen>&prompt.root; <userinput>cdrecord <option>-scanbus</option></userinput>
Cdrecord 1.9 (i386-unknown-freebsd4.2) Copyright (C) 1995-2000 J&ouml;rg Schilling
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk
0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk
0,2,0 2) *
0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk
0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) *
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM
1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner
1,7,0 107) *
</screen>
<para>リストにあるデバイスに対する適切な <option>dev</option>
の値がここに示されています.
あなたの CD ライタをこのリストから見つけ,
カンマで区切られた 3 つの数値を <option>dev</option>
の値として使ってください.
この例では CRW デバイスは 1,5,0 なので適切な入力は
<userinput><option>dev</option>=1,5,0</userinput> となります.
値を明示するもっと簡単な方法もあります.
詳細は &man.cdrecord.1; を見てください.
そこにはオーディオトラックを書き込む方法や書きこみ速度その他を操作する方法も書かれています.</para>
</sect2>
</sect1>
</chapter>
<!--

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff