diff --git a/ja_JP.eucJP/man/man8/Makefile b/ja_JP.eucJP/man/man8/Makefile index 406579dc19..e42fa994f4 100644 --- a/ja_JP.eucJP/man/man8/Makefile +++ b/ja_JP.eucJP/man/man8/Makefile @@ -1,366 +1,367 @@ # $FreeBSD$ MAN8 = IPXrouted.8\ MAKEDEV.8\ ac.8\ accton.8\ adding_user.8\ adduser.8\ adjkerntz.8\ amd.8\ amq.8\ ancontrol.8\ apm.8\ apmd.8\ arp.8\ asf.8\ atacontrol.8\ atm.8\ atmarpd.8\ atrun.8\ badsect.8\ boot0cfg.8\ boot_i386.8\ bootparamd.8\ bootpd.8\ bootpef.8\ bootptest.8\ bsdlabel.8\ btxld.8\ burncd.8\ camcontrol.8\ ccdconfig.8\ chat.8\ chkgrp.8\ chkprintcap.8\ chown.8\ chroot.8\ clri.8\ comcontrol.8\ comsat.8\ config.8\ conscontrol.8\ crash.8\ cron.8\ cvsbug.8\ daemon.8\ devd.8\ devfs.8\ devinfo.8\ dhclient-script.8\ dhclient.8\ digictl.8\ diskless.8\ dmesg.8\ dump.8\ dumpfs.8\ dumpon.8\ editmap.8\ edquota.8\ extattrctl.8\ faithd.8\ fdcontrol.8\ fdisk.8\ ffsinfo.8\ fingerd.8\ fixmount.8\ fore_dnld.8\ fsck.8\ fsck_ffs.8\ fsck_msdosfs.8\ fsdb.8\ fsinfo.8\ fsirand.8\ ftpd.8\ getfmac.8\ getpmac.8\ getty.8\ growfs.8\ hlfsd.8\ ifconfig.8\ ifmcstat.8\ ilmid.8\ inetd.8\ init.8\ intro.8\ iostat.8\ ip6fw.8\ ipf.8\ ipfs.8\ ipfstat.8\ ipfw.8\ ipmon.8\ isdnd.8\ isdndebug.8\ isdndecode.8\ isdnmonitor.8\ isdnphone.8\ isdntel.8\ isdntelctl.8\ isdntrace.8\ ispcvt.8\ jail.8\ jexec.8\ jls.8\ kerberos.8\ kernbb.8\ keyserv.8\ kgmon.8\ kgzip.8\ kldconfig.8\ kldload.8\ kldstat.8\ kldunload.8\ kldxref.8\ ktrdump.8\ lastlogin.8\ ldconfig.8\ loader.4th.8\ loader.8\ locate.updatedb.8\ lpc.8\ lpd.8\ lptcontrol.8\ mail.local.8\ mailstats.8\ mailwrapper.8\ makekey.8\ makemap.8\ makewhatis.local.8\ manctl.8\ map-mbone.8\ mdconfig.8\ memcontrol.8\ mergemaster.8\ mixer.8\ mk-amd-map.8\ mknetid.8\ mknod.8\ mksnap_ffs.8\ mld6query.8\ mlxcontrol.8\ mount.8\ mount_cd9660.8\ mount_ext2fs.8\ mount_msdosfs.8\ mount_nfs.8\ mount_ntfs.8\ mount_nullfs.8\ mount_nwfs.8\ mount_portalfs.8\ mount_smbfs.8\ mount_std.8\ mount_udf.8\ mount_umapfs.8\ mount_unionfs.8\ mountd.8\ moused.8\ mrinfo.8\ mrouted.8\ mtest.8\ mtrace.8\ mtree.8\ named-bootconf.8\ named-xfer.8\ named.8\ named.reload.8\ named.restart.8\ natd.8\ ndc.8\ ndp.8\ newfs.8\ newfs_msdos.8\ newkey.8\ newsyslog.8\ nextboot.8\ nfsd.8\ nfsiod.8\ ngctl.8\ nghook.8\ nologin.8\ nos-tun.8\ nslookup.8\ nsupdate.8\ ntp-genkeys.8\ ntpd.8\ ntpdate.8\ ntpdc.8\ ntpq.8\ ntptime.8\ ntptrace.8\ pac.8\ pam_opie.8\ pam_opieaccess.8\ pam_radius.8\ pam_ssh.8\ pam_tacplus.8\ pccardc.8\ pccardd.8\ pciconf.8\ periodic.8\ picobsd.8\ ping.8\ ping6.8\ pnpinfo.8\ ppp.8\ pppctl.8\ pppd.8\ pppoed.8\ pppstats.8\ praliases.8\ procctl.8\ pstat.8\ pw.8\ pwd_mkdb.8\ pxeboot.8\ quot.8\ quotacheck.8\ quotaon.8\ rarpd.8\ raycontrol.8\ rbootd.8\ rc.8\ rc.sendmail.8\ rcorder.8\ reboot.8\ renice.8\ repquota.8\ rescue.8\ restore.8\ revnetgroup.8\ rexecd.8\ rip6query.8\ rlogind.8\ rmail.8\ rmextattr.8\ rmt.8\ rmuser.8\ route.8\ route6d.8\ routed.8\ rpc.lockd.8\ rpc.rquotad.8\ rpc.rstatd.8\ rpc.rusersd.8\ rpc.rwalld.8\ rpc.sprayd.8\ rpc.statd.8\ rpc.umntall.8\ rpc.yppasswdd.8\ rpc.ypxfrd.8\ rpcbind.8\ rpcinfo.8\ rrenumd.8\ rshd.8\ rtadvd.8\ rtquery.8\ rtsold.8\ rwhod.8\ sa.8\ savecore.8\ scspd.8\ sendmail.8\ setfmac.8\ setfsmac.8\ setkey.8\ setpmac.8\ sftp-server.8\ showmount.8\ shutdown.8\ sicontrol.8\ slattach.8\ sliplogin.8\ slstat.8\ smrsh.8\ spkrtest.8\ spppcontrol.8\ spray.8\ ssh-keysign.8\ sshd.8\ sticky.8\ strfile.8\ swapon.8\ sync.8\ sysctl.8\ sysinstall.8\ syslogd.8\ talkd.8\ tcpdchk.8\ tcpdmatch.8\ telnetd.8\ tftpd.8\ timed.8\ timedc.8\ traceroute.8\ traceroute6.8\ trpt.8\ tunefs.8\ tzsetup.8\ ugidfw.8\ umount.8\ usbd.8\ usbdevs.8\ vinum.8\ vipw.8\ vmstat.8\ watch.8\ wicontrol.8\ wire-test.8\ wlconfig.8\ yp.8\ yp_mkdb.8\ ypbind.8\ ypinit.8\ yppoll.8\ yppush.8\ ypserv.8\ ypset.8\ ypxfr.8\ zdump.8\ zic.8\ zzz.8 MLINKS+=apm.8 apmconf.8 MLINKS+=boot_i386.8 boot.8 MLINKS+=bootpd.8 bootpgw.8 MLINKS+=bsdlabel.8 disklabel.8 MLINKS+=dump.8 rdump.8 MLINKS+=inetd.8 inetd.conf.5 MLINKS+=init.8 securelevel.8 MLINKS+=locate.updatedb.8 updatedb.8 MLINKS+=makewhatis.local.8 catman.local.8 MLINKS+=mdconfig.8 vnconfig.8 MLINKS+=mount_std.8 mount_devfs.8 MLINKS+=mount_std.8 mount_fdescfs.8 MLINKS+=mount_std.8 mount_procfs.8 MLINKS+=mount_std.8 mount_linprocfs.8 +MLINKS+=named.reload.8 named.reconfig.8 MLINKS+=pstat.8 swapinfo.8 MLINKS+=quotaon.8 quotaoff.8 MLINKS+=rc.8 rc.atm.8 MLINKS+=rc.8 rc.early.8 MLINKS+=rc.8 rc.firewall.8 MLINKS+=rc.8 rc.local.8 MLINKS+=rc.8 rc.network.8 MLINKS+=rc.8 rc.pccard.8 MLINKS+=rc.8 rc.serial.8 MLINKS+=rc.8 rc.shutdown.8 MLINKS+=rc.8 rc.d.8 MLINKS+=reboot.8 halt.8 MLINKS+=reboot.8 fastboot.8 MLINKS+=reboot.8 fasthalt.8 MLINKS+=restore.8 rrestore.8 MLINKS+=rmextattr.8 setextattr.8 MLINKS+=rmextattr.8 getextattr.8 MLINKS+=rmextattr.8 lsextattr.8 MLINKS+=rpc.lockd.8 lockd.8 MLINKS+=rtsold.8 rtsol.8 MLINKS+=slattach.8 slip.8 MLINKS+=strfile.8 unstr.8 MLINKS+=swapon.8 swapoff.8 MLINKS+=swapon.8 swapctl.8 MLINKS+=yp.8 NIS.8 MLINKS+=yp.8 YP.8 MLINKS+=yp.8 nis.8 MLINKS+=fsck_ffs.8 fsck_ufs.8 MLINKS+=fsck_ffs.8 fsck_4.2bsd.8 .include "bsd.prog.mk" diff --git a/ja_JP.eucJP/man/man8/boot_i386.8 b/ja_JP.eucJP/man/man8/boot_i386.8 index 17052482b2..eec7a8269a 100644 --- a/ja_JP.eucJP/man/man8/boot_i386.8 +++ b/ja_JP.eucJP/man/man8/boot_i386.8 @@ -1,370 +1,370 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software written and contributed .\" to Berkeley by William Jolitz. .\" .\" Almost completely rewritten for FreeBSD 2.1 by Joerg Wunsch. .\" .\" Substantially revised for FreeBSD 3.1 by Robert Nordier. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)boot_i386.8 8.2 (Berkeley) 4/19/94 .\" -.\" %FreeBSD: src/sbin/reboot/boot_i386.8,v 1.46.2.1 2004/09/30 04:33:52 brooks Exp % +.\" %FreeBSD: src/sbin/reboot/boot_i386.8,v 1.46.2.2 2005/02/12 15:18:11 brueffer Exp % .\" $FreeBSD$ .\" .Dd September 23, 2004 .Dt BOOT 8 i386 .Os .Sh 名称 .Nm boot .Nd システム立上げ時の手続き .Sh 解説 .Sy 電源断とクラッシュからの回復。 通常、電源復旧時とクラッシュ発生後には、システムは自動的にリブートし ます。ファイルシステムの整合性チェックが自動実行され、途中で失敗しな ければ、システムはマルチユーザ・モードに移行します。 .Pp .Sy コールドスタート。 大多数の i386 PC は、まずフロッピドライブ 0 (ドライブ A: ともいう) からのブートを試み、 それに失敗すると、 ハードディスクドライブ 0 (ドライブ C: もしくは BIOS のドライブ 0x80 ともいう) からブートしようとします。 いくつかの BIOS では、このデフォルトの順序を変えたり、 CD-ROM デバイスをブートデバイスとして含めることができます。 .Pp デフォルトでは 3 段階のブートストラップが使用され、 ブートブロック (ブートストラップの 第 1 および 第 2 段階) から、 これとは別の第 3 段階のブートストラッププログラム .Xr loader 8 へと自動的に制御が移行されます。 この第 3 段階では、 ブート処理において、 ブートブロックにおいて可能なことよりも洗練された制御を提供します。 ブートブロックには、 ディスクやスライスの限られた空間しか与えられないという制約があります。 .Pp しかしながら、第 3 段階をまったく使用せずに済ますこともできます。 このようにするには、ブートブロックパラメータファイル .Pa /boot.config においてカーネル名を指定するか、 .Fl n 無指定時には .Xr loader 8 が起動される前の短い待ち時間 (文字 .Sy - , .Sy \e , .Sy \&| , .Sy / のいずれかが表示されている間) にキーを打ちます。 第 3 段階をロードできない場合にも、第 2 段階においてブートが試みられます。 .Pp .Pa /boot.config は .Ql a パーティションからだけ読み取れることに注意して下さい。 結果として、 .Ql a パーティションのないスライスでは、ブートの過程でユーザが介入する必要があります。 .Pp 本サブセクションの残りの部分では、ブートブロックについてのみ扱います。 .Xr loader 8 プログラムの文書は別にあります。 .Pp ブートブロックがロードされたあとで、次のようなプロンプトが現れます。 .Bd -literal >> FreeBSD/i386 BOOT Default: 0:ad(0,a)/boot/loader boot: .Ed .Pp 自動ブートにおいては、フロッピ もしくはハードディスクのパーティション .Ql a から .Pa /boot/loader をロードしようとします。 この動作は .Ql boot: というプロンプトが出ている間なら、キーボードから適当な文字を 入力することで中断できます。 以下にあげるような入力はブート動作に対する指示として受付けられます。 .Bl -tag -width indent .It Ic \&? ブートファイルを探す際のヒントとして、デフォルトのブートデバイスの ルートディレクトリにあるファイルの名前を表示します。 (パスの最後の部分に .Ic ?\& を指定することもできます。この場合、任意のサブディレクトリの一覧となります。) .Pp .It Xo .Sm off .Ar bios_drive : interface ( unit , Oo Ar slice , Oc Ar part ) .Sm on .Ar filename .Op Fl aCcDdghmnPprsv .Xc ブートファイルとブートフラグを指定します。 .Bl -tag -width indent .It Ar bios_drive BIOS によって認識されるドライブ番号です。 1 つ目のドライブに対しては 0、 2 つ目のドライブに対しては 1、などです。 .It Ar interface そこからブートするコントローラのタイプです。 ブートファイルのイメージをロードするのには BIOS の機能を使用するので、 そのコントローラに対する BIOS サポートが必要となることに注意して下さい。 .Pp サポートされているインタフェースを以下にあげます。 .Pp .Bl -tag -width "adXX" -compact .It ad WD100[2367] とその互換コントローラ上の ST506, IDE, ESDI, RLL ディスク .It fd 5 1/4" または 3 1/2" 高密度 フロッピ .It da サポートされている SCSI コントローラ上の SCSI ディスク .\".It cd .\"CDROM からのブート .El .It Ar unit 使用されているインタフェース上のドライブのユニット番号です。 1 つ 目のドライブに対しては 0、 2 つ目のドライブに対しては 1、などです。 .It Oo Ar slice , Oc Ns Ar part ディスク上の .Bx 部分内のパーティション文字です。 詳しくは .Xr bsdlabel 8 を参照して下さい。 慣例として、パーティション .Ql a のみがブート可能なイメージを含んでいます。 ディスクにスライス .Pq Dq fdisk パーティション が設けられていた場合、任意の .Ar slice (1 が最初のスライスで 2 が 2 番目のスライス等となります) からブート可能であり、デフォルト (無指定時) はアクティブスライスから、 これがない場合は最初の .Fx スライスからのブートとなります。 指定された .Ar slice が 0 の場合、最初の .Fx スライス .Dq ( 互換 スライスとも呼ばれます) からブートします。 .It Ar filename ブートファイルの (指定されたパーティションのルートディレクトリからの 相対) パス名です。 デフォルトでは .Pa /kernel となります。シンボリックリンクはサポートされていません (ハードリンク は使用できます)。 .It Fl aCcDdghmnPprsv ブートフラグです。 .Pp .Bl -tag -width "-CXX" -compact .It Fl a カーネル初期化中に、ルートファイルシステムとしてマウントされるデバイスを 尋ねて来るようにします。 .It Fl C CDROM からブートします。 .It Fl c ロードしたカーネルに対し、ハードウェアのパラメータを変更するため、 UserConfig を実行します。 .Dv USERCONFIG , INTRO_USERCONFIG , VISUAL_USERCONFIG のいずれかのオプション付きでカーネルが構築された場合、 スクリプト中に .Ic quit コマンドがあったとしても、UserConfig 中にとどまります。 .It Fl D シングルとデュアルのコンソール設定を切り替えます。 シングル設定では、下記の .Fl h オプションの状態によって、コンソールは内部ディスプレイかシリアルポートの いずれかになります。 デュアルコンソール設定では、内部ディスプレイとシリアルポートの両方が、 .Fl h オプションの状態によらず、同時にコンソールになります。 しかし、 デュアルコンソール設定は、ブートプロンプトの間だけでしか効果を持ちません。 一旦カーネルがロードされると、 .Fl h オプションによって指定されたコンソールが唯一のコンソールになります。 .It Fl d カーネルの初期化のできる限り早い段階で DDB カーネルデバッガ .Pf ( Xr ddb 4 を参照) に入ります。 .It Fl g GDB リモートデバッギングプロトコルを使用します。 .It Fl h 内部コンソールとシリアルコンソールの切り替えを行います。 これを使用してコンソールデバイスを変更できます。 例えば、内部コンソールからブートした場合、 カーネルがコンソールデバイスとしてシリアルポートを使用するようにするため、 .Fl h オプションを使用できます。 反対に、シリアルポートからブートした場合、 カーネルがコンソールとして代わりに内部ディスプレイを使用するようにするため、 このオプションを使用できます。 シリアルポートドライバ .Xr sio 4 には、このオプションに優先するフラグがあります。 そのフラグが設定されると、ここで記述した .Fl h オプションとは無関係に、シリアルポートが常にコンソールとして使用されます。 更なる詳細については、マニュアルページ .Xr sio 4 を参照してください。 .It Fl m コンソールを黙らせます。 .It Fl n .Xr loader 8 起動前の、 キー入力によるブート中断を無視します。 .It Fl P キーボードを検出します。 キーボードが発見できなかった場合には、 .Fl D と .Fl h オプションが自動的にセットされます。 .It Fl p デバイスの検出フェーズにおいて、各デバイスがアタッチされるたびに停止します。 .It Fl r ルートファイルシステムを含むデバイスとしてスタティックに config され たデフォルトを使用します .Pf ( Xr config 8 を参照)。 .It Fl s シングルユーザ・モードで立上がるようになります。コンソールが .Dq insecure .Pf ( Xr ttys 5 を参照) に設定されていた場合には、root のパスワードを入力しなければなり ません。 .It Fl v デバイス検出の際 (そしてその後も)、詳細を出力します。 .El .El .El .Pp デフォルトを設定するため、BIOS ドライブ番号, コントローラタイプ, ユニット番号, パーティション, カーネルファイル名と 有効なオプションを .Pa /boot.config に書くこともできます。 .Ql boot: プロンプトでタイプするように、 1 行で書いてください。 .Sh 関連ファイル .Bl -tag -width /boot/loader -compact .It Pa /boot.config ブートブロックに対するパラメータ (必須ではない) .It Pa /boot/boot1 第 1 段階のブートストラップ .It Pa /boot/boot2 第 2 段階のブートストラップ .It Pa /boot/loader 第 3 段階のブートストラップ .It Pa /boot/kernel/kernel デフォルトカーネル .It Pa /boot/kernel.old/kernel 普通は非デフォルトカーネル (必須ではない) .El .Sh 関連項目 .Xr ddb 4 , .Xr ttys 5 , .Xr boot0cfg 8 , .Xr bsdlabel 8 , .Xr btxld 8 , .Xr config 8 , .Xr halt 8 , .Xr loader 8 , .Xr reboot 8 , .Xr shutdown 8 .Sh 診断 ディスク関連のエラーが発生すると、 第 2 段階のブートストラップがエラーを報告します。 BIOS が返すものと同じエラーコードを使用し、 例えば .Dq Disk error 0x1 (lba=0x12345678) などと報告します。 エラーコードの一部のリストを示します: .Pp .Bl -tag -width "0x80" -compact .It 0x1 不正な引数 .It 0x2 アドレスマークが見付かりません .It 0x4 セクタが見付かりません .It 0x8 DMA オーバラン .It 0x9 64K 境界を越えて DMA を試みました .It 0xc 不正なメディア .It 0x10 訂正できない CRC/ECC エラー .It 0x20 コントローラの異常 .It 0x40 シークの失敗 .It 0x80 タイムアウト .El .Pp .Sy "注" : 古いマシンや EDD サポート (ディスクパケットインタフェースサポート) が無い マシンでは、 ブートフェーズにアクセスされるブート関連の全ファイルと構造 (カーネルを含みます) は、ディスク上で (BIOS が理解するジオメトリにおいて) シリンダ 1023 以下に置かれることが必要です。 第 2 段階のブートストラップが .Dq Disk error 0x1 を報告する場合、通常はこの条件が満されていないことを意味します。 .Sh バグ このバージョンの .Bx で使用されている .Xr bsdlabel 5 のフォーマットは、他のアーキテクチャで 使用されている物とは全く異なっています。 .Pp 空間の制約により、 .Fl P オプションにより起動されるキーボード検出は、BIOS が .Dq 拡張 キーボードを検出したかを単にテストするだけです。 .Dq XT/AT キーボード (F11, F12 キーなどを持ちません) を接続した場合、 検出は失敗します。 diff --git a/ja_JP.eucJP/man/man8/bsdlabel.8 b/ja_JP.eucJP/man/man8/bsdlabel.8 index e545484cd7..69575f49e7 100644 --- a/ja_JP.eucJP/man/man8/bsdlabel.8 +++ b/ja_JP.eucJP/man/man8/bsdlabel.8 @@ -1,497 +1,501 @@ .\" Copyright (c) 1987, 1988, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Symmetric Computer Systems. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)disklabel.8 8.2 (Berkeley) 4/19/94 -.\" %FreeBSD: src/sbin/bsdlabel/bsdlabel.8,v 1.58.2.1 2004/09/14 03:44:58 brooks Exp % +.\" %FreeBSD: src/sbin/bsdlabel/bsdlabel.8,v 1.58.2.2 2005/02/12 15:18:10 brueffer Exp % .\" .\" $FreeBSD$ .\" .Dd March 15, 2003 .Dt BSDLABEL 8 .Os .Sh 名称 .Nm bsdlabel .Nd ディスクラベルの読み書きを行う .Sh 書式 .Nm .Op Fl A .Ar disk | Fl f Ar file .Nm .Fl w .Op Fl \&An .Op Fl B Op Fl b Ar boot .Op Fl m Ar machine .Ar disk | Fl f Ar file .Op Ar type .Nm .Fl e .Op Fl \&An .Op Fl B Op Fl b Ar boot .Op Fl m Ar machine .Ar disk | Fl f Ar file .Nm .Fl R .Op Fl \&An .Op Fl B Op Fl b Ar boot .Op Fl m Ar machine .Op Fl f .Ar disk | Fl f Ar file .Ar protofile .Sh 解説 .Nm ユーティリティは、ディスクパーティションや パーティションイメージを含むファイル上に .Bx ラベルを 書きこんだり、確認したり、修正したりするために使われます。 また .Nm は同時にブートストラップコードを インストールすることもできます。 .Ss ディスクデバイス名 デバイス指定時 (すなわち .Fl f オプションが使われていない場合) には、 .Pa /dev/ のパスプレフィックスは省略可能です。 .Nm ユーティリティは自動的にこれを前に付けます。 .Ss 一般的なオプション .Fl A オプションをつけると、 .Bx ラベルの中で歴史的な理由で残っている部分を 処理できるようになります。このオプションを与えない場合、これらの フィールドには適切な値が設定されます。 .Pp .Fl f オプションは、ディスクパーティションの代わりにファイルに対して操作を行なうよう .Nm に指示します。 .Pp .Fl n オプションは、ディスクが変更される直前で .Nm の実行を止め、実行結果をディスクに書きこまずに表示します。 .Pp .Fl m Ar machine 引数は、指定されたマシンに合ったレイアウトを使うように .Nm に指示を行います。 .Ss ディスクラベルの読み込み ディスクドライブ上のラベルを確認するためには オプションを指定せずに .Nm を使用します。 .Pp .Nm .Op Fl A .Op Fl m Ar machine .Ar disk .Pp .Ar disk は対象とするディスクを示します。 また .Pa da0 や .Pa /dev/da0 のような書式でも指定することができます。 これによってパーティションのレイアウトを表示します。 .Ss 標準的なラベルの書き込み 標準的なラベルを書き込むには、 以下の書式を使います。 .Pp .Nm .Fl w .Op Fl \&An .Op Fl m Ar machine .Ar disk .Op Ar type .Pp ドライブの種類が指定されている場合、 .Xr disktab 5 ファイル内の同名のエントリが使用され、 指定されていない場合はデフォルトのレイアウトが使われます。 .Ss 既存のディスクラベルの編集 既存のディスクラベルを編集するには、 以下の書式を使います。 .Pp .Nm .Fl e .Op Fl \&An .Op Fl m Ar machine .Ar disk .Pp このコマンドは、デフォルトのエディタでディスクラベルをオープンし、 エディタ終了時にディスクラベルを検証し、正しければそれをディスクに 書きこみます。 .Ss ファイルからのディスクラベルの復元 ファイルからディスクラベルを復元するには、 以下の書式を使います。 .Pp .Nm .Fl R .Op Fl \&An .Op Fl m Ar machine .Ar disk protofile .Pp .Nm は以前の操作により .Tn ASCII フォーマットのファイルに保存されたディスクラベル を復元することができます。 ラベルを作成するときに使われるプロトタイプファイルは、ラベルを読み込んだり 編集したりするときのものと同じフォーマットである必要があります。 コメントは .Ql # と改行で区切られます。 .Ss ブートストラップのインストール .Fl B 引数が指定された場合、ブートストラップコードが .Pa /boot/boot から読みこまれ、それがディスクに書きこまれます。 .Fl b Ar boot 引数を用いると、別のファイルが使用できます。 .Sh 関連ファイル .Bl -tag -width ".Pa /etc/disktab" -compact .It Pa /boot/boot デフォルトのブートイメージ .It Pa /etc/disktab ディスクを説明したファイル .El .Sh 保存されたファイルの書式 .Nm ユーティリティは、 ディスクラベルを確認、編集、または復元する際に .Tn ASCII 形式のラベルを使用します。 フォーマットは以下のとおりです。 .Bd -literal -offset 4n 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 0 4.2BSD 1024 8192 16 b: 160000 81920 swap c: 1173930 0 unused 0 0 # "raw" part, don't edit .Ed .Pp .Fl A オプションが指定されている場合、フォーマットは次のようになります: .Bd -literal -offset 4n # /dev/da1c: type: SCSI disk: da0s1 label: flags: bytes/sector: 512 sectors/track: 51 tracks/cylinder: 19 sectors/cylinder: 969 cylinders: 1211 sectors/unit: 1173930 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 0 4.2BSD 1024 8192 16 b: 160000 81920 swap c: 1173930 0 unused 0 0 # "raw" part, don't edit .Ed .Pp .Ql # で始まる行はコメントです。 .Pp パーティションテーブルは 8 つまでエントリを持つことができ、 以下の情報を含みます: .Bl -tag -width indent .It Ar # パーティションの識別子は .Ql a から .Ql h の 1 文字です。 慣例的な理由により、 .Ql c パーティションは ディスク全体を表すために予約されています。 .It Ar size セクタ単位でのパーティションの大きさです。 .Cm K (キロバイト - 1024), .Cm M (メガバイト - 1024*1024), .Cm G (ギガバイト - 1024*1024*1024), .Cm % ( .Ql c 以外の固定長のパーティションを取り除いた .Em 後の 空間に対するパーセント)か、 .Cm * (固定長のパーティションとパーセント指定のパーティションを取り除いた .Em 後の 空間すべて)。 パーティション .Ql c に対して .Cm * を指定すると、ディスク全体を意味します。 小文字の .Cm K , M , .Cm G も許されます。 大きさと型の間には空白を入れてはなりません。 .Pp 例: 2097152, 1G, 1024M, 1048576K はすべて同じ大きさです (512 バイトセクタを仮定)。 .It Ar offset ドライブの先頭からパーティションの開始位置までのオフセット値 (セクタ単位)です。 .Cm * は、使用すべき正しいオフセット (直前のパーティションの終端に 1 を加えたもの) を、 .Nm に計算させます。ただしパーティション .Ql c は無視します。 パーティション .Ql c に対しては、 .Cm * はオフセット 0 と解釈されます。 .It Ar fstype パーティションの使用目的を表します。 例では現在使用されているパーティション型を示します。 .Tn UFS ファイルシステムおよび .Xr ccd 4 では .Cm 4.2BSD が使われます。 Vinum ドライブでは .Cm vinum が使われます。 他の一般的な型は .Cm swap と .Cm unused です。 取り決めでは、パーティション .Ql c はスライス全体を表し、型 .Cm unused であるべきですが、 .Nm はこの取り決めを強制しません。 .Nm ユーティリティは多くの他のパーティション型を知っていますが、 それらは現在使用されていません (詳細は、 .In sys/disklabel.h ファイルで .Dv FS_UNUSED で始まっている定義を参照してください)。 .It Ar fsize .Cm 4.2BSD と .Tn LFS のファイルシステムに対してのみ有効です。 フラグメントの大きさを意味します。 1 GB 未満のパーティションに対するデフォルトは 1024 で、 1 GB 以上に対するデフォルトは 4096 です。 .It Ar bsize .Cm 4.2BSD と .Tn LFS のファイルシステムに対してのみ有効です。 ブロックの大きさを意味します。 1 GB 未満のパーティションに対するデフォルトは 8192 で、 1 GB 以上に対するデフォルトは 16384 です。 .It Ar bps/cpg .Cm 4.2BSD ファイルシステムに対しては、 シリンダグループ中のシリンダ数を意味します。 .Tn LFS ファイルシステムに対しては、 セグメントシフト値を意味します。 1 GB 未満のパーティションに対するデフォルトは 16 で、 1 GB 以上に対するデフォルトは 64 です。 .El .Sh 使用例 .Dl "bsdlabel da0s1" .Pp .Pa da0 の最初のスライス用に、 .Pa /dev/da0s1 から得たものとしてラベルを表示します .Pp .Dl "bsdlabel da0s1 > savedlabel" .Pp .Pa da0s1 に対する カーネル内のコピーをファイルに .Pa savedlabel に保存します。 このファイルは後で .Fl R オプションを用いてラベルを復元する際に使用できます。 .Pp .Dl "bsdlabel -w /dev/da0s1" .Pp .Pa da0s1 のラベルを作成します。 .Pp .Dl "bsdlabel -e da0s1" .Pp .Pa da0s1 のラベルを読み込み、編集し、その結果を書き込みます。 .Pp .Dl "bsdlabel -e -n da0s1" .Pp .Pa da0s1 のディスク上のラベルを読み、編集し、新規ラベルがどのようになるかを (セクタ単位で) 表示します。 新規ラベルは、メモリにもディスクにもインストール .Em しません 。 .Pp .Dl "bsdlabel -w da0s1" .Pp .Pa da0s1 にデフォルトのラベルを書きこみます。 パーティション情報やファイルシステム情報を編集するには、 この後で .Nm Fl e コマンドを使って下さい。 .Pp .Dl "bsdlabel -R da0s1 savedlabel" .Pp .Pa savedlabel に書かれている情報を .Pa da0s1 のラベルとして書き込みます。 ディスク上のラベルとともにカーネル内コピーも書き換えられます。 .Pp .Dl "bsdlabel -R -n da0s1 label_layout" .Pp パーティションレイアウト .Pa label_layout を使用すると、 .Pa da0s1 のラベルがどのようになるかを表示します。 .Cm % と .Cm * に基くパーティションの大きさ指定を使用するラベル方式を使用した場合に、 各パーティションにどれだけ割り当てられるかを判定するのに有用です。 .Pp .Dl "bsdlabel -B da0s1" .Pp .Pa da0s1 に新たにブートストラップコードを書き込みます. ブートストラップコードは .Pa /boot/boot です。 .Pp .Dl "bsdlabel -w -B -b newboot /dev/da0s1" .Pp 新たなラベルとブートストラップコードを書き込みます。 ブートストラップコードは カレントディレクトリにある .Pa newboot です。 .Bd -literal -offset indent dd if=/dev/zero of=/dev/da0 bs=512 count=32 fdisk -BI da0 dd if=/dev/zero of=/dev/da0s1 bs=512 count=32 bsdlabel -w -B da0s1 bsdlabel -e da0s1 .Ed .Pp ディスク上の既存の情報を完全に削除し、 ディスク全体を覆う 1 つのスライスを含んだ .Tn DOS パーティションテーブル付きの ブート可能ディスクを新規に作成します。 次にスライスを初期化し、編集します。 .Xr dd 1 はオプションですが、 .Tn BIOS によっては正しくディスクを認識するために必要です。 .Pp これは、 .Cm % , M , G , .Cm * といった新規パーティションサイズ型を使用する、ディスクラベルの例です。 次のコマンドラインのソースファイルとして使用可能です: .Dq Li "bsdlabel -R ad0s1c new_label_file" .Bd -literal -offset 4n # /dev/ad0s1c: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 400M 0 4.2BSD 4096 16384 75 # (Cyl. 0 - 812*) b: 1G * swap c: * * unused e: 204800 * 4.2BSD f: 5g * 4.2BSD g: * * 4.2BSD .Ed .Sh 診断 デバイスドライバは、 オープンされているパーティションに関して、 サイズが小さくなることおよびオフセットが変化することを許しません。 .Sh 互換性 .Vt u_int32_t を用いてセクタ数を格納しているため、 -bsdlabels は最大 2^32-1 セクタに制限されます。 +.Bx +ラベルは最大 2^32-1 セクタに制限されます。 これは通常 2TB のディスク容量を意味します。 これより大きなディスクをパーティションを分けるには、例えば .Xr gpt 8 などの別の方法を使う必要があります。 -.Pp -各々の BSD は、少しずつ異なったバージョンの BSD label を使用しており、 +各々の +.Bx +は、少しずつ異なったバージョンの +.Bx +ラベルを使用しており、 一般的に互換性はありません。 .Sh 関連項目 .Xr ccd 4 , .Xr geom 4 , .Xr md 4 , .\" Xr bsdlabel 5 , .Xr disktab 5 , .Xr boot0cfg 8 , .Xr fdisk 8 , .Xr gpt 8 diff --git a/ja_JP.eucJP/man/man8/camcontrol.8 b/ja_JP.eucJP/man/man8/camcontrol.8 index 86f75cf252..280acbdd4e 100644 --- a/ja_JP.eucJP/man/man8/camcontrol.8 +++ b/ja_JP.eucJP/man/man8/camcontrol.8 @@ -1,839 +1,846 @@ .\" -.\" Copyright (c) 1998, 1999, 2000, 2002 Kenneth D. Merry. +.\" Copyright (c) 1998, 1999, 2000, 2002, 2005 Kenneth D. Merry. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/sbin/camcontrol/camcontrol.8,v 1.38 2004/07/03 00:13:43 ru Exp % +.\" %FreeBSD: src/sbin/camcontrol/camcontrol.8,v 1.38.2.1 2005/03/30 14:48:22 ken Exp % .\" .\" $FreeBSD$ .\" WORD: defect list ディフェクトリスト[camcontrol.8] .\" WORD: tagged queing タグ付きキューイング .\" .Dd September 14, 1998 .Dt CAMCONTROL 8 .Os .Sh 名称 .Nm camcontrol .Nd CAM コントロールプログラム .Sh 書式 .Nm -.Aq command +.Aq Ar command .Op device id .Op generic args .Op command args .Nm .Ic devlist .Op Fl v .Nm .Ic periphlist .Op device id .Op Fl n Ar dev_name .Op Fl u Ar unit_number .Nm .Ic tur .Op device id .Op generic args .Nm .Ic inquiry .Op device id .Op generic args .Op Fl D .Op Fl S .Op Fl R .Nm .Ic start .Op device id .Op generic args .Nm .Ic stop .Op device id .Op generic args .Nm .Ic load .Op device id .Op generic args .Nm .Ic eject .Op device id .Op generic args .Nm .Ic rescan .Aq all | bus Ns Op :target:lun .Nm .Ic reset .Aq all | bus Ns Op :target:lun .Nm .Ic defects .Op device id .Op generic args .Aq Fl f Ar format .Op Fl P .Op Fl G .Nm .Ic modepage .Op device id .Op generic args .Aq Fl m Ar page | Fl l .Op Fl P Ar pgctl .Op Fl b | Fl e .Op Fl d .Nm .Ic cmd .Op device id .Op generic args .Aq Fl c Ar cmd Op args .Op Fl i Ar len Ar fmt .Bk -words .Op Fl o Ar len Ar fmt Op args .Ek .Nm .Ic debug .Op Fl I .Op Fl P .Op Fl T .Op Fl S .Op Fl X .Op Fl c .Aq all|off|bus Ns Op :target Ns Op :lun .Nm .Ic tags .Op device id .Op generic args .Op Fl N Ar tags .Op Fl q .Op Fl v .Nm .Ic negotiate .Op device id .Op generic args .Op Fl c .Op Fl D Ar enable|disable .Op Fl O Ar offset .Op Fl q .Op Fl R Ar syncrate .Op Fl T Ar enable|disable .Op Fl U .Op Fl W Ar bus_width .Op Fl v .Nm .Ic format .Op device id .Op generic args .Op Fl q +.Op Fl r .Op Fl w .Op Fl y .Nm .Ic help .Sh 解説 .Nm ユーティリティは、ユーザが .Fx CAM サブシステムにアクセスし制御できるようにする方法を提供する ために設計されています。 .Pp .Nm ユーティリティを不適切に使用すると、 データの損失や、システムクラッシュにつながる可能性があります。 経験豊富なユーザであっても、このコマンドを使用する際には 注意を払うことをお勧めします。 素人さんはこのユーティリティに近付いてはいけません。 .Pp .Nm ユーティリティはいくつかの主機能を持っています。 その多くは、省略可能なデバイス識別子をサポートします。 デバイス識別子は、次の 3 種類の書式のいずれかを取り得ます: .Bl -tag -width 14n .It deviceUNIT デバイス名とデバイス番号の組み合わせを、"da5" や "cd3" のように指定します。 キャラクタデバイスノード名 (例えば /dev/da0) は、ここでは許され .Em ない ことに注意してください。 .It bus:target バス番号とターゲット id を指定します。 バス番号は .Dq camcontrol devlist の出力により決定可能です。 論理ユニット番号 (lun) はデフォルトの 0 になります。 .It bus:target:lun デバイスのバス (bus) とターゲット (target) と論理ユニット番号 (lun) を、 (例えば 1:2:0 のように) 指定します。 .El .Pp デバイス識別子は、指定された場合には、 機能名の直後にかつ、すべての共通引数または機能固有引数の前に置かれることが .Em 必要 です。 後述する .Fl n と .Fl u の引数は、その前に指定されるデバイス名やユニット番号をオーバライドすることに 注意してください。 しかし、 .Fl n と .Fl u の引数は、bus:target または bus:target:lun の指定はオーバライド .Em しません。 .Pp .Nm の主機能の多くは下に示す共通引数 (generic argument) をサポートします: .Bl -tag -width 14n .It Fl C Ar count SCSI コマンドのリトライカウント。 この機能が動作するためには、エラーリカバリ .Pq Fl E をオンにしておく必要があります。 .It Fl E 指定したコマンドのための汎用の SCSI エラーリカバリを遂行 するよう、カーネルに指示を出します。 リトライカウント機能 .Pq Fl C を有効にするためにはこれが必要です。 コマンドのリトライの他に、コード中にある汎用のエラーリカバリによって、 回っていない HDD を回転させるような試みが通常なされます。 コマンドから返されたセンスコードによっては、他の操作が行われることもあります。 .It Fl n Ar dev_name 操作を行うデバイスのタイプを指定します。 これは例えば "da", "ca" です。 .It Fl t Ar timeout SCSI コマンドのタイムアウトを秒単位で指定します。 指定したコマンドのすべてにおいて、 これで指定する値はデフォルトのタイムアウトより優先されます。 .It Fl u Ar unit_number デバイスユニット番号を指定します。 これは例えば "1", "5" です。 .It Fl v -冗舌になります。SCSI コマンドに失敗するとセンス情報を表示します。 +冗舌になります。 +SCSI コマンドに失敗するとセンス情報を表示します。 .El .Pp 主コマンド機能は次のとおりです。 .Bl -tag -width periphlist .It Ic devlist CAM サブシステムに接続されたすべての物理デバイス (論理ユニット) の リストを表示します。 このリストには各デバイスに接続された周辺ドライバの一覧も含まれます。 引数 .Fl v を指定すると、SCSI バス番号、アダプタ名、ユニット番号もあわせて 表示されます。 .It Ic periphlist 指定した物理デバイス (論理ユニット) に接続されたすべての周辺ドライバの リストを表示します。 .It Ic tur 指定したデバイスに SCSI test unit ready (0x00) コマンドを送信します。 .Nm ユーティリティは、そのデバイスがレディ状態であるかどうかを報告します。 .It Ic inquiry デバイスに SCSI inquiry (0x12) コマンドを送信します。 デフォルトでは、 .Nm 標準の inquiry データ、デバイスのシリアル番号、転送レート情報を表示します。 特定のタイプの inquiry データだけを表示するように指定することもできます。 .Bl -tag -width 4n .It Fl D 標準 inquiry データを得ます。 .It Fl S シリアル番号を表示します。 このフラグだけが指定された場合、 .Nm は、ドライブが返す値の前に "Serial Number" を表示しません。 これはスクリプトを書く際に役立ちます。 .It Fl R 転送レートの情報を表示します。 .El .It Ic start 指定したデバイスに、start ビットをセットした SCSI Start/Stop Unit (0x1B) コマンドを送信します。 .It Ic stop 指定したデバイスに、start ビットをクリアした SCSI Start/Stop Unit (0x1B) コマンドを送信します。 .It Ic load 指定したデバイスに、start ビットをセットし load/eject ビットをセットした SCSI Start/Stop Unit (0x1B) コマンドを送信します。 .It Ic eject 指定したデバイスに、start ビットをクリアし load/eject ビットをセットした SCSI Start/Stop Unit (0x1B) コマンドを送信します。 .It Ic rescan -カーネルに、すべてのバス ( -.Ar all +カーネルに、すべてのバス +.Pf ( Ar all 引数を指定した場合)、指定したバス (XPT_SCAN_BUS)、もしくは bus:target:lun (XPT_SCAN_LUN) をスキャンさせ、新規のデバイスや外されたデバイスを探させます。 ユーザが指定できるのは、バスすべて、バス 1 つ、 もしくは論理ユニット番号 1 つだけです。 あるターゲットのすべての論理ユニット番号をスキャンすることは サポートされていません。 .It Ic reset -カーネルに、すべてのバス ( -.Ar all +カーネルに、すべてのバス +.Pf ( Ar all 引数を指定した場合)、指定したバス (XPT_RESET_BUS) もしくは bus:target:lun (XPT_RESET_DEV) をリセットさせます。 前者は、バスに SCSI バスリセットを発行することにより行います。 後者は、典型的には当該デバイスにコネクトした後に、 BUS DEVICE RESET メッセージを発行することにより行います。 本コマンドはシステムに破壊的な影響を与えることがあることに注意してください。 .It Ic defects 指定したデバイスに、SCSI READ DEFECT DATA (10) コマンド (0x37) を送信し、 ディフェクト総数、初期ディフェクトリスト (PLIST)、増分ディフェクトリスト (GLIST) を組み合わせて表示します。 .Bl -tag -width 11n .It Fl f Ar format 書式オプションは以下の 3 つです。 .Em block , リストを論理ブロック形式で表示します。 .Em bfi , リストをインデックスからのバイト数の形式で表示します。 .Em phys , リストを物理セクタ形式で表示します。 書式引数は必須です。 ほとんどのドライブは、物理セクタ形式をサポートしています。 一部のドライブは論理ブロック形式をサポートしています。 指定した書式をサポートしていない場合、多くのドライブは、 指定したデータ書式をサポートしていないことを示すセンス情報とともに、 別の書式でデータを返します。 .Nm ユーティリティは、それを検知して ドライブが返す書式ならどのようなものでも表示しようとします。 ドライブが指定した書式をサポートしていないことを報告する際に、 非標準のセンスコードを用いた場合、 .Nm は、おそらくそのエラーをリクエスト完了に失敗したためのものと見なすでしょう。 .It Fl G 増分ディフェクトリストを表示します。 これは、工場出荷時以降に再マップされた不良ブロックのリストです。 .It Fl P 初期ディフェクトリストを表示します。 .El .Pp .Fl P も .Fl G もどちらも指定していない場合、 .Nm は、ドライブから返された READ DEFECT DATA ヘッダから得られるディフェクト数を 表示します。 .It Ic modepage SCSI モードページを表示します。 もしくは、オプション指定により ユーザがモードページを編集できるようにします。 モードページの書式は .Pa /usr/share/misc/scsi_modes にあります。 環境変数 .Ev SCSI_MODES に別のファイルが指定されている場合はそちらが優先されます。 .Ic modepage コマンドは以下のようないくつかの引数を取ります。 .Bl -tag -width 12n .It Fl d モードセンスのためのブロック記述子を禁止します。 .It Fl b モードページデータをバイナリフォーマットで表示します。 .It Fl e このフラグを指定することで、ユーザはモードページ中の値を編集することが できます。 モードページの値を .Ev EDITOR 環境変数が示すエディタで編集することも可能ですし、 .Nm がモードページ値を表示に使用するのと同じ書式にて モードページ値を標準入力から提供することも可能です。 標準入力が端末であると .Nm が検出するとエディタが起動されます。 .It Fl l 使用可能な全モードページを列挙します。 .It Fl m Ar mode_page ユーザが表示/編集したいモードページ番号を指定します。 .Fl l が指定されていなければ、この引数は必須です。 .It Fl P Ar pgctl このフラグを指定することで、ユーザはページ制御フィールドを指定することが できます。 指定可能な値は次の通りです。 .Bl -tag -width xxx -compact .It 0 現在の値 .It 1 変更可能な値 .It 2 デフォルトの値 .It 3 保存された値 .El .El .It Ic cmd 任意のデバイスに任意の SCSI CDB を送信するために用いることができます。 .Ic cmd 機能は、CDB を指定するための .Fl c 引数が必要です。 他の引数はオプションで、コマンドの型に依存します。 コマンドとデータを指定する文法は、 .Xr cam_cdbparse 3 に記述されています。 注: 指定した CDB によって、対象の SCSI デバイスとのデータ送受信が 発生する場合、 .Fl i または .Fl o を指定する必要があります。 .Bl -tag -width 17n .It Fl c Ar cmd Op args これは SCSI CDB を指定します。 CDB は 6, 10, 12, 16 バイトのいずれかが可能です。 .It Fl i Ar len Ar fmt これは、読み込むデータの量と、どのように表示するかとを指定します。 書式が .Sq - である場合、 .Ar len バイトのデータがデバイスから読み込まれ、標準出力に書き出されます。 .It Fl o Ar len Ar fmt Op args これは、デバイスに書き出すデータの量と、書き出されるデータとを指定します。 書式が .Sq - である場合、 .Ar len バイトのデータが標準入力から読み込まれデバイスに書き出されます。 .El .It Ic debug カーネルの CAM デバッグ用 printf をオンにします。 カーネルの設定ファイル中に CAMDEBUG オプションが指定されている必要があります。 注意: 現在のところ、デバッグ用 printf を使えるようにすると、 極めて多数のカーネル printf が生じることになります。 一度デバッグ用 printf をスタートさせてしまうと、停止させるのは難しいでしょう。 というのは、カーネルはメッセージを表示するのに忙しくなるので、 他のリクエストをすぐにサービスすることができなくなるからです。 .Ic debug 機能はいくつかの引数を取ります。 .Bl -tag -width 18n .It Fl I CAM_DEBUG_INFO printf を有効にします。 .It Fl P CAM_DEBUG_PERIPH printf を有効にします。 .It Fl T CAM_DEBUG_TRACE printf を有効にします。 .It Fl S CAM_DEBUG_SUBTRACE printf を有効にします。 .It Fl X CAM_DEBUG_XPT printf を有効にします。 .It Fl c CAM_DEBUG_CDB printf を有効にします。 これにより、カーネルが、指定したデバイスに送信した SCSI CDB を 表示することになります。 .It all すべてのデバイスについてデバッグ出力を有効にします。 .It off すべてのデバイスについてデバッグ出力を無効にします。 .It bus Ns Op :target Ns Op :lun 指定したバス、ターゲット、論理ユニット番号 (lun) についてデバッグ出力を 有効にします。 論理ユニット番号、もしくはターゲットと論理ユニット番号が指定されない場合は、 ワイルドカード指定されたものとして扱います (すなわち、バスだけを指定すると、そのバスのすべてのデバイスについて デバッグ用 printf が有効になります)。 .El .It Ic tags \&"tagged openings" の数を、表示または設定します。 この値は、特定のデバイスに対して同時にキューイング可能な トランザクション数です。 デフォルトでは、コマンド固有の引数が無いと (一般的な引数のみを指定すると)、 .Ic tags コマンドは、 対象のデバイスにキューイング可能なトランザクション数の \&"soft" 最大値を表示します。 さらに詳細な情報を得るには、次に説明する .Fl v 引数を指定してください。 .Bl -tag -width 7n .It Fl N Ar tags 指定したデバイスのタグ数を設定します。 この値は、 カーネル中の癖の表 (quirk table) にある最小値と最大値の間にある必要があります。 タグ付きキューイングをサポートするほとんどのデバイスのデフォルトは、 最小値が 2 で最大値が 255 です。 指定したデバイスの最大値と最小値を調べるには、 .Fl v スイッチを使用します。 この .Nm サブコマンドに対する .Fl v スイッチの意味は後述します。 .It Fl q 静かになり、タグ数を報告しません。 一般的には、タグ数を設定するときに使用します。 .It Fl v 冗長フラグは、 .Em tags 引数に対しては特殊な機能があります。 このフラグを指定すると .Nm は、XPT_GDEV_TYPE CCB のタグ付きキューイング関連フィールドを表示します: .Bl -tag -width 13n .It dev_openings 指定されたデバイスに対してキューイング可能なトランザクションの総数です。 .It dev_active 指定されたデバイスに対して現在キューイングされているトランザクション数です。 .It devq_openings トランザクション用のカーネルキュー空間です。 通常この数は dev_openings を反映します。 エラーリカバリ時は例外であり、対象デバイスのキューは凍結されるか (デバイスはコマンド受信を許されません)、 dev_openings の数が減じられるか、トランザクションの再実行が行われます。 .It devq_queued カーネルキュー内でデバイスが空くのを待っているトランザクション数です。 エラーリカバリ中でなければ、通常この数は 0 です。 .It held held 数は、周辺装置ドライバが保持する CCB 数です。 このような CCB は、丁度完了したものであるか、 デバイスによってサービスを受けるために転送層に渡されようとしているものです。 保持されている CCB は、対象のデバイスに空きを予約します。 .It mintags 同時にデバイスにキューイング可能なトランザクション数の、 現在の "hard" 最小値です。 既出の .Ar dev_openings 値はこの数より小さくはなり得ません。 .Ar mintags のデフォルト値は 2 ですが、 デバイスによってはより大きくまたはより小さく設定され得ます。 .It maxtags 同時にデバイスにキューイング可能なトランザクション数の、 -現在の "hard" 最大値です。既出の +現在の "hard" 最大値です。 +既出の .Ar dev_openings はこの値より大きくはなり得ません。 .Ar maxtags のデフォルト値は 255 ですが、 デバイスによってはより大きくまたはより小さく設定され得ます。 .El .El .It Ic negotiate 様々な通信パラメータを、表示またはネゴシエートします。 コントローラによっては、特定の値の設定や変更をサポートしません。 例えば Adaptec 174x コントローラは、 デバイスの同期レートやオフセットの変更をサポートしません。 あるパラメータの設定をサポートしないとコントローラが示す場合、 .Nm ユーティリティはそのパラメータの設定を試みません。 コントローラがサポートするものを調べるには、 .Fl v フラグを使用します。 .Ic negotiate コマンドでの .Fl v フラグの意味は後述します。 また、コントローラドライバによっては、 下位のコントローラがあるネゴシエーションパラメータの変更を サポートしているにもかかわらず、 そのネゴシエーションパラメータの設定をサポートしません。 Advansys ワイドコントローラのように、 コントローラの同期ネゴシエーションの有効と無効をサポートしているにも かかわらず、 同期ネゴシエーションレートの設定をサポートしないコントローラがあります。 .Bl -tag -width 17n .It Fl a ネゴシエーション設定がすぐに効果を持つようにするため、 対象デバイスに Test Unit Ready コマンドを送ります。 .It Fl c 現在のネゴシエーション設定を、表示または設定します。 これがデフォルトです。 .It Fl D Ar enable|disable 切断 (disconnection) を、有効または無効にします。 .It Fl O Ar offset コマンド遅延オフセットを設定します。 .It Fl q 静かになり、なにも表示しません。 一般的には、パラメータを設定したいが状態情報は不要であるときに有用です。 .It Fl R Ar syncrate デバイスの同期レートを変更します。 同期レートは、MHz で指定される浮動小数点値です。 例えば .Sq 20 としては、 .Sq 20.000 が正しい値です。 .It Fl T Ar enable|disable デバイスのタグ付きキューイングを、有効または無効にします。 .It Fl U ユーザのネゴシエーション設定を、表示または設定します。 デフォルトでは、現在のネゴシエーション設定を表示または設定します。 .It Fl v 冗長フラグは、 .Ic negotiate サブコマンドに対しては特殊な意味があります。 このフラグを指定すると .Nm は、コントローラデバイスに送った Path Inquiry (XPT_PATH_INQ) CCB の内容を 表示します。 .It Fl W Ar bus_width デバイスとネゴシエートするバス幅を指定します。 バス幅はビット数で指定します。 指定可能な値は、8, 16, 32 のいずれかのビット数です。 設定が効果を持つためには、 そのバス幅をコントローラがサポートする必要があります。 .El .Pp 一般的には、あるデバイスの同期レートとオフセット設定が効果をあらわすのは、 そのデバイスに対してコマンドが送られてからです。 前述の .Fl a スイッチは、ネゴシエーションパラメータが効果をあらわすようにするため、 自動的に Test Unit Ready をデバイスに送ります。 .It Ic format .Tn SCSI FORMAT UNIT コマンドを指定したデバイスに送ります。 .Pp .Em 警告! 警告! 警告! .Pp ディスクをローレベルフォーマットすると、 ディスク上の「すべて」のデータを破壊します。 このコマンドを発行するときには、非常に注意してください。 本当はローレベルフォーマットが不要なディスクに対し、 多くのユーザがローレベルフォーマットを行っています。 ローレベルフォーマットが必要となる状況は、比較的少ないです。 ローレベルフォーマットが必要となる理由のひとつは、 ディスクの物理セクタの大きさを変えた後でディスクを初期化するためです。 ローレベルフォーマットが必要となる別の理由は、 ディスクへの読み込みまたは書き込みの要求に対して "medium format corrupted" (メディアフォーマットが壊れている) エラーとなる場合に、そのディスクを復活させるためです。 .Pp ディスクによっては、 他のディスクよりもフォーマットに時間がかかります。 フォーマットが完了するために十分なタイムアウト値を、 ユーザが指定する必要があります。 デフォルトのフォーマットタイムアウトは 3 時間です。 ハードディスクによっては、非常に短い期間 (5 分以下の単位) でフォーマット操作が完了します。 このような場合のほとんどは、 FORMAT UNIT コマンドをドライブが実際にはサポートをしていないため、 すなわちコマンドを受け付けて数分待ってから戻るだけであるためです。 .Pp .Sq format サブコマンドはいくつかの引数を取り、デフォルトの動作を変えます。 .Fl q および .Fl y の引数は、スクリプトにおいて有用です。 .Pp .Bl -tag -width 6n .It Fl q 静かになり、状態メッセージを表示しません。 しかしながら、本オプションは、質問は無効化しません。 質問を無効化するには、後述の .Fl y 引数を使用してください。 +.It Fl r +.Dq 報告のみ +モードで動作します。 +これはドライブに対して進行中のフォーマットの状態を報告します。 .It Fl w 非即時のフォーマットコマンドを発行します。 デフォルトでは、 .Nm は FORMAT UNIT コマンドを即時ビット (immediate bit) をセットして発行します。 これは、フォーマットが実際に完了する前に、 即時にフォーマットコマンドを返すよう、デバイスに指示します。 そして .Nm が .Tn SCSI センス情報を毎秒デバイスから収集し、フォーマット処理の進捗を判断します。 .Fl w 引数が指定されると、 .Nm は非即時のフォーマットコマンドを発行します。 この場合、ディスクの何パーセントがフォーマットされたのかを ユーザへ知らせるための表示は行われません。 .It Fl y 質問をしません。 デフォルトでは、 .Nm はユーザに対し、対象のディスクを本当にフォーマットしたいのか、 そしてフォーマットコマンドのデフォルトタイムアウトで良いかを質問します。 タイムアウトをコマンドラインで指定した場合、タイムアウトは質問されません。 .El -.It help +.It Ic help 冗長な、使用方法に関する情報を表示します。 .El .Sh 環境変数 変数 .Ev SCSI_MODES によって、別のモードページの書式ファイルを指定することができます。 .Pp 変数 .Ev EDITOR によって、 .Nm は、モードページの編集を行う際に どのテキストエディタを起動するかを決定します。 .Sh 関連ファイル .Bl -tag -width /usr/share/misc/scsi_modes -compact .It Pa /usr/share/misc/scsi_modes SCSI モード書式データベース。 .It Pa /dev/xpt0 トランスポート層デバイス。 .It Pa /dev/pass* CAM アプリケーションパススルーデバイス。 .El .Sh 使用例 .Dl camcontrol eject -n cd -u 1 -v .Pp cd1 から CD をイジェクトし、コマンド実行に失敗した場合は SCSI センス情報を 出力します。 .Pp .Dl camcontrol tur da0 .Pp SCSI test unit ready コマンドを da0 に送信します。 .Nm ユーティリティはそのディスクがレディ状態であるかどうかを報告しますが、 .Fl v スイッチが指定されていないため、コマンド実行に失敗してもセンス情報を 表示しません。 .Pp .Bd -literal -offset indent camcontrol tur da1 -E -C 4 -t 50 -v .Ed .Pp SCSI test unit ready コマンドを da1 に送信します。 カーネルエラーリカバリを有効にします。 リトライカウントを 4 に、タイムアウトを 50 秒に設定します。 -コマンド実行に失敗した場合 ( -.Fl v +コマンド実行に失敗した場合 +.Pf ( Fl v フラグがあるので) センス情報が出力されます。 エラーリカバリが設定されているので、 ディスクが回転していない場合は回転させられます。 .Nm ユーティリティはディスクがレディ状態かどうかを報告します。 .Bd -literal -offset indent camcontrol cmd -n cd -u 1 -v -c "3C 00 00 00 00 00 00 00 0e 00" \e -i 0xe "s1 i3 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1" .Ed .Pp READ BUFFER コマンド (0x3C) を cd1 に対して発行します。 cd1 のバッファサイズと cd1 のキャッシュの最初の 10 バイトを表示します。 コマンド実行に失敗した場合 SCSI センス情報を表示します。 .Pp .Bd -literal -offset indent camcontrol cmd -n cd -u 1 -v -c "3B 00 00 00 00 00 00 00 0e 00" \e -o 14 "00 00 00 00 1 2 3 4 5 6 v v v v" 7 8 9 8 .Ed .Pp WRITE BUFFER コマンド (0x3B) を cd1 に対して発行します。 (予約済の) 4 バイトヘッダを含まないデータ 10 バイトを書き出します。 コマンド実行に失敗した場合センス情報を表示します。 -このコマンドには細心の注意を払って下さい。不適切に -使用した場合、データが破壊されるかもしれません。 +このコマンドには細心の注意を払って下さい。 +不適切に使用した場合、データが破壊されるかもしれません。 .Pp .Bd -literal -offset indent camcontrol modepage da3 -m 1 -e -P 3 .Ed .Pp da3 のモードページ 1 (Read-Write Error Recover ページ) を編集し、 編集結果をそのドライブにセーブします。 モードページ 1 には、ディスクドライブの読み出し、 書き込みの自動再配置の設定などが含まれます。 .Pp .Dl camcontrol rescan all .Pp システム中のすべての SCSI バスに対し、 追加/削除/変更されたデバイスを再スキャンします。 .Pp .Dl camcontrol rescan 0 .Pp SCSI バス 0 を再スキャンし、追加、削除、変更されたデバイスを探します。 .Pp .Dl camcontrol rescan 0:1:0 .Pp SCSI バス 0, ターゲット 1, 論理ユニット番号 0 を再スキャンし、そのデバイスが 追加、削除、変更されたかどうかを調べます。 .Pp .Dl camcontrol tags da5 -N 24 .Pp da5 の同時トランザクション数を 24 に設定します。 .Pp .Bd -literal -offset indent camcontrol negotiate -n da -u 4 -T disable .Ed .Pp da4 のタグ付きキューイングを無効にします。 .Pp .Bd -literal -offset indent camcontrol negotiate -n da -u 3 -R 20.000 -O 15 -a .Ed .Pp 同期レート 20MHz とオフセット 15 を、da3 とネゴシエートします。 その後 Test Unit Ready コマンドを送り、設定が効果をあらわすようにします。 .Sh 関連項目 .Xr cam 3 , .Xr cam_cdbparse 3 , .Xr cam 4 , .Xr pass 4 , .Xr xpt 4 .Sh 歴史 .Nm ユーティリティは、 .Fx 3.0 -で最初に現れました。 +ではじめて登場しました。 .Pp モードページ編集のコードと任意の SCSI コマンドのコードは、 Julian Elischer と Peter Dufault が書いた、かつての .Xr scsi 8 ユーティリティと .Xr scsi 3 ライブラリのものに基づいています。 .Xr scsi 8 -プログラムが最初に出現したのは +プログラムは .Bx 386 0.1.2.4 -で、 +ではじめて登場し、 .Fx -で最初に出現したのは、 +では、 .Fx 2.0.5 -です。 +ではじめて登場しました。 .Sh 作者 .An Kenneth Merry Aq ken@FreeBSD.org .Sh バグ コマンド行引数を解釈するコードは、どのサブコマンドが複数の引数を取るかを 知りません。 ですから、たとえば、 .Bd -literal -offset indent camcontrol cmd -n da -u 1 -c "00 00 00 00 00 v" 0x00 -v .Ed .Pp のようなことを試みた場合、test unit ready コマンドで得られるセンス情報は 出力されません。 というのは、 .Fl c の 2 番目の引数 (0x00) を見た時点で、 .Nm の最初の .Xr getopt 3 呼び出しが終ってしまうためです。 この動作を修正するには、ある程度の規模のコードを書き加えるか、 .Xr getopt 3 インタフェースを変更するかのどちらかが必要でしょう。 この問題を回避するもっとも良い方法は、常に .Nm 共通引数をコマンド固有の引数の前に指定していることを確認することです。 diff --git a/ja_JP.eucJP/man/man8/devd.8 b/ja_JP.eucJP/man/man8/devd.8 index d1f6427b35..68a22d8fbb 100644 --- a/ja_JP.eucJP/man/man8/devd.8 +++ b/ja_JP.eucJP/man/man8/devd.8 @@ -1,122 +1,124 @@ .\" .\" Copyright (c) 2002 M. Warner Losh. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/sbin/devd/devd.8,v 1.12 2004/07/07 19:57:14 ru Exp % +.\" %FreeBSD: src/sbin/devd/devd.8,v 1.12.2.1 2004/12/06 18:10:02 ceri Exp % .\" .\" $FreeBSD$ .Dd October 17, 2002 .Dt DEVD 8 .Os .Sh 名称 .Nm devd .Nd デバイス状態変化検出デーモン .Sh 書式 .Nm .Op Fl Ddn .Sh 解説 .Nm デーモンを使って、あるカーネルイベントが起こった時にユーザランドの プログラムが起動するように設定することができます。 .Pp 次のオプションが使用できます。 .Bl -tag -width indent .It Fl D デバッグメッセージを有効にします。 .It Fl d デーモンではなく、フォアグラウンドで起動します。 .It Fl n デーモンを起動する前にペンディングになっているイベントをすべて無視して デーモンをすぐに起動します。 .El .Sh 実装に関する注 .Nm ユーティリティは 常時バックグラウンドで走るシステムデーモンです。 デバイスツリーにデバイスが追加されたり、削除されたりすると .Nm は、 .Xr devd.conf 5 で指定されたアクションを実行します。 例えば .Nm は、 イーサネットアダプタがシステムに追加された時に .Xr dhclient 8 を起動して、 そのアダプタが外された時には .Xr dhclient 8 インスタンスを停止するということができます。 また例えば .Nm にテーブルを利用させることで、 システムに追加された認識できないデバイスの正しいドライバを特定し、 .Xr kldload 8 でロードすることもできます。 .Pp .Nm ユーティリティは .Xr devctl 4 デバイスドライバをフックします。 このデバイスドライバは、デバイスコンフィギュレーションシステムを フックしていて、デバイスツリーにノードが追加・削除された時には このデバイスから .Nm にイベント情報が配信されます。 .Nm がそのメッセージをバースするとアクションリストから 最も一致度の高いアクションを選択して、それを実行します。 ほとんどの普通のユーザにはデフォルトのハンドラで充分ですが、 より詳しいユーザが動作の細かいところまでを変更することも できるようになっています。 .Pp .Nm ユーティリティは ファイル .Pa /etc/devd.conf を読み込んで処理を行います。 このファイルのフォーマットについては .Xr devd.conf 5 に詳しく書いてありますが、 基本的なところをここでさらっておきます。 .Ic options セクションには、設定ファイルをサーチするディレクトリを 2 つ以上設定することができます。 -ここで設定したディレクトリにあるファイルはすべてパースされます。 +ここで設定したディレクトリにあるファイルで、名前が +.Pa *.conf +というパターンに一致するものはすべてパースされます。 このようなファイルは、サードパーティがインストールして ユーザの他の設定ファイルを変更せずに .Nm システムをフックするためのものです。 .Pp .Nm が受け取ったメッセージはすべて .Pa /var/run/devd.pipe の .Ux ドメインソケットに転送されます。 .Sh 関連項目 .Xr devctl 4 , .Xr devd.conf 5 .Sh 作者 .An M. Warner Losh diff --git a/ja_JP.eucJP/man/man8/dump.8 b/ja_JP.eucJP/man/man8/dump.8 index 6bb65af8a7..e035089c34 100644 --- a/ja_JP.eucJP/man/man8/dump.8 +++ b/ja_JP.eucJP/man/man8/dump.8 @@ -1,502 +1,501 @@ .\" Copyright (c) 1980, 1991, 1993 .\" Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)dump.8 8.3 (Berkeley) 5/1/95 -.\" %FreeBSD: src/sbin/dump/dump.8,v 1.66 2004/05/17 08:35:40 ru Exp % +.\" %FreeBSD: src/sbin/dump/dump.8,v 1.66.2.1 2005/03/01 05:30:30 wes Exp % .\" .\" $FreeBSD$ .Dd March 1, 2002 .Dt DUMP 8 .Os .Sh 名称 .Nm dump , .Nm rdump .Nd ファイルシステムのバックアップ .Sh 書式 .Nm .Op Fl 0123456789acLnSu .Op Fl B Ar records .Op Fl b Ar blocksize .Op Fl C Ar cachesize .Op Fl D Ar dumpdates .Op Fl d Ar density .Op Fl f Ar file | Fl P Ar pipecommand .Op Fl h Ar level .Op Fl s Ar feet .Op Fl T Ar date .Ar filesystem .Nm .Fl W | Fl w .Pp .Nm rdump は .\" .Nm を \fBdump\fR で置き換えた。.Nm による改行を回避するため。 \fBdump\fR の別名です。 .Pp .in \" XXX -( -.Bx 4.3 +.Pf ( Bx 4.3 形式のオプションは後方互換性のために実装されていますが、 ここでは説明していません。) .Sh 解説 .Nm ユーティリティは、ファイルシステムを調べて バックアップする必要のあるファイルを決定します。 これらのファイルは、指定されたディスク、テープや、 その他の記憶メディアへ保存のためコピーされます (リモートバックアップについては、 .Fl f オプションを参照)。 ダンプの大きさが記録メディアの容量より大きい場合は、 複数ボリュームに分割します。 たいていのメディアの容量は、メディアの終りを通知されるまで 書き込んでみることで決定します。 この方法は、 .Fl a オプションにより強制的に使用することもできます。 .Pp メディアの終りを正しく通知できないメディア (一部の カートリッジ・テープドライブ等) の容量は、 テープ長と記録密度や .Fl B オプションから求め、 各ボリュームはすべて同じ容量を持つものとします。 デフォルトでは、 オペレータにメディア交換を要求した後の各ボリュームにも 同じ出力ファイル名を使用します。 .Pp ダンプ対象のファイルシステムは、引数 .Ar filesystem にて、デバイススペシャルファイルか .Pa ( /etc/fstab 中の標準エントリの場合) マウントポイントで指定します。 .Pp .Nm は、次のオプションをサポートしています。 .Bl -tag -width Ds .It Fl 0-9 ダンプレベル。 レベル 0 はフルバックアップを意味し、ファイルシステム全体をコピー することを保証します (ただし以下の .Fl h オプションにも注意して下さい)。 0 より大きなレベル番号はインクリメンタルバックアップを意味し、 前回のダンプ (今回指定したものより低いレベルのダンプ) 以降に作られたか修正されたすべてのファイルをコピーします。 デフォルトのレベルは 0 です。 .It Fl a .Dq オートサイズ 全てのテープ長の考慮をせず、メディアの終了を通知されるまで、強制的に 書き込みを続けます。現在のほとんどのテープドライブでは、この方法により もっとも良い結果が得られます。特に、使いかけのテープに追加したり、 ハードウェア圧縮機能のあるテープドライブ(圧縮率がどの程度になるか不確かな もの)を使用したりする場合にこのオプションを使用することをお薦めします。 .It Fl B Ar records ボリュームあたりのキロバイト数です。 この値が出力ブロックサイズの整数倍でない場合、 コマンドはこの値より小さい整数倍値を使用します。 このオプションは、テープ長と記録密度を基にしたテープ容量より 優先されます。 .It Fl b Ar blocksize 出力ブロックあたりのキロバイト数です。 .It Fl C Ar cachesize キャッシュサイズをメガバイト単位で指定します。 性能が劇的に向上しますが、 パス間のファイルシステムへの変更に .Nm が気付かない可能性があります。 スナップショットダンプ時には本オプションを常に使用することをお勧めします。 .Nm はフォークしますので、 実際に使用されるメモリ量はキャッシュサイズより大きいかもしれないことに 注意してください。 推奨キャッシュサイズは 8 から 32 (メガバイト) の間です。 .It Fl c カートリッジテープドライブ用に、記録密度とテープ長のデフォルトをそれぞれ 8000 bpi、1700 feet に変更します。 .It Fl D Ar dumpdates .Pa dumpdates ファイルの代替パスを指定します。 デフォルトは .Pa /etc/dumpdates です。 .It Fl d Ar density テープの記録密度を .Ar density に設定します。デフォルトは 1600BPI です。 .It Fl f Ar file バックアップの出力先ファイルを指定します。 出力先ファイルとしては、 .Pa /dev/sa0 (テープドライブ)や .Pa /dev/fd1 (フロッピディスクドライブ)のようなデバイスファイル、 通常ファイル、 .Sq Fl (標準出力)を指定することができます。 複数のファイル名を、コンマで区切って一つの引数として指定する ことができます。 各ファイルは、リストされた順に一つのダンプボリュームに使用されます。 指定した名前の数より多くのボリュームが必要な場合、 メディアの交換を要求した後、最後のファイル名を残りのすべての ボリュームに使用します。 ファイル名が、 .Dq host:file または、 .Dq user@host:file の形式である場合、 .Nm は、 .Xr rmt 8 を使用してリモートホスト上の指定されたファイルに書き込みます。 リモートの .Xr rmt 8 のデフォルトのパス名は .Pa /etc/rmt ですが、環境変数 .Ev RMT の値が優先されます。 .It Fl P Ar pipecommand .Ar pipecommand で定義された .Xr sh 1 スクリプト文字列を各ボリュームの出力デバイスに対して実行するために .Xr popen 3 を使います。 この子のパイプラインの .Dv 標準入力 .Pq Pa /dev/fd/0 は .Nm の出力ストリームからリダイレクトされ、環境変数 .Ev DUMP_VOLUME には現在書き込んでいるボリューム番号が設定されます。 各ボリュームを書き込んだ後で、パイプの書き手側がクローズされ、 .Ar pipecommand が再び実行されます。 .Fl B でメディアの大きさが指定されていれば、出力がテープドライブであるかのように、 各ボリュームを上記のように書き出します。 .It Fl h Ar level ダンプレベルが .Ar level 以上の時に、ユーザが指定した .Dq nodump フラグ .Pq Dv UF_NODUMP に従います (h: honor the flag)。 デフォルトの honor レベルは 1 ですから、 そのようなファイルは、インクリメンタルダンプからは省かれますが、 フルバックアップには含まれます。 .It Fl L ライブファイルシステムをダンプ中であることを .Nm に通知します。 一貫性のあるダンプイメージを得るために、 ダンプ対象のファイルシステムのルートの .Pa .snap ディレクトリに、 .Nm はファイルシステムのスナップショットを取り、 それからスナップショットをダンプします。 ダンプ完了時に、スナップショットは削除されます。 アンマウントされたファイルシステムや読み込み専用のファイルシステムに対しては、 このオプションは無視されます。 ダンプ対象のファイルシステムのルートに .Pa .snap -ディレクトリが存在しない場合、 +ディレクトリが存在しない場合、警告が出て .Nm -は失敗します。 +は標準の動作に戻ります。 この問題は、ダンプ対象のファイルシステムのルートに .Pa .snap ディレクトリを作成することで、解決可能です。 このディレクトリの所有者は .Dq Li root で、グループは .Dq Li operator で、 モードは .Dq Li 0770 であるべきです。 .It Fl n .Nm がオペレータに注意を促す時に、 .Xr wall 1 に似た方法で .Dq operator グループに属するすべてのユーザにメッセージを送ります。 .It Fl S バックアップの大きさと必要なテープ数の見積もりを表示し、 実際のダンプを実行せずに終了します。 .It Fl s Ar feet テープの容量を計算する時に記録密度とともに使います。 この容量を超えた場合に、 .Nm は新しいテープを要求します。 このオプションはやや控え目に指定することをお勧めします。 デフォルトのテープの長さは、2300 フィートです。 .It Fl T Ar date .Pa dumpdates ファイル から得られた日時の代わりに、指定された date をダンプの起点として 使います。date の形式は .Xr ctime 3 のそれと同じです。このオプションは期間を指定してバックアップを 取るダンプスクリプトで有用です。 .Fl T オプションは .Fl u オプションと同時には指定できません。 .It Fl u ダンプが成功した後で、 .Pa dumpdates ファイルを更新します。 .Pa dumpdates ファイル は人が読めるファイルであり、各行に以下のレコードが フリーフォーマットで記録されています : ファイルシステム名、インクリメントレベル、 .Xr ctime 3 形式のダンプ日付。 各レベルとファイルシステムごとにエントリが一つだけ存在します。 必要なら、 .Pa dumpdates ファイル の各フィールドを編集しても構いません。 .Pa dumpdates ファイルのデフォルトは .Pa /etc/dumpdates ですが、 .Fl D を使用してこれを変更可能です。 .It Fl W ダンプの必要があるファイルシステムをオペレータに表示します。 この情報は .Pa dumpdates ファイル と .Pa /etc/fstab ファイルから集められます。 .Nm は、 .Pa dumpdates ファイル の中の各ファイルシステム毎に最新のダンプ日付とレベルを示し、 ダンプするべきファイルシステムを明らかにします。 .Fl W オプションが指定された場合、その他のすべてのオプションは無視され、 .Nm は直ちに終了します。 .It Fl w .Fl W と同様ですが、ダンプの必要のあるファイルシステムのみを表示します。 .El .Pp .Dq nodump フラグ .Pq Dv UF_NODUMP が設定されたディレクトリおよび通常ファイルと、 そのようなディレクトリ配下のすべては、省略されます。 .Fl h オプションに従います。 .Pp .Nm ユーティリティは、以下に示す場合にオペレータの介入を要求します : テープの終了、 ダンプの終了、 テープ書き込みエラー、 テープオープンエラー、 ディスク読み込みエラー (32 回を越えた場合)。 処理を続けられない時や何か大変まずい事態になった場合には、 .Nm は、 .Fl n オプションがあればすべてのオペレータへ警告したうえで、 .Em dump の制御端末上でオペレータとやりとりします。 .Nm コマンドからのすべての質問には、 .Dq yes または .Dq no で適切に答えなければなりません。 .Pp フルダンプの実施には多くの時間と労力がかかるので、 .Nm は各テープボリュームの先頭にチェックポイントを設定します。 何らかの理由により、あるボリュームの書き込みを失敗した場合には、 テープの巻き戻し、排出、新しいテープのマウントの後で、 .Nm はオペレータの許可の下でチェックポイントから実行を再開します。 .Pp .Nm ユーティリティは、処理の進行を (5 分毎または .Dv SIGINFO 受信時に) 定期的にオペレータに報告します。 報告には、少なめに推定される書き込みブロック数、 必要なテープ数、完了までの時間、テープ交換までの時間、 を含みます。 .Nm に使っている端末が使用中であることが他人にも分かるように、 このメッセージは冗長になっています。 .Pp ディスクに壊滅的なトラブルが起きた時に、 バックアップテープやファイルからディスクを復元するために 必要な時間は、 インクリメンタルダンプを適当なシーケンスで実行する事によって 最小にする事ができます。 最小のテープ数でこれを行なう効果的な方法を示します。 .\" staggering .Bl -bullet -offset indent .It 常にレベル 0 のバックアップから開始します。例えば以下の通りです。 .Bd -literal -offset indent /sbin/dump -0u -f /dev/nsa0 /usr/src .Ed .Pp これを一ヵ月か二ヵ月毎に新しいテープに対して実施し、 ずっと保存します。 .It 0 レベルのダンプの後は、アクティブなファイルシステム (データが更新されるファイルシステムです。 パーティションレイアウトによっては、 データが更新されないファイルシステムもあります) のダンプを、 修正ハノイの塔アルゴリズムによる 次の様なダンプレベルシーケンスによって、毎日行います。 .Bd -literal -offset indent 3 2 5 4 7 6 9 8 9 9 ... .Ed .Pp 毎日のダンプには、一週間毎に繰り返し使われる事になる 一定の数のテープを使う事ができます。 週毎にレベル 1 ダンプを行ない、毎日のハノイ・シーケンスは レベル 3 から開始します。 週毎のダンプには、ダンプするファイルシステム毎に、これも繰り返し 使われる事になる一定数のテープを使います。 .El .Pp 何ヵ月かの後、毎日と毎週のテープはダンプサイクルから順に外し、 新品のテープを導入すべきです。 .Sh 環境変数 .Bl -tag -width ".Ev TAPE" .It Ev TAPE バックアップを読み取るデバイス。 .It Ev RMT リモートの .Xr rmt 8 プログラムのパス名。 .It Ev RSH .Xr rsh 1 でない場合のリモートシェルプログラムのパス名。 .El .Sh 関連ファイル .Bl -tag -width /etc/dumpdates -compact .It Pa /dev/sa0 デフォルトのダンプテープユニット .It Pa /etc/dumpdates ダンプの日付を記録するファイル (これは変更可能です。 .Fl D オプションを参照してください) .It Pa /etc/fstab ダンプテーブル : ファイルシステムと頻度を決めるファイル .It Pa /etc/group .Em operator グループを検索する .El .Sh 関連項目 .Xr chflags 1 , .Xr fstab 5 , .Xr restore 8 , .Xr rmt 8 .Sh 診断 詳しいメッセージがたくさん出ます。 .Pp 正常時は終了コード 0 で終了します。 開始時のエラーは終了コード 1 で、 異常終了は終了コード 3 で表されます。 .Sh バグ 32 個未満のファイルシステムからの読み取りエラーは無視されますが、 すべてのエラーは警告メッセージを生成します。 これはちょっとした妥協です。 現実には、マウント中のパーティションをダンプするとき、 .Nm 実行中にファイルシステムが更新されると、 読み取りエラーが生じ得ます。 ダンプはしばしば .Xr cron 8 を使って人が居ない状況で行われますので、 オペレータの介入を要する仕事は .Nm を駄目にしてしまいます。 この種の読み取りエラー発生時には 書き込まれたダンプテープには何も悪いところはありませんので、 .Nm を止める理由はなにもありません。 .Pp 各リール (ボリューム) ごとに新たなプロセスが作られ、 リールを書き終った親プロセスは テープ全体の書き込みが終るまで待っています。 .Pp .Nm ユーティリティの .Fl W や .Fl w オプションは、 .Pa /etc/fstab にリストされていても、 .Pa dumpdates ファイル に記録のないファイルシステムについては報告しません。 .Pp .Nm コマンドが、 ダンプシーケンスについて知っていて、 使い散らかしたテープの使用履歴を管理でき、 どのテープをマウントすれば良いかオペレータに教えてくれ、 .Xr restore 8 を実行するオペレータをもっと助けてくれたら、 もっと使いやすいでしょうね。 .Pp セキュリティ的な歴史により、 .Nm ユーティリティは、 root 以外のユーザでリモートバックアップを行うことはできません。 これは、 .Fx の今後のバージョンでは修正されるでしょう。 現状では、(従来通り) setuid されていれば正常に動作しますが、 セキュリティ的なリスクを伴います。 .Sh 歴史 .Nm ユーティリティは、 .At v6 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/fsdb.8 b/ja_JP.eucJP/man/man8/fsdb.8 index 58cf4a1f71..fea94facb7 100644 --- a/ja_JP.eucJP/man/man8/fsdb.8 +++ b/ja_JP.eucJP/man/man8/fsdb.8 @@ -1,262 +1,262 @@ .\" %NetBSD: fsdb.8,v 1.2 1995/10/08 23:18:08 thorpej Exp % .\" .\" Copyright (c) 1995 John T. Kohl .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE .\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/sbin/fsdb/fsdb.8,v 1.26 2004/07/02 21:45:02 ru Exp % +.\" %FreeBSD: src/sbin/fsdb/fsdb.8,v 1.26.2.1 2005/02/23 01:33:12 trhodes Exp % .\" .\" $FreeBSD$ .Dd September 14, 1995 .Dt FSDB 8 .Os .Sh 名称 .Nm fsdb .Nd FFS デバッグ/編集ツール .Sh 書式 .Nm .Op Fl d .Op Fl f .Op Fl r .Ar fsname .Sh 解説 .Nm ユーティリティは .Ar fsname (通常は raw ディスクパーティション) を open し、そのファイルシステムの inode データを操作するためのコマンドを受け付けます。 コマンドは .Ic "fsdb (inum X)>" のプロンプトに対して入力します。ここでの .Va X は現在選択されている i-number となります。 最初に選択されている inode はファイルシステムのルート (i-number 2) となります。 コマンドプロセッサには .Xr editline 3 ライブラリを使用しており、コマンド行を編集することによってタイピングの 量を減らすことができます。 コマンドループから抜けて終了する時には、ファイルシステムのスーパブロック が dirty とマークされ、バッファリングされているブロックがあれば ファイルシステムに書き込まれます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl d デバッグ情報 (元は .Xr fsck 8 のコードに由来するもの) を出力します。 .It Fl f 歴史的な理由により残されているもので、特に意味は持ちません。 .It Fl r ファイルシステムを読み取り専用でオープンし、 書き込みを行うコマンドを抑止します。 .El .Sh コマンド 組み込みの .Xr editline 3 のコマンドの他に .Nm は以下のコマンドをサポートしています: .Pp .Bl -tag -width indent -compact .It Cm help 入力できるコマンドのリストを表示します。 .Pp .It Cm inode Ar i-number 新しい現在の inode として inode .Ar i-number を選択します。 .Pp .It Cm back 以前の inode に戻ります。 .Pp .It Cm clri Ar i-number .Ar i-number をクリアします。 .Pp .It Cm lookup Ar name .It Cm cd Ar name .Ar name を現在のディレクトリの中で探し、その inode を現在の inode に設定します。 .Ar name はマルチコンポーネントの名前か、スラッシュで始めて 検索をルートの inode から始めることを指定できます。 パス名の中のコンポーネントが見つからない場合、 最後に有効であったディレクトリがアクティブな inode として使われます。 このコマンドは開始する inode がディレクトリの場合のみ有効です。 .Pp .It Cm active .It Cm print アクティブな inode を表示します。 .Pp .It Cm blocks アクティブな inode のブロックリストを表示します。 大きなファイルに対しては表示出力が長くなることに注意してください。 すべての間接ブロックポインタもまた表示されるからです。 .It Cm uplink アクティブな inode のリンク数をインクリメントします。 .Pp .It Cm downlink アクティブな inode のリンク数をデクリメントします。 .Pp .It Cm linkcount Ar number アクティブな inode のリンク数を .Ar number に設定します。 .Pp .It Cm ls 現在の inode のディレクトリエントリをリストします。 このコマンドは現在の inode がディレクトリである場合のみ有効です。 .Pp .It Cm rm Ar name .It Cm del Ar name 現在のディレクトリ inode からエントリ .Ar name を取り除きます。 このコマンドは現在の inode がディレクトリである場合のみ有効です。 .Pp .It Cm ln Ar ino Ar name 現在のディレクトリ inode に inode .Ar ino へのリンクを .Ar name の名前で作成します。 このコマンドは現在の inode がディレクトリである場合のみ有効です。 .Pp .It Cm chinum Ar dirslot Ar inum ディレクトリエントリ .Ar dirslot 中の i-number を .Ar inum に変更します。 .Pp .It Cm chname Ar dirslot Ar name ディレクトリエントリ .Ar dirslot 中の名前を .Ar name に変更します。 このコマンドではディレクトリエントリを拡張することはできません。 名前が現在存在するディレクトリスロットに収まる場合にのみ、 エントリの名前の変更が可能です。 .Pp .It Cm chtype Ar type 現在の inode のタイプを .Ar type に変更します。 .Ar type には .Em file , .Em dir , .Em socket , .Em fifo のいずれかが指定できます。 .Pp .It Cm chmod Ar mode 現在の inode のモードビットを .Ar mode に変更します。 -このサブコマンドではファイルのタイプを変更することはできません。その場 -合は +このサブコマンドではファイルのタイプを変更することはできません。 +その場合は .Ic chtype を使ってください。 .Pp .It Cm chflags Ar flags 現在の inode のファイルフラグを .Ar flags に変更します。 .Pp .It Cm chown Ar uid 現在の inode の所有者を .Ar uid に変更します。 .Pp .It Cm chgrp Ar gid 現在の inode のグループを .Ar gid に変更します。 .Pp .It Cm chgen Ar gen 現在の inode の世代番号 (generation number) を .Ar gen に変更します。 .Pp .It Cm mtime Ar time .It Cm ctime Ar time .It Cm atime Ar time それぞれ、現在の inode の修正時間、変更時間、アクセス時間を .Ar time に変更します。 .Ar time は .Em YYYYMMDDHHMMSS[.nsec] の形式でなければなりません。ここで、 .Em nsec はオプションで指定できるナノ秒の値となります。 もし、ナノ秒が指定されていないと、 .Va mtimensec , .Va ctimensec , .Va atimensec のそれぞれのフィールドには 0 がセットされます。 .Pp -.It Cm quit, q , exit , Em +.It Cm quit , q , exit , Em プログラムを終了します。 .El .Sh 関連項目 .Xr editline 3 , .Xr fs 5 , .Xr clri 8 , .Xr fsck 8 .Sh バグ -``short'' のシンボリックリンクの操作は動作しません。(特に、 -シンボリックリンクのタイプは変更しないでください。) +``short'' のシンボリックリンクの操作は何の効果もありません。 +特に、シンボリックリンクのタイプは変更すべきではありません。 .Pp モードはシンボル名ではなく数字で指定してください。 .Pp 多分 .Nm に実装されていないことで、もっとやりたいことが沢山あるでしょう。 .Sh 歴史 .Nm ユーティリティは .Xr fsck 8 のソースコードを使ってファイルシステムの操作のコードのほとんどを実装しています。 .Nm の残りの部分は、最初 .Nx において .An John T. Kohl によって書かれました。 .Pp .Fx への移植は .An Peter Wemm によって行われました。 .Sh 警告 このツールは最大限に注意を払って使って下さい。 .Xr fsck 8 を使っても修復できないほど FFS ファイルシステムを壊す恐れがあります。 diff --git a/ja_JP.eucJP/man/man8/fsinfo.8 b/ja_JP.eucJP/man/man8/fsinfo.8 index ec34501c77..eac2862d5b 100644 --- a/ja_JP.eucJP/man/man8/fsinfo.8 +++ b/ja_JP.eucJP/man/man8/fsinfo.8 @@ -1,187 +1,187 @@ .\" .\" Copyright (c) 1997-2004 Erez Zadok .\" Copyright (c) 1993 Jan-Simon Pendry. .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: +.\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)fsinfo.8 8.1 (Berkeley) 6/28/93 -.\" $Id: fsinfo.8,v 1.15 2004-09-24 05:47:39 metal Exp $ -.\" %FreeBSD: src/contrib/amd/fsinfo/fsinfo.8,v 1.10 2004/07/06 13:16:46 mbr Exp % +.\" $Id: fsinfo.8,v 1.16 2005-07-11 13:32:04 metal Exp $ +.\" %FreeBSD: src/contrib/amd/fsinfo/fsinfo.8,v 1.10.2.1 2005/02/23 01:45:24 trhodes Exp % .\" .\" $FreeBSD$ .\" .Dd June 26, 1999 .Dt FSINFO 8 .Os .Sh 名称 .Nm fsinfo .Nd サイト規模 (サイト単位) のファイルシステム情報の管理 .Sh 書式 .Nm .Op Fl qv .Op Fl a Ar autodir .Op Fl b Ar bootparams_prefix .Op Fl d Ar dumpsets_prefix .Op Fl e Ar exports_prefix .Op Fl f Ar fstabs_prefix .Op Fl h Ar hostname .Op Fl m Ar automounts_prefix .Op Fl I Ar dir .Oo .Fl D .Ar name Ns Op = Ns Ar string .Oc .Op Fl U Ar name .Ar config ... .Sh 解説 .Nm は、システム設定ファイルを読み込んで、 .Xr amd 8 , .Xr mount 8 , .Xr mountd 8 の管理情報 (設定ファイル) を生成します。 .Pp 次のオプションを使用可能です: .Bl -tag -width Fl .It Fl a Ar autodir 自動マウンタのマウントポイントのディレクトリ名を指定します。 デフォルトは .Pa /a です。 .It Fl b Ar bootparams_prefix .Pa bootparams ファイルのプレフィックスを指定します。 指定しないと、このファイルは生成されません。 このファイルは、対象マシン用に構成され、 .Ar bootparams_prefix 文字列が前に付く .Pa bootparams という名前のファイルに置かれます。 生成されたファイルは、 対象マシンから起動可能なディスクレスクライアントを記述した エントリのリストです。 .It Fl d Ar dumpsets_prefix .Pa dumpsets ファイルのプレフィックスを指定します。 指定しないと、ファイルは生成されません。 このファイルは対象マシン用であり、 .Ar dumpsets_prefix 文字列が前に付く .Pa dumpsets という名前のファイルに置かれます。 このファイルは .Tn Imperial College のローカルバックアップシステムに使用されます。 .It Fl e Ar exports_prefix .Pa exports ファイルのプレフィックスを定義します。 指定しないと、このファイルは生成されません。 設定ファイルでディスクを持つものとして定義される各マシンに対して、 .Pa exports ファイルが構築され、マシン名の前に .Ar exports_prefix 文字列を付けた名前が与えられます。 マシンがディスクレスとして定義される場合、 このマシンに対してはファイルは生成されません。 これらのファイルは、そのマシン上のディレクトリで、 クライアントに対してエクスポートするものに関するエントリを含みます。 .It Fl f Ar fstabs_prefix .Pa fstab ファイルのプレフィックスを定義します。 このプレフィックスが定義された場合のみ、このファイルが生成されます。 設定ファイル中で定義される各マシンに対し、 .Pa fstab ファイルを生成し、マシン名の前に .Ar fstabs_prefix 文字列を付けた名前を与えます。 これらのファイルは、 ブート時にマウントするファイルシステムとパーティションに関するエントリを 含みます。 .It Fl h Ar hostname 処理対象マシンのホスト名を定義します。 指定しないと、 .Xr gethostname 3 が返すローカルマシン名になります。 .It Fl m Ar automounts_prefix 自動マウンタファイルのプレフィックスを定義します。 このオプションを指定した場合のみ、マップが生成されます。 設定ファイルで定義されるネットワーク用のマウントマップは、 各マップの名前の前に .Ar automounts_prefix 文字列を付けた名前のファイルに置きます。 .It Fl q 静かなモードを選択します。 生成されたエラーメッセージだけが表示されます。 .It Fl v 冗長モードを選択します。 これが有効になると、より多くのメッセージが表示され、 意味解析フェーズ実行時に発見したすべての情報を表示します。 各冗長メッセージは標準出力に出力される際、文字 `#' で開始します。 .It Fl D Xo .Ar name Ns Op = Ns Ar string .Xc 設定ファイルを読み込むときのプリプロセッサ用に、シンボル .Ar name を定義します。 .Em #define ディレクティブと等価です。 .It Fl I Ar dir このオプションは、設定ファイルのためにプリプロセッサに渡されます。 インクルードファイルを探すディレクトリを指定します。 .It Fl U Ar name シンボル .Ar name の初期定義を除去します。 .Fl D オプションの逆です。 .It Ar config 1 個以上の設定ファイルを .Nm fsinfo の入力として渡します。 .El .Pp .Nm コマンドの詳細は、 -.%T "Amd --- The 4.4BSD Automounter" +.%T "Amd - The 4.4BSD Automounter" と .Xr info 1 の .Nm amd セクションに記述されています。 .Sh 関連項目 -.Xr amd 8 , -.Xr mount 8 , -.Xr mountd 8 +.Xr amd 8 , +.Xr mount 8 , +.Xr mountd 8 .Sh 歴史 .Nm は .Bx 4.4 -で追加されました。 +ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man8/ftpd.8 b/ja_JP.eucJP/man/man8/ftpd.8 index fe37e50456..3784f5a653 100644 --- a/ja_JP.eucJP/man/man8/ftpd.8 +++ b/ja_JP.eucJP/man/man8/ftpd.8 @@ -1,560 +1,570 @@ .\" Copyright (c) 1985, 1988, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94 -.\" %FreeBSD: src/libexec/ftpd/ftpd.8,v 1.68 2004/07/02 21:28:48 ru Exp % +.\" %FreeBSD: src/libexec/ftpd/ftpd.8,v 1.68.2.1 2005/02/28 12:42:54 yar Exp % .\" .\" $FreeBSD$ .Dd January 27, 2000 .Dt FTPD 8 .Os .Sh 名称 .Nm ftpd .Nd インターネットファイル転送プロトコルサーバ .Sh 書式 .Nm .Op Fl 46ADdEhMmOoRrSUvW .Op Fl l Op Fl l .Op Fl a Ar address .Op Fl P Ar port .Op Fl p Ar file .Op Fl T Ar maxtimeout .Op Fl t Ar timeout .Op Fl u Ar umask .Sh 解説 .Nm ユーティリティは、インターネットファイル転送プロトコルサーバプロセスです。 このサーバは .Tn TCP プロトコルを用いて、 .Fl P オプションで指定されたポートもしくは .Dq ftp サービスに割り当てられたポートを listen() します。 .Dq ftp サービスについては、 .Xr services 5 を参照して下さい。 .Pp 利用可能なオプションは以下の通りです: .Bl -tag -width indent .It Fl 4 .Fl D が指定されている場合、IPv4 接続を .Dv AF_INET ソケット経由で受け付けます。 .It Fl 6 .Fl D が指定されている場合、 .Dv AF_INET6 ソケット経由の接続を受け付けます。 .It Fl A 匿名 ftp アクセスのみ許可します。 .It Fl a .Fl D オプションが指定されている場合、 .Ar address で指定されたアドレスに対する接続のみを許可します。 .It Fl D このオプションがセットされると、 .Nm は制御端末を切り離してデーモンとなり、 FTP ポートへの接続要求を待ち、 子プロセスを生成して接続要求に対応します。 この方式は .Nm を .Xr inetd 8 から起動するよりオーバヘッドが少ないため、 処理量の多いサーバで負荷を低減するのに役立ちます。 .It Fl d syslog の .Dv LOG_FTP のファシリティ (facility) を用いてデバッグ情報を出力します。 .It Fl E EPSV コマンドを無効化します。 古いファイアウォールの後ろにサーバがある場合に有用です。 .It Fl h サーバソフトウェアバージョンやホスト名といったホスト固有情報を サーバメッセージ中に表示しないようにします。 .It Fl l .Xr ftp 1 セッションそれぞれの結果を、成功も失敗もともども syslog の .Dv LOG_FTP のファシリティを用いて ログに残します。 このオプションが 2 回指定されると、 retrieve (get), store (put), append, delete, make directory, remove directory, rename の各操作およびそれらの引数で指定された ファイル名も記録されます。 デフォルトでは、 .Xr syslogd 8 はこれらを .Pa /var/log/xferlog に記録します。 .It Fl M 匿名ユーザによるディレクトリ作成を禁止します。 .It Fl m ファイルシステムのパーミッションが許す限りにおいて、 匿名ユーザによる既存のファイルの上書きや修正を許します。 デフォルトでは、匿名ユーザは既存のファイルを修正できず、 特に、アップロードされるファイルは一意な名前で作成されます。 .It Fl O 匿名ユーザのみに対し、サーバを書き込み専用モードにします。 匿名ユーザに対しては、RETR が無効化され、 匿名ダウンロードを禁止します。 本オプションは、 .Fl o も設定されている場合には、効果がありません。 .It Fl o サーバを書き込み専用モードにします。 RETR が無効化され、 ダウンロードを禁止します。 .It Fl P .Fl D 指定時には、デフォルトの .Dq ftp ポートの代りに、数値またはサービス名で指定される .Ar port での接続を受け付けます。 .It Fl p .Fl D オプションが指定されている場合、 デーモンのプロセス ID を .Ar file に書き出します。 .It Fl R このオプションがセットされると、 .Nm は、ユーザ操作のセキュリティチェックや PORT 要求の制限に関して 古き良き時代の振る舞いに戻ります。 現在では、 .Nm はリモートユーザのホストの非特権ポートに向けられた PORT コマンド だけを用います (これは FTP プロトコルの仕様に違反していますが、 いくつかのセキュリティホールを閉じることができます)。 .It Fl r サーバを、読み取り専用モードにします。 ローカルファイルを修正し得る全コマンドは、無効化されます。 .It Fl S このオプションがセットされると、 .Nm は匿名 (anonymous) によるファイルダウンロードの全てについてのログを、ファイル .Pa /var/log/ftpd が存在する場合に限り、このファイルに残します。 .It Fl T クライアントは異なったタイムアウト秒数を要求することもできます。 .Fl T オプションにより、 .Ar タイムアウト までの最大待ち時間を設定できます。 デフォルトは 2 時間です。 .It Fl t 何も操作しないで放置した場合のタイムアウト時間を .Ar timeout 秒に設定します (デフォルトは 15 分)。 .It Fl U .Dv IP_PORTRANGE_HIGH の範囲の代りに .Dv IP_PORTRANGE_DEFAULT の範囲のデータポートを使用するよう、ftpd に指示します。 更なる情報については .Xr ip 4 を参照してください。 .Pp .Fx 5.0 以上では、実際はなにもしないことに注意してください。 なぜなら、どちらのポート範囲もデフォルトで等価だからです。 .It Fl u デフォルトのファイル生成マスクを .Ar umask にします。 この数値は 8 進数値であることを期待されます。 詳細は .Xr umask 2 を参照してください。 このオプションに対し、 .Xr login.conf 5 の設定が優先します。 .It Fl v .Fl d と同じ意味です。 .It Fl W FTP セッションを .Pa /var/log/wtmp に記録しません。 .El .Pp ファイル .Pa /var/run/nologin は、ftp アクセスを拒否するのに使うことができます。 このファイルが存在する場合、 .Nm はそのファイルの内容を表示して終了します。 .Pa /etc/ftpwelcome ファイルが存在する場合、 .Nm は .Dq ready メッセージを表示する前にその内容を表示します。 もし .Pa /etc/ftpmotd ファイルが存在する場合、 ログイン成功後に .Nm はその内容を出力します。 使用される motd ファイルはログイン環境に対して相対であることに 注意してください。 つまり、匿名ユーザの場合には、 .Pa ~ftp/etc に存在することを意味じます。 .Pp この ftp サーバは、現在、以下の ftp リクエストをサポートしています。 リクエストの文字の大文字小文字の区別は無視されます。 印 [RW] が付いているリクエストは、 .Fl r が指定されると無効化されます。 .Bl -column "Request" -offset indent .It Sy リクエスト Ta Sy "説明" .It ABOR Ta "abort previous command" .It ACCT Ta "specify account (ignored)" .It ALLO Ta "allocate storage (vacuously)" .It APPE Ta "append to a file [RW]" .It CDUP Ta "change to parent of current working directory" .It CWD Ta "change working directory" .It DELE Ta "delete a file [RW]" .It EPRT Ta "specify data connection port, multiprotocol" .It EPSV Ta "prepare for server-to-server transfer, multiprotocol" .It HELP Ta "give help information" .It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA" .It LPRT Ta "specify data connection port, multiprotocol" .It LPSV Ta "prepare for server-to-server transfer, multiprotocol" .It MDTM Ta "show last modification time of file" -.It MKD Ta "make a directory" +.It MKD Ta "make a directory [RW]" .It MODE Ta "specify data transfer" Em mode .It NLST Ta "give name list of files in directory" .It NOOP Ta "do nothing" .It PASS Ta "specify password" .It PASV Ta "prepare for server-to-server transfer" .It PORT Ta "specify data connection port" .It PWD Ta "print the current working directory" .It QUIT Ta "terminate session" .It REST Ta "restart incomplete transfer" .It RETR Ta "retrieve a file" .It RMD Ta "remove a directory [RW]" .It RNFR Ta "specify rename-from file name [RW]" .It RNTO Ta "specify rename-to file name [RW]" .It SITE Ta "non-standard commands (see next section)" .It SIZE Ta "return size of file" .It STAT Ta "return status of server" .It STOR Ta "store a file [RW]" .It STOU Ta "store a file with a unique name [RW]" .It STRU Ta "specify data transfer" Em structure .It SYST Ta "show operating system type of server system" .It TYPE Ta "specify data transfer" Em type .It USER Ta "specify user name" .It XCUP Ta "change to parent of current working directory (deprecated)" .It XCWD Ta "change working directory (deprecated)" .It XMKD Ta "make a directory (deprecated) [RW]" .It XPWD Ta "print the current working directory (deprecated)" .It XRMD Ta "remove a directory (deprecated) [RW]" .El .Pp 以下に示した非標準コマンドあるいは .Ux に特有のコマンドが、SITE リクエストでサポートされています。 .Pp .Bl -column Request -offset indent .It Sy リクエスト Ta Sy 説明 .It UMASK Ta change umask, e.g. ``SITE UMASK 002'' .It IDLE Ta set idle-timer, e.g. ``SITE IDLE 60'' .It CHMOD Ta "change mode of a file [RW], e.g. ``SITE CHMOD 755 filename''" .It MD5 Ta "report the files MD5 checksum, e.g. ``SITE MD5 filename''" -.It HELP Ta give help information. +.It HELP Ta give help information .El .Pp 注: 匿名ログインの場合、SITE リクエストは無効化されています。 .Pp Internet RFC 959 で規定されている ftp リクエストのうちの、これ以外のものは 解釈はされますがインプリメントされていません。 MDTM および SIZE は RFC 959 では規定されていませんが、次に改訂される FTP RFC には登場するでしょう。 サービス拒否攻撃の可能性を除去するために、 現在の転送タイプが ASCII の場合には、 10240 バイトより大きなファイルに対する SIZE リクエストは拒否されます。 .Pp ftp サーバがアクティブなファイル転送を中断するのは、ABOR コマンドの前に、 Telnet "Interrupt Process" (IP) シグナルと Telnet "Synch" シグナルが Telnet ストリーム内にある場合だけです。 これは Internet RFC 959 に記述されています。 もし、データの転送中に STAT コマンドを受けとり、その前に Telnet IP と Synch があった場合、転送ステータスが返されます。 .Pp .Nm ユーティリティは、 .Xr csh 1 -で使われているファイル名展開を解釈します。これにより、 -ユーザはメタキャラクタ +で使われている +.Dq ファイル名置換 +( globbing ) +を解釈します。 +これにより、ユーザはメタキャラクタ .Dq Li \&*?[]{}~ を利用できます。 .Pp .Nm ユーティリティは、6 つのルールに従ってユーザの認証を行います。 .Pp .Bl -enum -offset indent .It ログイン名はパスワードデータベース になければならず、空のパスワードであってはいけません。 この場合、あらゆるファイルの操作に先だって、クライアント側からパスワードが -提供されていなければなりません。ユーザが S/Key のキーを持っている場合は、 +提供されていなければなりません。 +ユーザが S/Key のキーを持っている場合は、 USER コマンドが成功した際の応答には S/Key チャレンジを含めて送られます。 クライアントは、それに対して PASS コマンドを使って応答する際に、 通常のパスワードか S/Key のワンタイムパスワードのどちらをつけて応答 -するかを選択できます。サーバはどちらのパスワードを受け取ったかを自動的に -判定し、それに応じて認証を試みます。S/Key の認証に関する詳細は +するかを選択できます。 +サーバはどちらのパスワードを受け取ったかを自動的に +判定し、それに応じて認証を試みます。 +S/Key の認証に関する詳細は .Xr key 1 -を参照して下さい。S/Key は Bellcore 社の商標です。 +を参照して下さい。 +S/Key は Bellcore 社の商標です。 .It ログイン名はファイル .Pa /etc/ftpusers に載っていてはいけません。 .It ログイン名はファイル .Pa /etc/ftpusers で指定されているグループのメンバであってはいけません。 このファイルでグループ名として解釈されるエントリの先頭には アットマーク .Ql \&@ が付きます。 .It ユーザは .Xr getusershell 3 が返す標準のシェルを持っていなければなりません。 .It ユーザ名がファイル .Pa /etc/ftpchroot に載っているか、そのファイルにあるグループエントリ (つまり .Ql \&@ で始まるエントリ) のメンバである場合、アカウント .Dq anonymous や .Dq ftp と同様、 .Xr chroot 2 によって、 そのセッションのルートディレクトリが このファイルによって指定されるディレクトリか ユーザのログインディレクトリに変ります (次の項目を参照して下さい)。 このファイルの書式の詳細は .Xr ftpchroot 5 を参照してください。 この機能は、 .Xr login.conf 5 でブール型フラグ "ftp-chroot" をオンにしても有効になります。 しかし、ユーザは依然、パスワードを与える必要があります。 この特徴は、完全に匿名 (anonymous) なアカウントと 完全な特権のあるアカウントの間での妥協的な利用のためのものです。 このアカウントは匿名アカウントで設定するのと同様に設定されていなければ なりません。 .It もしユーザ名が .Dq anonymous または .Dq ftp の場合は、匿名の ftp アカウントがパスワードファイル (ユーザ .Dq ftp ) で提供されていなければなりません。 この場合、ユーザはどのようなパスワードでもログインを許可されます (慣習としては ユーザの email アドレスをパスワードとして用いることになっています)。 .Fl S オプションがセットされていると、全ての転送操作も記録されます。 .El .Pp 最後のケースの場合、 .Nm は特別な手段でクライアントのアクセス権を制限します。 サーバは .Dq ftp ユーザのホームディレクトリへ .Xr chroot 2 します。 .Dq ftp ユーザのホームディレクトリパスに .Pa /./ セパレータが含まれる特殊な場合、 左側を .Xr chroot 2 先のディレクトリ名、右側を以降のカレントディレクトリとして .Nm は使用します。 典型的な使用例は .Pa /usr/local/ftp/./pub です。 システムのセキュリティが侵害されないために、 .Dq ftp サブツリーは、以下の規則に従って慎重に構築することを推奨します。 .Bl -tag -width "~ftp/pub" -offset indent .It Pa ~ftp ホームディレクトリは .Dq root の所有とし、誰も書き込みできないようにします。 .It Pa ~ftp/etc このディレクトリは .Dq root の所有とし、誰も書き込みできないようにします (モード 555)。 .Xr ls 1 が所有者を数字でなく名前で表示できるようにするために、 ファイル pwd.db .Xr ( passwd 5 参照) 及び .Xr group 5 が必要です。 ファイル .Xr passwd 5 中のパスワードは使用されませんので、本当のパスワードを入れてはいけません。 ファイル .Pa ftpmotd が存在すると、ログイン成功後、その内容が表示されます。 このファイルのモードは 444 とすべきです。 .It Pa ~ftp/pub 本ディレクトリおよびそれ以下のサブディレクトリは、 ここにファイルを置くことに対して責任のあるユーザおよびグループにより 所有されるべきであり、彼等によってのみ書き込み可能であるべきです (モード 755 または 775)。 .Dq ftp またはそのグループが所有したり書き込み可能であるべきでは .Em ありません。 そのようにしてしまうと、 ゲストユーザが、望まないファイルでディスクを一杯にできてしまいます。 .El .Pp システムに複数の IP アドレスがある場合、 .Nm は仮想ホストの概念をサポートします。 仮想ホストは、複数の匿名 ftp 領域それぞれを別々のインターネットアドレス に割り当てる機能を提供します。 ファイル .Pa /etc/ftphosts は各仮想ホストに関連した情報を保持します。 各ホストはそれぞれの行で定義され、 各行は空白で区切ったいくつかのフィールドからなります: .Bl -tag -offset indent -width hostname .It hostname 仮想ホストのホスト名あるいは IP アドレス。 .It user システムのパスワードファイル中のユーザレコードを含みます。 普通の匿名 ftp と同様に、このユーザのアクセス UID, GID および グループによって匿名 ftp 領域のファイルアクセス権が決まります。 匿名 ftp 領域 (ログイン時にユーザが chroot するディレクトリ) は、 そのアカウントに対するホームディレクトリとして決定されます。 他の ftp アカウントのユーザ ID およびグループも、 標準 ftp ユーザと同じであって構いません。 .It statfile -全てのファイル転送のログが記録されるファイル。デフォルトでは +全てのファイル転送のログが記録されるファイル。 +デフォルトでは .Pa /var/log/ftpd です。 .It welcome -サーバがプロンプトを出す前に表示される welcome メッセージ。デフォルトでは +サーバがプロンプトを出す前に表示される welcome メッセージ。 +デフォルトでは .Pa /etc/ftpwelcome です。 .It motd -このファイル内容はユーザがログインした後に表示されます。デフォルトでは +このファイル内容はユーザがログインした後に表示されます。 +デフォルトでは .Pa /etc/ftpmotd です。 .El .Pp 文字 '#' で開始する行は無視されますので、コメントを含むことが可能です。 .Pp プライマリ IP アドレスあるいはホスト名に対する仮想ホストを定義すると、 そのアドレスへの ftp ログインのデフォルト値が変更されます。 \&'user', 'statfile', 'welcome', 'motd' の各フィールドは デフォルト値を用いる場合、ブランクのままもしくはハイフン一つ \&'-' と しても構いません。 .Pp いかなる匿名ログインの設定についても言えることですが、 設定と保守には十分に注意を払い、セキュリティ上の問題をきたさないよう 防御しなければなりません。 .Pp .Nm ユーティリティは、 リモートからのファイル一覧表示要求に対応するための内部サポートを持ち、 chroot された環境でもそれ以外でも .Pa /bin/ls を実行しなくなります。 .Pa ~/bin/ls の実行形式ファイルは chroot されたディレクトリになくてよく、 .Pa ~/bin ディレクトリも存在する必要はありません。 .Sh 関連ファイル .Bl -tag -width ".Pa /var/log/xferlog" -compact .It Pa /etc/ftpusers 歓迎されない/制限を受けるユーザのリスト。 .It Pa /etc/ftpchroot chroot される一般ユーザのリスト。 .It Pa /etc/ftphosts 仮想ホストのための設定ファイル .It Pa /etc/ftpwelcome welcome メッセージ。 .It Pa /etc/ftpmotd login 後の welcome メッセージ。 .It Pa /var/run/nologin 内容を表示し、アクセスを拒否します。 .It Pa /var/log/ftpd 匿名による転送のログファイル。 .It Pa /var/log/xferlog セッションログのデフォルトの置場。 .El .Sh 関連項目 .Xr ftp 1 , .Xr key 1 , .Xr umask 2 , .Xr getusershell 3 , .Xr ftpchroot 5 , .Xr login.conf 5 , .Xr inetd 8 , .Xr syslogd 8 +.Sh 歴史 +.Nm +ユーティリティは +.Bx 4.2 +から登場しました。 +IPv6 サポートは WIDE Hydrangea IPv6 スタックキットで追加されました。 .Sh バグ 特権ポート番号を用いてソケットを作成するために、 ftpd はスーパユーザの権限で実行させて下さい。 サーバはログインユーザの実効ユーザ ID を保持しておき、 アドレスをソケットにバインドする場合にのみスーパユーザの権限を使います。 考えられるセキュリティホールについてはかなり詳細にわたって調べ込みをおこないましたが、 それでも不完全かもしれません。 -.Sh 歴史 -.Nm -ユーティリティは -.Bx 4.2 -から登場しました。 -IPv6 サポートは WIDE Hydrangea IPv6 スタックキットで追加されました。 diff --git a/ja_JP.eucJP/man/man8/growfs.8 b/ja_JP.eucJP/man/man8/growfs.8 index 5f91a13f64..189ea4d789 100644 --- a/ja_JP.eucJP/man/man8/growfs.8 +++ b/ja_JP.eucJP/man/man8/growfs.8 @@ -1,190 +1,193 @@ .\" Copyright (c) 2000 Christoph Herrmann, Thomas-Henning von Kamptz .\" Copyright (c) 1980, 1989, 1993 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Christoph Herrmann and Thomas-Henning von Kamptz, Munich and Frankfurt. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors, as well as Christoph .\" Herrmann and Thomas-Henning von Kamptz. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $TSHeader: src/sbin/growfs/growfs.8,v 1.3 2000/12/12 19:31:00 tomsoft Exp $ -.\" %FreeBSD: src/sbin/growfs/growfs.8,v 1.22 2004/01/23 17:35:09 blackend Exp % +.\" %FreeBSD: src/sbin/growfs/growfs.8,v 1.22.2.1 2005/03/01 09:23:35 jkoshy Exp % .\" .\" $FreeBSD$ .Dd September 8, 2000 .Dt GROWFS 8 .Os .Sh 名称 .Nm growfs .Nd 既存の UFS ファイルシステムのサイズを拡張する .Sh 書式 .Nm .Op Fl Ny .Op Fl s Ar size .Ar special .Sh 解説 .Nm ユーティリティは .Xr newfs 8 プログラムを拡張したものです。 .Nm を実行する前に、ディスクは .Xr bsdlabel 8 を用いて大きなサイズに設定されていなければなりません。 ファイルシステムが置かれたスライスの境界を越えて拡張したい場合、 .Nm の実行前に .Xr fdisk 8 を使用して、当該スライスの大きさを変えてください。 もしボリュームを使っている場合は、 .Xr vinum 8 を用いてディスクを大きくする必要があります。 .Nm は指定されたスペシャルファイル上のファイルシステムのサイズを拡張します。 現在 .Nm ユーティリティは、マウントされていないファイルシステムの拡張しかできません。 マウントされたファイルシステムを拡張しようとしないでください。 システムがパニックするかもしれませんし、 そうするとファイルシステムはもはや使えなくなるでしょう。 .Xr newfs 8 で使用したほとんどのオプションは変更できません。 実際、ファイルシステムのサイズを大きくすることしかできません。 その他の変更を行う場合は .Xr tunefs 8 を使用してください。 .Pp 以下のオプションが使用できます: .Bl -tag -width indent .It Fl N .Dq テストモード 実際にファイルシステムを大きくすることなく、新しいファイルシステムの パラメータを表示します。 .It Fl y .Dq エキスパートモード 通常 .Nm は、データのバックアップを取ったかを尋ねたり、 .Ar special が現在マウントされているかどうかや、指定されたファイルシステムに アクティブなスナップショットがあるかどうかのテストを行います。 しかし、このモードではこれらが抑制されます。 このオプションは最大の注意を払って使って下さい。 .It Fl s Ar size 拡張後のファイルシステムの、セクタ単位の .Ar size を指定します。 この値のデフォルトは .Ar special 内で指定されている raw パーティションのサイズです (言い換えれば .Nm はファイルシステムのサイズを、パーティション全体まで拡張します)。 .El .Sh 使用例 .Dl growfs -s 4194304 /dev/vinum/testvol .Pp は、 .Pa /dev/vinum/testvol に十分な領域がある場合、2GB に .Pa /dev/vinum/testvol を拡張します。 .Sh バグ .Nm ユーティリティは .Fx 3.x から動き始めました。 .Fx 3.x のみにおいて .Nm は、ファイルシステムがマウントされているかどうかを正しく認識できずに エラーメッセージを出して終了することがあります。 その場合は、ファイルシステムがマウントされていないことを確認して、 .Nm .Fl y をしてください。 (安全のため、) 拡張した後、 .Xr fsck 8 をすることもお勧めします。 .Pp ある一定の制限以上に拡張するには、最初のシリンダグループに いくらかの空きブロックがあることが必要です。 最初のシリンダグループに空きが無い場合、 新規に使用可能なシリンダグループに重要なデータ構造が移動されます。 .Fx 3.x では後で .Xr fsck 8 が問題となります。よって、 .Fx 3.x で .Nm を使用するには .Xr fsck 8 のパッチが必要となります。 .Fx 4.4 からはこのパッチは既に .Fx に組み込まれています。 この構造の再配置を避けるには、最初のシリンダグループに対して .Nm ffsinfo .Fl g Ar 0 .Fl l Ar 4 -を行って、CYLINDER GROUP の CYLINDER SUMMARY (内部 cs) 内の +を行って、CYLINDER GROUP +.Em cgr0 +の CYLINDER SUMMARY (内部 cs) 内の .Em nbfree に十分なブロックがあるかどうかを確認することを、現在ではお勧めします。 経験上、デフォルトのファイルシステムのパラメータに対して、 全ファイルシステムのサイズの 2GB 毎に 1 ブロック必要です。 .Pp 通常、 .Nm はこの重要な構造をディスクに書き込んでから後で再度読み取り、 更なる更新を行います。 .Fl N を使用すると、この読み取り操作は予期せぬデータを返してしまいます。 このような理由で、この部分は実際にはシミュレートできないので、 テストモードではスキップします。 .Sh 関連項目 .Xr bsdlabel 8 , .Xr dumpfs 8 , .Xr fdisk 8 , +.Xr ffsinfo 8 , .Xr fsck 8 , .Xr newfs 8 , .Xr tunefs 8 , .Xr vinum 8 .Sh 作者 .An Christoph Herrmann Aq chm@FreeBSD.org .An Thomas-Henning von Kamptz Aq tomsoft@FreeBSD.org .An The GROWFS team Aq growfs@Tomsoft.COM .Sh 歴史 .Nm ユーティリティは .Fx 4.4 -で初めて登場しました。 +ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man8/ifconfig.8 b/ja_JP.eucJP/man/man8/ifconfig.8 index 3ac5a9fc3b..4aa32e7cf7 100644 --- a/ja_JP.eucJP/man/man8/ifconfig.8 +++ b/ja_JP.eucJP/man/man8/ifconfig.8 @@ -1,832 +1,845 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" %FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.85 2004/07/27 09:51:49 yar Exp % +.\" %FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.85.2.2 2005/03/22 12:36:28 brueffer Exp % .\" .\" $FreeBSD$ .\" .Dd July 26, 2004 .Dt IFCONFIG 8 .Os .Sh 名称 .Nm ifconfig .Nd ネットワークインタフェースのパラメータの設定を行なう .Sh 書式 .Nm .Op Fl L .Op Fl m .Ar interface .Op Cm create .Op Ar address_family .Oo .Ar address .Op Ar dest_address .Oc .Op Ar parameters .Nm .Ar interface .Cm destroy .Nm .Fl a .Op Fl L .Op Fl d .Op Fl m .Op Fl u .Op Ar address_family .Nm .Fl l .Op Fl d .Op Fl m .Op Fl u .Op Ar address_family .Nm .Op Fl L .Op Fl d .Op Fl u .Op Fl C .Sh 解説 .Nm ユーティリティは、ネットワークインタフェースに対してネットワークアドレス の割り当てを行ない、ネットワークインタフェースのパラメータの設定を行ないます。 .Nm ユーティリティは、システム立ち上げ 時に、マシンが備える各ネットワークインタフェースに対してネットワークアドレス -を割り当てるように使用しなければなりません。また、一旦各ネットワークインタフェ -ースに対し設定したネットワークアドレスを再定義したり、パラメータの設定を -変えたりすることも可能です。 +を割り当てるように使用しなければなりません。 +また、一旦各ネットワークインタフェースに対し設定したネットワークアドレスを +再定義したり、パラメータの設定を変えたりすることも可能です。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Ar address .Tn DARPA Ns -Internet ファミリでは、アドレスはホスト名データベース .Xr hosts 5 に登録されているホスト名であるか、もしくは インターネット標準の .Dq ドット表記 -です。 +の +.Tn DARPA +インターネットアドレス表現です。 .Pp CIDR 表現 (スラッシュ表現としても知られています) もまた、 ネットマスクの表現に使用可能です。 つまり、 .Li 192.168.0.1/16 のようなアドレスを指定可能です。 .Pp .Dq inet6 ファミリでは、 .Li ::1/128 のようなスラッシュ表現を使用して、プレフィックス長も指定可能です。 更なる情報については、後述の .Cm prefixlen パラメータを参照してください。 .\" ゼロックスネットワークシステム(tm)ファミリでは、 .\" アドレスは .\" .Ar net:a.b.c.d.e.f .\" という形式です。 .\" ここで .\" .Ar net .\" は割り当てるネットワーク番号(10進数)、 .\" 残りの .\" .Ar a .\" から .\" .Ar f .\" までは .\" ホスト番号を表す 6 バイトであり 16 進数で指定します。 .\" ホスト番号は IEEE 802 プロトコル (Ethernet, FDDI, Token Ring) .\" インタフェースでは省略可能です。 .\" ホスト番号指定を省略した場合には、 .\" 一番目のインタフェースのハードウェア物理アドレスを .\" すべてのインタフェースにおいて使用します。 .\" .Tn ISO .\" ファミリでは、 .\" ゼロックスファミリと同じ長さのアドレスを、 .\" 長い 16 進数の文字列で指定します。 .\" 違いは、 .\" ドットが続いた場合にはそのバイトは 0 を表すことと、 .\" ドットはオプションであることです .\" (ドットはネットワークバイトオーダの長い数字列を .\" 注意深く扱うために使用します)。 .Pp リンクレベル .Pq Dq link アドレスが、コロン区切りの 16 進数の連続で指定されます。 例えばイーサネットインタフェースに新規 MAC アドレスを 設定するために使用可能ですが、 使用される機構はイーサネットインタフェースに限ったものではありません。 本オプション指定時にインタフェースが既に up である場合、 インタフェースを一時的に down にしてから再度 up にします。 これは、下位のイーサネットハードウェアの受信フィルタが 正しくプログラムされたことを保証するためです。 .It Ar address_family 他のパラメータの解釈に影響するネットワーク アドレスファミリ を指定します。 インタフェースが異なるプロトコルの送信を異なる名前付け体系で 受けることがあるので、アドレスファミリを指定しておくことをお勧めします。 本コマンドでサポートされるプロトコルファミリは、 .Dq inet , .Dq inet6 , .Dq atalk , .Dq ipx , -.\".Dq iso , +.\" .Dq iso , .Dq link .\" .Dq ns です。 デフォルトは .Dq inet です。 .Dq ether と .Dq lladdr は .Dq link の同義語です。 .It Ar dest_address ポイントツーポイントリンクにおける他端のアドレスを指定します。 .It Ar interface インタフェースパラメータは、 .Dq name unit の形式で表現されます。 例えば .Dq Li ed0 です。 .El .Pp .Nm では以下のパラメータが利用できます: .Bl -tag -width indent .It Cm add .Cm alias パラメータの別名です。 .Bsx との互換性のために導入されました。 .It Cm alias 指定したインタフェースに、ネットワークアドレスを追加して指定します。 これはネットワーク番号を変更した際に、以前のアドレスに送られるパケットを 受けとりたい場合などに便利です。 アドレスが、 本インタフェースの最初のネットワークアドレスと同じサブネット上の場合、 衝突しないネットマスクを指定する必要があります。 通常、 .Li 0xffffffff が最適です。 .It Fl alias -指定したネットワークアドレスを無効にします。本機能は、alias で不正なアドレスを +指定したネットワークアドレスを無効にします。 +本機能は、alias で不正なアドレスを 指定した場合や、すでに指定したアドレスが必要ない場合などに使用します。 誤った NS アドレスをホスト部分とともに指定した場合には、 NS アドレスを全て無効にすることにより再度ホスト部分を指定可能となります。 .It Cm anycast (inet6 のみ) 設定されるアドレスはエニーキャスト (anycast) アドレスであると指定します。 現在の仕様では、ルータのみがエニーキャストアドレスに設定可能です。 エニーキャストアドレスは、 出力 IPv6 パケットの送信元アドレスとしては使用されません。 .It Cm arp アドレス解決プロトコル .Pq Xr arp 4 を用いてネットワークレベルのアドレスとリンクレベル -のアドレスの対応を取ることを可能にします (デフォルト)。この機能は、 +のアドレスの対応を取ることを可能にします (デフォルト)。 +この機能は、 .Tn DARPA インターネットアドレスと .Tn IEEE 802 の 48 ビット MAC アドレス (Ethernet, FDDI, Token Ring のアドレス) の間の対応を取るように作られています。 .It Fl arp アドレス解決プロトコル .Pq Xr arp 4 の使用を禁止します。 .It Cm staticarp アドレス解決プロトコルが有効な場合、 ホストはそれ自身のアドレスについての要求に対してのみ応答し、 いかなる要求も送信しません。 .It Fl staticarp アドレス解決プロトコルが有効な場合、 通常のように動作、すなわち要求を送信して応答を聞き取ります。 .It Cm broadcast ネットワークに対するブロードキャストアドレスを指定します。 ブロードキャストアドレスのデフォルト値は、 ホスト部のビットがすべて 1 になったアドレスです。 .It Cm debug ドライバ依存のデバッグモードを有効にします。 通常コンソールへのエラーログを有効にします。 .It Fl debug ドライバ依存のデバッグモードを無効にします。 .It Cm promisc インタフェースを、永続的な無差別モードにします。 .It Fl promisc インタフェースの永続的な無差別モードを、無効にします。 .It Cm delete .Fl alias パラメータの別名です。 .It Cm down 指定したネットワークインタフェースに .Dq down とマークします。 .Dq down と マークされたインタフェースに対しては、システムはメッセージの送信を行ない -ません。可能であれば、そのインタフェースは受信も不可能となるように -リセットされます。この動作は、そのインタフェースを用いる +ません。 +可能であれば、そのインタフェースは受信も不可能となるように +リセットされます。 +この動作は、そのインタフェースを用いる ルーティングを使用しないよう自動的に設定するものではありません。 .It Cm eui64 (inet6 のみ) インタフェースインデックス (IPv6 アドレスの下位 64 ビット) を自動的に埋めます。 .It Cm ipdst -リモートネットワーク向け NS パケットをカプセル化している IP パケットを -受信する、インターネットホストを指定するために使用します。 -外見上 point to point リンクが構成され、 -指定されたアドレスは、 -デスティネーションの NS アドレスとネットワークアドレスとされます。 -.Tn CLNP -パケットの IP カプセル化はこれとは異なった方法で実現されます。 +リモートネットワーク向けの IPX パケットをカプセル化している +IP パケットを受信しようとしている、 +インターネットホストを指定するために使用されます。 +.\" bound for = (列車・船・飛行機などが)〜行きの +外見上ポイントツーポイント (point to point) リンクが構成され、 +指定されたアドレスは +宛先の IPX アドレスとネットワークとされます。 .It Cm maclabel Ar label Mandatory Access Control サポートがカーネルで有効化されている場合、 MAC を .Ar label に設定します。 .\" (see .\" .Xr maclabel 7 ) . .It Cm media Ar type ドライバがメディア選択能力を持つ場合、 インタフェースのメディアタイプを .Ar type に設定します。 インタフェースによっては、 複数の異なった物理メディアコネクタのうちのいずれかを 排他的に使用することをサポートします。 例えば、10Mb/s Ethernet インタフェースには .Tn AUI とツイストペアコネクタをサポートするものがあります。 メディアタイプを .Dq Li 10base5/AUI に設定すると、AUI ポートを現在のアクティブなコネクタとします。 また .Dq Li 10baseT/UTP に設定すると、ツイストペアをアクティブにします。 使用可能なタイプの完全なリストは、 インタフェースドライバ固有の文書やマニュアルページを参照してください。 .It Cm mediaopt Ar opts ドライバがメディア選択能力を持つ場合、 インタフェースのメディアオプションを設定します。 .Ar opts 引数はコンマで区切ったオプションリストで、インタフェースに適用されます。 使用可能なオプションの完全なリストは、 インタフェースドライバ固有のマニュアルページを参照してください。 .It Fl mediaopt Ar opts インタフェースのメディアオプションを無効にします。 .It Cm mode Ar mode ドライバがメディア選択システムをサポートする場合、 インタフェースに指定された動作モードを .Ar mode にします。 -複数の動作モードをサポートする IEEE 802.11 無線インタフェースでは、 +複数の動作モードをサポートする IEEE 802.11 無線インタフェースでは、 このディレクティブは 802.11a .Pq Dq Li 11a , 802.11b .Pq Dq Li 11b , 802.11g .Pq Dq Li 11g のいずれかの動作モードを選択するために使用されます。 .It Cm name Ar name インタフェース名を .Ar name に設定します。 .It Cm rxcsum , txcsum ユーザ設定可能なチェックサムオフロードをドライバがサポートする場合、 インタフェース上の受信 (または送信) チェックサムオフロードを有効にします。 ドライバによっては、これらのフラグを独立に有効化できないものがあり、 そのような場合には一方を有効にするともう一方も有効になります。 ドライバは、信頼性がある範囲で、 可能な限りのチェックサムの仕事をオフロードします。 よって、オフロードのレベルは、ドライバによって違います。 -.It Fl rxcsum , Fl txcsum +.It Fl rxcsum , txcsum ユーザ設定可能なチェックサムオフロードをドライバがサポートする場合、 インタフェース上の受信 (または送信) チェックサムオフロードを無効にします。 これらの設定は、常にもう一方の設定と独立とは限りません。 .It Cm polling ドライバが、ユーザが設定可能な .Xr polling 4 をサポートしていれば、そのインタフェースではポーリングモードを選びます。 .It Fl polling ドライバが、ユーザが設定可能な .Xr polling 4 をサポートしていれば、そのインタフェースでは割り込みモードを選びます。 .It Cm tunnel Ar src_addr dest_addr (IP トンネルデバイスのみ) IP トンネルインタフェース .Pq Xr gif 4 用の、 物理的な始点アドレスと終点アドレスを設定します。 引数 .Ar src_addr と .Ar dest_addr は、カプセル化する IPv4/IPv6 ヘッダ用の、外部の始点/終点として解釈されます。 .It Cm deletetunnel 以前に .Cm tunnel で設定した IP トンネルインタフェースの、 物理的な始点アドレスと終点アドレスの設定を解除します。 .It Cm create 指定したネットワーク擬似デバイスを作成します。 ユニット番号無しでインタフェースが指定されると、 任意のユニット番号で新規デバイスを作成しようとします。 同一の .Nm の呼び出しでインタフェースが名前を変更されたり破壊されたりしたのでなければ、 任意のデバイスの作成に成功すると新規デバイス名を標準出力へ表示します。 .It Cm destroy 指定したネットワーク擬似デバイスを破壊します。 .It Cm plumb .Cm create パラメータの別名です。 .Tn Solaris との互換性のためにあります。 .It Cm unplumb .Cm destroy パラメータの別名です。 .Tn Solaris との互換性のためにあります。 .It Cm vlan Ar vlan_tag インタフェースが .Xr vlan 4 擬似インタフェースの場合、VLAN タグ値を .Ar vlan_tag に設定します。 この値は 16 ビット数値であり、 .Xr vlan 4 インタフェースから送られるパケットの 802.1Q VLAN ヘッダの作成に使用されます。 .Cm vlan と .Cm vlandev は同時に設定される必要があることに注意してください。 .It Cm vlandev Ar iface インタフェースが .Xr vlan 4 擬似デバイスの場合、物理インタフェース .Ar iface を関連付けます。 .Xr vlan 4 インタフェースから送信されるパケットは、 802.1Q VLAN カプセル化付きで、指定された物理インタフェース .Ar iface へ向けて転換 (divert) されます。 親インタフェースが受信した 802.1Q カプセル化付きのパケットに 正しい VLAN タグが付いていた場合、 そのパケットは関連付けられた .Xr vlan 4 擬似インタフェースへ転換されます。 .Xr vlan 4 インタフェースには、親インタフェースのフラグと親のイーサネットアドレスが 割り当てられます。 .Cm vlandev と .Cm vlan は同時に設定される必要があります。 .Xr vlan 4 インタフェースが既に物理インタフェースと関連付けられている場合、 このコマンドは失敗します。 別の物理インタフェースへ関連付けを変更するには、 既存の関連付けをまずクリアする必要があります。 .Pp 注: vlan インタフェースで ハードウェアタグ機能をオンにした場合、 .Xr vlan 4 擬似インタフェースの振舞いが変わります: 親インタフェースが (たいていはファームウェアにある) 自身の VLAN タグの 挿入と取り出しをサポートすること、 .Xr vlan 4 インタフェースが親に対して無修正でパケットを渡すべきことを、 .Xr vlan 4 インタフェースは認識します。 .It Fl vlandev Ar iface ドライバが .Xr vlan 4 擬似ドライバの場合、物理インタフェース .Ar iface とドライバとの関連付けを解除します。 これにより、 .Xr vlan 4 インタフェースとその親との間のリンクを破壊し、 VLAN タグとフラグとリンクアドレスをクリアし、 インタフェースをシャットダウンします。 .It Cm vlanmtu , vlanhwtag ドライバがユーザ設定可能な VLAN をサポートしていれば、 拡張フレームの受理やハードウェアでのタグ処理をそれぞれ有効にします。 これは .Xr vlan 4 インタフェース自体に効く訳ではなく .Xr vlan 4 と関係する物理インタフェースに効くことに注意して下さい。 -.It Fl vlanmtu , Fl vlanhwtag +.It Fl vlanmtu , vlanhwtag ドライバがユーザ設定可能な VLAN をサポートしていれば、 拡張フレームの受理やハードウェアでのタグ処理をそれぞれ無効にします。 .It Cm metric Ar n インタフェースのルーティングメトリックを .Ar n -で指定します。初期値は 0 です。 +で指定します。 +初期値は 0 です。 ルーティングメトリックは、ルーティングプロトコル .Pq Xr routed 8 で使用されます。 .It Cm mtu Ar n そのインタフェースの最大転送単位 (MTU) を .Ar n -に設定します。デフォルト値はインタフェースに依存します。 +に設定します。 +デフォルト値はインタフェースに依存します。 MTU はインタフェースに送られるパケットの大きさを制限するのに用いられます。 MTU を設定できなかったり、設定出来る値の範囲に制限のある インタフェースがあります。 .It Cm netmask Ar mask .\" (inet と ISO) (inet のみ) ネットワークをサブネットワークに細分割する際に、ネットワークアドレスとして リザーブするアドレスを指定します。 mask が指定する部分は、 アドレスのネットワーク部とサブネット部です。 サブネット部はアドレスのホスト部の一部です。 mask は、 .Ql 0x ではじまる16進数、 ドット表記のインターネットアドレス形式、 ネットワークテーブル .Xr networks 5 に記述されている仮想ネットワーク名のいずれかで指定できます。 mask での 32 ビットアドレスにおける 1 であるビットの部分は、 ネットワーク部もしくはサブネット部として使用します。 0 であるビットの部分はホスト部として使用します。 mask は少なくともネットワーク部を含む必要があり、 サブネット部はネットワーク部に連続する必要があります。 .Pp ネットマスクはまた、CIDR 表現で、アドレスの後に指定可能です。 更なる情報については、前述の .Ar address オプションを参照してください。 .It Cm prefixlen Ar len (inet6 のみ) .Ar len ビットを、ネットワークからサブネットワークへの分割用に予約すると、 指定します。 .Ar len は整数であることが必要であり、 文法的な理由で 0 から 128 の間であることが必要です。 現在の IPv6 の割り当て規則では、ほぼ常に 64 です。 本パラメータを省略すると、64 が使用されます。 .Pp プレフィックスは、 アドレスの後に、スラッシュ表現を指定することでも指定可能です。 更なる情報については、前述の .Ar address オプションを参照してください。 .\" see .\" Xr eon 5 . .\" .It Cm nsellength Ar n .\" .Pf ( Tn ISO .\" のみ) .\" .Tn NSAP .\" に後続するローカル識別に使用するバイト数を指定します。 .\" この部分は .\" .Tn NET .\" (Network Entity Title) .\" として扱われます。 .\" バイト数のデフォルト値は 1 であり、US .\" .Tn GOSIP .\" 準拠です。 .\" ifconfig コマンドで設定するISO アドレスが、 .\" .Tn NSAP .\" です。 .\" 例えば .\" .Tn US GOSIP .\" では、20 文字の 16 進数を .\" .Tn ISO NSAP .\" において指定し、 .\" インタフェースに割り当てる必要があります。 .\" .Tn AFI .\" 37 タイプアドレスにおいて、数字が 1 とは異なると便利であるのは、 .\" それなりの理由があります。 .It Cm range Ar netrange Appletalk において .Ar netrange に返答するようにインタフェースを設定します。 書式は .Ar startnet Ns - Ns Ar endnet です。 Appletalk は netmask ではなくこの方法を使用しますが、 .Fx の内部においては netmask の集合として実装しています。 .It Cm remove .Fl alias パラメータの別名です。 .Bsx との互換性のために導入されました。 .It Cm phase これに続く引数は、 インタフェースに接続された Appletalk ネットワークの バージョン (フェーズ) を指定します。 1 または 2 が許されています。 .Sm off .It Cm link Op Cm 0 No - Cm 2 .Sm on 指定したインタフェースのリンクレベルでの特殊な処理を有効にします。 3 つのオプション -の実際の効果はインタフェース依存です。しかしながら、これらのオプションは、 -一般的には特殊なオペレーションモードを選択するのに用いられます。この例として、 +の実際の効果はインタフェース依存です。 +しかしながら、これらのオプションは、 +一般的には特殊なオペレーションモードを選択するのに用いられます。 +この例として、 SLIP 使用時のデータ圧縮や、Ethernet カードのコネクタ選択を行います。 各ドライバごとのマニュアルページに 詳細が記してあるので、詳しくはそちらの方を参照して下さい。 .Sm off .It Fl link Op Cm 0 No - Cm 2 .Sm on 指定したインタフェースのリンクレベルでの特殊な処理を無効にします。 .It Cm monitor インタフェースをモニタモードにします。 パケットは送出されず、受信パケットは .Xr bpf 4 の処理の後に捨てられます。 .It Fl monitor インタフェースのモニタモードを解除します。 .It Cm up 指定したネットワークインタフェースに .Dq up とマークします。 本オプションは、 .Dq Nm Cm down を行なった後にインタフェースを有効にするのに用いられます。 最初にインタフェースにアドレスを設定した場合には、自動的に本指定はされたものと -して扱います。もし、down とマークされていたインタフェースがリセットされた場合、 +して扱います。 +もし、down とマークされていたインタフェースがリセットされた場合、 ハードウェアは再初期化されます。 .It Cm ssid Ar ssid IEEE 802.11 無線インタフェース用であり、 希望するサービスセット識別子 (SSID; 別名はネットワーク名) を設定します。 SSID は、32 文字までの文字列であり、 通常の文字列の形式か .Ql 0x を前に付けた 16 進数の形式で、指定可能です。 更に、SSID に .Ql - を設定することで、これを消去可能です。 .It Cm nwid Ar ssid .Cm ssid パラメータの別名。 .Nx との互換性のためにあります。 .It Cm stationname Ar name IEEE 802.11 無線インタフェース用であり、 このステーションの名前を設定します。 ステーション名は、本当は IEEE 802.11 プロトコルの一部ではないようですが、 すべてのインタフェースがこれをサポートしているようです。 そのようなものですから、 同じもしくは実際的に同じ機器にとってのみ有用であるようです。 .It Cm station Ar name .Cm stationname パラメータの別名。 .Bsx との互換性のためにあります。 .It Cm channel Ar number IEEE 802.11 無線インタフェース用であり、 希望するチャネルを設定します。 チャネルの範囲は 1 から 14 ですが、 アダプタがどの地域用に製造されたかに、利用可能な選択肢は依存します。 チャネルを 0 に設定すると、アダプタのデフォルト設定になります。 アドホックモード以外では、多くのアダプタがこの設定を無視します。 .It Cm authmode Ar mode IEEE 802.11 無線インタフェース用であり、 インフラストラクチャモードでの希望する認証モードを設定します。 すべてのアダプタがすべてのモードをサポートしているわけではありません。 正当なモードは .Dq Li none , .Dq Li open , .Dq Li shared です。 モードは、大文字小文字を区別しません。 .It Cm powersave IEEE 802.11 無線インタフェース用であり、省電力モードを有効にします。 .It Fl powersave IEEE 802.11 無線インタフェース用であり、省電力モードを無効にします。 .It Cm powersavesleep Ar sleep IEEE 802.11 無線インタフェース用であり、 希望する最大省電力スリープ時間をミリ秒で指定します。 .It Cm protmode Ar technique 11g で動作する IEEE 802.11 無線インタフェース用であり、 11b/11g が混在するネットワークで OFDM フレームを保護するのに使う .Ar technique (技術) を指定します。 有効な技術は .Dq Li off 、 .Dq Li cts (自身への CTS)、 .Dq Li rtscts (RTS/CTS) です。 技術の名前は大文字小文字を区別しません。 .It Cm rtsthreshold Ar length IEEE 802.11 無線インタフェース用であり、 RTS 制御フレームの送信の後に送信されるフレームに対する閾値を設定します。 .Ar length 引数はフレームのバイト単位での大きさであり、1 から 2312 の間でなければなりません。 すべてのアダプタが RTS 閾値の設定をサポートしている訳ではありません。 .It Cm txpower Ar power IEEE 802.11 無線インタフェース用であり、送信するフレームの強度を設定します。 .Ar power 引数は 0 から 100 の間の単位のない値であり、 ドライバによりデバイスに固有な値に変換されます。 範囲外の値は切り詰められます。 大抵は、いくつかの飛び飛びの値のみが設定でき、 ドライバは指定された値に最も近い設定を使うことになるでしょう。 すべてのアダプタが送信強度の変更をサポートしている訳ではありません。 .It Cm wepmode Ar mode IEEE 802.11 無線インタフェース用であり、希望する WEP モードを設定します。 すべてのアダプタがすべてのモードをサポートしているわけではありません。 正当なモードは .Dq Li off , .Dq Li on , .Dq Li mixed です。 .Dq Li mixed モードは、暗号化トラフィックと非暗号化トラフィックの両方を許す アクセスポイントとの関係を許すことを、アダプタに明示的に指定します。 両方を許すアダプタにおける .Dq Li on は、 アクセスポイントが暗号化接続のみを許可することが必要であることを意味します。 他のアダプタにおける .Dq Li on は、一般的に .Dq Li mixed の別名です。 モードは、大文字小文字を区別しません。 .It Cm weptxkey Ar index IEEE 802.11 無線インタフェース用であり、送信に使用する WEP 鍵を設定します。 .It Cm wepkey Ar key Ns | Ns Ar index : Ns Ar key IEEE 802.11 無線インタフェース用であり、選択された WEP 鍵を設定します。 .Ar index が指定されない場合、鍵 1 が設定されます。 WEP 鍵の長さは、5 文字または 13 文字 (40 ビットまたは 104 ビット) であり、 ローカルネットワークとアダプタの機能に依存します。 通常の文字列の形式か .Ql 0x を前に付けた 16 進数の形式で、指定可能です。 最大限の可搬性のためには、16 進数形式の鍵を推奨します。 テキスト鍵から WEP 暗号へのマッピングは、通常、ドライバ固有です。 特に、 .Tn Windows ドライバのマッピング方法は .Fx のものとは異なります。 鍵は、 .Ql - を設定することで、これを消去可能です。 WEP がサポートされていれば、最低 4 個の鍵があります。 アダプタによっては 4 個を越える鍵をサポートするものもあります。 そのような場合、最初の 4 個の鍵 (1-4) が標準の一時鍵となり、 他の鍵がアダプタ固有の鍵となります。 後者は、例えば、NVRAM に格納される永続鍵です。 .It Cm wep .Cm wepmode on の別の指定方法。 .Bsx との互換性のためにあります。 .It Fl wep .Cm wepmode off の別の指定方法。 .Bsx との互換性のためにあります。 .It Cm nwkey key 以下の、別の指定方法。 .Pp .Dq Li "wepmode on weptxkey 1 wepkey 1:key wepkey 2:- wepkey 3:- wepkey 4:-" .Pp .Nx との互換性のためにあります。 .It Cm nwkey Xo .Sm off .Ar n : k1 , k2 , k3 , k4 .Sm on .Xc 以下の、別の指定方法。 .Pp .Dq Li "wepmode on weptxkey n wepkey 1:k1 wepkey 2:k2 wepkey 3:k3 wepkey 4:k4" .Pp .Nx との互換性のためにあります。 .It Fl nwkey .Cm wepmode off の別の指定方法。 .Pp .Nx との互換性のためにあります。 .El .Pp .Nm ユーティリティは、 引数としてネットワークインタフェース以外に何のオプションも与えられない場合、 ネットワークインタフェースの現在の設定状態を表示します。 プロトコルファミリが指定されている場合、 .Nm はプロトコルファミリに特有の情報についてのみ表示します。 .Pp ドライバがメディア選択をサポートする場合、 サポートされているメディアのリストが出力に含まれます。 .Pp インタフェース名の前に .Fl m フラグが渡されると、指定したインタフェースの機能一覧と そのインタフェースがサポートしているすべてのメディアを .Nm は表示します。 オプションとして、インタフェース名の代りに .Fl L フラグを指定すると、IPv6 用のアドレスの生存時間が、 時刻オフセット文字列として表示されます .Pp インタフェース名の代わりに .Fl a フラグを指定できます。 そうすると、 .Nm はシステム上の全インタフェースを表示します。 .Fl d フラグはこれを down したインタフェースに限定し、 .Fl u フラグはこれは up したインタフェースに限定します。 引数を指定しないと、 .Fl a が暗黙的に指定されます。 .Pp .Fl l フラグを使用するとシステム上の使用可能な全インタフェースのリストを、 その他の情報は付加せずに表示します。 このフラグは他のフラグとは排他的ですが、 .Fl d (down したインタフェースのみをリスト) と .Fl u (up したインタフェースのみをリスト) は例外です。 .Pp .Fl C フラグは、システム上で利用可能なインタフェース複製者をすべて列挙します。 他の情報は表示されません。 本フラグは、他のフラグおよびコマンドと共には使用できません。 .Pp スーパユーザのみがネットワークインタフェースの設定を変更できます。 .Sh 注 メディア選択システムは比較的新しく、いくつかのドライバのみサポートしています (必要があるものも限られています)。 .Sh 診断 指定したインタフェースが存在しない、 要求したアドレスが未知のものである、 ユーザがネットワークインタフェースの設定を変更する権限を持っていない、 といったメッセージを表示します。 .Sh バグ 基本的な IPv6 ノード操作には、IPv6 用に設定された各インタフェースに リンクローカルのアドレスが必要です。 通常、アドレスはカーネルによりシステムに追加された各インタフェースに 自動的に設定されます。 この動作は sysctl MIB 変数 .Va net.inet6.ip6.auto_linklocal を 0 に設定することで無効にできます。 .Pp これらを .Nm で手動で削除すると、カーネルが非常に奇妙な動作を示すことがあります。 よって、このような手動削除は、強く非推奨です。 .Sh 関連項目 .Xr netstat 1 , +.Xr carp 4 , .Xr netintro 4 , +.Xr polling 4 , .Xr vlan 4 , .\" .Xr eon 5 , .Xr rc 8 , .Xr routed 8 , .Xr sysctl 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.2 -から登場しました。 +で登場しました。 diff --git a/ja_JP.eucJP/man/man8/ipfw.8 b/ja_JP.eucJP/man/man8/ipfw.8 index efcdadf92b..fc00979158 100644 --- a/ja_JP.eucJP/man/man8/ipfw.8 +++ b/ja_JP.eucJP/man/man8/ipfw.8 @@ -1,2432 +1,2447 @@ .\" -.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.150.2.3 2004/10/10 00:57:23 csjp Exp % +.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.150.2.6 2005/03/02 19:50:11 andre Exp % .\" .\" $FreeBSD$ .\" -.Dd September 19, 2004 +.Dd March 2, 2005 .Dt IPFW 8 .Os .Sh 名称 .Nm ipfw .Nd IP ファイアウォールとトラフィックシェイパの制御プログラム .Sh 書式 .Nm .Op Fl cq .Cm add .Ar rule .Nm .Op Fl acdefnNStT .Brq Cm list | show .Op Ar rule | first-last ... .Nm .Op Fl f | q .Cm flush .Nm .Op Fl q .Brq Cm delete | zero | resetlog .Op Cm set .Op Ar number ... .Nm .Cm enable .Brq Cm firewall | one_pass | debug | verbose | dyn_keepalive .Nm .Cm disable .Brq Cm firewall | one_pass | debug | verbose | dyn_keepalive .Pp .Nm .Cm set Oo Cm disable Ar number ... Oc Op Cm enable Ar number ... .Nm .Cm set move .Op Cm rule .Ar number Cm to Ar number .Nm .Cm set swap Ar number number .Nm .Cm set show .Pp .Nm .Cm table Ar number Cm add Ar addr Ns Oo / Ns Ar masklen Oc Op Ar value .Nm .Cm table Ar number Cm delete Ar addr Ns Op / Ns Ar masklen .Nm .Cm table Ar number Cm flush .Nm .Cm table Ar number Cm list .Pp .Nm .Brq Cm pipe | queue .Ar number .Cm config .Ar config-options .Nm .Op Fl s Op Ar field .Brq Cm pipe | queue .Brq Cm delete | list | show .Op Ar number ... .Pp .Nm .Op Fl cfnNqS .Oo .Fl p Ar preproc .Oo .Ar preproc-flags .Oc .Oc .Ar pathname .Sh 解説 .Nm とそのユーティリティは .Fx の .Xr ipfw 4 ファイアウォールと .Xr dummynet 4 トラフィックシェイパを制御するユーザインタフェースです。 .Pp .Bd -ragged -offset XXXX .Em 注: このマニュアルページは 2002 年 7 月に .Fx 5.0 に導入され .Nm ipfw2 としても知られている .Nm の新バージョンについて説明しています。 .Nm ipfw2 は旧版のファイアウォール .Nm ipfw1 のスーパセットです。この 2 つの違いはセクション .Sx IPFW2 拡張 に列挙されています。古いルールセットを書き直し、より効率的にするために、 ここを読むことをお勧めします。 .Fx 4.x で .Nm ipfw2 を実行する手順については、セクション .Sx FreeBSD 4.x で IPFW2 を使う を参照下さい。 .Ed .Pp .Nm の設定、もしくは .Em ルールセット は、1 から 65535 までの番号をつけられた .Em ルール のリストからなります。 パケットは プロトコルスタック中のいくつかの箇所から .Nm に渡されます (パケットの発信元と宛先によっては、 .Nm は同じパケットに対して複数回起動させられる可能性があります)。 ファイアウォールに渡されるパケットは ファイアウォールの .Em ルールセット 中のルールそれぞれに対して照合されます。 .Pp マッチした場合、マッチしたルールに対応するアクションが実行されます。 アクションと実際のシステムの設定によっては、 マッチしたルールの後のルールでさらに処理を行うために パケットがファイアウォールに再注入されることがあります。 .Pp .Nm ルールセットには常に .Em デフォルト ルール (番号 65535) が含まれます。 このルールは変更も削除もできず、 全パケットにマッチします。 .Em デフォルト ルールに関連付けられるアクションは .Cm deny か .Cm allow のどちらかになりますが、 これはどのようにカーネルを設定したかに依存します。 .Pp ルールセットが オプション .Cm keep-state または .Cm limit 付きのルールを含む場合、 .Nm は .Em ステートフル (状態依存型) で動作します。すなわち、あるマッチの結果、 マッチしたパケットのパラメータにちょうど一致するルールが 動的に生成されます。 .Pp これらの動的ルールの生存時間は有限で、 .Cm check-state または .Cm keep-state または .Cm limit ルールが最初に生じた場所でチェックされます。 動的ルールは、普通、正当なトラフィックをオンデマンドで ファイアウォールを通過させるために用います。 .Nm のステートフルな動作について更に情報が必要ならば、 以下の .Sx ステートフルファイアウォール セクションと .Sx 使用例 セクションを参照して下さい。 .Pp 全てのルール(動的ルールを含む)は、 関連するカウンタをいくつか持っています。それらは、 パケットカウント、バイトカウント、ログカウント、 最後にマッチした時刻を示すタイムスタンプです。 カウンタは、 .Nm コマンドによって表示することができ、またリセットすることができます。 .Pp ルールの追加は .Cm add コマンドにて可能です。 ルールひとつひとつ、またはまとめての削除は .Cm delete コマンドにて可能であり、(セット 31 以外の) すべてのルールの削除は .Cm flush コマンドにて可能です。 ルールの表示 (オプションでカウンタ内容を含めることができます) は、 .Cm show コマンドおよび .Cm list コマンドにて可能です。 最後に、カウンタのリセットは .Cm zero コマンドおよび .Cm resetlog コマンドにて可能です。 .Pp また、各ルールは 32 個の 異なる .Em セット の 1 つに所属し、 セットに対する不可分な操作、例えば 有効化・無効化・セットの入れ換え・セット内の全ルールを別のセットへ移動・ セット内の全ルールの削除などを行うための .Nm コマンドがあります。 これらは一時的な設定をインストールしたり設定のテストを行ったりするときに 便利です。 .Em セット に関する詳細はセクション .Sx ルールセット を参照して下さい。 .Pp 次のオプションが利用可能です: .Bl -tag -width indent .It Fl a ルールのリストを表示する際に、 カウンタ値を示します。 .Cm show コマンドは、このオプションを暗黙的に指定しただけのものです。 .It Fl b アクションとコメントのみを表示します。ルールのボディは表示しません。 .Fl c が暗黙のうちに指定されます。 .It Fl c ルールを入力したり参照したりするときに、 コンパクトな書式でルールを表示します。 つまり、ルールが何の追加情報も持たないときは、 オプショナルな文字列 "ip from any to any" を表示しません。 .It Fl d ルールのリストを表示する際に、 静的ルールに加えて動的ルールも表示します。 .It Fl e ルールのリストを表示する際に、 もし .Fl d オプションが指定されていれば、 期限切れの動的ルールも表示します。 .It Fl f 誤って使用すると問題を起す可能性のあるコマンド、 .No すなわち Cm flush に対して、実行の確認を行いません。 プロセスに関連付けられた tty が無い場合、このオプションが 暗黙のうちに指定されたとして処理されます。 .It Fl n コマンド文字列の文法だけをチェックし、 実際にはカーネルには渡しません。 .It Fl N 出力に含まれるアドレスとサービス名の名前解決を試みます。 .It Fl q .Cm add , .Cm zero , .Cm resetlog , .Cm flush を実行する際、動作について報告しません (暗黙のうちに .Fl f が指定されます)。 スクリプト (例えば .Ql sh\ /etc/rc.firewall ) の中で複数の .Nm コマンドを実行してルールを変更する場合や、 リモートログインセッション経由で多数の .Nm ルールを含むファイルを処理することによりルールを変更する場合に 有用です。 -通常 (冗長) モードで (デフォルトカーネル設定で) flush を行った場合、 -メッセージを表示します。 +通常 (冗長) モードで (デフォルトカーネル設定で) +.Cm flush +を行った場合、メッセージを表示します。 すべてのルールが捨てられますので、 メッセージはログインセッションへ渡せません。 つまり、リモートログインセッション経由の場合、セッションはクローズされ、 残りのルールセットは処理されません。 この状態から回復するためにはコンソールへのアクセスが必要になります。 .It Fl S ルールのリストを表示する際に、 各ルールが属する .Em セット を表示します。 このフラグが指定されていなければ、 無効化されているルールは表示されません。 .It Fl s Op Ar field パイプ経由でリスト出力している際に、4 つのカウンタの 1 つについて 整列させます (総パケット数/バイト数または現在のパケット数/バイト数)。 .It Fl t ルールのリストを表示する際に、 最後にマッチしたタイムスタンプを表示します (ctime() で変換されます)。 .It Fl T ルールのリストを表示する際に、 最後にマッチしたタイムスタンプを表示します (基準時点からの秒で表示されます)。 この書式の方が、スクリプトでの後処理に向いています。 .El .Pp 冒頭の書式の行で示したように、 設定を簡単にするため、 ルールを .Nm に処理させるファイルに記述することができます。 .Ar pathname には絶対パス名を使用する必要があります。 このファイルからは 1 行ずつ読み込まれ、 .Nm ユーティリティの引数として受け付けられます。 .Pp .Fl p Ar preproc を使用して、 .Ar pathname がパイプされるプリプロセッサを指定することもできます。 有用なプリプロセッサには、 .Xr cpp 1 と .Xr m4 1 があります。 .Ar preproc の最初の文字がスラッシュ .Pq Ql / から始まらない場合、 .Ev PATH を使用した通常の名前検索が行われます。 .Nm が実行されるときまでに全ファイルシステムが (まだ) マウントされないような環境 (例えば NFS 経由でマウントされる場合) では、このことに注意してください。 ひとたび .Fl p が指定されると、以降の引数がプリプロセッサに渡されます。 これにより、(ローカルホスト名により条件付けするなど) 柔軟性のある設定ファイルを作成可能となり、IP アドレスのように 頻繁に必要となる引数を集中管理するためのマクロを使用可能となります。 .Pp 後述の .Sx トラフィックシェイパ (DUMMYNET) 設定 セクションで示すように、 .Nm .Cm pipe および .Cm queue コマンドを使用して、トラフィックシェイパを構築可能です。 .Pp 世界とカーネルの調子が外れると、 .Nm ABI が壊れてしまい、いかなるルールも追加できなくなります。 これはブートに悪影響があり得ます。 .Nm .Cm disable .Cm firewall で、一時的にファイアウォールを無効化することで、 ネットワークアクセスを再取得して問題解決できます。 .Sh パケットフロー 1 個のパケットが、プロトコルスタックの複数の場所で、 有効なルールセットに対しチェックされます。このチェックは いくつかの sysctl 変数に基づきます。 これらの場所と変数を以下に示します。 ルールセットを正しく設計するためには、この図をよく理解する ことが大切です。 .Bd -literal -offset indent ^ to upper layers V | | +----------->-----------+ ^ V [ip_input] [ip_output] net.inet.ip.fw.enable=1 | | ^ V [ether_demux] [ether_output_frame] net.link.ether.ipfw=1 | | +-->--[bdg_forward]-->--+ net.link.ether.bridge_ipfw=1 ^ V | to devices | .Ed .Pp 上図に示されるように、 同一のパケットがファイアウォールを通過する回数は、 パケットの発信元や宛先、システムの設定により、 0 回から 4 回の範囲で変動します。 .Pp パケットがスタックを通過するにつれヘッダが削除 / 追加される 可能性があり、ヘッダがチェックに使えたり使えなかったりする ことに注意して下さい。 例えば、外から入ってくるパケットは .Cm ether_demux() から .Nm が実行されるときには MAC ヘッダを含んでいるはずですが、 その同じパケットが、 .Cm ip_input() から .Nm が実行されたときには MAC ヘッダは取り除かれているはずです。 .Pp また、各パケットは常にルールセット全体に対しチェックされることにも 注意してください。 これは、チェックが生じた場所、パケットのソースに関係ありません。 実行された箇所によっては無効となるような マッチパターンやアクション (例えば、 .Cm ip_input() 中で MAC ヘッダとマッチを試みるようなもの) をルールが含んでいるなら、そのパターンはマッチしないことになります。 とはいえ、そのようなパターンの前に .Cm not オペレータを記述すれば、このパターンは .Em 常に そのようなパケットにマッチすることになります。 したがって、必要に応じ、生じ得る場所の違いを理解して、 適切なルールセットを記述することはプログラマの責任です。 そこで .Cm skipto ルールが役に立つことでしょう。 例えば次のようにします。 .Bd -literal -offset indent # ether_demux または bdg_forward からのパケット ipfw add 10 skipto 1000 all from any to any layer2 in # ip_input からのパケット ipfw add 10 skipto 2000 all from any to any not layer2 in # ip_output からのパケット ipfw add 10 skipto 3000 all from any to any not layer2 out # ether_output_frame からのパケット ipfw add 10 skipto 4000 all from any to any layer2 out .Ed .Pp (そうです、今のところ ether_demux と bdg_forward とを 区別する方法はありません)。 .Sh 文法 一般に、各キーワードもしくは引数は、別々のコマンド行引数として与えられ、 その前や後には空白は付きません。 キーワードは、大文字小文字を区別しますが、 引数は、その性質に依存し、大文字小文字を区別するかもしれませんし、 しないかもしれません (例えば uid は区別しますが、hostname はしません)。 .Pp .Nm ipfw2 では、コンマ ',' の後に空白を入れ、行を読み易くできます。 また、コマンド全体 (フラグを含む) を、単一引数に入れられます。 例えば、次の書式は等価です: .Bd -literal -offset indent ipfw -q add deny src-ip 10.0.0.0/24,127.0.0.1/8 ipfw -q add deny src-ip 10.0.0.0/24, 127.0.0.1/8 ipfw "-q add deny src-ip 10.0.0.0/24, 127.0.0.1/8" .Ed .Sh ルール書式 .Nm ルールの書式は次の通りです。 .Bd -ragged -offset indent .Op Ar rule_number .Op Cm set Ar set_number .Op Cm prob Ar match_probability .br .Ar " " action .Op Cm log Op Cm logamount Ar number .Ar body .Ed .Pp この中で、ルールのボディ (body) は次の中からどの情報を使用して パケットをフィルタするかを指定します。 .Pp .Bl -tag -width "Source and dest. addresses and ports" -offset XXX -compact .It レイヤ 2 ヘッダフィールド 可能ならば .It IPv4 プロトコル TCP, UDP, ICMP など .It 送信元および宛先のアドレスとポート .It 方向 セクション .Sx パケットフロー を参照して下さい .It 送信および受信インタフェース 名前またはアドレス .It その他の IP ヘッダフィールド バージョン、サービスタイプ、データグラム長、識別子、 フラグメントフラグ (0 でない IP オフセット)、 生存時間 .It IP オプション .It その他の TCP ヘッダフィールド TCP フラグ (SYN, FIN, ACK, RST など)、 シーケンス番号、確認応答番号、ウィンドウ .It TCP オプション .It ICMP タイプ ICMP パケットの場合 .It ユーザ/グループ ID パケットをローカルソケットに関連づけることが可能な場合 .El .Pp 上記の情報のうち幾つか、 例えば、送信元 MAC アドレスまたは IP アドレスと TCP/UDP ポート は容易に詐称が可能であることに注意して下さい。 したがって、これらのフィールドのみでフィルタすることは 必ずしも望ましい結果を保証しません。 .Bl -tag -width indent .It Ar rule_number 各ルールは、1 から 65535 の範囲の .Ar rule_number に関連づけられており、 後者は .Em デフォルト ルールのために予約されています。 ルールはルール番号の順にチェックされます。 複数のルールが同一の番号を持つことが可能で、 その場合は追加された順序でチェックされます (表示する場合も同様です) 。 番号の指定なしでルールが入力された場合、 カーネルは、そのルールが .Em デフォルト ルールより前にあるルールの中で最後になるように割り当てます。 自動的につけられるルール番号は、 デフォルトを除いた中で最後となるルール番号を、 sysctl 変数 .Ar net.inet.ip.fw.autoinc_step の値だけ増加させて割り当てられます。 この変数のデフォルトは 100 です。 もし、この操作が (例えば許可された最大ルール番号を越えるといった理由で) 不可能であれば、 最後のデフォルトでない値が代わりに使用されます。 .It Cm set Ar set_number 各ルールは 0 から 31 の範囲の .Ar set_number に関連づけられています。 セットは個別に無効化したり有効化したりすることができます。 したがって、このパラメータは不可分なルールセット操作を行うために 必要不可欠なものです。 このパラメータを使うことで、ルールをまとめて削除することを 単純にすることもできます。 セット番号を指定せずにルールを入力した場合、 セット 0 が使用されます。 .br セット 31 は特別であり、無効化できませんし、この中のルールは .Nm ipfw flush コマンドで削除できません (しかし、 .Nm ipfw delete set 31 コマンドで削除するこはできます)。 セット 31 はまた、 .Em デフォルト ルールとしても使用されます。 .It Cm prob Ar match_probability 指定した確率 (0 から 1 までの浮動小数点数です) でしかマッチしないマッチを宣言します。 ランダムにパケットを落とす応用や、 .Xr ( dummynet 4 と共に使用して) パケット到達順序の乱れを引き起こす複数経路の効果をシミュレートする 応用など、多くの応用に有用です。 .Pp 注: この条件は、他の条件の前にチェックされます。 これには、keep-state や check-state といった副作用のあるものも含まれます。 .It Cm log Op Cm logamount Ar number パケットが .Cm log キーワードを持ったルールにマッチした場合、 メッセージが .Xr syslogd 8 に .Dv LOG_SECURITY ファシリティで記録されます。 sysctl 変数 .Em net.inet.ip.fw.verbose が 1 (カーネルが .Dv IPFIREWALL_VERBOSE でコンパイルされていればこれがデフォルトです) に設定されており、 そのルールについてこれまで記録されたパケットの数が その .Cm logamount パラメータを越えていなければ、記録が行われます。 .Cm logamount が指定されていなければ、制限は sysctl 変数 .Em net.inet.ip.fw.verbose_limit から参照されます。 両者の値が 0 であれば記録の制限は取り除かれます。 .Pp 一度制限に達したなら、 このエントリに対するロギングカウンタかパケットカウンタをクリアすれば 記録を再び有効にすることができます。 .Cm resetlog コマンドを参照して下さい。 .Pp 注: ログが実行されるのは、 すべてのパケットマッチ条件が成功裏に確認された後であり、 最後の動作 (受理や拒否等) をパケットに実施する前です。 .El .Ss ルールアクション ルールは次に示すアクションの 1 つと関連づけることができます。 これはパケットがルールのボディにマッチしたときに実行されます。 .Bl -tag -width indent .It Cm allow | accept | pass | permit ルールにマッチするパケットを受け付けます。 検索は終了します。 .It Cm check-state 動的ルールセットに対してパケットのチェックを行ないます。 マッチした場合、 その動的ルールを生成したルールに関連づけられたアクションを実行し、 マッチしなかった場合、次のルールに移ります。 .br .Cm check-state ルールはボディを持ちません。 .Cm check-state ルールが見つからないときは、 動的ルールセットは最初の .Cm keep-state ルール、もしくは .Cm limit ルールの場所でチェックされます。 .It Cm count ルールにマッチした全てのパケットのカウンタを更新します。 検索は次のルールへ続行します。 .It Cm deny | drop ルールにマッチした全てのパケットを破棄します。 検索は終了します。 .It Cm divert Ar port ルールにマッチするパケットを ポート .Ar port にバインドされている .Xr divert 4 ソケットに送出します。 検索は終了します。 .It Cm fwd | forward Ar ipaddr Ns Op , Ns Ar port マッチしたパケットの次のホップを .Ar ipaddr に変更します。 これには IP アドレスとして、数字 4 つ組形式 またはホスト名が使用できます。 このルールにマッチした場合、検索は終了します。 .Pp .Ar ipaddr がローカルアドレスの場合、マッチしたパケットはローカルマシンの .Ar port (または、ルールで指定されていない場合はそのパケットのポート番号) に転送されます。 .br .Ar ipaddr がローカルアドレスでない場合、 ポート番号は (指定されていても) 無視され、 パケットは ローカルな経路テーブルに存在するその IP に対する経路を使用して リモートアドレスに転送されます。 .br .Ar fwd ルールはレイヤ 2 パケット (それらは ether_input, ether_output, bridged で受信されます) にはマッチしません。 .br .Cm fwd アクションはパケットの内容をまったく変更しません。 実際、宛先アドレスが修正されずに残るので、 転送先システムがそのようなパケットを取り込むルールを持たない限り、 他のシステムに転送されたパケットは、通常転送先のシステムで拒否されます。 ローカルに転送されるパケットの場合、 ソケットのローカルアドレスはパケットが元々持っていた 宛先アドレスに設定されます。 このことによって .Xr netstat 1 が出力するエントリは若干奇妙な見え方になりますが、 これは透過プロキシサーバでの使用を意図しています。 +.Pp +.Cm fwd +を有効にするには、カーネルを +オプション +.Cd "options IPFIREWALL_FORWARD" +を付けてコンパイルすることが必要です。 +追加のオプション +.Cd "options IPFIREWALL_FORWARD_EXTENDED" +を指定することで、安全策がすべて外され、 +ローカルに設定された IP アドレス宛のパケットをリダイレクトすることも +可能になります。 +そのようなルールはローカルに生成されたパケットにも適用されるので、 +ICMP メッセージサイズ超過などのような自動的に生成されるパケットが +適切に振る舞うよう細心の注意が必要なことに注意して下さい。 .It Cm pipe Ar pipe_nr パケットを .Xr dummynet 4 .Dq パイプ (バンド幅制限、遅延などに使用されます) へ渡します。 詳しい情報については .Sx トラフィックシェイパ (DUMMYNET) 設定 セクションを参照してください。 検索は終了します。 しかし、パイプから抜けたときに .Xr sysctl 8 変数 .Em net.inet.ip.fw.one_pass がセットされていない場合、 パケットは、すぐ次のルールから始まるファイアウォールコードへ 再度渡されます。 .It Cm queue Ar queue_nr パケットを .Xr dummynet 4 .Dq キュー (WF2Q+ を使ったバンド幅制限に使用されます) へ渡します。 .It Cm reject (非推奨)。 .Cm unreach host と同義です。 .It Cm reset このルールにマッチしたパケットを破棄します。 さらに、そのパケットが TCP パケットであれば、 TCP リセット (RST) 通知を送出しようと試みます。 検索は終了します。 .It Cm skipto Ar number それ以降のルールのうち .Ar number より小さな番号のものすべてを飛び越して、 .Ar number 以上の番号のルールで最初に存在するものから、検索を継続します。 .It Cm tee Ar port このルールにマッチしたパケットの複製を、 ポート .Ar port にバインドされた .Xr divert 4 ソケットに送出します。 検索は、その次のルールへ継続されます。 .It Cm unreach Ar code このルールにマッチしたパケットを破棄し、 コード .Ar code の ICMP 到達不可通知を送出しようと試みます。 ここで .Ar code は 0 から 255 の数字、または次のエイリアスのいずれかです: .Cm net , host , protocol , port , .Cm needfrag , srcfail , net-unknown , host-unknown , .Cm isolated , net-prohib , host-prohib , tosnet , .Cm toshost , filter-prohib , host-precedence , .Cm precedence-cutoff 。 検索は終了します。 .El .Ss ルールボディ ルールのボディは 0 個以上のパターン (送信元と宛先アドレスやポートの指定、 プロトコルオプション、受信または送信インタフェースの指定など) を含みます。このパターンは パケットを識別するためにマッチしなければならないものです。 一般に、パターンは (暗黙的に) .Cm and オペレータで接続されます -- つまり、ルールがマッチするためには 全てがマッチしなければなりません。 個々のパターンには、マッチの結果を反転させるために .Cm not オペレータを前置することができます。 これは次のようになります。 .Pp .Dl "ipfw add 100 allow ip from not 1.2.3.4 to any" .Pp さらに、 次のように .Cm or オペレータを使用し、 丸括弧 () や ブレース {} で括られた内部にパターンを列挙することで、 新しいマッチパターンのセット ( .Em 論理和ブロック ) を構築することができます: .Pp .Dl "ipfw add 100 allow ip from { x or not y or z } to any" .Pp 括弧のレベルは 1 つのみが可能です。 ほとんどのシェルが丸括弧やブレースに特別な意味を持たせていることに 注意して下さい。 したがって、そのような解釈が起こらないようにバックスラッシュ \\ を その前に置くことを勧めます。 .Pp ルールのボディは、一般に送信元と宛先アドレスの指定を含まなければなりません。 キーワード .Ar any は必須フィールドの内容が重要でないことを指定するために 様々な箇所で使用することができます。 .Pp ルールボディは以下の書式で指定します。 .Bd -ragged -offset indent .Op Ar proto Cm from Ar src Cm to Ar dst .Op Ar options .Ed .Pp 最初の部分 (proto from src to dst) は .Nm ipfw1 との後方互換のためにあります。 .Nm ipfw2 では、任意のマッチパターン (MAC ヘッダ、IPv4 プロトコル、アドレス、ポートを含む) が .Ar options セクションで指定できます。 .Pp ルールフィールドは以下の意味を持ちます。 .Bl -tag -width indent .It Ar proto : protocol | Cm { Ar protocol Cm or ... } .It Ar protocol : Oo Cm not Oc Ar protocol-name | protocol-number IPv4 におけるプロトコル を、数字や名前で指定します (完全なリストは .Pa /etc/protocols を参照して下さい)。 .Cm ip または .Cm all のキーワードを使用すると、すべてのプロトコルがマッチします。 .Pp .Cm { Ar protocol Cm or ... } 書式 .Em ( 論理和ブロック ) は、簡便さのためだけに提供されており、価値が低下しています。 .It Ar src No and Ar dst : Bro Cm addr | Cm { Ar addr Cm or ... } Brc Op Oo Cm not Oc Ar ports 単一のアドレス (またはリスト、後述) で、 オプションとして、その後に .Ar ports 指示子を続けて置くことができます。 .Pp 第 2 の書式 (複数アドレス付きの .Em 論理和ブロック ) は、簡便さのためだけに提供されており、価値が低下しています。 .It Ar addr : Oo Cm not Oc Bro .Cm any | me | .Cm table Ns Pq Ar number Ns Op , Ns Ar value .Ar | addr-list | addr-set .Brc .It Cm any 任意の IP アドレスがマッチします。 .It Cm me システムのインタフェースに設定された任意の IP アドレスがマッチします。 アドレスのリストはパケットが解析されるときに評価されます。 .It Cm table Ns Pq Ar number Ns Op , Ns Ar value 検索表 .Ar number に存在するエントリに対応する任意の IP アドレスがマッチします。 オプションの 32 ビット符号なし整数 .Ar value も指定された場合には、その値のエントリにのみマッチします。 検索表に関する詳細は下記の .Sx 検索表 セクションを参照して下さい。 .It Ar addr-list : ip-addr Ns Op Ns , Ns Ar addr-list .It Ar ip-addr : 次の方法で指定される、ホストもしくはサブネットのアドレス: .Bl -tag -width indent .It Ar numeric-ip | hostname ドットで区切った数字 4 つ組またはホスト名で指定した、 1 つの IPv4 アドレスがマッチします。 ホスト名の名前解決は、そのルールがファイアウォールのリストに 追加されるときに行われます。 .It Ar addr Ns / Ns Ar masklen ベースとなる .Ar addr (ドットで区切った数字 4 つ組またはホスト名で指定します) と .Cm masklen ビット幅のマスク に一致する全てのアドレスがマッチします。 例えば、1.2.3.4/25 は 1.2.3.0 から 1.2.3.127 までの 全ての IP アドレスがマッチすることになります。 .It Ar addr Ns : Ns Ar mask ベースアドレスが .Ar addr (ドットで区切った 4 つの数字またはホスト名で指定されます) であり、マスクが .Ar mask (ドットで区切った 4 つの数字で指定されます) である全てのアドレスにマッチします。 例えば、1.2.3.4:255.0.255.0 は、1.*.3.* にマッチします。 この形式は、連続でないマスクの場合にだけ使用することを推奨します。 連続なマスクの場合は、よりコンパクトでより間違いにくい、 .Ar addr Ns / Ns Ar masklen を使います。 .El .It Ar addr-set : addr Ns Oo Ns / Ns Ar masklen Oc Ns Cm { Ns Ar list Ns Cm } .It Ar list : Bro Ar num | num-num Brc Ns Op Ns , Ns Ar list ベースアドレスが .Ar addr (ドットで区切った数字 4 つ組またはホスト名で指定します) であり、最後のバイトがブレース {} の中に列挙されている 全てのアドレスがマッチします。 ブレースと数字の間には空白を置いてはいけないことに注意して下さい (コンマの後の空白は許されています)。 リストの要素は、単一項目もしくは範囲が指定可能です。 .Ar masklen フィールドはアドレスのセットのサイズに制限をつけるために使用され、 24 から 32 の間の任意の値をとることができます。 指定されない場合 24 が仮定されます。 .br この書式は 1 つのルールでまばらなアドレス群を取り扱うときに 特に便利です。 ビットマスクを使用してマッチを行うので、 定数時間で処理でき、ルールセットの複雑さが劇的に減少します。 .br 例えば、アドレスを 1.2.3.4/24{128,35-55,89} として指定した場合、 次のアドレスがマッチします: .br 1.2.3.128, 1.2.3.35 to 1.2.3.55, 1.2.3.89 . .It Ar ports : Bro Ar port | port Ns \&- Ns Ar port Ns Brc Ns Op , Ns Ar ports (TCP や UDP などのように) ポート番号をサポートしている プロトコルについて、オプションとして、 .Cm ports を指定することができます。 1 つ以上のポートまたはポートの範囲を空白なしのコンマ区切りで指定します。 さらにオプションとして、 .Cm not オペレータを付加して指定することができます。 記号 .Ql \&- による表現は、ポート範囲 (両端含む) を指定します。 .Pp ポート数値の代わりに (ファイル .Pa /etc/services から取った) サービス名を使用できます。 ポートリストの長さは 30 ポートまたはポート範囲に制限されていますが、 ルールの .Cm options セクションで .Em 論理和ブロック を使用することにより、より広い範囲を指定することができます。 .Pp バックスラッシュ .Pq Ql \e を使用することにより、サービス名中のダッシュ .Pq Ql - 文字をエスケープ可能です (シェルから入力するとき、 シェル自身がバックスラッシュをエスケープ文字として解釈するのをさけるために、 バックスラッシュを 2 回タイプしなければなりません)。 .Pp .Dl "ipfw add count tcp from any ftp\e\e-data-ftp to any" .Pp 断片化されたパケットでオフセットが非 0 のもの (すなわち、最初の断片ではないもの) は、 1 つ以上のポート指定を持つルールにはマッチしません。 断片化されたパケットへのマッチングに関する詳細は .Cm frag オプションを参照してください。 .El .Ss ルールオプション (マッチパターン) ルール内で追加のマッチパターンを使用することができます。 これらはルール内に 0 個以上置けるので .Em オプション と呼ばれており、オプションで .Cm not オペランドを前置することができ、 .Em 論理和ブロック としてグループ化することが可能です。 .Pp 以下のマッチパターンが使用できます (アルファベット順に並べています)。 .Bl -tag -width indent .It Cm // this is a comment. 指定したテキストを、ルール中にコメントとして挿入します。 // に続くすべてがコメントとして扱われ、ルール中に格納されます。 コメントのみのルールを持つことも可能であり、それは .Cm count アクションに続いてコメントが表示されます。 .It Cm bridged -ブリッジされるパケットにのみマッチします。 +.Cm layer2 +の別名です。 .It Cm dst-ip Ar ip-address 宛先 IP アドレスが引数で指定したアドレスの 1 つである IP パケットにマッチします。 .It Cm dst-port Ar ports 宛先ポートが引数で指定したポートの 1 つである IP パケットにマッチします。 .It Cm established RST か ACK ビットがセットされている TCP パケットにマッチします。 .It Cm frag IP データグラムのフラグメントであり、かつ、最初のフラグメントでない パケットにマッチします。 これらのパケットは次のプロトコルヘッダ (例えば TCP, UDP) を持たないので、 これらのヘッダを調べるオプションはマッチすることができないことに 注意して下さい。 .It Cm gid Ar group .Ar group によって送信された、またはそれに対して受信された 全ての TCP もしくは UDP パケットにマッチします。 .Ar group は名前か数値で指定することができます。 -システムのハードロックを引き起こすかも知れないロック順序問題を -避けるために、このオプションは debug.mpsafenet=0 を -設定した時のみ使用してください。 .It Cm jail Ar prisonID prison ID が .Ar prisonID である jail によって送信された、またはそれに対して受信された 全ての TCP もしくは UDP パケットにマッチします。 -システムのハードロックを引き起こすかも知れないロック順序問題を -避けるために、このオプションは debug.mpsafenet=0 を -設定した時のみ使用してください。 .It Cm icmptypes Ar types .Ar types で指定したリスト中に存在する ICMP タイプを持つ ICMP パケットにマッチします。 リストはタイプおのおのをコンマで区切ったものです。 .Em 範囲は許されません。 サポートされている ICMP タイプは次の通りです。 .Pp エコー応答 .Pq Cm 0 , 宛先到達不可 .Pq Cm 3 , 発信元抑制 .Pq Cm 4 , リダイレクト .Pq Cm 5 , エコー要求 .Pq Cm 8 , ルータ広告 .Pq Cm 9 , ルータ要請 .Pq Cm 10 , 時間超過 .Pq Cm 11 , IP ヘッダ異常 .Pq Cm 12 , タイムスタンプ要求 .Pq Cm 13 , タイムスタンプ応答 .Pq Cm 14 , インフォメーション要求 .Pq Cm 15 , インフォメーション返答 .Pq Cm 16 , アドレスマスク要求 .Pq Cm 17 , アドレスマスク応答 .Pq Cm 18 .It Cm in | out それぞれ到着または送出パケットにマッチします。 .Cm in と .Cm out は互いに排他的です (実際、 .Cm out は -.Cm not in Ns +.Cm not in として実装されています)。 .It Cm ipid Ar id-list .Cm ip_id フィールドが .Ar id-list に含まれる IP パケットにマッチします。 .Ar id-list は、単一の値か、 .Ar ports と同等の方法で指定される、値のリストか範囲です。 .It Cm iplen Ar len-list ヘッダとデータを含んだ全体の長さが .Ar len-list に含まれる IP パケットにマッチします。 .Ar len-list は、単一の値か、 .Ar ports と同等の方法で指定される、値のリストか範囲です。 .It Cm ipoptions Ar spec .Ar spec で指定したコンマ区切りリストオプションを含む IP ヘッダを持つ パケットにマッチします。 IP オプションは次のものがサポートされています: .Pp .Cm ssrr (ストリクトソースルーティング), .Cm lsrr (ルーズソースルーティング), .Cm rr (レコードルート), .Cm ts (タイムスタンプ)。 .Ql \&! を置くことで特定のオプションが存在しないという記述ができます。 .It Cm ipprecedence Ar precedence 先行フィールドが .Ar precedence に等しい IP パケットにマッチします。 .It Cm ipsec IPSEC ヒストリを持つパケットにマッチします (すなわち、入力パケットが IPSEC でカプセル化されており、 カーネルが IPSEC と IPSEC_FILTERGIF のオプションをサポートし、 正しくパケットのカプセル化を解除できた場合です)。 .Pp .Cm ipsec を指定することは、 .Cm proto Ar ipsec を指定することとは違います。 何故なら後者は、IPSEC カーネルサポートの有無および IPSEC データの正当性 にかかわらず、特定の IP プロトコルフィールドのみを見るからです。 .Pp 更に、IPSEC サポート無しのカーネルでは、 このオプションは黙って無視されることに注意してください。 この場合、このフラグを指定してもルール処理に影響が無く、あたかも .Cm ipsec フラグが指定されていないかのように当該ルールが処理されます。 .It Cm iptos Ar spec .Ar spec で指定したコンマ区切りリストのサービスタイプを含む .Cm tos フィールドを持つ IP パケットにマッチします。 サポートされているサービスの IP タイプは次の通りです。 .Pp .Cm lowdelay .Pq Dv IPTOS_LOWDELAY , .Cm throughput .Pq Dv IPTOS_THROUGHPUT , .Cm reliability .Pq Dv IPTOS_RELIABILITY , .Cm mincost .Pq Dv IPTOS_MINCOST , .Cm congestion .Pq Dv IPTOS_CE 。 .Ql \&! を置くことで特定のオプションが存在しないという記述ができます。 .It Cm ipttl Ar ttl-list 生存時間が .Ar ttl-list に含まれる IP パケットにマッチします。 .Ar ttl-list は、単一の値か、 .Ar ports と同等の方法で指定される、値のリストか範囲です。 .It Cm ipversion Ar ver IP バージョンフィールドが .Ar ver である IP パケットにマッチします。 .It Cm keep-state マッチする際に、ファイアウォールは動的ルールを作成します。 作成されるルールは、デフォルトでは、同じプロトコルを使用している 発信元と宛先 IP/ポート間での双方向のトラフィックにマッチするような 動作となります。 このルールには有限の生存時間 .Pf ( Xr sysctl 8 変数の集合により制御されます) があり、 生存時間はマッチするパケットが見つかるたびにリフレッシュされます。 .It Cm layer2 レイヤ 2 のパケット、 つまり、 ether_demux() と ether_output_frame() から .Nm へ渡されるパケットのみにマッチします。 .It Cm limit Bro Cm src-addr | src-port | dst-addr | dst-port Brc Ar N ファイアウォールは、 このルールで指定したものと同じパラメータの集合を持つ接続を、 .Ar N 個だけ許可します。 1 つ以上の発信元と宛先アドレスおよびポートが指定できます。 .It Cm { MAC | mac } Ar dst-mac src-mac 与えられた .Ar dst-mac アドレスと .Ar src-mac アドレスを持つパケットにマッチします。 アドレスは、 .Cm any キーワード (任意の MAC アドレスにマッチします) または コロンで区切った 16 進数 6 個の組で指定します。 この 6 個組アドレスの後ろには、オプションとして、 重要なビットを表現するマスクをつけることができます。 マスクは次のいずれかの方法で指定可能です: .Bl -enum -width indent .It スラッシュ .Pq / に続けて、重要なビット数を指定します。 例えば、重要なビットが 33 ビットであるアドレスは次のように指定します: .Pp .Dl "MAC 10:20:30:40:50:60/33 any" .Pp .It アンパサンド .Pq & に続けて、 コロン区切りの 6 組の 16 進数として指定されるビットマスクを指定します。 例えば、最後の 16 ビットが重要であるアドレスは次のように指定します: .Pp .Dl "MAC 10:20:30:40:50:60&00:00:00:00:ff:ff any" .Pp 多くのシェルでアンパサンド文字は特別な意味を持ちますので、 普通はエスケープが必要であることに注意してください。 .Pp .El MAC アドレスの順序 (宛先が最初で 2 番目に発信元) は 物理的な線上のものと同じですが、 IP アドレスで使用されるものとは反対であることに注意して下さい。 .It Cm mac-type Ar mac-type イーサネットタイプフィールドが 引数で指定したものの 1 つと一致する パケットにマッチします。 .Ar mac-type は .Cm port numbers と同じ方法で指定します (つまり、単一の値または範囲が、1 個以上コンマで区切られたものです)。 .Em vlan , ipv4 , ipv6 のような既知の値に対しては、シンボル名称を使用することができます。 値は 10 進数か 16 進数 (0x が頭につく場合) で入力することができ、 常に 16 進数で出力されます (これは .Cm -N オプションが使用されていない場合です。 .Cm -N オプションが使用されるとシンボル名称の解決が試みられます)。 .It Cm proto Ar protocol 対応する IPv4 のプロトコルを持つパケットがマッチします。 .It Cm recv | xmit | via Brq Ar ifX | Ar if Ns Cm * | Ar ipno | Ar any 指定したインタフェースから 受信したパケット、送信したパケット、通過したパケットが それぞれマッチします。 インタフェースの指定は、正確な名前 .Ns No ( Ar ifX Ns No ) 、 またはデバイス名 .Ns No ( Ar if Ns Ar * Ns No ) 、 IP アドレスで行なうか、 もしくは何らかのインタフェースを通じて行ないます。 .Pp .Cm via キーワードにより、指定したインタフェースが常にチェックされる ことになります。 .Cm recv や .Cm xmit が .Cm via の代わりに使用された場合、 それぞれ、受信インタフェースのみ、または送信インタフェース のみがチェックされます。 両方とも指定した場合、 送信インタフェースと受信インタフェースの両方に基づく パケットのマッチが可能になります。 例えば次のようになります。 .Pp .Dl "ipfw add deny ip from any to any out recv ed0 xmit ed1" .Pp .Cm recv インタフェースは到着または送出パケットのどちらかについて 検査することができますが、 .Cm xmit インタフェースは送出パケットのみについて検査することができます。 したがって .Cm xmit を使用する場合には .Cm out は必須です (そして .Cm in は無効となります)。 .Pp パケットが受信インタフェースや送信インタフェースを持たないことがあります。 ローカルホストから発生したパケットは受信インタフェースを持ちませんし、 ローカルホストに到着する予定のパケットは送信インタフェースを持ちません。 .It Cm setup SYN ビットがセットされているが ACK ビットを持たない TCP パケットにマッチします。 これは .Dq Li tcpflags\ syn,!ack の短縮形です。 .It Cm src-ip Ar ip-address 引数で指定したアドレスの 1 個を発信元 IP として持つ IP パケットがマッチします。 .It Cm src-port Ar ports 引数で指定したポートの 1 個を発信元ポートとして持つ IP パケットがマッチします。 .It Cm tcpack Ar ack TCP パケットのみです。 TCP ヘッダの確認応答番号フィールドが .Ar ack に設定されていればマッチします。 .It Cm tcpflags Ar spec TCP パケットのみです。 TCP ヘッダが .Ar spec で指定したコンマ区切りのフラグのリストを含んでいればマッチします。 サポートされている TCP フラグは次の通りです。 .Pp .Cm fin , .Cm syn , .Cm rst , .Cm psh , .Cm ack , .Cm urg 。 .Ql \&! を置くことで特定のフラグが存在しないという記述ができます。 .Cm tcpflags の指定を含むルールは、0 でないオフセットを持つフラグメントパケットには 決してマッチすることはありえません。 フラグメントパケットのマッチについての詳細は .Cm frag オプションを参照して下さい。 .It Cm tcpseq Ar seq TCP パケットのみです。 TCP ヘッダのシーケンス番号フィールドが .Ar seq に設定されていればマッチします。 .It Cm tcpwin Ar win TCP パケットのみです。 TCP ヘッダのウィンドウフィールドが .Ar win に設定されていればマッチします。 .It Cm tcpoptions Ar spec TCP パケットのみです。 .Ar spec で指定したコンマ区切りのオプションのリストが TCP ヘッダに含まれていればマッチします。 サポートされている TCP オプションは次の通りです。 .Pp .Cm mss (最大セグメントサイズ), .Cm window (TCP ウィンドウ広告), .Cm sack (選択的 ACK), .Cm ts (RFC1323 タイムスタンプ), .Cm cc (RFC1644 T/TCP コネクションカウント)。 .Ql \&! を置くことで特定のオプションが存在しないという記述ができます。 .It Cm uid Ar user .Ar user が送信したまたは受信する、 すべての TCP パケットと UDP パケットにマッチします。 .Ar user は、名前でも ID 番号でもマッチします。 -システムのハードロックを引き起こすかも知れないロック順序問題を -避けるために、このオプションは debug.mpsafenet=0 を -設定した時のみ使用してください。 .It Cm verrevpath 内向きパケットに対しては、パケットのソースアドレスに対し、 経路テーブルが検索されます。 パケットがシステムに入って来たインタフェースと、 経路の出力インタフェースがマッチする場合、 パケットはマッチします。 インタフェースがマッチしない場合、パケットはマッチしません。 外向きパケットや、入力インタフェースを持たないパケットは、マッチします。 .Pp このオプションの名称と機能は、意図的に下記 Cisco IOS コマンドと同じです: .Pp .Dl ip verify unicast reverse-path .Pp 本オプションは、このインタフェースのものではないソースアドレスを持つパケットを すべて拒否する対スプーフィングルールを作成するのに使用可能です。 .Cm antispoof オプションも参照して下さい。 .It Cm versrcreach 内向きパケットに対しては、パケットのソースアドレスに対し、 経路テーブルが検索されます。 ソースアドレスへの経路は存在するが、デフォルトの経路でない場合や ブラックホール経路、拒否されてる経路である場合に、パケットはマッチします。 そうでなければ、パケットはマッチしません。 外向きパケットはすべてマッチします。 .Pp このオプションの名称と機能は、意図的に下記 Cisco IOS コマンドと同じです: .Pp .Dl ip verify unicast source reachable-via any .Pp 本オプションは、ソースアドレスが到達可能でないパケットを すべて拒否する対スプーフィングルールを作成するのに使用可能です。 .It Cm antispoof 内向きパケットに対しては、パケットのソースアドレスが直接接続されている ネットワークに属するものかどうか確認します。 ネットワークが直接接続されていれば、パケットを受信したインタフェースは ネットワークに接続されているインタフェースと比較されます。 受信インタフェースと直接接続されているインタフェースが同一でなければ、 パケットはマッチしません。 そうでなければパケットはマッチします。 外向きパケットはすべてマッチします。 .Pp 本オプションは、直接接続されたネットワークから来たふりをしているのに そのインタフェース経由で入ってきていないパケットを すべて拒否する対スプーフィングルールを作成するのに使用可能です。 本オプションは .Cm verrevpath と似ていますが、ソースアドレスすべての代わりに、 直接接続されたネットワークのソースアドレスを持つパケットを対象とするので より限定的です。 .El .Sh 検索表 検索表は分散した大量のアドレス、典型的には 100 から数千のエントリを 取り扱うのに便利です。 0 から 127 までの 128 個の異なる検索表を持てます。 .Pp 各エントリは .Ar addr Ns Op / Ns Ar masklen で表され、 (ドットで区切った数字 4 つ組もしくはホスト名で指定された) ベースアドレス .Ar addr と .Ar masklen ビット幅のマスクで表されるアドレスすべてにマッチします。 .Ar masklen が指定されていなければ、デフォルトは 32 です。 表で IP アドレスを検索する場合には、最も限定されたエントリがマッチします。 各エントリには、32 ビット符号なし整数 .Ar value が関連づけられ、ルールマッチコードによりチェックされる場合があります。 ルールが追加された時に .Ar value が指定されていなければ、デフォルトは 0 です。 .Pp エントリは .Pq Cm add で表に追加でき、 .Pq Cm delete で表から削除できます。 表は .Pq Cm list で確認でき、 .Pq Cm flush でフラッシュします。 .Pp 内部的には、各表は経路テーブル .Xr ( route 4 を参照して下さい) と同じように基数木で保持されています。 .Sh ルールのセット 各ルールは 32 個の異なる .Em セット のひとつに属しています。セットには 0 から 31 までの番号をつけられています。 セット 31 はデフォルトルールのために予約されています。 .Pp デフォルトでは、 新規のルールを入力する際に .Cm set N アトリビュートを使用しなければ、 ルールはセット 0 に置かれます。 セットは個別に、かつ、不可分に有効化したり無効化したりできるので、 この機構によって、ファイアウォールの設定を複数個格納し、 それらを素早く (かつ不可分に) 切り替えるための方法が 簡単になります。 セットを有効化/無効化するコマンドは次の通りです。 .Bd -ragged -offset indent .Nm .Cm set Oo Cm disable Ar number ... Oc Op Cm enable Ar number ... .Ed .Pp ここでは複数の .Cm enable または .Cm disable セクションが指定可能です。 コマンドで指定したセット全てについて、 コマンドは不可分に実行されます。 デフォルトでは全てのセットは有効化された状態です。 .Pp セットを無効化すると、ファイアウォールの設定中にそのルールが 存在しないかのように振る舞います。 ただし例外が 1 つだけあります。 .Bd -ragged -offset indent 無効化される以前にルールから生成された動的ルールは、 期限切れとなるまではまだ活動可能な状態です。 動的ルールを削除するためには、 そのルールを生成した親ルールを明示的に削除しなければなりません。 .Ed .Pp ルールのセット番号は次のコマンドで変更できます。 .Bd -ragged -offset indent .Nm .Cm set move .Brq Cm rule Ar rule-number | old-set .Cm to Ar new-set .Ed .Pp また、次のコマンドを使用して 2 つのルールセットを 不可分に入れ換えることができます。 .Bd -ragged -offset indent .Nm .Cm set swap Ar first-set second-set .Ed .Pp ルールのセットの使い方のいくつかは、 .Sx 使用例 セクションを参照して下さい。 .Sh ステートフルファイアウォール ステートフルオペレーションは、 与えられたパターンにマッチするパケットが検出されたときに、 ファイアウォールが特定のフローについてのルールを動的に 作成するための方法です。 ステートフルオペレーションに対するサポートは .Nm ルール の -.Cm check-state , keep-state, limit +.Cm check-state , keep-state , limit オプションを通じて提供されます。 .Pp 動的ルールが生成されるのは、パケットが .Cm keep-state や .Cm limit ルールにマッチしたときで、その結果、 与えられた .Em protocol を持ち、 .Em src-ip/src-port dst-ip/dst-port のアドレスの組の間のパケット全てのみにマッチする .Em 動的 ルールが生成されます .Pf ( Em src と .Em dst はここでは最初にマッチしたアドレスを区別するためにのみ 使用しています。その後、両者は完全に等価になります)。 動的ルールは最初に -.Cm check-state, keep-state, limit +.Cm check-state , keep-state , limit が生じたところでチェックされ、 マッチした際に実行されるアクションは親ルールと同じものになります。 +.\" 原文: .Cm check-state, keep-state は .Cm check-state , keep-state の誤り。 .Pp 動的ルールでは、プロトコル、IP アドレス、ポート以外の 属性がチェックされないことに注意して下さい。 .Pp 動的ルールの典型的な使い方は、 ファイアウォールの設定を閉じた状態にしておきつつ、 内部ネットワークからの最初の TCP SYN パケットに、 そのフローに対する動的ルールをインストールさせ、 そのセッションに属するパケットがファイアウォールを 通過できるようにするというものです。 .Pp .Dl "ipfw add check-state" .Dl "ipfw add allow tcp from my-subnet to any setup keep-state" .Dl "ipfw add deny tcp from any to any" .Pp 同様なアプローチが UDP に対しても使えます。 内部から来た UDP パケットに動的ルールをインストールさせ、 その応答がファイアウォールを通過するようにします。 .Pp .Dl "ipfw add check-state" .Dl "ipfw add allow udp from my-subnet to any keep-state" .Dl "ipfw add deny udp from any to any" .Pp 動的ルールは、ある時間の後、期限切れとなります。 その時間は、 フローの状態といくつかの .Cm sysctl 変数の設定に依存します。 詳細はセクション .Sx sysctl 変数 を参照して下さい。 TCP セッションでは、 動的ルールに対し、定期的にキープアライブパケットを送出させるように 指示し、期限切れになる頃にルールの状態をリフレッシュさせることが できます。 .Pp 動的ルールの使用方法に関する他の例は セクション .Sx 使用例 を参照して下さい。 .Sh トラフィックシェイパ (DUMMYNET) 設定 .Nm は、 .Xr dummynet 4 トラフィックシェイパへのユーザインタフェースも提供します。 .Pp .Nm dummynet の動作は、まずファイアウォールを用いてパケットをクラス分けし、 それらを .Em フロー(flow) に分割します。その際に、 .Nm ルールで使用できる如何なるマッチパターンをも使用できます。 ローカルポリシにより、フロー 1 個に TCP コネクション 1 個の パケットを含めることもできますし、指定したホストのパケットでも、 サブネット全体のパケットでも、あるプロトコルタイプのパケットでも 含めることができます。 .Pp 同一のフローに属するパケットは、その後、トラフィックへの制限を 実装する 2つのオブジェクトのいずれか一方に渡されます。 .Bl -hang -offset XXXX .It Em pipe パイプ (pipe) は、指定したバンド幅、伝搬遅延、キューサイズ、 パケット損失率を持つリンク 1 個をエミュレートします。 クラス分けを受けた後、パケットは、パイプに入る前にキューに蓄えられ、 パイプのパラメータに従いパイプ中を伝送されます。 .Pp .It Em queue キュー (queue) は、WF2Q+ (Worst-case Fair Weighed Fair Queueing: 最悪均等重み付け均等待ち行列) ポリシを実装するために用いる抽象化です。 このポリシは、WFQ ポリシの効率的な変種です。 .br キューは .Em 重み (weight) とパイプの参照を、個々のフローに対応付けます。 同じパイプに結合されバックログを持つ (キューにパケットがある) フロー全てで、それぞれの重みに比例してそのパイプのバンド幅を 山分けします。 重みは優先度ではないことに注意して下さい。大きい重みを持つフローが ずっとバックログを抱えていたとしても、それより軽い重みを持つ フローも、バンド幅を自分の割合の分は得ることは保証されます。 .Pp .El 実際の使い方として、 .Em pipe を使い、フローが取り得るバンド幅にハードリミットを設けることができます。 一方で、 .Em queue を使い、異なるフローがどのようにして利用可能なバンド幅を山分けするかを 決定することができます。 .Pp .Em pipe と .Em queue の設定コマンドは次の通りです。 .Bd -ragged -offset indent .Cm pipe Ar number Cm config Ar pipe-configuration .Pp .Cm queue Ar number Cm config Ar queue-configuration .Ed .Pp 次のパラメータをパイプに対して設定可能です。 .Pp .Bl -tag -width indent -compact .It Cm bw Ar bandwidth | device バンド幅で、単位は .Sm off .Op Cm K | M .Brq Cm bit/s | Byte/s .Sm on です。 .Pp 値 0 (デフォルト) は無限のバンド幅を意味します。 単位は、次の .Pp .Dl "ipfw pipe 1 config bw 300Kbit/s" .Pp のように、数値の直後に続けて書く必要があります。 次の .Pp .Dl "ipfw pipe 1 config bw tun0" .Pp のように、数値の代りにデバイス名を指定した場合、 送信クロックは指定したデバイスから与えられます。 現在のところ、 .Xr tun 4 デバイスのみがこの機能を提供しており、 .Xr ppp 8 と組み合わせて使用します。 .Pp .It Cm delay Ar ms-delay 伝達遅延時間であり、ミリ秒単位で指定します。 値は、クロックティックの倍数 (典型的には 10ms ですが、 カーネルを .Dq "options HZ=1000" で動作させて精度を 1ms かそれ以下にすると良い ことが経験的に知られています) に丸められます。 デフォルト値は 0 であり、遅延無しを意味します。 .El .Pp 次のパラメータをキューに対して設定できます。 .Pp .Bl -tag -width indent -compact .It Cm pipe Ar pipe_nr キューを指定したパイプに接続します。 複数のキュー (同じ重みの場合も異なる重みの場合もあります) を同一のパイプに接続することができます。 パイプはキューの集合に対する集約されたレートを指定します。 .Pp .It Cm weight Ar weight このキューにマッチするフローに適用する重みを指定します。 重みは 1 から 100 の範囲でなければならず、 デフォルトは 1 です。 .El .Pp 最後に、次のパラメータをパイプやキューに対して設定できます。 .Pp .Bl -tag -width XXXX -compact .Pp .It Cm buckets Ar hash-table-size 様々なキューを格納するハッシュ表のサイズを指定します。 デフォルトは 64 で、 .Xr sysctl 8 変数 .Em net.inet.ip.dummynet.hash_size によって制御されます。 指定可能な範囲は 16 から 65536 までです。 .Pp .It Cm mask Ar mask-specifier .Nm ルールにより 指定したパイプもしくはキューに対して送られたパケットを、さらに 複数のフローにクラス分けすることができます。その後、それぞれの パケットは、異なる .Em 動的な パイプもしくはキューに送られます。 フロー識別子は、パイプもしくはキューの設定中の .Cm mask オプションの指定に応じて IP アドレス、ポート、プロトコルタイプをマスクすることにより 構築されます。 異なるフロー識別子それぞれに対し、新しいパイプもしくはキューが 元となるオブジェクトと同一のパラメータとともに生成され、 マッチするパケットがそこに送られます。 .Pp このようにして、 .Em 動的パイプ を使用するとき、フローそれぞれはパイプで指定したものと 同じバンド幅を得ます。一方、 .Em 動的キュー を使用する時、フローそれぞれは、同じキューにより生成された 他のフローと、親パイプのバンド幅を均等に山分けします (異なる重みを 持つ他のキューが同じパイプに接続される場合があることに 注意して下さい)。 .br 使用可能なマスク指定子は、次を組み合わせたものです。 .Pp .Cm dst-ip Ar mask , .Cm src-ip Ar mask , .Cm dst-port Ar mask , .Cm src-port Ar mask , .Cm proto Ar mask , .Cm all .Pp 最後の指定子は、 すべてのフィールドのすべてのビットが検査されることを意味しています。 .Pp .It Cm noerror パケットが dummynet のキューやパイプによって落されたとき、 通常は、 デバイスキューが一杯になったときに生じるのと同様な形で、 エラーがカーネル内の呼び出し元ルーチンに報告されます。 このオプションを設定すると、 パケットの配送に成功したかのように報告されます。 これは、 遠隔地にあるルータでの損失や輻輳をシミュレートしたいという 一部の実験的な設定のために必要とされています。 .Pp .It Cm plr Ar packet-loss-rate パケットの損失率です。 引数 .Ar packet-loss-rate は 0 から 1 までの浮動小数点数で、 0 は損失がないことを、1 は 100% 失われることを意味します。 損失率は内部的には 31 ビットで表現されています。 .Pp .It Cm queue Brq Ar slots | size Ns Cm Kbytes スロット数 .Ar slots または .Cm KBytes で表したキューのサイズです。 デフォルトは 50 スロットで、 これはイーサネットデバイスにおける典型的なキューのサイズです。 低速リンクのためにキューのサイズを小さいままにしておくことが推奨されます。 そうしないとキューの遅延がトラフィックに及ぼす影響が 著しくなるかもしれません。 例えば、最大サイズのイーサネットパケット (1500 バイト) が 50 個のとき、 600Kbit、 つまり 30Kbit/秒 のパイプで 20 秒ということになります。 それよりもずっと大きな MTU を持ったインタフェース (例えばループバックインタフェースは 16KB パケットです) からパケットを受け取る場合、さらに悪い結果となることがあります。 .Pp .It Cm red | gred Ar w_q Ns / Ns Ar min_th Ns / Ns Ar max_th Ns / Ns Ar max_p RED (Random Early Detection) キュー管理アルゴリズムを使用します。 .Ar w_q と .Ar max_p は 0 から 1 (0 を含みません) の範囲の浮動小数点数であり、 .Ar min_th と .Ar max_th はキュー管理用の閾値を指定する整数です (キューがバイト数で指定された場合は閾値はバイトで計算され、 そうでない場合はスロット数で計算されます)。 .Xr dummynet 4 は、gentle RED という変型 (gred) もサポートします。 RED の動作を制御するために、3 個の .Xr sysctl 8 変数を使用可能です。 .Bl -tag -width indent .It Em net.inet.ip.dummynet.red_lookup_depth リンクがアイドルの時の、平均キューの計算精度を指定します (デフォルトは 256 であり、0 より大きい必要があります) .It Em net.inet.ip.dummynet.red_avg_pkt_size パケットサイズの平均の期待値を指定します (デフォルトは 512 であり、0 より大きい必要があります) .It Em net.inet.ip.dummynet.red_max_pkt_size パケットサイズの最大値の期待値を指定します。 キューの閾値がバイトの場合のみ使用されます (デフォルトは 1500 であり、0 より大きい必要があります) .El .El .Sh チェックリスト ルールを構成する際に考慮すべき重要な点をいくつか述べます。 .Bl -bullet .It -かならず送信パケットと受信パケットの両方のパケットをフィルタリングします。 +かならず +.\" .Cm in +.\" .Cm out +送信パケットと受信パケット +の両方のパケットをフィルタリングします。 ほとんどのネットワークコネクションではパケットが双方向に流れることが必要です。 .It -テストは細心の注意を払って行ないます。テストの際にはコンソールの近くにいる -のがよいでしょう。 +テストは細心の注意を払って行ないます。 +テストの際にはコンソールの近くにいるのがよいでしょう。 コンソールに近寄れない場合、 .Pa /usr/share/examples/ipfw/change_rules.sh にあるような自動回復スクリプトを使用してください。 .It ループバックインタフェースのことを忘れてはなりません。 .El .Sh 細かい事柄 .Bl -bullet .It フラグメント化されたデータグラムが無条件で破棄される状況があります。 TCP パケットは、最低 20 バイトの TCP ヘッダを含まない場合、破棄されます。 UDP パケットは、完全な 8 バイトの UDP ヘッダを含まない場合、破棄されます。 ICMP パケットは、4 バイトの ICMP ヘッダ、 すなわち ICMP タイプとコードとチェックサムを含まない場合、破棄されます。 これらのパケットは、単に .Dq pullup failed としてログされます。 何故なら、パケット中に有意なログエントリを生成するだけの有用なデータが 含まれないかもしれないためです。 .It 無条件で破棄されるもう 1 種類のパケットは、 フラグメントオフセットが 1 の TCP パケットフラグメントです。 これはパケットとしては有効なものですが、利用目的はファイアウォールを かいくぐることしかありません。 ログが有効な場合、 これらのパケットはルール -1 により破棄されたと報告されます。 .It ネットワーク越しにログインしている場合、 .Xr kld 4 バージョンの .Nm をロードすることはそれほど単純なことではありません。 以下のコマンドを奨めます。 .Bd -literal -offset indent kldload ipfw && \e ipfw add 32000 allow ip from any to any .Ed .Pp これに引続き、同じような状況で .Bd -literal -offset indent ipfw flush .Ed .Pp とするのは良くありません。 .It システムセキュリティレベルが 3 以上に設定されている場合、 .Nm フィルタリストを変更できません (システムセキュリティレベルについては .Xr init 8 を参照してください)。 .El .Sh パケットの行き先変更 指定されたポートにバインドされた .Xr divert 4 ソケットは、 そのポートへ行き先変更されたパケットを、 全部受けとります。 宛先ポートにバインドされたソケットがない場合や、 カーネルがパケットの行き先変更ソケットをサポートするようには コンパイルされていない場合、 パケットは破棄されます。 .Sh SYSCTL 変数 .Xr sysctl 8 変数の集合は、ファイアウォールと 関連するモジュール ( .Nm dummynet, bridge ) の動作を制御します。 デフォルト値と意味と共に、これらを以下に列挙します (どの値が実際に使用されるかは .Xr sysctl 8 で確認してください)。 .Bl -tag -width indent .It Em net.inet.ip.dummynet.expire : No 1 未処理のトラフィックを持たない動的パイプ/キューを怠惰に削除します。 この変数を 0 に設定することでこの動作を無効にすることができます。 この場合、パイプ/キューは閾値に達した場合にのみ削除されることになります。 .It Em net.inet.ip.dummynet.hash_size : No 64 動的パイプ/キューに使用されるハッシュ表のデフォルトの大きさです。 この値はパイプ/キューを設定するときに .Cm buckets オプションが指定されなかった場合に使用されます。 .It Em net.inet.ip.dummynet.max_chain_len : No 16 ハッシュバケット (hash bucket) 内のパイプ/キューの最大個数の値です。 .Cm net.inet.ip.dummynet.expire=0 であっても、積 .Cm max_chain_len*hash_size が空のパイプ/キューが期限切れになったとする閾値を決定するのに使用されます。 .It Em net.inet.ip.dummynet.red_lookup_depth : No 256 .It Em net.inet.ip.dummynet.red_avg_pkt_size : No 512 .It Em net.inet.ip.dummynet.red_max_pkt_size : No 1500 RED アルゴリズムで使う損失確率の計算に使用されるパラメータです。 .It Em net.inet.ip.fw.autoinc_step : No 100 ルール番号を自動生成する際のルール番号間の増分です。 この値は 1 から 1000 の範囲でなければなりません。 この変数は .Nm ipfw2 にのみ存在し、 .Nm ipfw1 では差分は 100 に固定されています。 .It Em net.inet.ip.fw.curr_dyn_buckets : Em net.inet.ip.fw.dyn_buckets 動的ルールのハッシュ表内の現在のバケットの個数です (読み出しのみ可能)。 .It Em net.inet.ip.fw.debug : No 1 .Nm が生成するデバッグメッセージを制御します。 .It Em net.inet.ip.fw.dyn_buckets : No 256 動的ルールで使用されるハッシュ表に含まれるバケットの個数です。 2 の累乗でなければならず、上限は 65536 です。 全ての動的ルールが期限切れとなったときにのみ効果が現れるので、 確実にハッシュ表のサイズが変更されるようにするには .Cm flush コマンドを使用するべきでしょう。 .It Em net.inet.ip.fw.dyn_count : No 3 現在の動的ルールの数です (読み込み専用)。 .It Em net.inet.ip.fw.dyn_keepalive : No 1 TCP セッションにおいて .Cm keep-state ルールのためのキープアライブパケットを生成するようにします。 キープアライブパケットは ルールの生存時間が残り 20 秒となったときに 接続の両端に向けて 5 秒毎に 生成されます。 .It Em net.inet.ip.fw.dyn_max : No 8192 動的ルールの最大値です。この限界にいきつくと、 古いルールが無効になるまでは、それ以上、動的ルールを 組み込むことはできません。 .It Em net.inet.ip.fw.dyn_ack_lifetime : No 300 .It Em net.inet.ip.fw.dyn_syn_lifetime : No 20 .It Em net.inet.ip.fw.dyn_fin_lifetime : No 1 .It Em net.inet.ip.fw.dyn_rst_lifetime : No 1 .It Em net.inet.ip.fw.dyn_udp_lifetime : No 5 .It Em net.inet.ip.fw.dyn_short_lifetime : No 30 これらの値は、動的ルールの生存時間を秒単位でコントロールします。 最初の SYN 交換の際には生存時間が短期 (short) になり、 その後互いの SYN が検出された後は増加させられ、 最後の FIN 交換の間、 または RST を受信した際に再び減らされます。 .Em dyn_fin_lifetime および .Em dyn_rst_lifetime は厳密に 5 秒 (キープアライブを繰り返す周期) より短くなければなりません。 ファイアウォールではこれが強制されます。 .It Em net.inet.ip.fw.enable : No 1 ファイアウォールを有効にします。 この変数を 0 に設定すると、 マシンがコンパイル時に有効の設定がされている場合であっても、 ファイアウォールがない状態で実行されます。 .It Em net.inet.ip.fw.one_pass : No 1 設定されている場合、 .Xr dummynet 4 パイプから出てくるパケットは 再度ファイアウォールを通過することはありません。 そうでない場合、 パイプアクションの後、 パケットは次のルールでファイアウォールに再注入されます。 .It Em net.inet.ip.fw.verbose : No 1 冗長メッセージを有効にします。 .It Em net.inet.ip.fw.verbose_limit : No 0 冗長出力を行うように設定されたファイアウォールが 生成するメッセージ数を制限します。 .It Em net.link.ether.ipfw : No 0 .Nm がレイヤ 2 パケットを通すかどうかを制御します。 デフォルトは no です。 .It Em net.link.ether.bridge_ipfw : No 0 .Nm がブリッジされたパケットを通すかどうかを制御します。 デフォルトは no です。 .El .Sh FreeBSD 4.x で IPFW2 を使う .Nm ipfw2 は、 .Fx 5.x と 6.0 で標準となっていますが、 .Fx 4.x では、カーネルを .Cm options IPFW2 を付けてコンパイルし、 .Nm /sbin/ipfw と .Nm /usr/lib/libalias を .Cm -DIPFW2 を付け (buildworld の前に .Nm /etc/make.conf に .Cm IPFW2=TRUE を追加しておくことで同じ効果を得ることができます) 再コンパイル、再インストールしない限り、 今でも .Nm ipfw1 を使用します。 .Pp .Sh IPFW2 拡張 このセクションでは .Nm ipfw2 で導入され、 .Nm ipfw1 には存在しなかった機能の一覧を示します。 ここではルールセットを記述する際に影響が大きいと思われる順に示します。 より効果的なやり方でルールセットを記述するために これらの機能を使用したいと思うかもしれません。 .Bl -tag -width indent .It 文法とフラグ .Nm ipfw1 -は、 -.Fl n -フラグ (文法チェックのみ) をサポートしませんし、 +は、-n フラグ (文法チェックのみ) をサポートしませんし、 コンマの後の空白をサポートしませんし、 単一引数中での全ルールフィールドをサポートしません。 .Nm ipfw1 では -p フラグ (プリプロセッサ) とともに -f フラグ (強制) を指定することはできません。 .Nm ipfw1 は -c (コンパクト) フラグをサポートしません。 .It 非 IPv4 のパケットの取り扱い .Nm ipfw1 は全ての非 IPv4 パケットを黙って受け付けます .Pf ( Nm ipfw1 は .Em net.link.ether.bridge_ipfw=1 Ns の場合にのみ非 IPv4 パケットを参照します)。 .Nm ipfw2 は 全てのパケット (非 IPv4 パケットを含む) を ルールセットにしたがってフィルタします。 .Nm ipfw1 と同じような動作をさせたい場合は ルールセットの先頭で次のようにします。 .Pp .Dl "ipfw add 1 allow layer2 not mac-type ip" .Pp .Cm layer2 オプションは冗長であるように見えますが、必要です。 レイヤ 3 からファイアウォールを通るパケットは MAC ヘッダを持たないので、 .Cm mac-type ip パターンはレイヤ3のパケットに対して常に失敗します。 つまり、 .Cm not オペレータをおくと全てを通過させるルールになってしまいます。 .It 宛先 .Nm ipfw1 はアドレスセットや宛先リストをサポートしていません。 .Pp .It ポートの指定 .Nm ipfw1 では TCP と UDP のポートを指定する際に 指定できるポート範囲は 1 つだけでした。 また、 .Nm ipfw2 で 30 エントリ可能であるのに対し、10 エントリに制限されていました。 また、 .Nm ipfw1 では .Cm tcp または .Cm udp パケットを要求するルールの場合に限って ポートを指定することが可能です。 .Nm ipfw2 では全てのパケットにマッチさせるルールでポートの指定を行うことが可能で、 マッチはポート識別子を含んだプロトコルを運ぶパケットのみに適用されます。 .Pp 最後に、 .Nm ipfw1 では 最初のポートエントリを .Ar port:mask と指定することができました。 ここで .Ar mask は任意の 16 ビットマスクが使用可能です。 この文法が有用であるかどうかは疑問なので .Nm ipfw2 ではもはやサポートされていません。 .It 論理和ブロック .Nm ipfw1 は論理和ブロックをサポートしていません。 .It キープアライブ .Nm ipfw1 は状態依存セッションのためのキープアライブを生成しません。 結果として、 休止状態のセッションは 動的ルールの生存時間が期限切れとなるために 落されることがあります。 .It ルールセット .Nm ipfw1 はルールセットを実装していません。 .It MAC ヘッダによるフィルタとレイヤ 2 のファイアウォール .Nm ipfw1 は MAC ヘッダフィールドによるフィルタを実装していませんし、 .Cm ether_demux() と .Cm ether_output_frame() からのパケットによっても起動しません。 sysctl 変数 .Em net.link.ether.ipfw はここでは何の効果もありません。 .It オプション .Nm ipfw1 では、次のオプションは単一値のみ受け付けます: .Pp -.Cm ipid, iplen, ipttl +.\" .Cm ipid, iplen, ipttl +.Cm ipid , iplen , ipttl +.\" 原文: ipid, ... は ipid , ... の誤り。 .Pp 次のオプションは .Nm ipfw1 では実装されていません: .Pp -.Cm dst-ip, dst-port, layer2, mac, mac-type, src-ip, src-port +.\" .Cm dst-ip, dst-port, layer2, mac, mac-type, src-ip, src-port +.Cm dst-ip , dst-port , layer2 , mac , mac-type , src-ip , src-port +.\" 原文: dst-ip, ... は dst-ip , ... の誤り。 .Pp さらに、次のオプションは RELENG_4 の .Nm ipfw1 では実装されていません: .Pp -.Cm ipid, iplen, ipprecedence, iptos, ipttl, -.Cm ipversion, tcpack, tcpseq, tcpwin +.\" .Cm ipid, iplen, ipprecedence, iptos, ipttl, +.\" .Cm ipversion, tcpack, tcpseq, tcpwin +.Cm ipid , iplen , ipprecedence , iptos , ipttl , +.Cm ipversion , tcpack , tcpseq , tcpwin +.\" 原文: ipid, ... は ipid , ... の誤り。 .It dummynet オプション .Nm dummynet -パイプ/キュー用の次のオプションはサポートされていません。 -.Pp +パイプ/キュー用の次のオプションはサポートされていません: +.\" 次の .sp は翻訳で追加。 +.sp .Cm noerror .El .Sh 使用例 .Nm はあまりにも多くの使用方法があるので このセクションでは使用例のほんの一部を示すのみにしておきます。 .Pp .Ss 基本的なパケットフィルタリング 次のコマンドは .Em cracker.evil.org から .Em wolf.tambov.su の telnet ポートへ送られるすべての TCP パケットを拒否するルールを追加します。 .Pp .Dl "ipfw add deny tcp from cracker.evil.org to wolf.tambov.su telnet" .Pp 次のコマンドはクラッカーのネットワーク全体からホスト my への すべてのコネクションを拒否します。 .Pp .Dl "ipfw add deny ip from 123.45.67.0/24 to my.host.org" .Pp 最初に効率良く (動的ルールを用いずに) アクセスを制限する方法は、 次のルールを用いることです。 .Pp .Dl "ipfw add allow tcp from any to any established" .Dl "ipfw add allow tcp from net1 portlist1 to net2 portlist2 setup" .Dl "ipfw add allow tcp from net3 portlist3 to net3 portlist3 setup" .Dl "..." .Dl "ipfw add deny tcp from any to any" .Pp 最初のルールは通常の TCP パケットにすぐにマッチしますが、 最初の SYN パケットにはマッチしません。 指定した発信元/宛先の組の SYN パケットのみ、次の .Cm setup -ルールにマッチします。これら以外の SYN パケットは、最後の +ルールにマッチします。 +これら以外の SYN パケットは、最後の .Cm deny ルールにより却下されます。 .Pp もし、1 つ以上のサブネットの管理者なら、 .Nm ipfw2 の文法の利点を活用して アドレスセットと論理和ブロックを指定することで、 次のように、 クライアントのブロックにサービスを選択的に利用可能とする 極めてコンパクトなルールセットを記述することができます。 .Pp .Dl "goodguys=\*q{ 10.1.2.0/24{20,35,66,18} or 10.2.3.0/28{6,3,11} }\*q" .Dl "badguys=\*q10.1.2.0/24{8,38,60}\*q" .Dl "" .Dl "ipfw add allow ip from ${goodguys} to any" .Dl "ipfw add deny ip from ${badguys} to any" .Dl "... normal policies ..." .Pp .Nm ipfw1 の文法では、 上の例では各 IP に別々のルールを用意する必要があります。 .Pp .Cm verrevpath オプションを使用し、下記をルールセットの先頭に置くことで、 自動的な対スプーフィングが可能になります: .Pp .Dl "ipfw add deny ip from any to any not verrevpath in" .Pp このルールは、変なインタフェースからシステムに来たように見える 内向きパケットをすべて落とします。 例えば、保護された内部ネットワーク上のホストに属するソースアドレスを持つ パケットは、外部インタフェースからシステムに入ろうとした場合、落とされます。 .Pp .Cm antispoof オプションを下記をルールセットの先頭に追加することで、 同様のことが行なえますが、より限定された対スプーフィングが可能になります: .Pp .Dl "ipfw add deny ip from any to any not antispoof in" .Pp このルールは、他の直接接続されたシステムから変なインタフェースに来たように見える 内向きパケットをすべて落とします。 例えば、ソースアドレスが .Li 192.168.0.0/24 であり .Li fxp0 で受信するように設定されているのに .Li fxp1 で受信されたパケットは落とされます。 .Ss 動的ルール にせの TCP パケットを含む怒涛の攻撃 (flood attack) から サイトを保護するために、次の動的ルールを用いた方が安全です。 .Pp .Dl "ipfw add check-state" .Dl "ipfw add deny tcp from any to any established" .Dl "ipfw add allow tcp from my-net to any setup keep-state" .Pp これらのルールにより、ファイアウォールは、自分たちのネットワークの 内側から到着する通常の SYN パケットで始まるコネクションに対して のみ動的ルールを組み込みます。動的ルールは、最初の .Cm check-state ルール、または、 .Cm keep-state ルールに遭遇した時点でチェックされます。 ルールセットのスキャン量を最小にするために、 .Cm check-state ルールは、ルールセットの最初のほうに置くことになるのが普通です。 実際の燃費は変動します。 .Pp ユーザが開ける接続数を制限するには、次のタイプのルールを使用可能です。 .Pp .Dl "ipfw add allow tcp from my-net/24 to any setup limit src-addr 10" .Dl "ipfw add allow tcp from any to me setup limit src-addr 4" .Pp 前者 (ゲートウェイ上で動作することを仮定) は、/24 ネット上の各ホストが 最大 10 個の TCP 接続を開くことを許します。 後者は、サーバ上に設定可能であり、 単一のクライアントが同時に 4 個を越える接続を使用できないようにします。 .Pp .Em 注意 : ステートフルなルールは、怒涛の SYN 攻撃により極めて大量の動的ルールを 作ってしまい、サービス不能攻撃を受けることになる可能性があります。 ファイアウォールの動作をコントロールする .Xr sysctl 8 変数に従いファイアウォールが動作することによって、 このような攻撃の影響を部分的にでも制限することはできます。 .Pp ここで、カウントされている情報とタイムスタンプ情報を見る .Cm list コマンドのよい例を示します。 .Pp .Dl ipfw -at list .Pp これはタイムスタンプを省略して次のように指定できます。 .Pp .Dl ipfw -a list .Pp これは次の指定と等価です。 .Pp .Dl ipfw show .Pp 次のルールは 192.168.2.0/24 からのすべての受信パケットを、5000 番のポートに 行き先変更するものです。 .Pp .Dl ipfw divert 5000 ip from 192.168.2.0/24 to any in .Pp .Ss トラフィックシェイパ 次のルールは、 .Nm と .Xr dummynet 4 をシミュレーションなどで使う際の使用方法を示しています。 .Pp このルールは 5% の確率でランダムにパケットを落します。 .Pp .Dl "ipfw add prob 0.05 deny ip from any to any in" .Pp 同様の効果は dummynet パイプで実現可能です。 .Pp .Dl "ipfw add pipe 10 ip from any to any" .Dl "ipfw pipe 10 config plr 0.05" .Pp 人工的にバンド幅を制限するためにパイプを使用可能です。 例えばルータとして動作するマシン上で、 192.168.2.0/24 上のローカルクライアントからのトラフィックを制限したい場合、 次のようにします。 .Pp .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out" .Dl "ipfw pipe 1 config bw 300Kbit/s queue 50KBytes" .Pp .Cm out 指示子を使用して、ルールが 2 度使われないようにしていることに 注意してください。 .Nm ルールは、実際には、 入力パケットと出力パケットの両方に適用されることを覚えておいてください。 .Pp バンド幅に制限がある双方向リンクをシミュレートする場合、 正しい方法は次の通りです。 .Pp .Dl "ipfw add pipe 1 ip from any to any out" .Dl "ipfw add pipe 2 ip from any to any in" .Dl "ipfw pipe 1 config bw 64Kbit/s queue 10Kbytes" .Dl "ipfw pipe 2 config bw 64Kbit/s queue 10Kbytes" .Pp 例えば、あなたの装飾的なウェブページが 低速リンクのみで接続されている在宅ユーザにどう見えているか 知りたい場合などに、 上述の方法は非常に有用かもしれません。 半二重メディア (例えば appletalk, Ethernet, IRDA) をシミュレートしたい 場合を除き、単一のパイプを両方の方向に使用すべきではありません。 両方のパイプが同じ設定である必要はないので、 非対称リンクもシミュレート可能です。 .Pp RED キュー管理アルゴリズムを使用してネットワーク性能を検証するには、 次のようにします。 .Pp .Dl "ipfw add pipe 1 ip from any to any" .Dl "ipfw pipe 1 config bw 500Kbit/s queue 100 red 0.002/30/80/0.1" .Pp トラフィックシェイパの他の典型的な応用は、 いくばくかの通信遅延を導入することです。 これは、バンド幅よりも接続のラウンドトリップ時間が制約要因となる ことがしばしばという状況下で、 遠隔手続き呼び出しを多用するアプリケーションに対し 非常に大きな影響を与えます。 .Pp .Dl "ipfw add pipe 1 ip from any to any out" .Dl "ipfw add pipe 2 ip from any to any in" .Dl "ipfw pipe 1 config delay 250ms bw 1Mbit/s" .Dl "ipfw pipe 2 config delay 250ms bw 1Mbit/s" .Pp フローごとのキューはさまざまな用途に有用です。 非常に単純な用途は、トラフィックの集計です。 .Pp .Dl "ipfw add pipe 1 tcp from any to any" .Dl "ipfw add pipe 1 udp from any to any" .Dl "ipfw add pipe 1 ip from any to any" .Dl "ipfw pipe 1 config mask all" .Pp 上述のルールセットは、 すべてのトラフィックに対するキューを生成 (して統計情報を収集) します。 パイプには制限をつけていないので、統計情報を集める効果しかありません。 最後のルールだけでなく 3 個のルールが必要なことに注意してください。 .Nm が IP パケットのマッチを試みるときにポートを考慮しないため、 別々のポート上の接続が違うものとして見えません。 .Pp より洗練された例は、 ネットワークの出力トラフィックを、 ネットワーク毎に制約するのではなく、ホスト毎に制約するものです。 .Pp .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out" .Dl "ipfw add pipe 2 ip from any to 192.168.2.0/24 in" .Dl "ipfw pipe 1 config mask src-ip 0x000000ff bw 200Kbit/s queue 20Kbytes" .Dl "ipfw pipe 2 config mask dst-ip 0x000000ff bw 200Kbit/s queue 20Kbytes" .Ss ルールセット ルールセットを不可分に追加するには、 例えばセット 18 なら、次のようにします。 .Pp .Dl "ipfw set disable 18" .Dl "ipfw add NN set 18 ... # 必要に応じて繰り返す" .Dl "ipfw set enable 18" .Pp ルールセットを不可分に削除するには、単に次のコマンドでよいです。 .Pp .Dl "ipfw delete set 18" .Pp ルールセットのテストを行ったり、 何か間違いがあった場合にルールセットを削除して制御を回復するには、 次のようにします。 .Pp .Dl "ipfw set disable 18" .Dl "ipfw add NN set 18 ... # 必要に応じて繰り返す" .Dl "ipfw set enable 18; echo done; sleep 30 && ipfw set disable 18" .Pp ここで各設定がうまくいった場合、 \&"sleep" が終了する前に control-C を押すと、 ルールセットは活動状態のままとなります。 そうでない場合、 たとえ箱にアクセスすることができなかったとしても、 ルールセットは sleep が終了した後で無効な状態になるので 以前の状態が復元されます。 .Sh 関連項目 .Xr cpp 1 , .Xr m4 1 , .Xr bridge 4 , .Xr divert 4 , .Xr dummynet 4 , .Xr ip 4 , .Xr ipfirewall 4 , .Xr protocols 5 , .Xr services 5 , .Xr init 8 , .Xr kldload 8 , .Xr reboot 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh バグ -UID, GID, jail ID の制約を含むルールが使用されており、 -debug.mpsafenet が 1 の場合、ロック順序問題がシステムを -ハードロックさせることがあります。 -.Pp 年月とともに文法が大きくなり、ときどき訳がわからないところも あるかもしれません。 不幸にして、後方互換性のために昔しでかした文法定義の誤りを 訂正できないでいます。 .Pp .Em !!! 警告 !!! .Pp ファイアウォールを誤って設定するとコンピュータが 使用不能な状態になり、 ことによると、ネットワークサービスを停止させてしまい、 制御を回復するためにコンソールアクセスが必要となってしまう 可能性があります。 .Pp .Cm divert によって行き先を変更された入力パケットの断片 (フラグメント) は、 ソケットに配送される前に再構成されます。 これらのパケットで使用されるアクションは パケットの最初のフラグメントにマッチしたルールのものです。 .Pp ユーザランドへ向けられ、 ユーザランドのプロセス によって再投入されるパケットは、 パケットの発信元インタフェースを含む パケット属性のいろいろを失っています。 パケットの始点インタフェース名は、8 バイト未満であって、 ユーザランドのプロセスが保存しこれを sockaddr_in で再使用するのであれば、 保持されます .Xr ( natd 8 はそうします)。 さもなくば、この情報は失われます。 パケットがこの方法で再投入された場合、 後のルールは正しく適用されないかもしれません。 ルールの並びにおける .Cm divert ルールの順序は非常に重要なものとなります。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs , .An Luigi Rizzo . .Pp .An -nosplit API は .An Daniel Boulet が BSDI 用に記述したコードに基づいています。 .Pp .Xr dummynet 4 トラフィックシェイパは Akamba Corp. がサポートしました。 .Sh 歴史 .Nm は、 .Fx 2.0 -で最初に現れました。 +ではじめて登場しました。 .Xr dummynet 4 は .Fx 2.2.8 -から導入されました。 +で導入されました。 ステートフル拡張は、 .Fx 4.0 -から導入されました。 +で導入されました。 .Nm ipfw2 は 2002 年夏に導入されました。 diff --git a/ja_JP.eucJP/man/man8/jail.8 b/ja_JP.eucJP/man/man8/jail.8 index 61d69adb04..05230470aa 100644 --- a/ja_JP.eucJP/man/man8/jail.8 +++ b/ja_JP.eucJP/man/man8/jail.8 @@ -1,564 +1,568 @@ .\" .\" Copyright (c) 2000, 2003 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" .\" ---------------------------------------------------------------------------- .\" "THE BEER-WARE LICENSE" (Revision 42): .\" wrote this file. As long as you retain this notice you .\" can do whatever you want with this stuff. If we meet some day, and you think .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" %FreeBSD: src/usr.sbin/jail/jail.8,v 1.58 2004/08/15 08:21:50 maxim Exp % +.\" %FreeBSD: src/usr.sbin/jail/jail.8,v 1.58.2.2 2005/02/27 15:40:16 brueffer Exp % .\" .\" $FreeBSD$ -.Dd December 12, 2001 +.Dd April 8, 2003 .Dt JAIL 8 .Os .Sh 名称 .Nm jail .Nd プロセスとその子孫を閉じ込める .Sh 書式 .Nm .Op Fl i -.Op Fl l Fl u Ar username | Fl U Ar username +.Op Fl l u Ar username | Fl U Ar username .Ar path hostname ip-number command ... .Sh 解説 .Nm ユーティリティはプロセスとその将来の子孫を閉じ込めます。 .Pp オプションは次の通りです: .Bl -tag -width ".Fl u Ar username" .It Fl i 新規に作成された jail (牢屋) に対し、jail の識別子を出力します。 .It Fl l きれいな環境でプログラムを実行します。 -.Ev HOME , -.Ev SHELL , -.Ev TERM , -.Ev USER +.Ev HOME , SHELL , TERM , USER 以外の環境は捨てられます。 .Ev HOME と .Ev SHELL はターゲットログインのデフォルトの値に設定されます。 .Ev USER はターゲットログインに設定されます。 .Ev TERM は現在の環境からインポートされます。 ターゲットログインのログインクラスケーパビリティデータベースからも 環境変数が設定されます。 .It Fl u Ar username ホスト環境から .Ar command を実行するユーザ名。 .It Fl U Ar username jail された環境から .Ar command を実行するユーザ名。 .It Ar path jail の根となるディレクトリ。 .It Ar hostname jail のホスト名。 .It Ar ip-number jail に割り当てられた IP 番号。 .It Ar command 実行されるべきプログラムのパス名。 .El .Pp 典型的には、jail は、2 つの哲学のうちの 1 つを使用して設定されます。 それぞれ、特定の単一アプリケーションを束縛すること、 様々なデーモンやサービスが動作する .Dq 仮想システムイメージ を作成することです。 どちらの場合であっても、 必要なコマンドラインツール、デーモン、ライブラリ、 アプリケーション設定ファイル等が利用可能となるために、 十分完全にインストールされた .Fx のファイルシステムが必要です。 しかしながら、仮想サーバ設定では、 .Dq ブート 処理の設定のために、もっと多くの作業が必要です。 このマニュアルページは 両者をサポートするための設定ステップを記述していますが、 個別の要件に応じて設定ステップを最適化できるかもしれません。 .Pp 詳細は .Xr jail 2 のマニュアルページを参照してください。 .Sh 使用例 .Ss jail 用ディレクトリツリー設定 この例は、 .Fx 配布物全体を含む jail 用ディレクトリツリーをどのように構築するかを示しています: .Bd -literal D=/here/is/the/jail cd /usr/src mkdir -p $D make world DESTDIR=$D cd etc make distribution DESTDIR=$D mount_devfs devfs $D/dev cd $D ln -sf dev/null kernel .Ed .Pp 注: jail に対し、devfs 中の適切なデバイスのみが見えるようになっている ことが重要です。 jail 中でのディスクデバイスへのアクセスを許すと、 jail 中のプロセスが jail 外のファイルを修正することで、 jail の砂箱を通り抜けてしまうかもしれません。 devfs ルールを使用することで、 jail 毎の devfs 中のエントリへのアクセスを制限する方法については、 .Xr devfs 8 を参照してください。 .Pp 多くの場合、この例の方法では、 必要をはるかに越えた数のものを jail に入れてしまうでしょう。 もう一方の極端な例では、jail はただ 1 個のファイルのみを保持します: すなわち jail の中で実行する実行形式 1 個だけです。 .Pp .Dq 太い jail から開始して動かなくなるまで徐々にものを削除していく方が、 .Dq 細い jail から開始して動くようになるまで徐々にものを追加していくよりも かなり簡単ですので、試すにはお勧めですが、また用心することもお勧めします。 .Ss jail の設定 jail 用ディレクトリツリーの構築のためには、 .Sx jail 用ディレクトリツリー設定 に記述されている手順を実行してください。 この例では、jail された IP アドレス用に .Pa /data/jail/192.168.11.100 に構築するものと仮定します。 以降、 あなたが必要とするディレクトリ、IP アドレス、ホスト名で置き換えてください。 .Ss ホスト環境の設定 まず、実システムの環境を .Dq jail に適した環境 にします。 一貫性のために、親となる実マシンを .Dq ホスト環境 と呼び、jail される仮想マシンを .Dq jail 環境 と呼びます。 jail は IP エイリアスを使用して実装されていますので、 最初にすべきことのひとつは、 ホストシステムの IP サービスで、 全ローカル IP アドレスに対してサービスを listen しているものを、 無効化することです。 特定の IP アドレスではなくすべての利用可能な IP アドレスに bind する ネットワークサービスがホスト環境上に存在する場合、 そのサービスは jail IP アドレスに送られた要求にサービス可能です。 これは、 .Xr inetd 8 を修正して、適切な IP アドレスのみ listen させるといった ことを意味します。 次の設定を、ホスト環境の .Pa /etc/rc.conf に追加します: .Bd -literal -offset indent sendmail_enable="NO" inetd_flags="-wW -a 192.168.11.23" rpcbind_enable="NO" .Ed .Pp この例では、 .Li 192.168.11.23 はホストシステムの元々の IP アドレスです。 .Xr inetd 8 から実行されるデーモンは、指定されたホスト IP アドレスを使用するよう、 簡単に設定可能です。 他のデーモンは手動での設定が必要です \(em いくつかに対しては、 .Xr rc.conf 5 フラグエントリにて可能ですが、他のものに対してはアプリケーション毎の 設定ファイルをいじるか、再コンパイルが必要です。 次のよく使われるサービスは、個別の設定ファイルを修正して、 アプリケーションが特定の IP アドレスだけを listen するようにすべきです: .Pp .Xr sshd 8 の設定には .Pa /etc/ssh/sshd_config の修正が必要です。 .Pp .Xr sendmail 8 の設定には .Pa /etc/mail/sendmail.cf の修正が必要です。 .Pp .Xr named 8 の設定には .Pa /etc/namedb/named.conf の修正が必要です。 .Pp さらに、多くのサービスは、ホスト環境で動作させるために、 再コンパイルが必要です。 これには、 .Xr rpcbind 8 , .Xr nfsd 8 , .Xr mountd 8 といった、 .Xr rpc 3 を使用してサービスを提供するほとんどのアプリケーションが含まれます。 一般に、bind する IP アドレスを指定不可能なアプリケーションは、 jail IP アドレスに対して送られた要求にもそれらがサービスするのでない限り、 ホスト環境で実行すべきではありません。 ホスト環境からの NFS にサービスしようとすると、 混乱が生じるかもしれませんし、 特定の IP だけを使用するようには簡単には再設定できません。 これは、NFS のサービスには、直接カーネルが実行するものがあるからです。 ホスト環境内で動作している すべてのサードパーティネットワークソフトウェアもまた確認および設定して、 すべての IP アドレスに bind しないようにすべきです。 結果として、これらのサービスもまた、 jail 環境から提供されているように見えるでしょう。 .Pp ひとたびこれらのデーモンが無効化またはホスト環境内に固定化されたなら、 後の混乱 (jail へメールを送るときに、jail の sendmail がダウンしていて、 メールがホストへ配送されてしまうなど) の可能性を減らすために、 リブートして全デーモンが既知の状態となるようにするのが最良です。 .Ss jail の設定 最初に jail を起動するときには、 ネットワークインタフェースを設定しないでください。 これは、ネットワークインタフェースを少し整理したり、 アカウントを設定するためです。 どんなマシンでも (仮想であってもそうでなくても)、 root のパスワードやタイムゾーンといった情報を設定する必要があるでしょう。 これらのステップのいくつかは、 完全な仮想サーバを jail 内に作成したい場合にのみあてはまります。 残りは、単一アプリケーションの束縛にも、 仮想サーバの構築にも、あてはまります。 .Pp jail 内でシェルを起動します: .Pp .Dl "jail /data/jail/192.168.11.100 testhostname 192.168.11.100 /bin/sh" .Pp エラーがなければ、jail 内のシェルプロンプトで終わるでしょう。 ここで、 .Pa /usr/sbin/sysinstall を実行し、インストール後の設定で様々な設定オプションを設定できます。 また、同様のことを実現するために、 .Pa /etc/rc.conf 等を手動で編集できます。 .Pp .Bl -bullet -offset indent -compact .It 空の .Pa /etc/fstab を作成し、fstab が存在しないという起動警告を解消します (仮想サーバのみ)。 .It ポートマッパを無効化します .Pa ( /etc/rc.conf : .Li rpcbind_enable="NO" ) (仮想サーバのみ)。 .It .Xr newaliases 1 を実行し、 .Xr sendmail 8 の警告を解消します。 .It インタフェース設定を無効化し、 .Xr ifconfig 8 関連の起動警告を解消します .Pq Li network_interfaces="" (仮想サーバのみ)。 .It .Pa /etc/resolv.conf を設定し、jail 内の名前解決が正しく動作するようにします。 .It root のパスワードを設定します。 実ホストシステムとは異なっても良いです。 .It タイムゾーンを設定します。 .It jail 環境内のユーザにユーザアカウントを追加します。 .It jail 環境に必要なパッケージを追加します。 .El .Pp パッケージ固有の設定 (ウェブサーバや SSH サーバ等) や、 好みのログを取るための .Pa /etc/syslog.conf の修正等を行ってください。 仮想サーバを使っていない場合、ホスト環境の .Xr syslogd 8 が jail 環境の syslog ソケットを listen するように変更したいかもしれません。 この例では、syslog ソケットは .Pa /data/jail/192.168.11.100/var/run/log に格納されます。 .Pp シェルから抜ければ、jail はシャットダウンします。 .Ss jail の開始 jail を再開し、 全デーモンと他のプログラムと共に環境を立ち上げる準備ができました。 jail 内で単一アプリケーションを実行する場合、 下記の例の .Pa /etc/rc を、アプリケーション起動のコマンドで置き換えてください。 仮想サーバ環境の立ち上げるために、 .Pa /etc/rc が実行され、様々なデーモンやサービスを起動します。 これを実行するには、まず仮想ホストのインタフェースを立ち上げ、 それから jail の .Pa /etc/rc スクリプトを jail 内から実行します。 .Pp 注: 信頼できないユーザに jail 内で root アクセスを許す予定なら、 .Va security.jail.set_hostname_allowed sysctl 変数を 0 に設定することを検討すると良いでしょう。 管理に関する後述の議論を参照して、何故これが良い考えなのかを理解してください。 この変数を設定することにしたならば、 すべての jail の起動前にこれを設定することが必要であり、 またブートの度に 1 度必要です。 .Bd -literal -offset indent ifconfig ed0 inet alias 192.168.11.100/32 mount -t procfs proc /data/jail/192.168.11.100/proc jail /data/jail/192.168.11.100 testhostname 192.168.11.100 \\ /bin/sh /etc/rc .Ed .Pp ほとんどの .Xr sysctl 8 設定変数は jail 内から設定不可であるため、若干の警告が表示されます。 なぜなら、 これらの設定変数は、すべての jail 環境とホスト環境に渡って大域的だからです。 しかしながら、すべて正しく動作することでしょう。 .Xr inetd 8 , .Xr syslogd 8 および他のプロセスが jail 内で動作していることは、 .Xr ps 1 を使用することにより、jail されたプロセスの横に .Ql J フラグが付いていることにより確認可能です。 jail のアクティブリストを見るには .Xr jls 8 ユーティリティを使用します。 jail された環境へは、ホスト名または IP アドレスで .Xr telnet 1 可能であり、 前述の手順で作成したアカウントを使用してログイン可能です。 .Ss jail の管理 通常のマシンのシャットダウンコマンド、例えば .Xr halt 8 , .Xr reboot 8 , .Xr shutdown 8 は jail 内ではうまく使えません。 jail 内の全プロセスを殺すためには、jail に root でログインし、 やりたいことに依存して次のいずれかのコマンドを使用します: .Pp .Bd -literal -offset indent kill -TERM -1 kill -KILL -1 .Ed .Pp これにより、 .Dv SIGTERM または .Dv SIGKILL のシグナルを、jail 内から jail 内の全プロセスに通知します。 jail の用途に依存して、jail 内で .Pa /etc/rc.shutdown を実行したいかもしれません。 jail 外からプロセスを殺すには、 .Xr jexec 8 ユーティリティを上述の .Xr kill 1 コマンドと組み合わせて使用するか、 .Xr killall 1 ユーティリティを .Fl j オプション付きで使用します。 .Pp .Pa /proc/ Ns Ar pid Ns Pa /status ファイルの最後のフィールドには、 プロセスが動作している jail のホスト名か、 このプロセスが jail 内で動作していないことを示すために .Dq Li - を含みます。 .Xr ps 1 コマンドもまた、jail 内のプロセスに対して .Ql J フラグを示します。 しかし、jail 用のホスト名はデフォルトでは jail 内から書き換え可能であるため、 デフォルトでは .Pa /proc の status エントリは信頼できません。 jail 内からのホスト名設定を禁ずるには、ホスト環境の sysctl 変数 .Va security.jail.set_hostname_allowed を 0 に設定します。 これはすべての jail に影響します。 .Xr sysctl.conf 5 を使うことにより、ブートのたびにこの sysctl 設定を行えます。 次の行を .Pa /etc/sysctl.conf に追加するだけです: .Pp .Dl security.jail.set_hostname_allowed=0 .Ss sysctl MIB エントリ jail 封鎖環境の特定の側面は、ホスト環境から、 .Xr sysctl 8 MIB 変数を使用して変更可能です。 現在のところ、これらの変数はシステム上のすべての jail 環境に影響しますが、 将来的にこの機能はより細粒度となる予定です。 .Bl -tag -width XXX .It Va security.jail.allow_raw_sockets 本 MIB エントリは、jail の root が raw ソケットを作成可能か否かを指定します。 この MIB を 1 に設定すると、 .Xr ping 8 や .Xr traceroute 8 のようなユーティリティを jail 内で実行できるようになります。 この MIB が設定されていれば、 .Dv IP_HDRINCL フラグがソケットに設定されているか否かに関わらず、 ソース IP アドレスは jail に bind された IP アドレスに 強制的に従うようになります。 raw ソケットは様々なネットワークサブシステムの設定や相互作用に使われるので、 jail への特権的なアクセス権を信頼できない相手に与える場合には、 さらに注意が必要です。 そのため、デフォルトではこのオプションは無効になっています。 .It Va security.jail.getfsstatroot_only 本 MIB エントリは、jail 内のプロセスが全マウントポイントのデータを 見られるか否かを指定します。 1 (デフォルト) に設定された場合は、 .Xr getfsstat 2 システムコールは (jail 内のプロセスから呼ばれた場合) jail のルートの vnode があるファイルシステムのデータだけを返します。 注: これは .Pa /dev , .Pa /tmp , .Pa /proc のような jail 内のその他のマウントポイントを隠す効果もありますが、 情報を必要以上に隠してしまいます。 .It Va security.jail.set_hostname_allowed 本 MIB エントリは、jail 内のプロセスが .Xr hostname 1 または .Xr sethostname 3 を使用して、ホスト名を変更可能か否かを指定します。 現在の jail 実装では、 jail 内からホスト名を設定できてしまうと、 .Pa /proc 内の jail 情報が正確であることに依存している管理ツールへ影響します。 このため、 信頼できない団体に jail への特権アクセスを許している環境においては、 本機能は無効化するべきです。 .It Va security.jail.socket_unixiproute_only jail 機能は、単一の IPv4 アドレスを各 jail へ bind し、 IPv4 空間における他のネットワークアドレスへのアクセスを制限します。 これらは、ホスト環境ではアクセス可能であるかもしれません。 しかしながら jail は現在のところ、 jail 機能を持たない他のネットワークプロトコルスタックへの アクセスを制限できません。 このためデフォルトでは、jail 内のプロセスは -.Dv PF_LOCAL , -.Dv PF_INET , -.Dv PF_ROUTE +.Dv PF_LOCAL , PF_INET , PF_ROUTE ドメインのプロトコルにのみアクセス可能ですので、 .Ux ドメインソケット、IPv4 アドレス、ルーティングソケットにアクセス可能です。 他のドメインへアクセスを有効にするには、 本 MIB エントリを 0 に設定します。 .It Va security.jail.sysvipc_allowed 本 MIB エントリは、jail 内のプロセスが System V IPC プリミティブへの アクセスを持つか否かを指定します。 現在の jail 実装では、System V プリミティブは、 ホスト環境と jail 環境に跨がる単一の名前空間を共有します。 これは、jail 内のプロセスが jail 外のプロセスや他の jail 内のプロセスと 通信可能である (また潜在的に妨害も可能である) ことを意味します。 このため、この機能はデフォルトで無効ですが、 本 MIB エントリを 1 に設定することで有効にできます。 +.It Va security.jail.chflags_allowed +本 MIB エントリは jail 内の特権ユーザが +.Xr chflags 2 +によってどのように扱われるのかを決めます。 +0 であれば、そのようなユーザは非特権ユーザとして扱われ、システムファイルフラグを +セットしたりクリアしたりすることはできません。 +0 でなければ、特権ユーザとして扱われ、 +.Va kern.securelevel +による通常の束縛に従ってシステムファイルフラグを操作できます。 .El .Pp 現在、jail 毎の設定を保持する 2 個の MIB 関係変数があります。 jail 内のプロセスによるこれらの変数の変更は、ホスト環境には影響せず、 jail 環境に対してのみ影響します。 変数名は .Va kern.securelevel と .Va kern.hostname です。 .Sh 関連項目 .Xr killall 1 , .Xr newaliases 1 , .Xr ps 1 , .Xr chroot 2 , .Xr jail 2 , .Xr jail_attach 2 , .Xr procfs 5 , .Xr rc.conf 5 , .Xr sysctl.conf 5 , .Xr devfs 8 , .Xr halt 8 , .Xr inetd 8 , .Xr jexec 8 , .Xr jls 8 , .Xr mount_devfs 8 , .Xr named 8 , .Xr reboot 8 , .Xr rpcbind 8 , .Xr sendmail 8 , .Xr shutdown 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh 歴史 .Nm ユーティリティは .Fx 4.0 ではじめて登場しました。 .Sh 作者 .An -nosplit jail の機能は .An Poul-Henning Kamp によって R&D Associates .Pa http://www.rndassociates.com/ のために書かれ、 .Fx に寄贈されました。 .Pp .An Robert Watson が追加の文書を書き、少々バグを見つけ、 新規機能を少々追加し、ユーザランドの jail 環境を綺麗にしました。 .Sh バグ jail は現在のところ、 .Xr procfs 5 に対して特定の jail 情報を .Xr ps 1 経由でアクセスできるようにするという能力がありません。 また、アドレスエイリアスフラグを追加して、 全 IP .Pq Dv INADDR_ANY 上で listen するようなデーモンが このフラグを持つアドレスには bind しないようにすると良いかもしれません。 これにより、jail 内から提供されるサービスに対して ホストデーモンが負担をかけない、安全なホスト環境を構築可能とします。 現在のところ、 最も単純な答えはホスト上で提供するサービスを最小化することであり、 おそらく簡単に設定可能な .Xr inetd 8 から提供されるものに限定することでしょう。 diff --git a/ja_JP.eucJP/man/man8/kldunload.8 b/ja_JP.eucJP/man/man8/kldunload.8 index b22e68c1b6..5e049838d9 100644 --- a/ja_JP.eucJP/man/man8/kldunload.8 +++ b/ja_JP.eucJP/man/man8/kldunload.8 @@ -1,85 +1,87 @@ .\" .\" Copyright (c) 1997 Doug Rabson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/sbin/kldunload/kldunload.8,v 1.13 2004/07/13 19:36:58 phk Exp % +.\" %FreeBSD: src/sbin/kldunload/kldunload.8,v 1.13.2.2 2005/02/12 15:18:10 brueffer Exp % .\" $FreeBSD$ .\" .\" WORD: unload アンロードする .\" -.Dd April 25, 1997 +.Dd July 13, 2004 .Dt KLDUNLOAD 8 .Os .Sh 名称 .Nm kldunload .Nd カーネルからファイルをアンロードする .Sh 書式 .Nm .Op Fl f -.Op Fl v +.Op Fl fv .Fl i Ar id .Nm .Op Fl f -.Op Fl v +.Op Fl fv .Op Fl n .Ar name .Sh 解説 .Nm ユーティリティはすでに .Xr kldload 8 でロードされているファイルをアンロードします。 .Pp 以下のオプションが利用できます : -.Bl -tag -width indentXX +.Bl -tag -width ".Fl n Ar name" .It Fl f アンロードを強制します。 -これは、MOD_QUISCE に対してのモジュールからのエラーを無視し、 -モジュールが現在使用中であっても、アンロードすべきであるとみなします。 +これはモジュールからの +.Dv MOD_QUIESCE +エラー戻り値を無視し、 +また、モジュールが現在使用中であってもアンロードすることを含みます。 取り扱いはユーザに一任されています。 .It Fl v 出力を冗長にします。 .It Fl i Ar id 指定した ID のファイルをアンロードします。 .It Fl n Ar name 指定した名前のファイルをアンロードします。 .It Ar name 指定した名前のファイルをアンロードします。 .El .Sh 診断 .Nm ユーティリティは、成功時には状態 0 で、 エラー発生時には 0 以外の状態で終了します。 .Sh 関連項目 .Xr kldunload 2 , .Xr kldload 8 , .Xr kldstat 8 .Sh 歴史 .Nm ユーティリティは .Fx 3.0 -に初めて登場し、 +ではじめて登場し、 .Xr lkm 4 インタフェースを置き換えました。 .Sh 作者 .An Doug Rabson Aq dfr@FreeBSD.org diff --git a/ja_JP.eucJP/man/man8/loader.4th.8 b/ja_JP.eucJP/man/man8/loader.4th.8 index 928047277d..995f4f4104 100644 --- a/ja_JP.eucJP/man/man8/loader.4th.8 +++ b/ja_JP.eucJP/man/man8/loader.4th.8 @@ -1,213 +1,213 @@ .\" Copyright (c) 1999 Daniel C. Sobral .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/sys/boot/forth/loader.4th.8,v 1.14 2002/08/13 15:09:33 ru Exp % +.\" %FreeBSD: src/sys/boot/forth/loader.4th.8,v 1.14.8.1 2004/11/10 20:30:39 ru Exp % .\" .\" $FreeBSD$ -.Dd April 25, 1999 +.Dd September 30, 2004 .Dt LOADER.4TH 8 .Os .Sh 名称 .Nm loader.4th .Nd loader.conf の処理ツール .Sh 解説 .Nm の名前で知られるファイルは、 .Xr loader.conf 5 ファイルを操作するためにデザインされたコマンドの集合です。 デフォルトの .Pa /boot/loader.rc は、 .Nm を組み込み、そのコマンドのうちのひとつを使用することにより、標準の .Xr loader.conf 5 ファイルを自動的に読み込んで処理します。 他のコマンドは、ユーザが別の設定を指定することを助けるために存在しています。 .Pp .Nm のコマンド自身は、 ほとんど全部の用途に間に合う程には十分ではありません。 最もありふれた状況における使用例については、 後述の使用例を参照してください。 追加のコマンドについては、 .Xr loader 8 を参照してください。 .Pp .Nm で提供されるコマンドを使用する前に、 .Nm を次のコマンドで組み込む必要があります: .Pp .Dl include loader.4th .Pp この行は、デフォルトの .Pa /boot/loader.rc ファイルにありますので、標準の設定では不要です (し、再発行してはなりません)。 .Pp これにより提供されるコマンドは、次の通りです: .Bl -tag -width disable-module_module -compact -offset indent .It Ic boot .It Ic boot Ar kernelname Op Cm ... .It Ic boot Ar directory Op Cm ... .It Ic boot Fl flag Cm ... 読み込んだ .Xr loader.conf 5 ファイルに指定される通りにブートへ進みます。 .Pp 渡される引数に依存し、 ブートフラグとカーネル名もしくはカーネルとモジュールの検索パスを変更します。 .Pp .It Ic boot-conf .It Ic boot-conf Ar kernelname Op Cm ... .It Ic boot-conf Ar directory Op Cm ... .It Ic boot-conf Fl flag Cm ... 前述の .Ic boot と同様に動作しますが、すぐにブートするのではなく、 .Ic autoboot を使用しますので、止めることが可能です。 .Pp .It Ic start .Pa /boot/defaults/loader.conf と、ここで指定される他のすべての .Xr loader.conf 5 ファイルを読み込み、これらに指定される通りにブートへ進みます。 これはデフォルトの .Pa /boot/loader.rc ファイルで指定されるコマンドであり、 .Pa autoboot コマンド ( .Xr loader 8 参照) を使用しますので、更に .Xr loader 8 と対話するために止めることが可能です。 .Pp .It Ic initialize サポートライブラリを初期化します。これにより、最初に .Ic start を実行することなくコマンドを使用可能となります。 .Ic start のように、 .Pa /boot/defaults/loader.conf とそこで指定される他の .Xr loader.conf 5 ファイルを読み込みます。 スタック上にフラグを返し、 なんらかの設定ファイルを成功裏にロードできたかを示します。 .Pp .It Ic read-conf Ar filename .Xr loader.conf 5 ファイルを読み込み、処理します。ブートへは進みません。 .Pp .It Ic enable-module Ar module .Ar module のロードを有効にします。 .Pp .It Ic disable-module Ar module .Ar module のロードを無効にします。 .Pp .It Ic toggle-module Ar module .Ar module のロードのオンオフを切り替えます。 .Pp .It Ic show-module Ar module モジュール .Ar module に関して .Xr loader.conf 5 ファイル中で収集した情報を表示します。 .Pp .It Ic retry .Xr loader.conf 5 ファイル中で使用され、モジュールのロードに失敗した後の動作を指定します。 .Pp .It Ic ignore .Xr loader.conf 5 ファイル中で使用され、モジュールのロードに失敗した後の動作を指定します。 .El .Sh 関連ファイル .Bl -tag -width /boot/loader.4th -compact .It Pa /boot/loader .Xr loader 8 です。 .It Pa /boot/loader.4th .Nm 自身です。 .It Pa /boot/loader.rc .Xr loader 8 ブートストラップスクリプトです。 .It Pa /boot/defaults/loader.conf .Ic start コマンドによってロードされるファイルです。 .El .Sh 使用例 標準の .Pa /boot/loader.rc は次のようになっています: .Pp .Bd -literal -offset indent -compact include /boot/loader.4th start .Ed .Pp 標準の設定で別のカーネルをロードするには、次のようにします: .Pp .Bd -literal -offset indent -compact -set kernel="/boot/kernel.old/kernel" +set kernel="kernel.old" unload boot-conf .Ed .Pp 追加の設定ファイルを読み込み、ブートへ進みます: .Pp .Bd -literal -offset indent -compact unload read-conf /boot/special.conf boot-conf .Ed .Pp 起動画面モジュールとビットマップの読み込みを無効化し、ブートへ進みます: .Pp .Bd -literal -offset indent -compact unload disable-module splash_bmp disable-module bitmap boot-conf .Ed .Sh 関連項目 .Xr loader.conf 5 , .Xr loader 8 .Sh 歴史 .Nm -コマンド群が最初に登場したのは +コマンド群は .Fx 3.2 -です。 +ではじめて登場しました。 .Sh 作者 .Nm コマンド群は .An Daniel C. Sobral Aq dcs@FreeBSD.org -が記述しました。 +によって書かれました。 .Sh バグ 英国のスパイ活動シリーズです (A british espionage series)。 diff --git a/ja_JP.eucJP/man/man8/loader.8 b/ja_JP.eucJP/man/man8/loader.8 index a59b92482e..4573f0e5e6 100644 --- a/ja_JP.eucJP/man/man8/loader.8 +++ b/ja_JP.eucJP/man/man8/loader.8 @@ -1,877 +1,891 @@ .\" Copyright (c) 1999 Daniel C. Sobral .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %FreeBSD: src/sys/boot/common/loader.8,v 1.64.2.1 2004/09/26 06:32:03 maxim Exp % .\" .\" $FreeBSD$ -.Dd August 18, 2004 +.Dd October 1, 2004 .Dt LOADER 8 .Os .Sh 名称 .Nm loader .Nd カーネルブートストラップの最終段階 .Sh 解説 .Nm と呼ばれるプログラムは、 .Fx のカーネルブートストラップにおける、最終段です。 IA32 (i386) アーキテクチャでは、これは .Pa BTX クライアントです。 .Xr libstand 3 に静的にリンクされ、通常はディレクトリ .Pa /boot に置かれます。 .Pp また、作業自動化、事前設定、回復処理の補助に使用可能な、 スクリプト言語を提供します。 このスクリプト言語はおおまかに 2 つの主たる部分に分類されます。 小さな方は、通常のユーザが直接使用するようデザインされたコマンドの集合で、 歴史的な事情により「組み込みコマンド」と呼ばれます。 これらのコマンドを提供した背景には、 主としてユーザの使い勝手を改善する目的があります。 大きな部品は .Tn ANS Forth 互換の Forth インタプリタであり、 .An John Sadler の FICL をベースにしています。 .Pp 初期化において、 .Nm はコンソールを検出して .Va console 変数を設定します。 直前のブートステージにシリアルコンソールを使用した場合には、 この変数をシリアルコンソール .Pq Dq comconsole に設定します。 その後、デバイスをプローブし、 .Va currdev と .Va loaddev を設定し、 .Va LINES を 24 に設定します。 次に .Tn FICL が初期化され、組み込み語が語彙に追加され、存在する場合には .Pa /boot/boot.4th が処理されます。 このファイルが読み込まれるまで、ディスクの交換はできません。 .Nm が .Tn FICL とともに使用する内部インタプリタは .Ic interpret -に設定されます。これは +に設定されます。 +これは .Tn FICL のデフォルトです。 この後、使用可能な場合 .Pa /boot/loader.rc が処理され、そうでない場合には歴史的な理由で .Pa /boot/boot.conf が読み込まれます。 これらのファイルは .Ic include コマンドを介して処理されます。 このコマンドは、 処理前にファイル内容すべてをメモリに読み込みますので、 ディスク交換が可能となります。 .Pp この時点で、 .Ic autoboot が試されていない場合でかつ .Va autoboot_delay が .Dq NO (大文字小文字は区別しません) に設定されていない場合、 .Ic autoboot が試されます。 システムがこの時点まで到達した場合、 .Va prompt が設定され、 .Nm は対話モードになります。 .Sh 組み込みコマンド .Nm の組み込みコマンドは、パラメータをコマンドラインから受け取ります。 現在、スクリプトからの呼び出し方法は、文字列上で .Pa evaluate を使用することだけです。 エラー状態が発生すると、 .Tn ANS Forth 例外操作語でインタセプト可能な例外が生成されます。 インタセプトされない場合、エラーメッセージが表示され、 インタプリタの状態がリセットされます。 これにより、スタックが空になりインタプリタのモードが元に戻ります。 .Pp 使用可能な組み込みコマンドは次の通りです: .Pp .Bl -tag -width Ds -compact -.It Ic autoboot Op Ar seconds +.It Ic autoboot Op Ar seconds Op Ar prompt ユーザが割り込まない場合には、 指定した秒数の後にシステムのブートストラップへ進みます。 キーが押されて割り込まれるまで、 カウントダウンプロンプトを表示し、 ユーザに対してシステムがブートするところであることを警告します。 必要であれば、最初にカーネルがロードされます。 デフォルトは 10 秒です。 .Pp .It Ic bcachestat ディスクキャッシュの使用状況を表示します。 デバッグのためだけにあります。 .Pp .It Ic boot .It Ic boot Ar kernelname Op Cm ... .It Ic boot Fl flag Cm ... システムのブートストラップへすぐに進み、 必要であればカーネルをロードします。 すべてのフラグまたは引数はカーネルに渡されますが、 カーネル名が指定された場合、これらはカーネル名の後にある必要があります。 .Pp .Em 警告 : この組み込みコマンドの動作は、 .Xr loader.4th 8 がロードされると、変ります .Pp .It Ic echo Xo .Op Fl n .Op Aq message .Xc 画面にテキストを表示します。 .Fl n を指定しない場合、改行が表示されます。 .Pp .It Ic heap -メモリ使用状況が表示されます。デバッグ目的のためだけにあります。 +メモリ使用状況が表示されます。 +デバッグ目的のためだけにあります。 .Pp .It Ic help Op topic Op subtopic ヘルプメッセージを .Pa /boot/loader.help から読み込んで表示します。 特殊トピック .Em index は、使用可能なトピックを表示します。 .Pp .It Ic include Ar file Op Ar スクリプトファイルを処理します。 各ファイルは、順番がまわって来たところで完全にメモリに読み込まれ、 各行がコマンドラインインタプリタに渡されます。 インタプリタがエラーを返すと、 他のファイルは読み込まずに include コマンドは即時に異常終了し、 自身にエラーを返します .Pf ( Sx エラー 参照)。 .Pp .It Ic load Xo .Op Fl t Ar type .Ar file Cm ... .Xc カーネル、カーネルローダブルモジュール (kld)、内容を問わず .Ar type とタグ付けされているファイルのいずれかをロードします。 カーネルとモジュールは、a.out または FLF のどちらの形式であってもかまいません。 ロードされるファイルの後で渡される引数は、 そのファイルに対する引数として渡されます。 現在のところ、これはカーネルに対しては動作しないことに注意してください。 .Pp .It Ic ls Xo .Op Fl l .Op Ar path .Xc ディレクトリ .Ar path 、または .Ar path を指定しなかった場合にはルートディレクトリのファイル一覧を表示します。 .Fl l を指定すると、ファイルの大きさも表示します。 .Pp .It Ic lsdev Op Fl v モジュールのロード元となりうるデバイスをすべて表示します。 .Fl v を指定すると、更なる詳細を表示します。 .Pp .It Ic lsmod Op Fl v ロード済のモジュールを表示します。 .Fl v を指定すると、更なる詳細を表示します。 .Pp .It Ic more Ar file Op Ar .Va LINES 行を表示するごとに停止しながら、指定したファイルを表示します。 .Pp .It Ic pnpscan Op Fl v プラグアンドプレイデバイスをスキャンします。 現在のところ動作しません。 .Pp .It Ic read Xo .Op Fl t Ar seconds .Op Fl p Ar prompt .Op Va variable .Xc 入力行を端末から読み込み、 .Va variable が指定された場合にはこれに読み込み結果を格納します。 タイムアウトは .Fl t で指定可能ですが、これは最初に押されるキーにより打ち消されます。 プロンプトもまた .Fl p フラグにより表示可能です。 .Pp .It Ic reboot 即時にシステムをリブートします。 .Pp .It Ic set Ar variable .It Ic set Ar variable Ns = Ns Ar value ローダの環境変数を設定します。 .Pp .It Ic show Op Va variable 指定した変数の値を表示します。 .Va variable を指定しないと、すべての変数とその値を表示します。 .Pp .It Ic unload 全モジュールをメモリから取り除きます。 .Pp .It Ic unset Va variable .Va variable を環境から取り除きます。 .Pp .It Ic \&? -.Dq help index -と同じです。 -.Pp +使用可能なコマンドの一覧を表示します。 .El .Ss 組み込みの環境変数 .Nm は実際のところ、異なった 2 種類の .Sq 環境 変数を持ちます。 それは、ANS Forth の .Em 環境問い合わせ と、別の空間であり組み込みコマンドが使用する環境変数です。 後者は Forth の語としては直接使用できません。 この節で説明するのは、後者です。 .Pp 環境変数の設定および設定解除は、 .Ic set と .Ic unset -の組み込みコマンドを介して行います。これらの値は、 +の組み込みコマンドを介して行います。 +これらの値は、 .Ic show 組み込みコマンドを使用して対話的に検査できます。 これらの値は、 .Sx 組み込みパーザ で説明する方法でもまたアクセス可能です。 .Pp この環境変数は、システムブート後にシェルに継承されないことに注意してください。 .Pp 数個の変数が .Nm により自動的に設定されます。 他の変数は、 .Nm またはブート時のカーネル動作に影響し得ます。 これらのうち値を要求するものがある一方、 設定されるだけで動作を定義するものもあります。 双方の組み込み変数が下記に説明されています。 .Bl -tag -width bootfile .It Va acpi_load ACPI モジュールの自動ロードを無効にするには、これをアンセットします。 .Xr device.hints 5 の .Va hint.acpi.0.disabled も参照してください。 .It Va autoboot_delay .Ic autoboot -がブート前に待つ秒数です。この変数が定義されていない場合、 +がブート前に待つ秒数です。 +この変数が定義されていない場合、 .Ic autoboot はデフォルトの 10 秒になります。 .Pp .Dq NO に設定すると、 .Pa /boot/loader.rc の処理の後に .Ic autoboot を自動的には試みなくなります。 しかし、明示的に .Ic autoboot を指定すると、デフォルトの 10 秒の遅延の後に通常通り処理されます。 .It Va boot_askname カーネルブート時にルートデバイス名をユーザに尋ねるように、 カーネルに指示します。 +.It Va boot_cdrom +ルートファイルシステムを CD-ROM からマウントすることを試みるように、 +カーネルに指示します。 .It Va boot_ddb ブート時に初期化に進むのではなく DDB デバッガを開始するように、 カーネルに指示します。 .It Va boot_gdb gdb リモートモードを、カーネルデバッガのデフォルトとして選択します。 +.It Va boot_multicons +ブートの初期にカーネルの複数コンソールサポートを有効にします。 +動作中のシステムでは、コンソール構成は +.Xr conscontrol 8 +ユーティリティで操作できます。 +.It Va boot_serial +内部コンソールがある場合でも、強制的にシリアルコンソールを使います。 .It Va boot_single カーネルがマルチユーザスタートアップを開始することを防ぎ、 カーネルがデバイスプローブを完了したときにはシングルユーザモードになります。 .It Va boot_userconfig カーネルブート時に カーネルの対話的なデバイス設定プログラムを実行するよう要求します。 +現在は何もしません。 .It Va boot_verbose この変数を設定すると、 ブートフェーズ中に追加のデバッグ情報をカーネルが表示します。 .It Va bootfile セミコロンで区切った検索パスのリストであり、 ここからブート可能なカーネルを探します。 デフォルトは -.Dq Li kernel;kernel.old +.Dq Li kernel です。 .It Va console 現在のコンソールを定義します。 .It Va currdev -デフォルトデバイスを選択します。デバイスの文法は奇妙なものです。 +デフォルトデバイスを選択します。 +デバイスの文法は奇妙なものです。 .It Va init_path カーネルが初期プロセスとして実行しようとすべきバイナリのリストを指定します。 最初にマッチしたバイナリが使用されます。 デフォルトリストは .Dq Li /sbin/init:/sbin/oinit:/sbin/init.bak:/stand/sysinstall です。 .It Va interpret Forth の現在の状態がインタプリタの場合、 -.Dq Li ok +.Dq Li OK という値を持ちます。 .It Va LINES -画面上の行数を定義します。ページャが使用します。 +画面上の行数を定義します。 +ページャが使用します。 .It Va module_path モジュールを検索するディレクトリのリストを設定します。 モジュール名は、load コマンドまたは依存関係により暗黙的に指定されます。 この変数のデフォルト値は .Dq Li /boot/kernel;/boot/modules です。 .It Va num_ide_disks IDE ディスクの数を設定します。 これは、ブート時にルートディスクを見つけることに関する問題への対処です。 .Va root_disk_unit により価値が低下しています。 .It Va prompt .Nm のプロンプトの値です。 デフォルトは -.Dq Li "${currdev}>" +.Dq Li "${interpret}" +です。 +変数 +.Va prompt +が設定解除されていれば、デフォルトプロンプトは +.Ql > です。 .It Va root_disk_unit ルートディスクのディスクユニット番号を検出するコードが混乱する場合、 この変数を設定することでユニット番号を強制可能です。 混乱するのは、例えば SCSI と IDE のディスクを両方持つ場合や、 IDE ディスクの並びに隙間がある場合 (プライマリスレーブが無い場合など) です。 .It Va rootdev デフォルトでは、カーネルブート時にルートファイルシステムの設定には .Va currdev が使用されます。 これは .Va rootdev を明示的に設定することによりオーバライド可能です。 -.It Va dumpdev -パニック時にカーネルがクラッシュダンプを保存可能なデバイスの名前です。 -これは、自動的に -.Va kern.dumpdev -.Xr sysctl 3 -MIB 変数を設定します。 .El .Pp 他の変数を使用することにより、 カーネルの調整可能なパラメータをオーバライド可能です。 次の調整可能な変数が使用可能です: .Bl -tag -width Va .It Va hw.physmem システムが使用する物理メモリ量を制限します。 デフォルトでは大きさはバイトで指定しますが、 .Cm k , K , m , M , g , .Cm G のサフィックスを使用し、 それぞれキロバイト、メガバイト、ギガバイトで指定可能です。 無効なサフィックスを使用すると、カーネルはこの変数を無視してしまいます。 .It Va hw.pci.enable_io_modes BIOS がオフのままとしたり、デバイスドライバが正しく有効化しなかった PCI 資源を、有効化します。 このチューナブルのデフォルト値は ON (1) ですが、 ペリフェラルによっては問題となることがあります。 .It Va kern.maxusers 多くの静的に割り当てられるシステムテーブルの大きさを設定します。 このチューナブルに対して適切な値をどのように選択するかについては、 .Xr tuning 7 を参照してください。 このチューナブルが設定されている場合、 カーネルがコンパイルされたときの設定ファイルで宣言された値は、 置き換えられます。 .It Va kern.ipc.nmbclusters 割り当てられる mbuf クラスタ数を設定します。 カーネルコンパイル時に決定されたデフォルト値より小さくは、設定できません。 .Dv NMBCLUSTERS を変更します。 .It Va kern.ipc.nsfbufs 割り当てるべき .Xr sendfile 2 バッファ数を設定します。 .Dv NSFBUFS に優先します。 .It Va kern.maxswzone スワップメタ情報を保持するための KVM 量を制限します。 これは、システムがサポート可能なスワップ量に直接影響を与えます。 この値は、KVA 空間のバイト数で指定され、デフォルトは約 70MB です。 この値を減らし過ぎて、 実際に構成されるスワップが カーネルがサポートするスワップの 1/2 を越えてしまわぬよう、 注意してください。 デフォルトの 70MB は、 カーネルが最大 (約) 14 GB のスワップを構成可能とします。 バッファキャッシュや .Dv NMBCLUSTERS といった 他の資源用の KVM 予約を大幅に増やす場合のみ、 本パラメータを調整してみてください。 .Dv VM_SWZONE_SIZE_MAX を変更します。 .It Va kern.maxbcache バッファキャッシュ用に予約される KVM の量を制限します。 バイト数で指定します。 デフォルトの最大値は 200 MB です。 このパラメータは、大規模構成において、 バッファキャッシュが多くの KVM を消費してしまうことを避けるために使用します。 スワップゾーンや .Dv NMBCLUSTERS といった 他の資源用の KVM 予約を大幅に増やす場合のみ、 本パラメータを調整してみてください。 NBUF パラメータがこの制限に優先することに注意してください。 .Dv VM_BCACHE_SIZE_MAX を変更します。 .It Va machdep.disable_mtrrs i686 MTRR を無効化します (x86 のみ)。 .It Va net.inet.tcp.tcbhashsize .Dv TCBHASHSIZE のコンパイル時の設定値をオーバライドするか、 デフォルトの 512 にプリセットします。 2 のべき乗である必要があります。 .It Va vm.kmem_size カーネルメモリの大きさ (バイト) を設定します。 カーネルコンパイル時に決定された値に、優先します。 .Dv VM_KMEM_SIZE を変更します。 .El .Ss 組み込みパーザ 組み込みコマンドが実行されるとき、 行の残りはコマンドが引数として受け取り、 通常の Forth コマンドには使用されない特別なパーザがコマンドを処理します。 .Pp この特別なパーザは、解析したテキストに対して次のルールを適用します: .Pp .Bl -enum .It すべてのバックスラッシュ文字は前処理されます。 .Bl -bullet .It -\eb , \ef , \er , \en, \et は C +\eb , \ef , \er , \en , \et は C で扱われるように処理されます。 .It \es は空白文字に変換されます。 .It \ev は .Tn ASCII の 11 に変換されます。 .It \ez は単にスキップされます。 .Dq \e0xf\ez\e0xf のように使用すると便利です。 .It \e0xN と \e0xNN は 16 進数の N と NN に変換されます。 .It \eNNN は 8 進数 NNN の .Tn ASCII 文字に変換されます。 .It \e" , \e' , \e$ は、これらの文字をエスケープし、 後述するステップ 2 における特殊な扱いをされないようにします。 .It \e\e は単一の \e に変換されます。 .It 他の場合、バックスラッシュは単に取り除かれます。 .El .It エスケープされていないクォートまたはダブルクォートの間のすべての文字列は、 後続するステップにおいて単一の語として扱われます。 .It .Li $VARIABLE または .Li ${VARIABLE} は、環境変数 .Va VARIABLE の値に変換されます。 .It 空白で区切られた複数の引数を、呼び出した組み込みコマンドへ渡します。 空白は \e\e を使用することによりエスケープ可能です。 .El .Pp 解析ルールには例外があり、これは .Sx 組み込み語と FORTH で説明します。 .Ss 組み込み語と FORTH すべての組み込み語は、状態を意識する即時実行語です。 インタプリトされると、これらは前述の通りに振舞います。 一方コンパイルされると、 引数をコマンドラインからではなくスタックから取り出します。 .Pp コンパイルされると、 実行時に組み込み語は、スタック上で次のパラメータを見付けられると期待します: .D1 Ar addrN lenN ... addr2 len2 addr1 len1 N ここで .Ar addrX lenX は文字列であり、組み込み語の引数として解釈されるコマンドラインを構成します。 内部的には、おのおのの間に空白を狭んで、 これらの文字列は 1 から N まで結合されます。 .Pp 引数が渡されない場合、組み込み語が引数を受け付けない場合であっても、 単一の 0 を渡す .Em 必要 があります。 .Pp この動作には利点がありますが、それ自身にはトレードオフがあります。 -組み込み語の実行トークンが ( -.Ic ' +組み込み語の実行トークンが +.Pf ( Ic ' または .Ic ['] を通して) 得られて、 .Ic catch または .Ic execute に渡された場合、組み込み語の動作は .Bf Em .Ic catch または .Ic execute が実行されるときの システムの状態に依存します ! .Ef これは、 例外を扱いたいまたは扱う必要があるプログラムにとっては、特に悩ましいものです。 この場合、代理 (proxy) を使用することをお勧めします。 例えば次のようにします: .Dl : (boot) boot ; .Sh FICL .Tn FICL は C で記述された Forth インタプリタであり、 C の関数などとして呼び出し可能な forth 仮想マシンライブラリの形式です。 .Pp .Nm では、対話的に読み込まれた各行は .Tn FICL に与えられます。 .Tn FICL は、組み込み語を実行するために .Nm を呼び戻します。 組み込みの .Ic include もまた、1 度に 1 行ずつを .Tn FICL へ与えます。 .Pp .Tn FICL -へ使用可能な語は 4 グループへ分類可能です。それは、 +へ使用可能な語は 4 グループへ分類可能です。 +それは、 .Tn ANS Forth 標準語、追加の .Tn FICL 語、追加の .Fx 語、そして組み込みコマンドです。 最後のものは既に説明しました。 .Tn ANS Forth 標準語は、 .Sx 規格 の節に列挙しています。 別の 2 グループの語については、以降の小節において説明します。 .Ss FICL 追加語 .Bl -tag -width wid-set-super .It Ic .env .It Ic .ver .It Ic -roll .It Ic 2constant .It Ic >name .It Ic body> .It Ic compare This is the STRING word set's .Ic compare . .It Ic compile-only .It Ic endif .It Ic forget-wid .It Ic parse-word .It Ic sliteral This is the STRING word set's .Ic sliteral . .It Ic wid-set-super .It Ic w@ .It Ic w! .It Ic x. .It Ic empty .It Ic cell- .It Ic -rot .El .Ss FREEBSD 追加語 .Bl -tag -width XXXXXXXX .It Ic \&$ Pq -- 最初に入力バッファを表示した後、入力バッファの残りを評価します。 .It Ic \&% Pq -- .Ic catch 例外ガード下の、入力バッファの残りを評価します。 .It Ic .# .Ic . と同様に動作しますが、後続の空白を表示しません。 .It Ic fclose Pq Ar fd -- ファイルをクローズします。 .It Ic fkey Pq Ar fd -- char ファイルから 1 文字読み込みます。 .It Ic fload Pq Ar fd -- ファイル .Em fd を処理します。 .It Ic fopen Pq Ar addr len mode Li -- Ar fd -ファイルをオープンします。ファイル記述子を返します。 +ファイルをオープンします。 +ファイル記述子を返します。 失敗時には \-1 を返します。 .Ar mode パラメータは、ファイルオープンの目的が読み込み用、書き込み用、 両用のいずれであるかを選択します。 定数 .Dv O_RDONLY , O_WRONLY , .Dv O_RDWR が .Pa /boot/support.4th で定義され、それぞれ読み込み専用、書き込み専用、読み書きを示します。 .It Xo .Ic fread .Pq Ar fd addr len -- len' .Xc ファイル .Em fd から .Em len バイトを、バッファ .Em addr へ読み込もうとします。 実際に読み込んだバイト数を返します。 エラー時またはファイルの終了の場合には -1 を返します。 .It Ic heap? Pq -- Ar cells ディレクトリヒープ中に残された空間を、セル数の単位で返します。 これは、動的なメモリ割り当ての意味で使われるヒープとは無関係です。 .It Ic inb Pq Ar port -- char ポートからバイトを読み込みます。 .It Ic key Pq -- Ar char コンソールから 1 文字読み込みます。 .It Ic key? Pq -- Ar flag コンソールから読み込み可能な文字がある場合、 .Ic 真 を返します。 .It Ic ms Pq Ar u -- .Em u マイクロ秒待ちます。 .It Ic outb Pq Ar port char -- ポートへバイトを書き込みます。 .It Ic seconds Pq -- Ar u 深夜 0 時からの秒数を返します。 .It Ic tib> Pq -- Ar addr len 入力バッファの残りを、スタック上の文字列として返します。 .It Ic trace! Pq Ar flag -- トレースを有効または無効にします。 .Ic catch とともには動作しません。 .El .Ss FREEBSD で定義される環境問い合わせ .Bl -tag -width Ds .It arch-i386 アーキテクチャが IA32 の場合 .Ic 真 です。 .It arch-alpha アーキテクチャが AXP の場合 .Ic 真 です。 .It FreeBSD_version コンパイル時の .Fx バージョンです。 .It loader_version .Nm のバージョンです。 .El .Ss システム文書 .Sh 関連ファイル .Bl -tag -width /boot/defaults/loader.conf -compact .It Pa /boot/loader .Nm 自身。 .It Pa /boot/boot.4th 追加の .Tn FICL の初期化。 .It Pa /boot/boot.conf .Nm -のブートストラップスクリプト。価値が低下しています。 +のブートストラップスクリプト。 +価値が低下しています。 .It Pa /boot/defaults/loader.conf .It Pa /boot/loader.conf .It Pa /boot/loader.conf.local .Nm 設定ファイル。 .Xr loader.conf 5 で解説されています。 .It Pa /boot/loader.rc .Nm のブートストラップスクリプト。 .It Pa /boot/loader.help .Ic help がロードします。 ヘルプメッセージを含みます。 .El .Sh 使用例 シングルユーザモードでブートします: .Pp .Dl boot -s .Pp -カーネルのユーザ設定ファイルをロードします。 +カーネルと起動画面をロードし、5 秒以内に自動ブートします。 他の .Ic load コマンドを試みる前にカーネルをロードする必要があることに注意してください。 .Bd -literal -offset indent load kernel -load -t userconfig_script /boot/kernel.conf -.Ed -.Pp -カーネルと起動画面をロードし、5 秒以内に自動ブートします。 -.Bd -literal -offset indent -load kernel load splash_bmp load -t splash_image_data /boot/chuckrulez.bmp autoboot 5 .Ed .Pp ルートデバイスのディスクユニットを 2 に設定し、ブートします。 IDE ディスクが 2 台のシステムで、 2 台目の IDE が wd1 ではなく wd2 に固定されているシステムにおいて、 必要となるでしょう。 -.Bd -literal -offset indent -compact +.Bd -literal -offset indent set root_disk_unit=2 boot /kernel .Ed .Pp 次を参照してください: .Bl -tag -width /usr/share/examples/bootforth/X .It Pa /boot/loader.4th 追加の組み込み的な語について。 .It Pa /boot/support.4th .Pa loader.conf が処理する語について。 .It Pa /usr/share/examples/bootforth/ 分類された使用例。 .El .Sh エラー 次の値を .Nm は返します: .Bl -tag -width XXXXX -offset indent .It 100 組み込みコマンド処理において任意のタイプのエラーが発生しました。 .It -1 .Ic Abort が実行されました。 .It -2 .Ic Abort" が実行されました。 .It -56 .Ic Quit が実行されました。 .It -256 インタプリトするテキストがありません。 .It -257 成功するためには更なるテキストが必要です -- 次の実行で終了します。 .It -258 .Ic Bye が実行されました。 .It -259 未定義エラー。 .El .Sh 関連項目 .Xr libstand 3 , .Xr loader.conf 5 , .Xr tuning 7 , .Xr boot 8 , .Xr btxld 8 .Sh 規格 ANS Forth 互換性の観点では、loader は .Bf Em 環境に制限がある ANS Forth System です。 Core Extensions 語集合からは、 .Ef .Bf Li .No .( , .No :noname , .No ?do , parse, pick, roll, refill, to, value, \e, false, true, .No <> , .No 0<> , -compile\&, , erase, nip, tuck, maker +compile\&, , erase, nip, tuck, +.\" .Em and +.Li marker .Ef .Bf Em を提供しています。 Exception Extensions 語集合を提供しています。 Locals Extensions 語集合を提供しています。 Memory-Allocation Extensions 語集合を提供しています。 Programming-Tools 拡張語集合からは .Ef .Bf Li \&.s, bye, forget, see, words, \&[if], \&[else], -\&[then] .Ef +.\" .Em and +.Li [then] .Bf Em を提供しています。 Search-Order 拡張語集合を提供しています。 .Ef .Sh 歴史 .Nm -が最初に登場したのは +は .Fx 3.1 -です。 +ではじめて登場しました。 .Sh 作者 .An -nosplit .Nm は .An Michael Smith Aq msmith@FreeBSD.org -が記述しました。 +によって書かれました。 .Pp .Tn FICL は .An John Sadler Aq john_sadler@alum.mit.edu -が記述しました。 +によって書かれました。 .Sh バグ .Ic expect と .Ic accept の語は、コンソールからではなく入力バッファから読み込みます。 後者については修正されますが、前者は修正されません。 diff --git a/ja_JP.eucJP/man/man8/lptcontrol.8 b/ja_JP.eucJP/man/man8/lptcontrol.8 index 2979e26fbc..3a2dc1b7f5 100644 --- a/ja_JP.eucJP/man/man8/lptcontrol.8 +++ b/ja_JP.eucJP/man/man8/lptcontrol.8 @@ -1,80 +1,86 @@ .\" .\" lptcontrol - a utility for manipulating the lpt driver .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" -.\" %FreeBSD: src/usr.sbin/lptcontrol/lptcontrol.8,v 1.20 2004/07/18 02:22:47 obrien Exp % +.\" %FreeBSD: src/usr.sbin/lptcontrol/lptcontrol.8,v 1.20.2.2 2005/02/27 15:40:17 brueffer Exp % .\" .\" $FreeBSD$ -.Dd September 3, 1994 +.Dd February 22, 2005 .Dt LPTCONTROL 8 .Os .Sh 名称 .Nm lptcontrol .Nd lpt プリンタドライバ操作ユーティリティ .Sh 書式 .Nm -.Fl i | p | e | s -.Op Fl d Ar device +.Fl e | i | p | s +.Op Fl d Ar control_device .Sh 解説 .Nm ユーティリティは、各 .Xr lpt 4 -デバイスの割り込み駆動モード/拡張モード/ +デバイスの割り込み駆動モード/拡張モード/標準モード/ ポーリングモードを設定するために用いられます。 プリンタがあるモードから別のモードへ切り替えられると、 その切り替えは次回デバイスがオープンされたときに有効になります。 .Pp 拡張モードとは、パラレルポートインタフェースがサポート可能な任意のものです。 ECP/ISA パラレルポートにおいては、FIFO+DMA または ECP でしょう。 .Pp 以下のコマンドラインオプションがサポートされています: .Bl -tag -width indent +.It Fl e +拡張モードにします。 .It Fl i 割り込み駆動モードにします。 .It Fl p ポーリングモードにします。 -.It Fl e -拡張モードにします。 .It Fl s -標準モードにします。すなわち、拡張モードをオフにします。 -.It Fl d Ar device -.Ar device -で指定されたプリンタデバイスのモードを設定します。 -.Ar device +標準モードにします。 +すなわち、拡張モードをオフにします。 +.It Fl d Ar control_device +.Ar control_device +で指定されたプリンタ制御デバイスのモードを設定します。 +.Ar control_device のデフォルト値は .Pa /dev/lpt0 です。 .El .Pp -.Fl i , -.Fl p , -.Fl e +.Fl e , i , p , s のいずれか 1 つを必ず指定しなければなりません。 .Sh 関連ファイル .Bl -tag -width /sys/i386/conf/GENERIC -compact .It Pa /dev/lpt? プリンタデバイス。 .It Pa /dev/lpt?.ctl プリンタ制御デバイス。 .It Pa /sys/i386/conf/GENERIC カーネル設定ファイル。 +.It Pa /boot/device.hints +パラレルポートチップセットドライバ +.Xr ppc 4 +用のデバイスヒント。 .El .Sh バグ -きっといくつかあるでしょう。 +制御デバイス名はオプションではなく、オプションの引数とすべきです。 +こうすれば、引数 1 つはデバイス名として扱われます。 .Sh 関連項目 -.Xr lpt 4 +.Xr lpt 4 , +.Xr ppc 4 , +.Xr device.hints 5 .Sh 作者 .An Geoffrey M. Rehmet .Sh 歴史 .Nm ユーティリティは .Fx 1.1.5 -で初めて登場しました。 +ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man8/mknod.8 b/ja_JP.eucJP/man/man8/mknod.8 index abbb36af45..c18da998c6 100644 --- a/ja_JP.eucJP/man/man8/mknod.8 +++ b/ja_JP.eucJP/man/man8/mknod.8 @@ -1,132 +1,151 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mknod.8 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/sbin/mknod/mknod.8,v 1.29 2004/07/02 21:45:03 ru Exp % +.\" %FreeBSD: src/sbin/mknod/mknod.8,v 1.29.2.1 2005/03/01 09:21:24 jkoshy Exp % .\" .\" $FreeBSD$ .\" -.Dd December 29, 2003 +.Dd March 1, 2005 .Dt MKNOD 8 .Os .Sh 名称 .Nm mknod .Nd 特殊ファイルを作成する .Sh 書式 .Nm .Ar name .Op Cm c | Cm b .Ar major minor .Op Ar owner : Ns Ar group .Sh 解説 +.Bf -symbolic +.Nm +ユーティリティは最新の +.Fx +システムでは価値が低下しています。 +.Ef +.Pp .Nm ユーティリティはデバイス特殊ファイルを作成します。 手動でノードを作成するには、以下の 4 つの引数が必要です。 .Pp .Bl -tag -width indent .It Ar name -デバイスファイル名です。たとえば +デバイスファイル名です。 +たとえば .Dq sd は SCSI ディスクで、 .Dq pty は疑似端末です。 .It Cm b | Cm c デバイスのタイプを指定します。 ブロック型のデバイスは、 .Cm b を指定します。 テープやディスク等がこれに該当しますが、 ブロック型特殊デバイス (cooked) とキャラクタ型特殊デバイス (raw) の 両方の特殊ファイルが必要です。 キャラクタ型のデバイスは、 .Cm c を指定します。 端末や疑似デバイス等がこれに該当します。 .It Ar major メジャーデバイス番号を指定します。 メジャーデバイス番号は、 どのデバイスドライバエントリを使用すべきをカーネルに示します。 メジャーデバイス番号とデバイスの対応を知るには、 .Pa /usr/src/sys/conf/majors を見てください。 .It Ar minor マイナデバイス番号を指定します。 マイナデバイス番号は、 デバイスのどのサブユニットが 特殊ファイルに対応するのかをカーネルに示します。 例えば、サブユニットは ファイルシステムのパーティションだったり端末ラインだったりします。 .It Ar owner : Ns Ar group .Ar owner .Ar group オペランドの組はオプションですが、 どちらかが指定された場合には両方の指定が必要です。 .Ar owner は数値のユーザ ID でもユーザ名でも良いです。 そのユーザ名が数値のユーザ ID にもある場合には、 オペランドはユーザ名として使用されます。 .Ar group は数値のグループ ID でもグループ名でも良いです。 ユーザ名と同様、 そのグループ名が数値のグループ ID にもある場合には、 オペランドはグループ名として使用されます。 .El .Pp メジャーデバイス番号およびマイナデバイス番号とも .Xr strtoul 3 が受け付ける任意の形式で指定可能です。 .Ql 0x で始めることにより 16 進数と、 .Ql 0 で始めることにより 8 進数であると解釈させる事が出来ます。 .Pp .Nm ユーティリティは、 .Xr devfs 5 マウントポイントの下で、ダミーの引数を使って呼び出すことで 削除されたデバイスノードを再作成するのに使えます。 例: .Pp .Dl "mknod cd0 c 0 0" .Pp ここで .Dq Li cd0 は削除されたデバイスノードの名前です。 .Sh 互換性 .Xr chown 8 のような機能は .Fx 固有です。 +.Pp +.Fx 4.0 +では、 +ブロックデバイスの価値が下がり、キャラクタデバイスが使われるようになりました。 +.Fx 5.0 +では、デバイスノードはデバイスファイルシステム +.Xr devfs 5 +で管理されるので、 +.Nm +ユーティリティは不必要になりました。 .Sh 関連項目 .Xr mkfifo 1 , .Xr mknod 2 , +.Xr devfs 5 , .Xr chown 8 .Sh 歴史 .Nm ユーティリティは .At v6 -から登場しました。 +で登場しました。 diff --git a/ja_JP.eucJP/man/man8/mount_unionfs.8 b/ja_JP.eucJP/man/man8/mount_unionfs.8 index 4f11c167cb..a6e446cb48 100644 --- a/ja_JP.eucJP/man/man8/mount_unionfs.8 +++ b/ja_JP.eucJP/man/man8/mount_unionfs.8 @@ -1,214 +1,219 @@ .\" Copyright (c) 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" Jan-Simon Pendry. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mount_union.8 8.6 (Berkeley) 3/27/94 -.\" %FreeBSD: src/sbin/mount_unionfs/mount_unionfs.8,v 1.18 2004/07/18 01:51:59 brueffer Exp % +.\" %FreeBSD: src/sbin/mount_unionfs/mount_unionfs.8,v 1.18.2.1 2005/02/12 15:18:10 brueffer Exp % .\" .\" $FreeBSD$ .\" .Dd March 27, 1994 .Dt MOUNT_UNIONFS 8 .Os .Sh 名称 .Nm mount_unionfs .Nd ユニオンファイルシステムをマウントする .Sh 書式 .Nm .Op Fl br .Op Fl o Ar options .Ar directory .Ar uniondir .Sh 解説 .Nm ユーティリティは .Ar directory を .Ar uniondir の上に接続し、そこから両方のディレクトリツリーの内容が見えるようにします。 デフォルトでは、 .Ar directory が .Em 上の 層に、 .Ar uniondir が .Em 下の 層になります。 .Pp オプションには以下のものがあります: .Bl -tag -width indent .It Fl b -デフォルトの上下関係を反転します。つまり、 +デフォルトの上下関係を反転します。 +つまり、 .Ar directory が下の層に、 .Ar uniondir -が上の層になります。ただし、マウントポイントは +が上の層になります。 +ただし、マウントポイントは .Ar uniondir のままになります。 .It Fl o .Fl o フラグの後には、オプション文字列をコンマで区切って指定します。 指定可能なオプションと、その意味については .Xr mount 8 を参照してください。 .It Fl r .Xr mount_nullfs 8 でマウントした場合と同様に、下の層を完全に隠すようになります。 .El .Pp ファイルシステムのセキュリティを維持するため、 ファイルシステムをマウントするユーザは、スーパユーザか、 マウントポイントのディレクトリに書き込み許可を持つ者でなければなりません。 さらに、普通のユーザがファイルシステムをマウントするを許可するには、 -.Em vfs.usermount -.Xr sysctl 3 +.Va vfs.usermount +.Xr sysctl 8 変数を 1 に設定しなければなりません。 .Pp ファイルの検索は、上の層、下の層の順におこなわれます。 上の層にはエントリのないディレクトリが、下の層で見つかった場合には、上の層に .Em シャドウ ディレクトリが作られます。 このディレクトリはユニオンマウントを実行したユーザの所有になり、モードは .Dq rwxrwxrwx (0777) をその時点で有効な umask で修正したものになります。 .Pp あるファイルが上の層に存在している場合、下の層にある 同じ名前のファイルをアクセスする方法はありません。 どうしても必要なら、ループバックマウントとユニオンマウントを 組み合せることで、別のパス名を使って下の層のファイルを アクセスできるようにしておくことができます。 .Pp オブジェクトへのアクセスは、それがディレクトリである場合を除き、 通常のファイルシステムのアクセス権チェックのあとで実行されます。 ディレクトリの場合には、アクセスをおこなうユーザは上の層と下の層の 両方のディレクトリのアクセス権を持っていなければなりません (両方のディレクトリが存在している必要があります)。 .Pp いくつかの特別な場合を除き、 .Ar uniondir 中のオブジェクトの作成や変更の要求は上の層に渡されます。 下の層に存在するファイルを書き込み用にオープンしようとすると、 そのファイルの .Em 完全な コピーが上の層に作成され、それから上の層のコピーがオープンされます。 同様に、下の層のファイルを切り詰めてサイズを 0 にしようとすると、 空のファイルが上の層に作成されることになります。 これ以外の、本当に下の層の変更が必要となる操作は失敗し、 .Er EROFS が返されます。 .Pp ユニオンファイルシステムは、個々のファイルシステムを扱うというよりも -名前空間を扱うものです。ユニオンマウントは +名前空間を扱うものです。 +ユニオンマウントは .Ar uniondir 以下のディレクトリツリーに再帰的に影響します。 このため .Ar uniondir 以下にマウントされたファイルシステムは、すべて -ユニオン効果を持つようになります。これが +ユニオン効果を持つようになります。 +これが .Xr mount 8 の .Em union オプションとは異なる点です。 union オプションでは、ユニオン効果はマウントポイントだけに働き、 ファイル名の探索のみに使われます。 .Sh 使用例 コマンド .Bd -literal -offset indent mount -t cd9660 -o ro /dev/cd0a /usr/src mount -t unionfs /var/obj /usr/src .Ed .Pp は、CD-ROM ドライブ .Pa /dev/cd0a を .Pa /usr/src にマウントし、その上に .Pa /var/obj -を重ねます。ほとんどの場合、これはソースツリーが実際には CD-ROM 上に +を重ねます。 +ほとんどの場合、これはソースツリーが実際には CD-ROM 上に あるにもかかわらず、書き込みが可能になるという効果を目的としています。 .Pp コマンド .Bd -literal -offset indent mount -t unionfs -o -b /sys $HOME/sys .Ed .Pp は、ユーザのホームディレクトリの下の .Pa sys ディレクトリに、システムのソースツリーを下の層として重ね合わせます。 これにより、個々のユーザがそのソースツリーに対して個人的な変更を加えて、 新しいカーネルを構築することができるようになります。 他のユーザはその変更に関知しません。 下の層のファイルは、そのまま .Pa /sys からアクセスできることに注意してください。 .Sh 関連項目 .Xr intro 2 , .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 , .Xr mount_nullfs 8 .Sh バグ 本ファイルシステムタイプは、まだ完全にはサポートされていません (注: 機能しないということです) し、 実際のところ使用するとシステム上のデータを破壊するかもしれません。 自己責任において使用してください。 猛犬注意。 濡れていて滑ります。 .Pp 危険性を減らすためには、このコードもまた所有者を必要としています - 真面目なハッカーの方はメールを -.Aq hackers@freebsd.org +.Aq hackers@FreeBSD.org に送って引き継ぎの意思を宣言してください。 .Pp 上の層を支えているファイルシステムで、ホワイトアウトが サポートされていないため、下の層のオブジェクトに対して 削除や名前変更の操作をおこなう方法はありません。 このような操作や、下の層を変更する操作、たとえば .Xr chmod 1 のような操作に対しては、 .Er EROFS が返されます。 .Pp ユニオンツリーの上で .Xr find 1 を実行すると、上の層にシャドウディレクトリのツリーが 作成されてしまうという副作用があります。 .Sh 歴史 .Nm ユーティリティは .Bx 4.4 -で初めて登場しました。 +ではじめて登場しました。 最初に動作したのは .Fx -(要記入) です (訳注: 原文 は FreeBSD-(fill this in))。 .\" 本訳注は horikawa@jp.freebsd.org が 19990115 に記載 diff --git a/ja_JP.eucJP/man/man8/moused.8 b/ja_JP.eucJP/man/man8/moused.8 index 1678fd9006..519e3bfc7c 100644 --- a/ja_JP.eucJP/man/man8/moused.8 +++ b/ja_JP.eucJP/man/man8/moused.8 @@ -1,675 +1,687 @@ .\" Copyright (c) 1996 .\" Mike Pritchard . All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Mike Pritchard. .\" 4. Neither the name of the author nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/moused/moused.8,v 1.46 2004/08/03 18:43:45 philip Exp % +.\" %FreeBSD: src/usr.sbin/moused/moused.8,v 1.46.2.2 2005/02/27 15:40:17 brueffer Exp % .\" .\" $FreeBSD$ .Dd April 1, 2000 .Dt MOUSED 8 .Os .Sh 名称 .Nm moused .Nd マウスデータをコンソールドライバに渡す .Sh 書式 .Nm .Op Fl DPRacdfs .Op Fl I Ar file .Op Fl F Ar rate .Op Fl r Ar resolution .Op Fl S Ar baudrate +.Op Fl V Op Fl U Ar distance .Op Fl a Ar X Ns Op , Ns Ar Y .Op Fl C Ar threshold .Op Fl m Ar N=M .Op Fl w Ar N .Op Fl z Ar target .Op Fl t Ar mousetype .Op Fl l Ar level .Op Fl 3 Op Fl E Ar timeout .Fl p Ar port .Pp .Nm .Op Fl Pd .Fl p Ar port .Fl i Ar info .Sh 解説 .Nm ユーティリティとコンソールドライバは協力し、 テキストコンソールやユーザプログラムにおけるマウス操作をサポートします。 マウスの仮想化とユーザプログラムへのマウスデータの提供は標準フォーマット -にて行われます ( -.Xr sysmouse 4 +にて行われます +.Pf ( Xr sysmouse 4 を御覧ください)。 .Pp マウスデーモンはマウスデータの読みとりのために指定されたポートを監視し、 解釈したデータを ioctl を介してコンソールドライバに渡します。 マウスデーモンは、移動、ボタンの押し/離しイベント、 存在するならばローラやホイールの移動も報告します。 ローラ/ホイールの移動は ``Z'' 軸での移動として報告されます。 .Pp マウスポインタが .Xr vidcontrol 1 によって有効にされていれば、 コンソールドライバはマウスポインタをスクリーンに表示し、 カットとペーストの機能を提供します。 .Xr sysmouse 4 をユーザプログラムがオープンすると、コンソールドライバは マウスデータをこのデバイスに送るので、 ユーザプログラムはこのデータを使用できます。 .Pp マウスデーモンがシグナル .Dv SIGHUP を受けとると、マウスポートを再オープンし、自己を再初期化します。 システムがサスペンドされている間にマウスの挿抜を行なった場合に有用です。 .Pp 以下のオプションがあります: .Bl -tag -width indent .It Fl 3 2 ボタンマウスで 3 番目(中)のボタンをエミュレートします。 物理的なボタンで左と右のものを同時に押すとエミュレートされます。 .It Fl C Ar threshold ダブルクリック速度をボタンクリック間最大インターバルとしてミリ秒で指定します。 このオプションを指定しないと、デフォルト値は 500 ミリ秒が仮定されます。 このオプションは、 テキストモードコンソールのカットとペーストの操作においてのみ有効です。 .Xr sysmouse 4 を介してマウスデータを得るユーザプログラムは影響を受けません。 .It Fl D シリアルポートの DTR を下げます。 このオプションが有効なのは、 .Ar mousesystems がマウスプロトコルとして選択されている場合のみです。 .Ar mousesystems モードで 3 ボタンマウスを操作するためには、 DTR ラインを落とすことが必要かもしれません。 .It Fl E Ar timeout 第 3 ボタンエミュレーション (前述) が有効なとき、2 つのボタンが同時に押されたかを判定する前に .Nm ユーティリティは最長 .Ar timeout ミリ秒待ちます。 デフォルトのタイムアウトは 100 ミリ秒です。 .It Fl F Ar rate サポートされていれば、デバイスのレポート頻度(秒あたりの回数)を設定します。 .It Fl I Ar file .Nm ユーティリティのプロセス ID を、指定されたファイルに書きます。 このオプションを指定しないと、プロセス ID は .Pa /var/run/moused.pid に格納されます。 .It Fl P シリアルマウス識別時に、 プラグアンドプレイ COM デバイス列挙処理を開始しません。 .Fl i オプションと共にこのオプションが指定された場合、 .Nm ユーティリティはシリアルマウスに関する有用な情報を表示できません。 .It Fl R シリアルポートの RTS を下げます。 このオプションが有効なのは .Ar mousesystems がプロトコルタイプとして、後述する .Fl t オプションで指定されている場合のみです。 これは前記 .Fl D オプションと共によく使用されます。 .Ar mousesystems モードで 3 ボタンマウスを操作するためには、 RTS と DTR のラインを共に下げる必要があるかもしれません。 .It Fl S Ar baudrate シリアルポートの速度を指定します (1200 から 9600)。 全シリアルマウスがこのオプションをサポートするわけではありません。 +.It Fl V +``仮想スクロール'' を有効にします。このオプションが設定されている場合、 +中マウスボタンを押していると、動きがスクロールと解釈されるようになります。 +.\" スクロールモードが有効になる前に +スクロールモードを有効にするために +マウスが動かなければならない距離を設定するには +.Fl U +オプションを使って下さい。 .It Fl a Ar X Ns Op , Ns Ar Y マウスの入力を加速または減速します。 線型加速のみです。 1.0 より小さい値は、しばらく減速します。 1.0 より大きい値は、加速します。 1 個の値だけを指定した場合、両方の座標軸での加速を設定します。 .It Fl c マウスによっては、中ボタンを押したイベントを、 左右ボタンが押されたかのようにレポートするものがあります。 このオプションはこれを扱うものです。 .It Fl d デバッグ用のメッセージを有効にします。 .It Fl f デーモンにならずに、フォアグラウンドプロセスとして実行します。 テストやデバッグに有用です。 .It Fl i Ar info 指定された情報を表示し終了します。 指定可能な情報を以下に示します: .Pp .Bl -tag -compact -width modelxxx .It Ar port ポート(デバイスファイル)名、例えば .Pa /dev/cuaa0 , .Pa /dev/mse0 , .Pa /dev/psm0 です。 .It Ar if インタフェースタイプ: serial, bus, inport, ps/2 です。 .It Ar type プロトコルタイプ。 .Fl t オプションの説明の後でリストされているものか、 ドライバが .Ar sysmouse データフォーマット標準をサポートする場合には .Ar sysmouse です。 .It Ar model マウスモデル。 .Nm ユーティリティは常にモデルを識別できるわけではありません。 .It Ar all 上記全部。 ポート、インタフェース、タイプ、モデルをこの順に一行に表示します。 .El .Pp .Nm ユーティリティは要求された情報を判別できない場合、 ``unknown'' か ``generic'' を表示します。 .It Fl l Ar level .Nm がどのレベルでマウスドライバを動作させるか指定します。 より詳しいことは .Xr psm 4 の -.Em 動作レベル +.Sx 動作レベル を参照して下さい。 .It Fl m Ar N=M 物理ボタン .Ar M に論理ボタン .Ar N を割当てます。 このオプションは任意個数指定可能です。 複数の物理ボタンを単一の論理ボタンに割り当て可能です。 この場合、指定された物理ボタンのいずれかが押されている場合、 -論理ボタンが押されていることになります。`=' の周りにスペースを入れてはなりません。 +論理ボタンが押されていることになります。 +\`=' の周りにスペースを入れてはなりません。 .It Fl p Ar port マウスと通信するためのポートとして .Ar port を使います。 .It Fl r Ar resolution デバイスの解像度を設定します; インチあたりのドット数または、 .Ar low , .Ar medium-low , .Ar medium-high , .Ar high のいずれかです。 全デバイスにてこのオプションがサポートされているわけではありません。 .It Fl s シリアルラインのために 9600 ボーを選びます。 全シリアルマウスがこのオプションをサポートしているわけではありません。 .It Fl t Ar type ポートに接続されているマウスのプロトコルタイプを指定します。 以下に列挙されるタイプを陽に指定するか、 .Ar auto を指定して .Nm ユーティリティに適切なプロトコルを自動選択させることができます。 コマンドラインにてこのオプションを指定しないと、 .Fl t Ar auto が仮定されます。 通常では、 .Nm -ユーティリティがプロトコルの自動検出ができない場合に必要です ( -.Sx マウスデーモンの構成 ) +ユーティリティがプロトコルの自動検出ができない場合に必要です +.Pf ( Sx マウスデーモンの構成 ) を参照。 .Pp このオプションでプロトコルタイプを指定した場合、 前記 .Fl P オプションが暗示され、プラグアンドプレイ COM デバイス列挙処理が無効になります。 .Pp また、マウスを PS/2 マウスポートに接続している場合、 常に .Ar auto か .Ar ps/2 を選択すべきです。 これは、マウスのブランドやモデルとは関係ありません。 同様に、マウスをバスマウスポートに接続している場合、 .Ar auto か .Ar busmouse を選択してください。 これらのマウスではシリアルマウスプロトコルは動作しません。 .Pp USB マウスでは、プロトコルは .Ar auto であることが必要です。他のプロトコルは USB マウスで動作しません。 .Pp このオプションにおける有効なタイプを以下に列挙します。 .Pp シリアルマウス: .Bl -tag -compact -width mousesystemsxxx .It Ar microsoft Microsoft シリアルマウスプロトコル。 大抵の 2 ボタンマウスはこのプロトコルを使用します。 .It Ar intellimouse Microsoft IntelliMouse プロトコル。 Genius NetMouse, .Tn ASCII Mie Mouse, Logitech MouseMan+, FirstMouse+ もこのプロトコルを使用します。 他のローラ/ホイールを持つマウスもこのプロトコル互換でしょう。 .It Ar mousesystems MouseSystems の 5 バイトプロトコル。 3 ボタンマウスはこのプロトコルを使用するかもしれません。 .It Ar mmseries MM Series マウスプロトコル。 .It Ar logitech Logitech マウスプロトコル。 これは古い Logitech モデルであることに注意。 新しいモデルには .Ar mouseman もしくは .Ar intellimouse を指定します。 .It Ar mouseman Logitech MouseMan と TrackMan のプロトコル。 3 ボタンマウスによってはこのプロトコル互換かもしれません。 MouseMan+ と FirstMouse+ は、このプロトコルではなく、 .Ar intellimouse プロトコルを使用します .It Ar glidepoint ALPS GlidePoint プロトコル。 .It Ar thinkingmouse Kensington ThinkingMouse プロトコル。 .It Ar mmhitab Hitachi タブレットプロトコル。 .It Ar x10mouseremote X10 MouseRemote。 .It Ar kidspad Genius の Kidspad と Easypad のプロトコル。 .It Ar versapad Interlink VersaPad プロトコル。 .El .Pp バスおよび InPort マウス: .Bl -tag -compact -width mousesystemsxxx .It Ar busmouse バスおよび InPort マウスはこのプロトコルのみ使用可能であり、 バスおよび InPort マウスはブランドに依らずこのオプションを 指定する必要があります。 .El .Pp PS/2 マウス: .Bl -tag -compact -width mousesystemsxxx .It Ar ps/2 PS/2 マウスはこのプロトコルのみ使用可能であり、 PS/2 マウスはブランドに依らずこのオプションを 指定する必要があります。 .El .Pp USB マウスでは、 .Ar auto が使用可能な唯一のプロトコルであり、 ブランドにかかわらず USB マウスにはこれを指定すべきです。 .It Fl w Ar N 物理ボタン .Ar N が、ホイールモードボタンとして動作するようにします。 このボタンが押されている間、X 軸および Y 軸の移動は 0 と報告され、 Y 軸の移動は Z 軸の移動に割り付けられます。 後述する .Fl z オプションを使用することにより、 Z 軸の移動を更に仮想ボタンに割り付けることができます。 .It Fl z Ar target Z 軸(ローラ/ホイール)動作を別の軸や仮想ボタンに割り付けます。 有効な .Ar target は以下のいずれかです: .Bl -tag -compact -width x__ .It Ar x .It Ar y X または Y 軸の移動として、検知した Z 軸移動を報告します。 .It Ar N 仮想ボタン .Ar N および .Ar N+1 を押したイベントとして、検知した負/正の Z 軸移動をそれぞれ報告します。 物理ボタン .Ar N と .Ar N+1 が存在する必要はありません。 論理ボタンへの割り付けは Z 軸移動を仮想ボタンへ割り付けた後に行われます。 .It Ar N1 N2 仮想ボタン .Ar N1 および .Ar N2 を押したイベントとして、検知した負/正の Z 軸移動をそれぞれ報告します。 .It Ar N1 N2 N3 N4 2 個のホイールがあり 2 番目のホイールが水平スクロール動作を生成するために使用されるマウス、 およびユーザが加えた水平の力を検知するノブまたはスティック付きのマウスで 有用です。 .Pp 2 番目のホイールの動きは、負の向きが .Ar N3 にマップされ、正の向きが .Ar N4 にマップされます。 ボタン .Ar N3 および .Ar N4 がマウスに実在する場合、このアクションは検出されません。 .Pp 水平移動や 2 番目のローラ/ホイールの動きは常に検出されるわけではないことに 注意してください。 なぜなら、 これらをエンコードするための受け入れられた標準が無いように見えるからです。 .Pp また、水平方向において、左が負であると考えるマウスもいれば、 逆だと考えるマウスもいることにも注意してください。 更に、2 個のホイールが両方とも垂直に搭載されており、 一方の方向がもう一方の方向とはマッチしないものもあります。 .El .El .Ss マウスデーモンの構成 まず、使用予定マウスのインタフェースタイプを知ることが必要です。 これはマウスのコネクタを見れば分かります。 シリアルマウスは D-Sub の 9 ピンまたは 25 ピンのメスです。 バスおよび InPort のマウスは D-Sub 9 ピンのオスか丸い DIN 9 ピンコネクタです。 PS/2 マウスは小さくて丸い DIN 6 ピンコネクタです。 マウスによってはコネクタを別の形状に変換可能なコネクタが附属しています。 このようなアダプタを使用する場合には、 マウスから一番遠いコネクタの形状を見てください。 USB マウスは、平らな長方形のコネクタを持ちます。 .Pp 次に決めねばならないことは、インタフェースのために使用するポートです。 バス、InPort、PS/2 マウスでは、選択肢はありません: バスおよび InPort マウスは常に .Pa /dev/mse0 を使用し、 PS/2 マウスは常に .Pa /dev/psm0 を使用します。 シリアルマウスの場合、接続可能なポートが複数ありえます。 多くの人が組み込みのシリアルポート .Pa /dev/cuaa0 をマウスに割当てます。 複数の USB マウスをシステムまたは USB ハブに接続可能です。 それらは .Pa /dev/ums0 , /dev/ums1 のようにアクセス可能です。 .Pa シンボリックリンク .Pa /dev/mouse でマウスの実際のポートを指すようにして、 どのマウスポートか後で簡単に分かるようにするのが良いかもしれません。 .Pp 次に適切なマウスプロトコルを選択します。 .Nm ユーティリティはマウスタイプを自動決定可能かもしれません。 .Nm ユーティリティを .Fl i オプションを付けて実行し、表示を見ます。 コマンドがプロトコルタイプを識別した場合、あなたは何も調べる必要はありません。 プロトコルタイプを指定せずにデーモンを起動可能です .Pf ( Sx 使用例 ) を参照。 .Pp コマンドは、マウスドライバが .Ar sysmouse プロトコルをサポートする場合、 .Ar sysmouse と表示するかもしれません。 .Pp -表示される +.Fl i +オプションで表示される .Dv type と .Dv model は、対象のポインティングデバイスの製品名では必ずしもありませんが、 互換性のあるデバイスの名前でしょう。 .Pp .Fl i オプションがなにも表示しない場合、 .Nm ユーティリティに対して .Fl t オプションを使用し、プロトコルタイプを指定する必要があります。 予測して試行する必要があります。 以下に経験則を示します: .Pp .Bl -enum -compact -width 1.X .It バスおよび InPort マウスはブランドに依らず .Ar busmouse プロトコルを使用します .It PS/2 マウスはブランドに依らず .Ar ps/2 プロトコルを使用します .It USB マウスには .Ar auto プロトコルを指定する必要があります。 .It ほとんどの 2 ボタンシリアルマウスは .Ar microsoft プロトコルをサポートします。 .It 3 ボタンシリアルマウスは .Ar mousesystems プロトコルで動作するかもしれません。動作しない場合には、 三番目(中)ボタンが機能せずに .Ar microsoft プロトコルで動作するでしょう。 3 ボタンシリアルマウスは、期待通り三番目のボタンが動作しつつ .Ar mouseman プロトコルで動作するかもしれません。 .It 3 ボタンマウスには小さなスイッチが付いていて、 ``MS'' と ``PC'' または ``2'' と ``3'' とで選択できるようになっている かもしれません。 ``MS'' と ``2'' は通常 .Ar microsoft プロトコルを意味します。 ``PC'' と ``3'' は .Ar mousesystems プロトコルを選択します。 .It マウスにローラやホイールが付いている場合、 .Ar intellimouse プロトコル互換でしょう。 .El .Pp マウスのために選択したプロトコルタイプが正しいかどうかテストする目的で、 現在の仮想コンソールでマウスポインタを有効にします。 .Pp .Dl vidcontrol -m on .Pp マウスデーモンをフォアグラウンドで開始します。 .Pp .Dl moused -f -p Ar _selected_port_ -t Ar _selected_protocol_ .Pp マウスポインタがマウスの移動に伴い、 正しく移動することを確認してください。 そして、カットとペーストの機能を左、右、中のボタンを使用して確認してください。 ^C をタイプすると、コマンドは停止します。 .Ss 複数のマウス システムに接続したマウスと同じ数だけ、マウスデーモンを同時実行可能です; 一つのマウスデーモンが一つのマウスに対応します。 ラップトップコンピュータ組み込みの PS/2 ポインティングデバイスを移動中使用し、 オフィスではドッキングステーション接続のシリアルマウスを使用する 場合に有用です。 マウスデーモンを二つ実行し、アプリケーションプログラム -(例えば X Window System) +(例えば +.Tn "X\ Window System" ) に .Xr sysmouse 4 を使用させます。 するとアプリケーションプログラムは常に両マウスからマウスデータを受け取ります。 シリアルマウスが取り付けられていない場合、 対応するマウスデーモンは移動やボタン状態の変化を検出しませんので、 アプリケーションプログラムは PS/2 マウスのデーモンからのマウスデータ のみを使います。 一方この構成で両方のマウスを接続し同時に両方を動かした場合、 マウスの移動をすべて組み合わせたようにマウスポインタがスクリーン上を移動します。 .Sh 関連ファイル .Bl -tag -width /dev/consolectl -compact .It Pa /dev/consolectl コンソール制御デバイス .It Pa /dev/mse%d バスおよび InPort マウスのドライバ .It Pa /dev/psm%d PS/2 マウスドライバ .It Pa /dev/sysmouse 仮想化されたマウスドライバ .It Pa /dev/ttyv%d 仮想コンソール .It Pa /dev/ums%d USB マウスドライバ .It Pa /var/run/moused.pid 現在実行中の .Nm ユーティリティのプロセス ID .It Pa /var/run/MouseRemote X10 MouseRemote のイベントのための UNIX ドメインストリームソケット .El .Sh 使用例 .Dl moused -p /dev/cuaa0 -i type .Pp .Nm ユーティリティにシリアルポート .Pa /dev/cuaa0 に接続されたマウスのプロトコルタイプを識別させます。 成功すると、コマンドはタイプを表示しますが、 失敗すると ``unknown'' が表示されます。 .Pp .Dl moused -p /dev/cuaa0 .Dl vidcontrol -m on .Pp .Nm ユーティリティが指定されたポートのマウスプロトコルタイプを識別可能な場合、 .Fl t オプション無してデーモンを起動可能であり、 前記のようにマウスポインタをテキストコンソール上で有効にできます。 .Pp .Dl moused -p /dev/mouse -t microsoft .Dl vidcontrol -m on .Pp シリアルポート .Pa /dev/mouse に対してマウスデーモンを起動します。 プロトコルタイプは .Ar microsoft を .Fl t オプションにて陽に指定しています。 .Pp .Dl moused -p /dev/mouse -m 1=3 -m 3=1 .Pp 物理ボタン 3 (右ボタン) を論理ボタン 1 (論理的に左) に、 物理ボタン 1 (左ボタン) を論理ボタン 3 (論理的に右) に、 それぞれ割当てます。 左右のボタンを事実上交換します。 .Pp .Dl moused -p /dev/mouse -t intellimouse -z 4 .Pp Z 軸 (例えばマウスホイール) における負の移動をボタン 4 が押されたものとし、 Z 軸 (例えばマウスホイール) における正の移動をボタン 5 が押されたものとします。 .Sh 警告 .Nm ユーティリティは現在別のコンソールドライバ .Xr pcvt 4 では動作しません。 .Pp パッドデバイスの多くは、 ユーザがパッド表面を ``タップ'' した場合に最初の(左) ボタンが 押されたものとします。 また、ALPS GlidePoint および Interlink VersaPad のモデルによっては、 タップ動作を 4 番目のボタンのイベントとして扱います。 このようなモデルでは、オプション ``-m 1=4'' を使用して、 他のパッドデバイスと同様の効果を得られます。 .Pp 仮想コンソールでのカットとペーストの機能は、 マウスに 3 ボタンあることを仮定しています。 論理ボタン 1 (論理的に左) は、 コンソールのテキスト領域を選択してカットバッファにコピーします。 論理ボタン 3 (論理的に右) は、 選択された領域を拡張します。 論理ボタン 2 (論理的に中) は、 選択されたテキストをテキストカーソル位置にペーストします。 マウスに 2 つしかボタンが無い場合、中央の `ペースト' ボタン は使用できません。 ペースト機能を使用するためには、 .Fl 3 オプションを使用して中ボタンをエミュレートするか、 .Fl m オプションを ``-m 2=3'' のように使用して 物理右ボタンに論理中ボタンを割当てます。 .Sh 関連項目 .Xr kill 1 , .Xr vidcontrol 1 , .Xr keyboard 4 , .Xr mse 4 , .Xr pcvt 4 , .Xr psm 4 , .Xr screen 4 , .Xr sysmouse 4 , .Xr ums 4 .Sh 規格 .Nm ユーティリティは .Dq Plug and Play External COM Device Specification の一部を サポートし、PnP シリアルマウスをサポートします。 しかしながら、シリアルマウスごとに仕様充足の度合が異なりますので、 標準のバージョン 1.0 に完全に従ってはいません。 このように厳密さを欠いた方法でも、シリアルマウスの適切なプロトコルタイプ を常に決定できるわけではありません。 .Sh 作者 .An -nosplit .Nm ユーティリティは、 .An Michael Smith Aq msmith@FreeBSD.org によって書かれました。 -このマニュアルは、 +このマニュアルページは .An Mike Pritchard Aq mpp@FreeBSD.org によって書かれました。 コマンドとマニュアルページを、 .An Kazutaka Yokota Aq yokota@FreeBSD.org が更新しました。 .Sh 歴史 .Nm ユーティリティは、 .Fx 2.2 -から導入されました。 +ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man8/newfs.8 b/ja_JP.eucJP/man/man8/newfs.8 index e204ee605d..e8d6ae3d36 100644 --- a/ja_JP.eucJP/man/man8/newfs.8 +++ b/ja_JP.eucJP/man/man8/newfs.8 @@ -1,245 +1,260 @@ .\" Copyright (c) 1983, 1987, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)newfs.8 8.6 (Berkeley) 5/3/95 -.\" %FreeBSD: src/sbin/newfs/newfs.8,v 1.67 2004/05/17 08:35:43 ru Exp % +.\" %FreeBSD: src/sbin/newfs/newfs.8,v 1.67.2.1 2005/03/01 05:30:30 wes Exp % .\" .\" $FreeBSD$ .Dd May 18, 2002 .Dt NEWFS 8 -.Os BSD 4.2 +.Os .Sh 名称 .Nm newfs .Nd 新しい UFS1/UFS2 ファイルシステムを作成する .Sh 書式 .Nm -.Op Fl NUl +.Op Fl NUln .Op Fl L Ar volname .Op Fl O Ar filesystem-type .Op Fl S Ar sector-size .Op Fl T Ar disktype .Op Fl a Ar maxcontig .Op Fl b Ar block-size .Op Fl c Ar blocks-per-cylinder-group .Op Fl d Ar max-extent-size .Op Fl e Ar maxbpg .Op Fl f Ar frag-size .Op Fl g Ar avgfilesize .Op Fl h Ar avgfpdir .Op Fl i Ar bytes .Op Fl m Ar free-space .Op Fl o Ar optimization .Op Fl s Ar size .Ar special .Sh 解説 .Nm ユーティリティは、 ファイルシステムを最初に使用する前に初期化およびクリアします。 .Nm を走らせる前に、 .Xr bsdlabel 8 を使ってディスクラベルを書き込んでいなければなりません。 .Nm ユーティリティは、指定した特殊ファイルにファイルシステムを作成します。 (しばしば .Dq 特殊ファイル を .Dq ディスク として扱いますが、特殊ファイルは物理ディスクである必要はありません。 事実、特殊である必要もありません。) デフォルト値はたいてい妥当な値となりますが、 .Nm にはこの値を変更するための数多くのオプションがあります。 .Pp 以下のオプションにて一般的な配置方針を定義します。 .Bl -tag -width indent .It Fl L Ar volname 新規ファイルシステムにボリュームラベルを追加します。 .It Fl N 実際にはファイルシステムを構築せずに、ファイルシステム パラメータの表示のみを行います。 .It Fl O Ar filesystem-type UFS1 フォーマットのファイルシステムの構築には 1 を使用し、 UFS2 フォーマットのファイルシステムの構築には 2 を使用します。 デフォルトでは UFS2 フォーマットです。 .It Fl T Ar disktype 過去のものとの互換性のためのものです。 .It Fl U ソフトアップデートを新規ファイルシステム上で有効にします。 -.It Fl a Ar maxconting +.It Fl a Ar maxcontig 回転遅延 (rotational delay) を強制する前に 配置される連続ブロックの最大数を指定します。 -デフォルトは 1 です。このオプションをどのように設定す -るかについて、詳しくは +デフォルトは 1 です。 +このオプションをどのように設定するかについて、詳しくは .Xr tunefs 8 を参照してください。 .It Fl b Ar block-size ファイルシステムのブロックサイズをバイト単位で指定します。 2 のべき乗である必要があります。 デフォルトサイズは 16384 バイトであり、 可能な最小サイズは 4096 バイトです。 最適なブロックとフラグメントの比率は 8:1 です。 他の比率も可能ですが、お勧めできませんし、お粗末な結果となるかもしれません。 .It Fl c Ar blocks-per-cylinder-group ファイルシステムのシリンダグループごとのシリンダ数を指定します。 デフォルトは、他のパラメータに許される最大値を計算するものです。 この値は、他の多くのパラメータ、 特にブロックサイズとバイトあたりの inode 数に依存します。 -.Nm -は最大値を表示します。 .It Fl d Ar max-extent-size 大きなファイルを格納するためにエクステントを使用することを、 ファイルシステムは選択できます。 本パラメータは使用可能な最大エクステントの大きさを指定します。 現在のところ、ファイルシステムのブロックサイズの 16 倍に制限されており、 これがデフォルト値となっています。 .It Fl e Ar maxbpg 単一のファイルが他のシリンダグループへまたがることを強制される前に、 -1 つのシリンダグループから割り当てることのできる最大のブロック数を指定し -ます。デフォルト値は、シリンダグループのブロック数の約 1/4 です。この -オプションの詳細については、 +1 つのシリンダグループから割り当てることのできる最大のブロック数を指定します。 +デフォルト値は、シリンダグループのブロック数の約 1/4 です。 +このオプションの詳細については、 .Xr tunefs 8 を参照してください。 .It Fl f Ar frag-size ファイルシステムのフラグメントサイズをバイト単位で指定します。 .Ar blocksize Ns /8 から .Ar blocksize までの範囲の、2 のべき乗である必要があります。 デフォルトは 2048 バイトです。 .It Fl g Ar avgfilesize ファイルシステム中の、ファイルサイズの平均の期待値。 .It Fl h Ar avgfpdir ファイルシステム中の、ディレクトリあたりのファイル数の平均の期待値。 .It Fl i Ar bytes -ファイルシステム中の inode の密度を設定します。デフォルト -は、 -.Pq 4 * フラグメントサイズ +ファイルシステム中の inode の密度を設定します。 +デフォルトは、 +.Pq 4 * Ar frag-size Pq フラグメントサイズ バイトのデータ領域ごとに 1 つの inode を作ります。 inode 数を少なくしたい場合は大きな値を指定し、 inode 数を多くしたい場合は小さな値を指定します。 各ファイルに対して inode が 1 個必要ですので、 ファイルシステム上の平均ファイルサイズを、 この値は事実上指定します。 .It Fl l 新しいファイルシステムでマルチラベル MAC を有効にします。 .It Fl m Ar free-space 通常のユーザからは保護されている領域のパーセンテージを 指定します。 これは最低限の空き領域のしきい値となります。 デフォルト値は .In ufs/ffs/fs.h にて .Dv MINFREE と定義され、現在 8% です。 このオプションの詳細については、 .Xr tunefs 8 を参照してください。 +.It Fl n +新しいファイルシステムに .snap ディレクトリを作成しません。 +結果として出来たファイルシステムはスナップショット生成をサポートしないので、 +ライブモードでの +.Xr dump 8 +や、バックグラウンド +.Xr fsck 8 +は正しく動作しません。 +伝統的な +.Xr fsck 8 +やオフライン +.Xr dump 8 +はこのファイルシステム上で動作します。 +このオプションは、主に dump や fsck のサポートを要求しない +メモリファイルシステムや vnode ファイルシステムを対象としています。 .It Fl o Ar optimization .Cm ( space か .Cm time ) 。 ブロック確保に費す時間を最小にするか、 ディスク上のフラグメント領域を最小にするかを、 ファイルシステムに指示します。 デフォルトで minfree (前述) が 8% を下回る場合は、 .Cm space (空間) の最小化が行われ、8% 以上ならば .Cm time (時間) の最小化が行われます。 このオプションの詳細については、 .Xr tunefs 8 を参照してださい。 .It Fl s Ar size ファイルシステムサイズをセクタ単位で指定します。 デフォルト値は、 .Ar special で指定される raw パーティションのサイズです (言い換えると、 .Nm はパーティション全体をファイルシステムに使用します)。 .El .Pp 次のオプションは、ディスクジオメトリの標準設定を変更します。 デフォルトの値はディスクラベルから得られます。 これらの値を変更するのは、 最初にファイルシステムを構築したときとは異なるタイプのディスク上で ロウイメージを使用してファイルシステムを構築するようなときだけです (たとえば、ライトワンスディスク上など)。 これらの値をデフォルトの 値から変更すると、標準のスーパブロックが壊れたときに、 .Xr fsck 8 が代替のスーパブロックを見つけることができなくなるので注意して ください。 .Bl -tag -width indent .It Fl S Ar sector-size セクタサイズ (バイト単位) です (通常 512 以外は使用しません)。 .El .Sh 使用例 .Dl newfs /dev/ad3s1a .Pp 新規の UFS ファイルシステムを .Pa ad3s1a に作成します。 .Nm ユーティリティは、 ブロックサイズに 16384 バイト、フラグメントサイズに 2048 バイト、 シリンダグループあたりのブロック数に最大数を使用します。 ほとんどのアプリケーションに対し、 これらの値は歴史的なデフォルト (8192 バイトブロックと 1024 バイトフラグメント) よりも良い性能となる傾向があります。 この大きなフラグメントサイズは、 小さなファイルを大量に含むファイルシステム上に、無駄な領域を生じさせえます。 .Sh 関連項目 .Xr fdformat 1 , .Xr disktab 5 , .Xr fs 5 , .Xr bsdlabel 8 , .Xr camcontrol 8 , +.Xr dump 8 , .Xr dumpfs 8 , .Xr fsck 8 , .Xr mount 8 , -.Xr tunefs 8 +.Xr tunefs 8 , +.Xr vinum 8 .Rs .%A M. McKusick .%A W. Joy .%A S. Leffler .%A R. Fabry .%T A Fast File System for UNIX .%J ACM Transactions on Computer Systems 2 .%V 3 .%P pp 181-197 .%D August 1984 .%O (reprinted in the BSD System Manager's Manual) .Re .Sh 歴史 .Nm ユーティリティは、 .Bx 4.2 -から登場しています。 +で登場しました。 diff --git a/ja_JP.eucJP/man/man8/newsyslog.8 b/ja_JP.eucJP/man/man8/newsyslog.8 index 0b20abbb0e..0b9a5bd6e7 100644 --- a/ja_JP.eucJP/man/man8/newsyslog.8 +++ b/ja_JP.eucJP/man/man8/newsyslog.8 @@ -1,219 +1,226 @@ .\" This file contains changes from the Open Software Foundation. .\" .\" from: @(#)newsyslog.8 -.\" %FreeBSD: src/usr.sbin/newsyslog/newsyslog.8,v 1.44 2004/07/02 23:12:50 ru Exp % +.\" %FreeBSD: src/usr.sbin/newsyslog/newsyslog.8,v 1.44.2.1 2005/02/24 06:06:58 trhodes Exp % .\" .\" Copyright 1988, 1989 by the Massachusetts Institute of Technology .\" .\" Permission to use, copy, modify, and distribute this software .\" and its documentation for any purpose and without fee is .\" hereby granted, provided that the above copyright notice .\" appear in all copies and that both that copyright notice and .\" this permission notice appear in supporting documentation, .\" and that the names of M.I.T. and the M.I.T. S.I.P.B. not be .\" used in advertising or publicity pertaining to distribution .\" of the software without specific, written prior permission. .\" M.I.T. and the M.I.T. S.I.P.B. make no representations about .\" the suitability of this software for any purpose. It is .\" provided "as is" without express or implied warranty. .\" .\" $FreeBSD$ .\" -.Dd March 10, 2004 +.Dd February 24, 2005 .Dt NEWSYSLOG 8 .Os .Sh 名称 .Nm newsyslog .Nd システムのログファイルを保守し、適切なサイズに保つ .Sh 書式 .Nm .Op Fl CFnrsv .Op Fl R Ar tagname .Op Fl a Ar directory .Op Fl f Ar config_file .Op Ar .Sh 解説 .Nm ユーティリティは .Xr cron 8 から定期的に実行されるようにスケジュールされるべきプログラムです。 実行されると、 .Nm は必要に応じてログファイルを保存 (アーカイブ) します。 あるログファイルを保存する必要があると判断すると、 .Dq Va logfile が空になり、 .Dq Va logfile Ns Li \&.0 に前回のログファイルが入り、 .Dq Va logfile Ns Li \&.1 に前々回のログが入り‥‥ といった具合に、 ユーザが指定した数の保存ログが残るよう、 .Nm はファイルを再編します。 オプションにより、保存ログを圧縮してスペースを節約することもできます。 .Pp ログが保存されるのは次の 3 つの場合です: .Bl -enum -offset indent .It ログが設定サイズ (キロバイト単位で指定) より大きくなった。 .It 前回ログを保存してから指定した時間が経過した。 .It ログ入れ替えを行う指定時間になった。 .El .Pp .Nm の粒度は、このコマンドが .Xr cron 8 からどの程度の頻度で実行されるかに依存しています。 .Nm の実行は十分速いので、毎時間実行するようにスケジュールしても 悪影響はありませんし、 第 3 のモード (前述) はそうなっていることを仮定しています。 .Sh オプション .Nm では以下のオプションが利用できます: .Bl -tag -width indent .It Fl f Ar config_file 設定ファイルとして .Pa /etc/newsyslog.conf に代えて .Ar config_file を使用します。 .It Fl a Ar directory アーカイブしたログファイルを書き込む .Ar directory を指定します。 相対パスを指定した場合、 これを各ログファイルのパスに後置したディレクトリに、 このログファイルのアーカイブログを書き込みます。 絶対パスを指定した場合、 すべてのアーカイブログは指定した .Ar directory に書き込まれます。 パス .Ar directory のコンポーネントが存在しない場合、 .Nm が実行されるときに生成されます。 .It Fl v .Nm を詳細情報出力モードにします。 このモードでは、ログを入れ換えるあるいはそれをスキップするたびに、 そのログファイル名と理由を表示します。 .It Fl n 実際にログの入れ換えは行わず、このオプションが指定されない場合に 本来行うはずの処理内容を表示します。 .It Fl r .Nm は root として動作しなければならない、という制約を取り除きます。 もちろん、 .Nm は .Xr syslogd 8 に HUP シグナルを送れなくなりますから、 このオプションはデバッグにのみ用いるべきです。 .It Fl s ログファイル入れ替え時に通常は送っていたはずの デーモンプロセスへのシグナルを、一切送らないようにします。 入れ替えられるログファイルにとっては、 このオプションは通常次の意味も持ちます。 すなわち、このオプションが無かった場合に通知されるデーモンがいる場合 には、入れ替えられたログファイルは圧縮されないという意味です。 しかしながら、本オプションがもっとも有用なのはおそらく .Fl R オプションと共に指定された場合であり、この場合圧縮は行われます。 .It Fl C 1 回指定すると、存在しないが設定ファイルに .Sy C が指定されているログファイルを .Nm は作成します。 複数回指定すると、 .Nm は存在しないファイルをすべて作成します。 ログファイルがコマンドライン上に指定されると、 .Fl C もしくは .Fl CC は、これらのログファイルにのみ適用されます。 .It Fl F ログを入れ替える条件に合致しないとしても、強制的に .Nm にログを入れ替えさせます。 システムの問題を診断しているときには、 このオプションの使用により、 問題のみを含む新しいログを提供できるので有用です。 .It Fl R Ar tagname 入れ換え条件が成立していなくても、 .Nm が指定されたリストのファイルを入れ替えるべきことを指示します。 .Ar tagname は、入れ替えられるログファイルに書き込まれるメッセージにのみ使用されます。 これが .Fl F オプションと違うのは、ひとつ以上のファイルを指定する必要があり、 .Nm がこれらの指定されたファイルに対してのみ動作するという点です。 このオプションの主たる目的は、 複数のログファイルを書くデーモンやプログラムで、 それら自身の条件で入れ替えを引き起こしたいもののために使用することです。 このオプションを使用すると、入れ替えたいときにそれらは .Nm を実行でき、またシステム管理者が依然として入れ換え規則 (バックアップ保存数や圧縮の種類等) を指定可能とします。 デーモンが .Nm を .Fl R オプション付きで呼び出すとき、 .Nm の呼び出し前にそのデーモンは全ログファイルがクローズされていることを 保証することと、 .Nm が戻った後にログファイルをリオープンすることが必要です。 通常、呼び出しプロセスは .Fl s オプションも指定したいでしょうから、入れ替えを強制したプロセス自身には .Nm はシグナルを送らないでしょう。 シグナル処理を行わないということは、 .Nm は通常シグナル送信後に数秒待ちますので、 .Nm は高速に戻ることを意味します。 .El .Pp 追加のコマンド行引数を指定すると、 .Nm はこれらの引数にマッチするログファイルのみを検査します。 そうでない場合、設定ファイルに列挙された全ファイルを検査します。 .Sh 関連ファイル .Bl -tag -width /etc/newsyslog.confxxxx -compact .It Pa /etc/newsyslog.conf .Nm の設定ファイル .El .Sh バグ セキュリティ侵害を見つけるためにログを自動的に読むことは、 まだ行っていません。 .Sh 作者 .An Theodore Ts'o , MIT Project Athena .Pp Copyright 1987, Massachusetts Institute of Technology .Sh 互換性 以前のバージョンの .Nm ユーティリティは、グループ名の識別にドット (``.'') を使用していました。 .Fx 3.3 からは、これはコロン (``:'') 文字になりましたので、 ユーザ名とグループ名にドット文字を含めることが可能です。 後方互換性のために、ドット (``.'') 文字はまだ受け付けられます。 .Sh 関連項目 .Xr bzip 1 , .Xr gzip 1 , .Xr syslog 3 , .Xr newsyslog.conf 5 , .Xr chown 8 , .Xr syslogd 8 +.Sh 歴史 +.Nm +ユーティリティは、 +.Nx +由来のもので、 +.Fx 2.2 +ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man8/ntpdate.8 b/ja_JP.eucJP/man/man8/ntpdate.8 index b2c6c3a92a..360e080eb6 100644 --- a/ja_JP.eucJP/man/man8/ntpdate.8 +++ b/ja_JP.eucJP/man/man8/ntpdate.8 @@ -1,235 +1,235 @@ .\" -.\" %FreeBSD: src/usr.sbin/ntp/doc/ntpdate.8,v 1.7 2002/11/27 15:25:07 ru Exp % +.\" %FreeBSD: src/usr.sbin/ntp/doc/ntpdate.8,v 1.7.8.1 2004/11/15 21:02:10 simon Exp % .\" .\" $FreeBSD$ -.Dd January 6, 2000 .\" WORD: key identifier 鍵の識別子 .\" WORD: key file 鍵ファイル .\" WORD: slew 微調整する (slue の過去・過去分詞形) .\" WORD: step 合わせる .\" WORD: clock 時計 .\" WORD: time 時刻 .\" WORD: seconds and fraction 秒数 (小数も可) .\" .Dd January 6, 2000 .Dt NTPDATE 8 .Os .Sh 名称 .Nm ntpdate .Nd NTP を介して日付と時刻を設定する .Sh 書式 .Nm -.Op Fl bBdqosuv +.Op Fl bBdoqsuv .Op Fl a Ar key .Op Fl e Ar authdelay .Op Fl k Ar keyfile .Op Fl o Ar version .Op Fl p Ar samples .Op Fl t Ar timeout .Ar server ... .Sh 解説 +.Pp .Em 注意 : このプログラムの機能は、今では .Xr ntpd 8 プログラムの中で利用可能となっています。 .Xr ntpd 8 マニュアルページの .Fl q コマンドラインオプションの説明を参照して下さい。 適切な期間、喪に服した後で、 .Nm ユーティリティは本ディストリビューションから引退することになります。 .Pp .Nm ユーティリティは、正確な時刻を決めるために .Ar server 引数で与えられた ネットワークタイムプロトコル (Network Time Protocol; NTP) サーバ (複数可) を調べることによって、 ローカルな日付と時刻を設定します。 このコマンドは、ローカルホストの root として起動されなければなりません。 指定された各サーバからたくさんのサンプルを得て、 NTP 時計フィルタのサブセットと選択アルゴリズムを適用し、 その中から最良のものを選択します。 .Nm の正確さと信頼性は サーバの数、一実行あたりの調査数、そして実行間隔で決まることに 注意してください。 .Pp 以下のオプションが使用可能です: .Bl -tag -width indent .It Fl a Ar key 認証機能を有効にし、認証の鍵識別子を .Ar key 引数に指定します。 鍵と鍵の識別子はクライアントとサーバ双方の鍵ファイルで 合致する必要があります。 デフォルトでは認証機能は無効になっています。 .It Fl B .\" ±がうまくつかえないので \[+-] 使用 計測されたオフセットが \[+-]128 ms より大きくても、 時刻を常に .Xr adjtime 2 システムコールを用いて微調整するよう、強制します。 デフォルトではオフセットが \[+-]128 ms より大きい場合は、 .Xr settimeofday 2 を用いてずらします。 オフセットが \[+-]128 ms より大きい場合は、 時計を正しい値に微調整で合わせるのに長い時間 (数時間) 掛かることがあることに 注意してください。 この間は、クライアントを同期するためにこのホストを使ってはいけません。 .It Fl b (デフォルトの) .Xr adjtime 2 システムコールを用いて時刻を微調整するのではなく、 .Xr settimeofday 2 システムコールを用いて時刻を合わせるよう、強制します。 このオプションはブート時に起動ファイルから呼び出すときには使用するべきです。 .It Fl d デバッグモードを有効にします。 .Nm は全てのステップを実行しますが、ローカル時計を合わせることはしません。 一般的なデバッグに役立つ情報も表示します。 .It Fl e Ar authdelay 認証機能の処理にかかる遅れを .Ar authdelay に値を秒数 (小数も可) で指定します (詳細は .Xr ntpd 8 を参照してください)。 この値は通常多くの用途では無視し得るほどわずかですが、 非常に遅い CPU ではこの数を指定することで、 時間の正確さが改善されるかもしれません。 .It Fl k Ar keyfile 認証鍵のファイルへのパスを文字列で .Ar keyfile に指定します。 デフォルトは .Pa /etc/ntp.keys です。 このファイルは .Xr ntpd 8 に記述されている形式で書く必要があります。 .It Fl o Ar version 外へ出すパケットの NTP バージョンを .Ar version に 1 か 2 の整数で指定します。 デフォルトは 3 です。 このオプションは .Nm を古いバージョンの NTP に対して使用できるようにします。 .It Fl p Ar samples 各サーバから得るサンプルの数を .Ar samples に 1 から 8 までの整数で指定します。 デフォルトは 4 です。 .It Fl q 問い合わせをするだけで、時計を設定しません。 .It Fl s (デフォルトの) 標準出力ではなく、 .Xr syslog 3 機能を使用してログ出力を行ないます。 この機能は主に .Xr cron 8 スクリプトでの利便性を考えて作られました。 .It Fl t Ar timeout サーバの応答を待つ最大時間を .Ar timeout に秒数 (小数も可) で指定します。 値は 0.2 秒の倍数に丸められます。 デフォルトは 1 秒で、これは LAN を通じて調べるのに適当な値です。 .It Fl u .Nm が外へ出すパケットを非特権ポートから出すように命令します。 この機能は、外から来た特権ポートへのトラフィックを ブロックするファイアウォールの内側にいる場合に、 ファイアウォールを越えた向こうのホストと同期する際に最も便利です。 .Fl d オプションは常に非特権ポートを使用することに注意してください。 .It Fl v 冗長になります。 このオプションは .Nm のバージョン識別文字列を記録するようになります。 .El .Pp .Nm ユーティリティは、必要に応じてホストの時計を合わせるために手動で動かしたり、 ブート時に時計を設定するために起動スクリプト の中から動かすことができます。 このことは NTP デーモン .Xr ntpd 8 を起動する前に時計を初期設定する場合に便利です。 .Nm は .Xr cron 8 スクリプトから起動することも可能です。 しかし、 .Nm を用いた .Xr cron 8 スクリプトを工夫しても、 最小限のリソース消費で最大の正確さと信頼性を得る 洗練されたアルゴリズムを用いる NTP デーモンの代わりにはならないことに 注意することが重要です。 最後に、 .Nm は .Xr ntpd 8 がするようなホストのクロック周波数の学習をしないので、 .Nm を用いることによる正確さは限定されます。 .Pp .Nm は 2 つの方法のうちの 1 つで時刻の調整を行います。 .Nm は、時計が 0.5 秒以上ずれていると判断すると、システムの .Xr settimeofday 2 ルーチンを呼ぶことで単に時刻を合わせ直します。 しかし、 誤差が 0.5 秒以内のときは、システムの .Xr adjtime 2 ルーチンを呼ぶことで、時刻を微調整します。 後者のテクニックは、誤差が小さいときには、より滑らかな上に正確であり、 .Nm を .Xr cron 8 で 1 〜 2 時間に一回動かすときには、かなりうまく働きます。 .Pp .Nm ユーティリティは同じホストで NTP サーバデーモン (例えば .Xr ntpd 8 ) が動いている場合は、日付の設定を拒否します。 デーモンを実行する代わりに .Xr cron 8 から定期的に .Nm を呼び出す場合は、 1 〜 2 時間に一回行なうと時計のずれを抑止するのに十分な 正確な時刻を保持できます。 .Pp .Nm が NetInfo サポートを含む形でコンパイルされていた場合、 .Nm が .Xr ntpd 8 用の NetInfo の設定から時刻サーバを見つけられる場合は .Ic server 引数はオプションとなります。 .Sh 関連ファイル .Bl -tag -width /etc/ntp.keys -compact .It Pa /etc/ntp.keys .Nm で使われる暗号化鍵を含みます。 .El .Sh 関連項目 .Xr ntpd 8 .Sh バグ 微調整による調整は、実際には、計測されたずれよりも 50% 大きくなります。 これは、ひどくフラフラする時計をより正確に保持するのに役立つからです (と主張されています)。 このことは良い考えではないかもしれず、カーネル変数 .Va kern.clockrate.tick と .Va kern.clockrate.tickadj の値をおかしくするかもしれません。 diff --git a/ja_JP.eucJP/man/man8/pam_opieaccess.8 b/ja_JP.eucJP/man/man8/pam_opieaccess.8 index 188abd65e7..3eddcab074 100644 --- a/ja_JP.eucJP/man/man8/pam_opieaccess.8 +++ b/ja_JP.eucJP/man/man8/pam_opieaccess.8 @@ -1,150 +1,150 @@ .\" Copyright (c) 2001 Mark R V Murray .\" All rights reserved. .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" Portions of this software were developed for the FreeBSD Project by .\" ThinkSec AS and NAI Labs, the Security Research Division of Network .\" Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .\" ("CBOSS"), as part of the DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libpam/modules/pam_opieaccess/pam_opieaccess.8,v 1.8 2003/03/10 09:15:26 des Exp % +.\" %FreeBSD: src/lib/libpam/modules/pam_opieaccess/pam_opieaccess.8,v 1.9 2004/07/02 23:52:17 ru Exp % .\" .\" $FreeBSD$ .Dd January 21, 2002 .Dt PAM_OPIEACCESS 8 .Os .Sh 名称 .Nm pam_opieaccess .Nd OPIEAccess PAM モジュール .Sh 書式 .Op Ar service-name .Ar module-type .Ar control-flag .Pa pam_opieaccess .Op Ar options .Sh 解説 -たとえ OPIE 認証が失敗しても ( -.Xr pam_unix 8 +たとえ OPIE 認証が失敗しても +.Pf ( Xr pam_unix 8 モジュールのような) 他の手段を使用して 認証を確実に続行できるようにするために、 .Nm モジュールは .Xr pam_opie 8 PAM モジュールと統合して使用されます。 適切にこのモジュールを使用するために、 .Xr pam_opie 8 は control-flag 項を .Dq Li sufficient にしてください。 更に、 .Nm は .Xr pam_opie 8 のすぐ下に記述し control-flag 項を .Dq Li requisite にしてください。 .Pp .Nm モジュールが機能を提供する PAM カテゴリはただ 1 つで 認証 (authentication) です。 .Ar module-type 項のパラメータとしては、 .Dq Li auth 機能となります。 これはまた他の module-type に対しては ヌル関数 (何もしない関数) を提供します。 .Ss OPIEAccess 認証モジュール 認証構成要素 .Pq Fn pam_sm_authenticate は次の 2 つの場合に .Dv PAM_SUCCESS を戻します。 .Bl -enum .It ユーザが OPIE を有効にしていません。 .It ユーザは OPIE を有効にしていて、リモートホストは .Pa /etc/opieaccess に信頼できるホストとして記述してあり、 ユーザは自分のホームディレクトリに .Pa opiealways というファイルを置いていません。 .El .Pp これら以外の場合は、この認証構成要素は .Dv PAM_AUTH_ERR を戻します。 .Pp 以下の options 項が認証モジュールに渡せます。 .Bl -tag -width ".Cm allow_local" .It Cm allow_local 通常、ローカルログインは、 .Dq localhost からのリモートログインと同じ制限を受けます。 このオプションは、 .Nm が、常にローカルログインを許すようにさせます。 .It Cm debug .Dv LOG_DEBUG レベルのデバッグ情報を .Xr syslog 3 で記録します。 .It Cm no_warn ユーザへの警告メッセージを抑止します。 これらのメッセージはユーザの試みた認証を 拒絶した理由を含んでいます。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /etc/opieaccess" .It Pa /etc/opieaccess 信頼されたホストまたはネットワーク。 この文法についての記述は .Xr opieaccess 5 を参照してください。 .El .Sh 関連項目 .Xr opie 4 , .Xr opieaccess 5 , .Xr pam.conf 5 , .Xr pam 8 , .Xr pam_opie 8 .Sh 作者 .Nm モジュールとこのマニュアルページは、 .Fx -プロジェクトのために -Security Research Division of Network -Associates, Inc. 社の -ThinkSec AS and NAI Labs 研究所 によって、 +プロジェクトのために ThinkSec AS および +Network Associates, Inc. 社の +Security Research 部門である +NAI Labs によって、 DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS 契約に基づき DARPA CHATS research program の一環として開発されました。 .\" Translated by Tetsuro Furuya , Oct., 2002. .\" Checked by Kazuo Horikawa , Oct., 2002. diff --git a/ja_JP.eucJP/man/man8/pam_radius.8 b/ja_JP.eucJP/man/man8/pam_radius.8 index f7b235a027..56215a1c53 100644 --- a/ja_JP.eucJP/man/man8/pam_radius.8 +++ b/ja_JP.eucJP/man/man8/pam_radius.8 @@ -1,138 +1,138 @@ .\" Copyright (c) 1999 .\" Andrzej Bialecki . All rights reserved. .\" .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" Jan-Simon Pendry. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libpam/modules/pam_radius/pam_radius.8,v 1.14 2003/11/12 17:47:23 sobomax Exp % +.\" %FreeBSD: src/lib/libpam/modules/pam_radius/pam_radius.8,v 1.16 2004/07/02 23:52:18 ru Exp % .\" $FreeBSD$ .\" .Dd October 28, 2002 .Dt PAM_RADIUS 8 .Os .Sh 名称 .Nm pam_radius .Nd RADIUS 認証 PAM モジュール .Sh 書式 .Op Ar service-name .Ar module-type .Ar control-flag .Pa pam_radius .Op Ar options .Sh 解説 .Nm モジュールは RADIUS (Remote Authentication Dial In User Service) プロトコルに基づく認証サービスを提供する PAM (Pluggable Authentication Module) の枠組みのモジュールです。 .Pp .Nm モジュールは次のオプションパラメータを受け付けます: .Bl -tag -width Fl .It Cm use_first_pass を指定すると、 .Nm -は新しいパスワードの入力を求めずに、以前に入力されたパスワードを -使います。パスワードが入力されていない場合には、認証は失敗します。 +は新しいパスワードの入力を求めずに、以前に入力されたパスワードを使います。 +パスワードが入力されていない場合には、認証は失敗します。 .It Cm try_first_pass を指定すると、 .Nm -は以前に入力されたパスワードがあれば、それを使います。パスワードが -入力されていなければ、 +は以前に入力されたパスワードがあれば、それを使います。 +パスワードが入力されていなければ、 .Nm は通常通り入力を求めます。 .It Cm echo_pass は、 .Nm パスワードの入力を求めるとき、エコーを有効のままにします。 .It Cm conf Ns = Ns Ar pathname は RADIUS クライアント設定ファイルの標準以外の位置を指定します (通常は .Pa /etc/radius.conf です)。 -.It Cm nas_id Ns No = Ns Ar identifier +.It Cm nas_id Ns = Ns Ar identifier ホスト名の代りに送る NAS 識別子を指定します。 -.It Cm template_user Ns No = Ns Ar username +.It Cm template_user Ns = Ns Ar username は、セッションの環境をつくるテンプレートとして使用する .Xr passwd 5 エントリをもつユーザ名を指定します。 このエントリは、提供されるユーザ名が、ローカルのパスワードデータベースに 存在しない場合に使用されます。 ユーザは提供されたユーザ名とパスワードで認証されますが、 システムでの資格は .Ar username -に与えられたものとなります。すなわち、ログインクラス、ホームディレクトリ、 -資源の制限などは、 +に与えられたものとなります。 +すなわち、ログインクラス、ホームディレクトリ、資源の制限などは、 .Ar username に指定されたものが適用されます。 .Pp このオプションが省略され、かつ与えられたユーザ名がシステムのデータベースに -存在しない ( -.Xr getpwnam 3 +存在しない +.Pf ( Xr getpwnam 3 を呼び出して決定されます) 場合には、認証に失敗します。 .It Cm nas_ipaddr Ns Op No = Ns Ar address 送られるべき NAS IP アドレスを指定します。 このオプションが存在するが値が指定されていなかった場合、 現在のホスト名に対応する IP アドレスが使用されます。 .El .Sh 関連ファイル .Bl -tag -width /etc/radius.conf -compact .It Pa /etc/radius.conf .Nm の標準 RADIUS クライアント設定ファイル。 .El .Sh 関連項目 .Xr passwd 5 , .Xr radius.conf 5 , .Xr pam 8 .Sh 歴史 .Nm モジュールは .Fx 3.1 -から登場しました。 +ではじめて登場しました。 .Nm マニュアルページは .Fx 3.3 -から登場しました。 +ではじめて登場しました。 .Sh 作者 .An -nosplit .Nm マニュアルページは .An Andrzej Bialecki Aq abial@FreeBSD.org -が書きました。 +によって書かれました。 .Pp .Nm モジュールは .An John D. Polstra Aq jdp@FreeBSD.org -が書きました。 +によって書かれました。 diff --git a/ja_JP.eucJP/man/man8/pam_ssh.8 b/ja_JP.eucJP/man/man8/pam_ssh.8 index f6f40fb1ea..acefd27a45 100644 --- a/ja_JP.eucJP/man/man8/pam_ssh.8 +++ b/ja_JP.eucJP/man/man8/pam_ssh.8 @@ -1,137 +1,140 @@ .\" Copyright (c) 2001 Mark R V Murray .\" All rights reserved. .\" Copyright (c) 2001-2003 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libpam/modules/pam_ssh/pam_ssh.8,v 1.12 2003/02/23 01:47:48 ru Exp % +.\" %FreeBSD: /usr/local/www/cvsroot/FreeBSD/src/lib/libpam/modules/pam_ssh/pam_ssh.8,v 1.13 2004/07/02 23:52:18 ru Exp % .\" .\" $FreeBSD$ .Dd November 26, 2001 .Dt PAM_SSH 8 .Os .Sh 名称 .Nm pam_ssh .Nd SSH 秘密鍵による認証およびセッションの管理 .Sh 書式 .Op Ar service-name .Ar module-type .Ar control-flag .Pa pam_ssh .Op Ar options .Sh 解説 .Nm は PAM 用 SSH 認証サービスモジュールであり、 認証とセッション管理の PAM の 2 つのカテゴリへの機能を提供します。 .Ar module-type パラメータ中では .Dq Li auth .Dq Li session と表現されます。 .Ss SSH 認証モジュール SSH 認証コンポーネントは、ユーザの本人確認の関数 -.Pq Fn pam_sm_authenticate -を提供します。関数は、ユーザに対しパスフレーズを要求し、 +.Pq Fn pam_sm_authenticate +を提供します。 +関数は、ユーザに対しパスフレーズを要求し、 それを使って該当ユーザの SSH キーが解読できるかを確かめます。 .Pp この認証モジュールでは、次に示すオプションが利用できます。 .Bl -tag -width ".Cm use_first_pass" .It Cm use_first_pass この認証モジュールがスタック中で先頭にはないときに、 これよりも前のモジュールが、 ユーザのパスワードを入手している場合には、 そのパスワードをユーザの認証に利用します。 もし認証に失敗すると、この認証モジュールは パスワードの要求をせずに、失敗を返します。 この認証モジュールがスタック中で先頭にある場合、 もしくは、これより前のモジュールがユーザのパスワードを 入手しなかった場合には、このオプションは無効になります。 .It Cm try_first_pass このオプションは -.Cm use_first_pass +.Cm use_first_pass オプションに似ていますが、 前のモジュールで得たパスワードが失敗した場合は ユーザに他のパスワードを要求します。 .El .Ss SSH セッション管理モジュール SSH セッション管理コンポーネントは セッションの開始 .Pq Fn pam_sm_open_session と終了 .Pq Fn pam_sm_close_session の関数を提供します。 .Fn pam_sm_open_session 関数は SSH エージェントを開始させ、 認証過程で解読された秘密鍵をエージェントに渡します。 そして、エージェントが示した環境変数をセットします。 .Fn pam_sm_close_session 関数は前に開始された SSH エージェントに -.Dv SIGTERM +.Dv SIGTERM を送って終了させます。 .Pp このセッション管理モジュールでは、次に示すオプションが使用できます。 .Bl -tag -width ".Cm want_agent" .It Cm want_agent 認証フェーズにおいてキーがまったく解読されなくても、エージェントを開始します。 .El .Sh 関連ファイル .Bl -tag -width ".Pa $HOME/.ssh/identity" -compact .It Pa $HOME/.ssh/identity SSH1 RSA 鍵 .It Pa $HOME/.ssh/id_rsa SSH2 RSA 鍵 .It Pa $HOME/.ssh/id_dsa SSH2 DSA 鍵 .El .Sh 関連項目 .Xr ssh-agent 1 , .Xr pam.conf 5 , .Xr pam 8 .Sh 作者 .Nm モジュールは元々 .An -nosplit .An "Andrew J. Korty" Aq ajk@iu.edu -が書きました。 +によって書かれました。 現在の .Fx Project 用の実装は ThinkSec AS および -NAI Labs, the Security Research Division of Network Associates, Inc. が +Network Associates, Inc. の +Security Research 部門である +NAI Labs によって、 DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS 契約に基づき DARPA CHATS research program の一環として開発されました。 このマニュアルページは .An "Mark R V Murray" Aq markm@FreeBSD.org -が書きました。 +によって書かれました。 diff --git a/ja_JP.eucJP/man/man8/pam_tacplus.8 b/ja_JP.eucJP/man/man8/pam_tacplus.8 index 72be1d9d3b..52cd0036ee 100644 --- a/ja_JP.eucJP/man/man8/pam_tacplus.8 +++ b/ja_JP.eucJP/man/man8/pam_tacplus.8 @@ -1,129 +1,130 @@ .\" Copyright (c) 1999 .\" Andrzej Bialecki . All rights reserved. .\" .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" Jan-Simon Pendry. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libpam/modules/pam_tacplus/pam_tacplus.8,v 1.3 2001/07/13 09:09:51 ru Exp % +.\" %FreeBSD: src/lib/libpam/modules/pam_tacplus/pam_tacplus.8,v 1.4 2004/07/02 23:52:18 ru Exp % .\" .\" $FreeBSD$ .Dd August 2, 1999 .Dt PAM_TACPLUS 8 .Os .Sh 名称 .Nm pam_tacplus .Nd TACACS+ 認証 PAM モジュール .Sh 書式 .Op Ar service-name .Ar module-type .Ar control-flag .Pa pam_tacplus .Op Ar options .Sh 解説 .Nm モジュールは TACACS+ プロトコルに基づく認証サービスを提供する PAM (Pluggable Authentication Module) の枠組みのモジュールです。 .Pp .Nm モジュールは次のオプションパラメータを受け付けます: .Bl -tag -width ".Cm use_first_pass" .It Cm use_first_pass を指定すると、 .Nm は新しいパスワードの入力を求めずに、以前に入力されたパスワードを使います。 パスワードが入力されていない場合には、認証は失敗します。 .It Cm try_first_pass を指定すると、 .Nm は以前に入力されたパスワードがあれば、それを使います。 パスワードが入力されていなければ、 .Nm は通常通り入力を求めます。 .It Cm echo_pass は、 .Nm パスワードの入力を求めるとき、エコーを有効のままにします。 .It Cm conf Ns = Ns Ar pathname は TACACS+ クライアント設定ファイルの標準以外の位置を指定します (通常は .Pa /etc/tacplus.conf です)。 .It Cm template_user Ns = Ns Ar username は、セッションの環境をつくるテンプレートとして使用する .Xr passwd 5 エントリをもつユーザ名を指定します。 このエントリは、提供されるユーザ名が、ローカルのパスワードデータベースに 存在しない場合に使用されます。 ユーザは提供されたユーザ名とパスワードで認証されますが、 システムでの資格は .Ar username -に与えられたものとなります。すなわち、ログインクラス、ホームディレクトリ、 -資源の制限などは、 +に与えられたものとなります。 +すなわち、ログインクラス、ホームディレクトリ、資源の制限などは、 .Ar username に指定されたものが適用されます。 .Pp このオプションが省略され、かつ与えられたユーザ名がシステムのデータベースに -存在しない ( -.Xr getpwnam 3 +存在しない +.Pf ( Xr getpwnam 3 を呼び出して決定されます) 場合には、認証に失敗します。 .El .Sh 関連ファイル .Bl -tag -width /etc/tacplus.conf -compact .It Pa /etc/tacplus.conf .Nm の標準 TACACS+ クライアント設定ファイル。 .El .Sh 関連項目 .Xr passwd 5 , .Xr tacplus.conf 5 , .Xr pam 8 .Sh 歴史 .Nm モジュールは .Fx 3.1 -から登場しました。 +ではじめて登場しました。 .Sh 作者 .An -nosplit .Nm マニュアルページは .An Andrzej Bialecki Aq abial@FreeBSD.org -が書き、RADIUS から TACACS+ への改造は +によって書かれ、 +RADIUS から TACACS+ への改造は .An Mark R V Murray Aq markm@FreeBSD.org が行いました。 .Pp .Nm モジュールは .An John D. Polstra Aq jdp@FreeBSD.org -が書きました。 +によって書かれました。 diff --git a/ja_JP.eucJP/man/man8/ppp.8 b/ja_JP.eucJP/man/man8/ppp.8 index d9db97000f..ac8749f5d7 100644 --- a/ja_JP.eucJP/man/man8/ppp.8 +++ b/ja_JP.eucJP/man/man8/ppp.8 @@ -1,5870 +1,6084 @@ .\" .\" Copyright (c) 2001 Brian Somers .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/ppp/ppp.8.m4,v 1.312 2004/07/29 05:59:43 glebius Exp % +.\" %FreeBSD: src/usr.sbin/ppp/ppp.8.m4,v 1.312.2.1 2005/02/03 10:49:17 brian Exp % .\" .\" $FreeBSD$ .\" .\" WORD: expect string 受信待ち文字列[chat.8,ppp.8] .Dd July 20, 2004 .Dt PPP 8 .Os .Sh 名称 .Nm ppp .Nd PPP (Point to Point Protocol) (別名 user-ppp) .Sh 書式 .Nm .Op Fl Va mode .Op Fl nat .Op Fl quiet .Op Fl unit Ns Ar N -.Op Fl alias .Op Ar system ... .Sh 解説 本プログラムは、ユーザプロセスとして動作する .Em PPP パッケージです。 .Em PPP -は通常、( -.Xr pppd 8 +は通常、 +.Pf ( Xr pppd 8 でそうなっているように) カーネルの一部として実装されますが、 そのため、デバッグや動作の変更が少々難しい場合があります。 それに対し、この実装ではトンネルデバイスドライバ (tun) を利用して、 ユーザプロセスで .Em PPP を実現しています。 .Pp .Fl nat フラグは、 .Dq nat enable yes と等価であり、 .Nm のネットワークアドレス変換機能を有効にします。 これにより .Nm は、内部 LAN 上の全マシンに対する NAT、 すなわちマスカレーディングエンジンとして動作します。 NAT エンジンの技術的な詳細は .Xr libalias 3 を参照してください。 .Nm での NAT の構成の仕方については、本マニュアルページの .Sx ネットワークアドレス変換 (パケットエイリアシング) を参照してください。 .Pp .Fl quiet フラグを指定すると、 .Nm は起動時に静かになり、 モードとインタフェースを標準出力へ表示しなくなります。 .Pp .Fl unit フラグは、 .Nm が .Pa /dev/tun Ns Ar N のみのオープンを試みるように指定します。 通常、 .Nm は .Ar N に対して値 0 から開始し、成功するまで .Ar N を値 1 ずつ増加させて、トンネルデバイスのオープンを試みます。 デバイスファイルが存在しないために、3 回連続して失敗すると、諦めます。 .Pp .Nm は次の .Va mode を理解します: .Bl -tag -width XXX -offset XXX .It Fl auto .Nm は tun インタフェースをオープンし、 これを設定した後バックグラウンドになります。 出力データが tun インタフェース上で検出されるまでリンクはアップせず、 出力データが tun インタフェース上で検出されると .Nm はリンクをアップしようとします。 .Nm がリンクをアップしようとしている間に受信したパケット (最初のものを含みます) は、デフォルトで 2 分間キューにとどまります。 後述の .Dq set choked コマンドを参照してください。 .Pp .Fl auto モードでは、 コマンドラインには少なくとも 1 つの .Dq system を指定する必要があり (後述)、 インタフェース設定時に使用する相手の IP アドレスを指定する .Dq set ifaddr を、システムプロファイルで実行する必要があります。 通常、 .Dq 10.0.0.1/0 -のようなものが適切です。例としては、 +のようなものが適切です。 +例としては、 .Pa /usr/share/examples/ppp/ppp.conf.sample の .Dq pmdemand システムを参照してください。 .It Fl background この場合、 .Nm は相手との接続をすぐに確立しようとします。 成功すると、 .Nm はバックグラウンドになり、親プロセスは終了コード 0 を返します。 失敗すると、 .Nm は非 0 の結果で終了します。 .It Fl foreground フォアグラウンドモードでは、 .Nm は相手との接続をすぐに確立しようとしますが、デーモンにはなりません。 リンクはバックグラウンドモードで作成されます。 .Nm の起動を別のプロセスから制御したい場合に有用です。 .It Fl direct これは、既に確立された接続を介して通信するために使用します。 通常は、入力接続を .Xr getty 8 が受け取ったときに使用されます .Nm は .Dq set device 行を無視し、リンクに記述子 0 を使用します。 .Nm はまた設定されたチャットスクリプトをすべて無視しますが、 .Dq force-scripts オプションが有効な場合は例外です。 .Pp コールバックの設定を行うと、ダイヤルバック時に .Nm は .Dq set device 情報を使用します。 .It Fl dedicated このオプションは、専用線で接続されたマシンのためにデザインされています。 .Nm はデバイスを常にオープンに保ちます。 また、設定されたチャットスクリプトは一切使用しませんが、 .Dq force-scripts オプションが有効な場合は例外です。 .It Fl ddial .Fl auto モードと等価ですが、なんらかの理由でリンクが落ちた場合に .Nm が再度リンクをアップすることが違います。 .It Fl interactive これは no-op であり、 前述のフラグがどれも指定されなかった場合の動作を行います。 .Nm はコマンドラインで指定されたセクションをロードし、対話プロンプトを提供します。 .El .Pp -( -.Pa /etc/ppp/ppp.conf +.Pf ( Pa /etc/ppp/ppp.conf に指定される) 設定エントリ、すなわち system を、コマンドラインで 1 つ以上指定可能です。 起動時に .Nm は .Pa /etc/ppp/ppp.conf から .Dq default システムを読み込み、その後コマンドラインで指定した各 system を読み込みます。 .Sh 主な特徴 .Bl -diag .It 対話的なユーザインタフェースを提供 コマンドモードで利用する場合、ユーザがコマンドを 入力することで、簡単にリモートコンピュータとの接続の確立、 接続状態の確認、 接続の切断を行うことができます。 オプションとして、セキュリティ確保のために すべての機能をパスワードで保護することができます。 .It 手動と自動でのダイヤルをサポート 対話モードでは、直接デバイスと通信できるように .Dq term コマンドが用意されています。 リモートホストと接続されて、 .Em PPP での通信が始まったら、 .Nm はそれを検出して自動的にパケットモードに移行します。 ひとたびリモートホストとの接続に必要なコマンドシーケンスがわかったら、 後々の接続を簡単にするため、必要なダイヤル手順やログイン手順を定義した チャットスクリプトを書くことができます。 .It オンデマンドでのダイヤルアップをサポート .Fl auto モード (自動モード) では .Nm はデーモンとして動作し、 .Em PPP リンクを通して送られるパケットを待ちうけます。 パケットを検出すると、デーモンが自動的にダイヤルを行って接続を確立します。 .Fl ddial モード (直接ダイヤルモード) でも ほぼ同様に、自動ダイヤルと接続の確立を行います。 しかしながらこのモードは、送るべきパケットが存在しない場合にも、 リンクが切れていることを検出するといつでもリモートへダイヤルするという点が auto モードと異なります。 このモードは、電話料金よりも常時接続されていることが重視される場合に有用です。 3 番目の .Fl dedicated モード (専用線モード) も利用可能です。 このモードは 2 つのマシン間の専用線を対象にしています。 専用線モードでは .Nm は自発的に動作を終了することはありません - 終了するには .Dq quit all コマンドを診断ソケットを介して送る必要があります。 .Dv SIGHUP は LCP の再ネゴシエーションを強要し、 .Dv SIGTERM は終了を強要します。 .It クライアントコールバックをサポート .Nm は標準 LCP コールバックプロトコルならびに Microsoft コールバック制御プロトコル (ftp://ftp.microsoft.com/developr/rfc/cbcp.txt) を使用できます。 .It NAT、すなわちパケットエイリアシングをサポート パケットエイリアシング (別名: IP マスカレード) により、 未登録でプライベートなネットワーク上のコンピュータからも インターネットにアクセスすることが可能です。 .Em PPP ホストはマスカレードゲートウェイとして動作します。 送信パケットの IP アドレスと TCP や UDP のポート番号は どちらも NAT され、返信パケットではエイリアスが元に戻されます。 .It バックグラウンド PPP 接続をサポート バックグラウンドモードでは、接続を確立するのに成功した場合に .Nm はデーモンになります。 それ以外の場合はエラーで終了します。 これにより、 接続が成功裏に確立した場合のみコマンドを実行するようなスクリプト をセットアップすることが出来ます。 .It サーバとしての PPP 接続をサポート ダイレクトモードでは、 .Nm は標準入力/標準出力からの .Em PPP 接続を受け入れるサーバとして動作させることができます。 .It "PAP と CHAP (rfc 1994, 2433 および 2759) による認証をサポート" PAP もしくは CHAP を用いることにより、Unix スタイルの .Xr login 1 手続きをスキップし、 .Em PPP プロトコルを代りに認証に使用することが可能です。 相手が Microsoft CHAP 認証を要求し、かつ .Nm が DES をサポートするようにコンパイルされている場合、適当な MD4/DES 応答がなされます。 .It RADIUS (rfc 2138 & 2548) 認証をサポート PAP と CHAP の拡張である .Em \&R Ns No emote .Em \&A Ns No ccess .Em \&D Ns No ial .Em \&I Ns No n .Em \&U Ns No ser .Em \&S Ns No ervice は、集中データベースまたは分散データベースに、 ユーザごとに異なる接続特性を含んだ認証情報を、格納できます。 コンパイル時に .Xr libradius 3 が利用可能な場合、利用するように設定すると、 .Nm はこれを使用して .Em RADIUS 要求を作成します。 .It 代理 arp (Proxy Arp) をサポート .Nm が相手のために 1 個以上の代理 arp エントリを作成するように、設定可能です。 LAN 上の各マシンでの設定を行わずに、 相手側から LAN へのルーティングを可能とします。 .It パケットのフィルタリングをサポート ユーザは 4 種類のフィルタを定義できます。 .Em in は受信パケットに対するフィルタです。 .Em out は送信パケットに対するフィルタです。 .Em dial はダイヤルを行うきっかけとなるパケットを定義するフィルタで、 .Em alive は接続を保持するためのパケットを定義するフィルタです。 .It トンネルドライバは bpf (Berkeley Packet Filter) をサポート .Em PPP リンクを流れるパケットを調べるために、 .Xr tcpdump 1 を使うことができます。 .It PPP オーバ TCP および PPP オーバ UDP をサポート デバイス名が .Em host Ns No : Ns Em port Ns .Xo .Op / Ns tcp|udp , .Xc 形式で指定された場合、 .Nm は通常のシリアルデバイスを使うのではなく、 データ転送のための TCP または UDP の 接続を開きます。 UDP 接続は、 .Nm を強制的に同期モードにします。 .It PPP オーバ ISDN をサポート .Nm がオープンすべきリンクとして 生の B チャネル i4b デバイスを指定すると、 .Xr isdnd 8 と対話して ISDN 接続を確立できます。 .It PPP オーバイーサネットをサポート (rfc 2516) .Nm が .No PPPoE: Ns Ar iface Ns Xo .Op \&: Ns Ar provider Ns .Xc の書式のデバイス指定を与えられ、 .Xr netgraph 4 が利用可能な場合、 .Nm は .Ar iface ネットワークインタフェースを使用し、 .Ar provider に対して .Em PPP オーバイーサネットを話そうとします。 .Pp .Xr netgraph 4 をサポートしないシステム上では、 .Xr pppoed 8 のような外部プログラムを使用可能です。 .It "IETF ドラフトの Predictor-1 (rfc 1978) と DEFLATE (rfc 1979) 圧縮をサポート" .Nm は VJ 圧縮の他に Predictor-1 と DEFLATE 圧縮もサポートしています。 モデムは通常 (例えば v42.bis のような) 組み込みの圧縮機能を持っており、 その結果システムは .\"(訳注)「転送データレートよりも」をここにいれたいと考えています。 .\" 2.2.1R 対象(1997/04/02) Takeshi MUTOH より高いデータレートで通信できます。 これは一般には良いことですが、より高速のデータによってシリアル回線からの 割り込みが増加します。 システムはこの割り込みをモデムと通信して処理しなくてはならないため、 システムの負荷と遅延時間が増加することになります。 VJ 圧縮とは異なり、Predictor-1 と DEFLATE 圧縮はリンクを通る .Em すべての ネットワークトラフィックをあらかじめ圧縮しておくことで、オーバヘッドを 最小にします。 .It Microsoft の IPCP 拡張をサポート (rfc 1877) Microsoft の .Em PPP スタックを使用するクライアント (つまり Win95, WinNT) との間で ネームサーバのアドレスと NetBIOS ネームサーバのアドレスを ネゴシエーションできます。 .It マルチリンク PPP をサポート (rfc 1990) +.Nm +は、 接続先への複数の物理的な回線をオープンし、すべてのリンクの 帯域幅を合わせてより高いスループットを得ることができます。 .It MPPE (draft-ietf-pppext-mppe) のサポート MPPE は、Microsoft 社の Point to Point 暗号化機構です。 .Nm を設定して、Microsoft Windows の仮想プライベートネットワーク -(VPN) に参加できるようになります。現在のところ、 +(VPN) に参加できるようになります。 +現在のところ、 .Nm は、CHAP 81 認証機構からしか暗号鍵を取得することができません。 MPPE を動作させるためには、DES つきで .Nm をコンパイルしなくてはなりません。 .It IPV6CP (rfc 2023) をサポート 通常の IPv4 接続に対する追加もしくは置き換えとして、 IPv6 接続を使用可能です。 .El .Sh パーミッション .Nm はユーザ .Dv root 、グループ .Dv network 、パーミッション .Dv 04554 でインストールされます。 デフォルトでは .Nm は、起動したユーザ ID が 0 でない場合には実行しません。 これは .Dq allow users コマンドを .Pa /etc/ppp/ppp.conf に記載することにより変更することが可能です。 通常ユーザとして実行する場合には、 .Nm はユーザ ID 0 に変わり、システムの経路表の変更と、 システムロックファイルの作成と、 ppp の設定ファイルの読み込みを行います。 すべての外部コマンド ("shell" や "!bg" で実行されます) は、 .Nm を起動したユーザ ID で実行されます。 ユーザ ID 0 にて正確になにが行われているのかに興味がある場合には、 ログ機能の .Sq ID0 を参照してください。 .Sh 始める前に 最初に .Nm を実行する時には、いくつかの初期設定を整える必要があります。 .Bl -bullet .It カーネルにトンネルデバイスが含まれていることが必要です (GENERIC カーネルではデフォルトで 1 つ含まれます)。 tun デバイスが含まれていない場合や、 複数の tun インタフェースが必要な場合、 次の行をカーネル設定ファイルに追加して、 カーネルを再構築する必要があります: .Pp .Dl pseudo-device tun N .Pp ここで .Ar N は .Em PPP 接続を行いたい最大の数です。 .It .Pa /dev ディレクトリにトンネルデバイスのエントリ .Pa /dev/tunN があるかどうかを調べてください。 ここで .Sq N は、0 から始まる tun デバイスの番号です。 もし無いようならば、"sh ./MAKEDEV tunN" を実行すれば作ることができます。 これにより 0 から .Ar N までの tun デバイスが作成されます。 .It あなたのシステムの .Pa /etc/group ファイルに .Dq network グループがあり、そのグループが .Nm を使うと想定されるすべてのユーザ名を含んでいることを確かめてください。 詳細は .Xr group 5 -マニュアルページを参照してください。また、これらのユーザは +マニュアルページを参照してください。 +また、これらのユーザは .Pa /etc/ppp/ppp.conf ファイルで .Dq allow users コマンドを使用してアクセス権が与えられなければなりません。 .It ログファイルを作成します。 .Nm は .Xr syslog 3 -を使用して情報を記録します。通常のログファイル名は +を使用して情報を記録します。 +通常のログファイル名は .Pa /var/log/ppp.log です。 このファイルに出力を行うためには、次の行を .Pa /etc/syslog.conf ファイルに記述してください: .Bd -literal -offset indent !ppp *.*/var/log/ppp.log .Ed .Pp .Nm の実行形式にリンクを作成することにより、複数の .Em PPP ログファイルを持つことが可能です: .Pp .Dl # cd /usr/sbin .Dl # ln ppp ppp0 .Pp として .Pa /etc/syslog.conf で .Bd -literal -offset indent !ppp0 *.*/var/log/ppp0.log .Ed .Pp とします。 .Pa /etc/syslog.conf を更新した後に、 .Xr syslogd 8 に .Dv HUP シグナルを送ることをお忘れなく。 .It 厳密には .Nm の操作とは関係ありませんが、リゾルバが正しく働くように設定した方が 良いでしょう。 -これは ( -.Xr named 8 +これは +.Pf ( Xr named 8 を用いて) ローカルな DNS サーバを設定するか、もしくは .Pa /etc/resolv.conf ファイルに適切な .Sq nameserver 行を加えることで行われます。 詳細は .Xr resolv.conf 5 のマニュアルを参照してください。 .Pp 他の方法として、もし接続先がサポートしている場合には .Nm が接続先にネームサーバのアドレスを尋ねて、自動的に .Pa /etc/resolv.conf -を更新することができます。詳細は後述の +を更新することができます。 +詳細は後述の .Dq enable dns コマンドと .Dq resolv コマンドとを参照してください。 .El .Sh 手動ダイヤル 次の例では、あなたのマシン名が .Dv awfulhak であるとして説明します。 .Nm を引数無しで起動すると (前述の .Sx パーミッション 参照) 次のプロンプトが表示されます: .Bd -literal -offset indent ppp ON awfulhak> .Ed .Pp プロンプトの .Sq ON -の部分は常に大文字であるべきです。ここが小文字の場合、 +の部分は常に大文字であるべきです。 +ここが小文字の場合、 .Dq passwd コマンドを使用してパスワードを入力しなければならないことを意味します。 実行中の .Nm に接続し、 まだ正しいパスワードを入力していない場合にのみこのような状態になります。 .Pp +デバイス名と速度を指定して開始できます。 .Bd -literal -offset indent ppp ON awfulhak> set device /dev/cuaa0 ppp ON awfulhak> set speed 38400 .Ed .Pp 通常ハードウェアフロー制御 (CTS/RTS) を使用します。 しかし、特定の場合 (特定の PPP 可能な端末サービスに直接接続している場合に起り得ます)、 .Nm が通信リンクにデータを書き込もうとしたときに、 永遠に来ない CTS (送信時にクリア) シグナルを待つことにより .Nm がハングします。 直通線で接続できない場合は、 .Dq set ctsrts off で CTS/RTS をオフにしてみてください。 これが必要な場合、後述の .Dq set accmap の記述も参照してください - .Dq set accmap 000a0000 も必要かもしれません。 .Pp 通常、パリティは .Dq none -に設定します。これが +に設定します。 +これが .Nm のデフォルトです。 パリティはどちらかというと古風なエラーチェック機構であり、 今となっては使用しません。 最近のモデムは各自のエラーチェック機構を持っており、 -ほとんどのリンク層プロトコル ( -.Nm +ほとんどのリンク層プロトコル +.Pf ( Nm はこれです) はより信頼できるチェック機構を使用します。 パリティは相対的に大きなオーバヘッドを持ちますので (トラフィックが 12.5% 増加します)、 .Dv PPP -がオープンされると常に無効化 ( -.Dq none +がオープンされると常に無効化 +.Pf ( Dq none に設定) されます。 しかし、ISP (インターネットサービスプロバイダ) によっては、 -特定のパリティ設定を接続時 ( -.Dv PPP +特定のパリティ設定を接続時 +.Pf ( Dv PPP がオープンする前) に使用するものがあります。 特に、Compuserve はログイン時に偶数パリティに固執しています: .Bd -literal -offset indent ppp ON awfulhak> set parity even .Ed .Pp ここで、現在のデバイス設定がどのようになっているか見られます: .Bd -literal -offset indent ppp ON awfulhak> show physical Name: deflink State: closed Device: N/A Link Type: interactive Connect Count: 0 Queued Packets: 0 Phone Number: N/A Defaults: Device List: /dev/cuaa0 Characteristics: 38400bps, cs8, even parity, CTS/RTS on Connect time: 0 secs 0 octets in, 0 octets out Overall 0 bytes/sec ppp ON awfulhak> .Ed .Pp ここでは、直接デバイスと通信するために term コマンドを使用可能です: .Bd -literal -offset indent ppp ON awfulhak> term at OK atdt123456 CONNECT login: myispusername Password: myisppassword Protocol: ppp .Ed .Pp 相手が .Em PPP で話しはじめると、 .Nm はそれを自動的に検出してコマンドモードに戻ります。 .Bd -literal -offset indent ppp ON awfulhak> # リンクは確立していません Ppp ON awfulhak> # 接続完了、LCP 完了 PPp ON awfulhak> # 認証完了 PPP ON awfulhak> # IP アドレス合意完了 .Ed .\" your end で「あなた側」 .Pp このようにならない場合、接続先がこちらのネゴシエーション開始を 待っている可能性があります。 強制的に .Nm -に接続先への PPP 設定パケットの送出を開始させるためには +に接続先への +.Em PPP +設定パケットの送出を開始させるためには .Dq ~p コマンドを使い、端末モードを抜けてパケットモードに移行して下さい。 .Pp それでもログインプロンプトが得られない場合、 Unix 的なログイン/パスワード認証ではなく、PAP または CHAP の認証を、 相手は要求している可能性が非常に高いです。 正しく設定するためには、プロンプトに戻り、 認証用の名前とキーを設定し、再度接続します: .Bd -literal -offset indent ~. ppp ON awfulhak> set authname myispusername ppp ON awfulhak> set authkey myisppassword ppp ON awfulhak> term at OK atdt123456 CONNECT .Ed .Pp ここで再度、ネゴシエーションを開始するように ppp に指定できます: .Bd -literal -offset indent ~p ppp ON awfulhak> # リンクは確立していません Ppp ON awfulhak> # 接続完了、LCP 完了 PPp ON awfulhak> # 認証完了 PPP ON awfulhak> # IP アドレス合意完了 .Ed .Pp これで接続されました! プロンプトの .Sq PPP -が大文字に変化して、接続されたことを知らせます。もし 3 つの P の内 +が大文字に変化して、接続されたことを知らせます。 +もし 3 つの P の内 いくつかだけが大文字になっている場合には、すべての文字が大文字もしくは -小文字になるまで待ってください。もし小文字に戻った場合には、それは +小文字になるまで待ってください。 +もし小文字に戻った場合には、それは .Nm が接続先とのにネゴシエーションに成功しなかったことを意味します。 この時点での問題解決の第一歩としては、次のようにし、再挑戦します。 .Bd -literal -offset indent ppp ON awfulhak> set log local phase lcp ipcp .Ed .Pp 詳細は、下記の .Dq set log コマンドの説明を参照してください。 この時点でも失敗する場合、 ログを有効にして再挑戦することが非常に重要です。 プロンプトの変化に注意し、あなたを助けてくれる人に報告することもまた重要です。 .Pp リンクが確立したら、show コマンドを使用することで、 どのように事態が進行しているのかが分ります: .Bd -literal -offset indent PPP ON awfulhak> show physical * モデム関連の情報がここに表示されます * PPP ON awfulhak> show ccp * CCP (圧縮) 関連の情報がここに表示されます * PPP ON awfulhak> show lcp * LCP (回線制御) 関連の情報がここに表示されます * PPP ON awfulhak> show ipcp * IPCP (IP) 関連の情報がここに表示されます * PPP ON awfulhak> show ipv6cp * IPV6CP (IPv6) 関連の情報がここに表示されます * PPP ON awfulhak> show link * (高レベル) リンク関係の情報がここに表示されます * PPP ON awfulhak> show bundle * (高レベル) 論理接続関係の情報がここに表示されます * .Ed .Pp この時点で、マシンは接続先に対するホスト単位の経路 (host route) を持っています。 これはリンクの相手のホストとのみ接続可能であるという意味です。 デフォルト経路のエントリ (他の経路エントリを持たずに、全パケットを .Em PPP リンクの相手に送る ように、あなたのマシンに指示します)を追加したければ、 次のコマンドを入力してください。 .Bd -literal -offset indent PPP ON awfulhak> add default HISADDR .Ed .Pp .Sq HISADDR という文字列は、相手側の IP アドレスを表します。 -既存の経路のために失敗する場合には、 +既存の経路のために +.Dq add +コマンドが失敗する場合には、 .Bd -literal -offset indent PPP ON awfulhak> add! default HISADDR .Ed .Pp を用いることで既存の経路を上書きできます。 このコマンドは、実際に接続を作成する前に実行可能です。 新しい IP アドレスを接続時にネゴシエートする場合、これに従って .Nm がデフォルト経路を更新します。 .Pp ここで、(ping, telnet, ftp のような) ネットワークアプリケーションを、 あなたのマシンの別のウィンドウまたは端末で使用可能です。 現在の端末を再利用したい場合、 .Nm をバックグラウンドモードにするために、 標準のシェルのサスペンドとバックグラウンドコマンド (通常 .Dq ^Z の後に .Dq bg ) を使用可能です。 .Pp 使用可能コマンドの詳細は .Sx PPP コマンドリスト の節を参照してください。 .Sh 自動ダイヤル 自動ダイヤルを行うためには、ダイヤルとログインのチャットスクリプトを -用意しなければなりません。定義の例は +用意しなければなりません。 +定義の例は .Pa /usr/share/examples/ppp/ppp.conf.sample -を見てください ( -.Pa /etc/ppp/ppp.conf +を見てください +.Pf ( Pa /etc/ppp/ppp.conf の書式は非常に簡単です)。 各行は単一のコメント、インクルード、ラベル、コマンドのいずれかを含みます。 .Bl -bullet .It .Pq Dq # 文字で始まる行は、コメントとして扱われます。 コメント行と認識した場合、先行する空白は無視されます。 .It インクルードは語 .Sq !include から始まる行です。 1 つの引数 - インクルードするファイル - を持つ必要があります。 古いバージョンの .Nm との互換性のために、 .Dq !include ~/.ppp.conf を使用したいかもしれません。 .It ラベルは行頭から始まり、最後にコロン .Pq Dq \&: が続かなければなりません。 .It コマンド行は、最初の桁に空白かタブを含む必要があります。 +.It +.Dq $ +文字で始まる文字列は、同じ名前の環境変数の値で置き換えられます。 +同様に、 +.Dq ~ +文字で始まる文字列は、同じ名前のユーザアカウントのホームディレクトリへのフルパスで +置き換えられ、 +.Dq ~ +文字自体は現在のユーザのホームディレクトリへのフルパスで置き換えられます。 +コマンドや引数に +.Dq $ +や +.Dq ~ +の文字を含めたい場合には +.Bd -literal -offset indent +set password "pa$ss~word" +.Ed +のようにダブルクォートで囲んで下さい。 .El .Pp .Pa /etc/ppp/ppp.conf ファイルには少なくとも .Dq default セクションが存在する必要があります。 このセクションは常に実行されます。 このファイルには 1 つ以上のセクションが含まれます。 -セクション名は用途に応じて付けます。例えば、 +セクション名は用途に応じて付けます。 +例えば、 .Dq MyISP はあなたの ISP を表したり、 .Dq ppp-in は入力の .Nm 構成を表したります。 .Nm を立ち上げる際に、接続先のラベル名を指定可能です。 .Dq default ラベルに関係づけられたコマンドが実行されてから、 接続先ラベルに関連づけられたコマンドが実行されます。 .Nm を引数無しで起動した場合、 .Dq default -だけは実行されます。load コマンドを使用して、 +だけは実行されます。 +load コマンドを使用して、 .Pa /etc/ppp/ppp.conf のセクションを手動でロード可能です: .Bd -literal -offset indent ppp ON awfulhak> load MyISP .Ed .Pp セクションロード後には、 .Nm はいかなる動作も行わないことに注意してください。 これは、コマンドラインでラベルを指定した結果でも、 .Dq load コマンドを使用した結果でも同様です。 設定ファイル中で、そのラベルに対して指定されたコマンドのみが、実行されます。 一方、 .Nm を .Fl background , .Fl ddial , .Fl dedicated のいずれかのスイッチ付きで起動したときには、 .Nm が接続を確立するように、リンクモードが指示します。 更なる詳細については、後述の .Dq set mode コマンドを参照してください。 .Pp ひとたび接続が確立したなら、プロンプトの .Sq ppp は .Sq PPP に変わります: .Bd -literal -offset indent # ppp MyISP \&... ppp ON awfulhak> dial Ppp ON awfulhak> PPp ON awfulhak> PPP ON awfulhak> .Ed .Pp Ppp プロンプトは .Nm -が認証フェーズに入ったことを示します。PPp プロンプトは +が認証フェーズに入ったことを示します。 +PPp プロンプトは .Nm -がネットワークフェーズに入ったことを示します。PPP プロンプトは +がネットワークフェーズに入ったことを示します。 +PPP プロンプトは .Nm がネットワーク層プロトコルのネゴシエーションに成功し、 使用可能状態にあることを示します。 .Pp もし .Pa /etc/ppp/ppp.linkup が利用可能ならば、 .Em PPP 接続が確立された時に、その内容が実行されます。 接続が確立された後のバックグラウンドでのスクリプト実行については、 提供されている .Pa /usr/share/examples/ppp/ppp.conf.sample (使用可能な置換文字列については、後述の .Dq shell と .Dq bg を参照してください) の .Dq pmdemand の例を参照してください。 同様に、接続が閉じられると、 .Pa /etc/ppp/ppp.linkdown ファイルの内容が実行されます。 これらのファイルのフォーマットは .Pa /etc/ppp/ppp.conf と同じです。 .Pp 以前のバージョンの .Nm では、デフォルト経路のような経路は .Pa ppp.linkup ファイルで追加し直す必要がありました。 現在では .Nm は、 .Dv HISADDR , .Dv MYADDR , .Dv HISADDR6 , .Dv MYADDR6 が変化したときに、自動的にこれらの文字列を含むすべての経路を更新する .Sq スティッキ経路 をサポートします。 .Sh バックグラウンドダイヤル .Nm を使って非対話的に接続を確立したい場合 (例えば .Xr crontab 5 エントリや .Xr at 1 ジョブから使うような場合) には、 .Fl background オプションを使います。 .Fl background が指定された場合、 .Nm はすぐに接続を確立しようとします。 -複数の電話番号が指定された場合には、各電話番号が 1 回づつ試されます。 +複数の電話番号が指定された場合には、各電話番号が 1 回ずつ試されます。 これらに失敗すると、 .Nm は即座に終了し、0 でない終了コードを返します。 接続に成功すると .Nm はデーモンになり、呼び出し側に終了コード 0 を返します。 デーモンは、リモートシステムが接続を終了した場合、 もしくは .Dv TERM シグナルを受け取った場合に、自動的に終了します。 .Sh ダイヤルオンデマンド デマンドダイヤル機能は .Fl auto または .Fl ddial -オプションにて有効にされます。この場合にも +オプションにて有効にされます。 +この場合にも .Pa /etc/ppp/ppp.conf で定義された接続先のラベルを指定しなければなりません。 これには、リモート接続先の IP アドレスを指定するための .Dq set ifaddr -コマンドも書かれていなければなりません ( -.Pa /usr/share/examples/ppp/ppp.conf.sample +コマンドも書かれていなければなりません +.Pf ( Pa /usr/share/examples/ppp/ppp.conf.sample を参照してください)。 .Bd -literal -offset indent # ppp -auto pmdemand .Ed .Pp .Fl auto または .Fl ddial が指定された時に .Nm はデーモンとして動作しますが、 .Pa /etc/ppp/ppp.conf 中で .Dq set server コマンドを使うことで、設定を確認したり変更したりすることができます。 (たとえば、 .Dq Li "set server +3000 mypasswd" とすると) 次のように診断ポートを通じて接続することができます。 .Bd -literal -offset indent # pppctl 3000 (tun0 を仮定) Password: PPP ON awfulhak> show who tcp (127.0.0.1:1028) * .Ed .Pp .Dq show who コマンドは現在 .Nm -自身に接続しているユーザの一覧を表示します。診断ソケットが閉じられる、 +自身に接続しているユーザの一覧を表示します。 +診断ソケットが閉じられる、 もしくは異なるソケットに変更された場合、すべての接続は即座に終了します。 .Pp .Fl auto モードにて 送信パケットが検出された時、 .Nm は (チャットスクリプトに基づいて) ダイヤルを行い、 通信相手に接続しようとします。 .Fl ddial モードでは回線がダウンしていることが確認された場合にはいつでも ダイヤルが行われます。 接続に失敗したら、デフォルトの動作では 30 秒間待ってから、 別の送信パケットが検出された時に接続しようとします。 -.Pp この動作は .Dq set redial コマンドで変更できます。 .Pp .No set redial Ar secs Ns Xo .Oo + Ns Ar inc Ns .Op - Ns Ar max Ns .Oc Ns Op . Ns Ar next .Op Ar attempts .Xc .Pp .Bl -tag -width attempts -compact .It Ar secs は、再び接続しようとするまでの秒数です。 引数がリテラル文字列 .Sq Li random の場合には、待ち時間を 1 秒以上から 30 秒以下の間でランダムに選びます。 .It Ar inc は秒数であり、 新規にダイヤルするときに .Ar secs に加えられます。 このタイムアウト値が .Ar secs に戻るのは、接続が成功裏に確立した後だけです。 .Ar inc のデフォルト値は 0 です。 .It Ar max は、 .Nm が .Ar secs を増加させる最大回数です。 .Ar max のデフォルト値は 10 です。 .It Ar next -は電話番号リストの中の次の番号をダイヤルする前に待つ秒数です。( -.Dq set phone -コマンドを参照してください)。これのデフォルトは 3 秒です。 +は電話番号リストの中の次の番号をダイヤルする前に待つ秒数です。 +.Pf ( Dq set phone +コマンドを参照してください)。 +これのデフォルトは 3 秒です。 繰り返しますが、引数がリテラル文字列 .Sq Li random の場合には、待ち時間を 1 秒以上 30 秒以下の間でランダムに選びます。 .It Ar attempts は、受け取った個々の送信パケットに対して、最大何回接続を試みるのかを示す 数字です。 パラメータを省略すると、以前の値は変更されません。 .Ar attempts に 0 を指定すると、接続されるまで試みを続けます。 .El .Pp +例えば、 .Bd -literal -offset indent set redial 10.3 4 .Ed .Pp は個々の送信パケットに対して 4 回接続を試み、 番号間の待ち時間が 3 秒で、すべての番号を試した後に 10 秒待つことを表します。 複数の電話番号が指定されている場合でも、トータルのダイヤル回数は -4 回のままです。 (それぞれの番号を 4 回ダイヤルするのではありません)。 +4 回のままです。 +(それぞれの番号を 4 回ダイヤルするのではありません)。 .Pp 代りに、 .Pp .Bd -literal -offset indent set redial 10+10-5.3 20 .Ed .Pp は、 .Nm -に接続を 20 回試みさせます。最初の試みの後は、 +に接続を 20 回試みさせます。 +最初の試みの後は、 .Nm は 10 秒待ちます。 次の試みの後は 20 秒待ちということを、 6 番目の試みの後では 1 分待つところまで行います。 次の 14 回の停止は、同じ 1 分間となります。 .Nm が接続し、切断した後、再度接続に失敗した場合、 タイムアウト値は再度 10 秒から開始します。 .Pp リンクの両端が .Nm の .Fl auto ダイヤルモードを利用している場合は、 ダイヤル間隔を変更しておくのが良いでしょう。 もし、リンクの両端が同じタイムアウト時間に設定されていて、 リンクが切れて両方に送信待ちのパケットがあった場合、 両方が同時に相手を呼び出しあうことになってしまいます。 場所によっては、シリアルリンクに信頼性がなく、 切れるべきでない時にキャリアが失われるかもしれません。 セッションの途中で予期せずキャリアが失われた場合、 .Nm にリダイヤルさせることができます。 .Bd -literal -offset indent set reconnect timeout ntries .Ed .Pp このコマンドは、キャリアが失われた時に .Ar timeout 秒の間隔を置いて .Ar ntries 回まで接続を再確立するよう .Nm -に指示します。例えば、 +に指示します。 +例えば、 .Bd -literal -offset indent set reconnect 3 5 .Ed .Pp は、予期せぬキャリア喪失の際に .Ar 3 秒待ってから再接続を試みるように .Nm -に指示します。これは +に指示します。 +これは .Nm があきらめる前に .Ar 5 回まで行われます。 ntries のデフォルト値は 0 (再接続しない) です。 このオプションを使用する際には注意が必要です。 もしローカル側のタイムアウトがリモート側よりもわずかに長いと、 リモート側がタイムアウトにより回線を切断した場合に、 再接続機能が (指定した回数まで) 起動されてしまいます。 注: この文脈においては、多くの LQR を喪失するとキャリア喪失を引き起こし、 ひいては再接続を引き起こします。 .Fl background フラグが指定された場合、接続が行えるまで すべての電話番号が最大 1 回ダイヤルされます。 .Dq set redial コマンドにて、リダイヤル期間の後に、 再接続回数を指定します。 リダイヤル値が指定した電話番号数より少ない場合、 指定した電話番号で使用されないものが出来ます。 プログラムを終了させるには、次のように入力してください。 .Bd -literal -offset indent PPP ON awfulhak> close ppp ON awfulhak> quit all .Ed .Pp .Dq quit コマンドは .Xr pppctl 8 もしくは .Xr telnet 1 による接続を終了しますが、 プログラム自身は終了させません。 .Nm も終了させたい場合には、 .Dq quit all を実行してください。 .Sh PPP 接続の受け入れ (方法その 1) .Em PPP 接続要求を受け入れるには、次の手順にしたがってください。 .Bl -enum .It モデムと、 (必要であれば) .Pa /etc/rc.serial が正しく設定されていることを確認します。 .Bl -bullet -compact .It フロー制御にはハードウェアハンドシェイク (CTS/RTS) を使います。 .It モデムはエコーバックを行わず (ATE0)、コマンドの結果も報告しない (ATQ1) ように設定されていなければなりません。 .El .Pp .It モデムが接続されているポートで .Xr getty 8 が起動されるように .Pa /etc/ttys を編集します。 例えば、次のように設定すれば良いでしょう: .Pp .Dl ttyd1 Qo /usr/libexec/getty std.38400 Qc dialup on secure .Pp .Xr getty 8 を起動するために .Xr init 8 プロセスに .Dv HUP シグナルを送るのを 忘れないでください: .Pp .Dl # kill -HUP 1 .Pp 通常、あなたのモデムの DTR 速度を getty と同じに設定する必要があります: .Bd -literal -offset indent # ppp ppp ON awfulhak> set device /dev/cuaa1 ppp ON awfulhak> set speed 38400 ppp ON awfulhak> term deflink: Entering terminal mode on /dev/cuaa1 Type `~?' for help at OK at OK atz OK at OK ~. ppp ON awfulhak> quit .Ed .It .Pa /usr/local/bin/ppplogin ファイルを次のような内容で作成します: .Bd -literal -offset indent #!/bin/sh exec /usr/sbin/ppp -direct incoming .Ed .Pp ダイレクトモード .Pq Fl direct では、 .Nm -は標準入力と標準出力を使って動作します。クライアント動作の +は標準入力と標準出力を使って動作します。 +クライアント動作の .Nm と同様に、 .Xr pppctl 8 を使用することで、構成された診断ポートに接続可能です。 .Pp ここで .Pa /etc/ppp/ppp.conf 中の .Ar incoming セクションが設定されていなければなりません。 .Pp .Ar incoming セクションに適当な .Dq allow users コマンドがあることを確かめておいてください。 .It 受け入れるユーザのアカウントを用意してください。 .Bd -literal ppp:xxxx:66:66:PPP Login User:/home/ppp:/usr/local/bin/ppplogin .Ed .Pp 詳細は .Xr adduser 8 と .Xr vipw 8 のマニュアル項目を参照してください。 +.It .Dq accept dns および .Dq set nbns コマンドを使うことで IPCP によるドメインネームサーバと NetBIOS ネームサーバの ネゴシエーションを有効にすることが可能です。 下記の記述を参照してください。 .El .Sh PPP 接続の受け入れ (方法その 2) この方法は、 .Xr login 1 ではなく .Nm で接続の認証を行うという点が異なります。 .Bl -enum .It .Pa /etc/gettytab の default セクションに .Dq pp ケーパビリティを指定することで ppp を自動的に認識するように 設定してください。 .Bd -literal default:\\ :pp=/usr/local/bin/ppplogin:\\ ..... .Ed .It 上記の方法その 1 の最初の 3 手順と同じように、 シリアルデバイスを設定し、 .Xr getty 8 を有効にして、 .Pa /usr/local/bin/ppplogin を作成してください。 .It .Pa /etc/ppp/ppp.conf の .Sq incoming ラベル (もしくは .Pa ppplogin が用いるラベルならなんでも構いません) 下に .Dq enable chap か .Dq enable pap (もしくはその両方) を加えてください。 .It .Pa /etc/ppp/ppp.secret に、受け入れるユーザそれぞれについて、エントリを作成してください。 .Bd -literal Pfredxxxx Pgeorgeyyyy .Ed .El .Pp これで、 .Xr getty 8 は (HDLC フレームヘッダを認識することで) ppp 接続を検出すると、すぐに .Dq /usr/local/bin/ppplogin を実行します。 .Pp 上記のように PAP もしくは CHAP を有効にすることは .Em 必須 -です。そうしなければ、あらゆる人があなたのマシンにパスワード +です。 +そうしなければ、あらゆる人があなたのマシンにパスワード .Em なしに ppp セッションを確立することを許可し、 あらゆる種類の潜在的な攻撃に対して門戸を開いていることになります。 .Sh 内向き接続の認証 通常、接続の受信側は相手が相手自身を認証することを要求します。 これは通常 .Xr login 1 にて行われますが、代りに PAP か CHAP を使用可能です。 2 つのうちで CHAP の方がより安全ですが、 クライアントによってはサポートしていないものがあります。 どちらを使いたいか決めたら、 .Sq enable chap または .Sq enable pap を .Pa ppp.conf の適切なセクションに追加してください。 .Pp その後、 .Pa /etc/ppp/ppp.secret ファイルの設定を行う必要があります。 このファイルは、クライアントになりうるマシンごとに 1 行を含みます。 各行は 5 つまでのフィールドからなります: .Pp .Ar name Ar key Oo .Ar hisaddr Op Ar label Op Ar callback-number .Oc .Pp .Ar name と .Ar key は期待されるクライアントのユーザ名とパスワードを指定します。 .Ar key が .Dq \&* で PAP が使用される場合、 .Nm は認証時にパスワードデータベース .Pq Xr passwd 5 を検索します。 .Pa ppp.secret の如何なる -.Ar name Ns No / Ar key +.Ar name Ns No / Ns Ar key の組み合わせにおいても適切でない返答をクライアントが与える場合、 認証は失敗します。 .Pp 認証に成功したならば、 (指定時には) .Ar hisaddr -を IP 番号ネゴシエーション時に使用します。詳細は +を IP 番号ネゴシエーション時に使用します。 +詳細は .Dq set ifaddr コマンドを参照してください。 .Pp 認証に成功し .Ar label が指定された場合、現在のシステムラベルは .Ar label にマッチするように修正されます。 このことはファイル .Pa ppp.linkup と .Pa ppp.linkdown の後続のパーズに影響があります。 .Pp 認証に成功し .Ar callback-number が指定され .Dq set callback が .Pa ppp.conf で指定された場合、クライアントは指定された番号でコールバックされます。 CBCP が使用される場合、 .Dq set cbcp コマンドに渡すのと同様の形式で、 .Ar callback-number にもまた番号のリストまたは .Dq \&* を含むことが可能です。 この値は、 .Nm で後続する CBCP フェーズで使用します。 .Sh PPP オーバ TCP と PPP オーバ UDP (別名: トンネリング) シリアルリンク上以外の .Nm の使用方法として、 device にホストとポートを指定することにより、 TCP 接続を使用することが可能です: .Pp .Dl set device ui-gate:6669/tcp .Pp シリアルデバイスをオープンする代りに、 .Nm は指定されたマシンの指定されたソケットへの TCP 接続をオープンします。 .Nm は telnet プロトコルを使用しないこと、 telnet サーバとネゴシエーションできないことに注意を払うべきです。 受信マシン (ui-gate) 上に、 -この ppp 接続を受信するポートを設定する必要があります。まず +この +.Em PPP +接続を受信するポートを設定する必要があります。 +まず .Pa /etc/services を更新して、サービスを定義します: .Pp -.Dl ppp-in 6669/tcp # Incoming PPP connections over tcp +.Dl ppp-in 6669/tcp # Incoming PPP connections over TCP .Pp そして .Pa /etc/inetd.conf を更新して、このポートへの受信接続をどのように扱うかを .Xr inetd 8 に指示します: .Pp .Dl ppp-in stream tcp nowait root /usr/sbin/ppp ppp -direct ppp-in .Pp .Pa /etc/inetd.conf を更新した後には、 .Xr inetd 8 に .Dv HUP シグナルを送るのをお忘れなく。 ここではラベル名 .Dq ppp-in を使用します。 ui-gate (受信側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含みます: .Bd -literal -offset indent ppp-in: set timeout 0 set ifaddr 10.0.4.1 10.0.4.2 .Ed .Pp また、 .Pa /etc/ppp/ppp.linkup 中のエントリには、次のようなものを含まなくてはなりません。 .Bd -literal -offset indent ppp-in: add 10.0.1.0/24 HISADDR .Ed .Pp .Nm がネゴシエーションを行い、インタフェースにアドレスを割り当てて からだけしか経路を追加しないように、 .Pa ppp.linkup ファイル中には .Dq add コマンドを置く必要があります。 .Pp セキュリティのために PAP もしくは CHAP の設定をしたいかもしれません。 PAP を有効にするには次の行を追加します: .Bd -literal -offset indent enable PAP .Ed .Pp また、次のエントリを .Pa /etc/ppp/ppp.secret に作成する必要があります: .Bd -literal -offset indent MyAuthName MyAuthPasswd .Ed .Pp .Ar MyAuthPasswd が .Dq * の場合には、パスワードは .Xr passwd 5 データベースから検索されます。 .Pp awfulhak (起動側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含む必要があります: .Bd -literal -offset indent ui-gate: set escape 0xff set device ui-gate:ppp-in/tcp set dial set timeout 30 set log Phase Chat Connect hdlc LCP IPCP IPV6CP CCP tun set ifaddr 10.0.4.2 10.0.4.1 .Ed .Pp そして、 .Pa /etc/ppp/ppp.linkup ファイル中に経路の設定もつけます。 .Bd -literal -offset indent ui-gate: add 10.0.2.0/24 HISADDR .Ed .Pp PAP を有効にするのなら、 .Pa /etc/ppp/ppp.conf プロファイル中に、次のような設定も必要です。 .Bd -literal -offset indent set authname MyAuthName set authkey MyAuthKey .Ed .Pp 我々は、 ui-gate に 10.0.4.1 のアドレスを割り当て、 awfulhak に 10.0.4.2 のアドレスを割り当てようとしています。 接続をオープンするためには、次の内容をタイプするだけで良いです。 .Pp .Dl awfulhak # ppp -background ui-gate .Pp 結果として、 awfulhak にはネットワーク 10.0.2.0/24 への新たな「経路」が、 ui-gate にはネットワーク 10.0.1.0/24 への新たな「経路」が、 TCP 接続経由でそれぞれ作成されます。 ネットワークは実質的にブリッジされます - 下位レベルの TCP 接続はパブリックなネットワーク (例えばインターネット) を またがっても良いです。 -また 2 つのゲートウェイ間では ppp トラフィックは +また 2 つのゲートウェイ間では +.Em PPP +トラフィックは 概念的に TCP ストリーム中でカプセル化されます (パケットがパケットに対応するわけではありません)。 .Pp この機構の大きな欠点は、同時に 2 つの「配送保証」機構が存在することです - この 2 つとは、下位レベルの TCP ストリームと .Em PPP リンク上で使用されるプロトコルであり、おそらくまた TCP でしょう。 パケット喪失が起ると、両者はそれぞれの方法で喪失した パケットを再送しようと するでしょう。 .Pp このオーバヘッドを避けるために、 トランスポートとして TCP の代りに UDP を使用できます。 これは単にプロトコルを "tcp" から "udp" に変えるだけで可能です。 トランスポートとして UDP を使用するとき、 .Nm は同期モードで動作します。 入力データがパケットに再構成されないという、別の利点もあります。 .Pp このように、トンネルされた設定を通してデフォルトの経路を追加する ときには注意してください。 -デフォルトの経路 ( -.Pa /etc/ppp/ppp.linkup +デフォルトの経路 +.Pf ( Pa /etc/ppp/ppp.linkup に追加されます) が、最終的にはリンクのトンネル経由の TCP 接続を ルーティングすることになるのは良く起こることであり、 結果的に接続を狭めてしまうことになります。 これを避けるため、トンネル経由の接続の助けになるように、静的経路を 追加することを忘れないでください。 .Bd -literal -offset indent ui-gate: set escape 0xff set device ui-gate:ppp-in/tcp add ui-gate x.x.x.x ..... .Ed .Pp ここで、 .Dq x.x.x.x は、 .Dq ui-gate への経路が通常使用する IP アドレスです。 .Pp インターネットのような、公共のネットワークを通して接続を ルーティングさせる場合、データを暗号化する方が望ましいです。 MPPE プロトコルの助けを借りれば、それが可能になります。 しかし、現在のところ、MPPE が圧縮層として実装している (この点に関しては Microsoft 社に感謝します) ように、 トラフィックを圧縮することもできるというわけではありません。 MPPE 暗号化を有効にするには、次のような行をサーバ側の .Pa /etc/ppp/ppp.conf に追加してください。 .Bd -literal -offset indent enable MSCHAPv2 disable deflate pred1 deny deflate pred1 .Ed .Pp その際、 .Pa /etc/ppp/ppp.secret に必要なエントリを置いたことを確認してください -(MSCHAPv2 はチャレンジコードベースです。そのため、 +(MSCHAPv2 はチャレンジコードベースです。 +そのため、 .Xr passwd 5 は使用しません)。 .Pp MSCHAPv2 および MPPE はデフォルトで受け取ることができます。 ですので、クライアント側では、何も変更を加えなくても動くはずです (ですが、プロファイル中に .Dq set authname と .Dq set authkey があることは確認してください)。 .Sh ネットワークアドレス変換 (パケットエイリアシング) .Fl nat コマンドラインオプションにより、 ネットワークアドレス変換 (別名、パケットエイリアシング) が有効になります。 これにより、 .Nm ホストがローカルエリアネットワークの他のコンピュータに対して マスカレードゲートウェイとして動作するようになります。 送信される IP パケットは、まるで .Nm ホストから来たかのように NAT され、 受信パケットは、それがローカルエリアネットワークの正しいマシンに 送られるように NAT が戻されます。 NAT により、 未登録でプライベートなサブネット上のコンピュータを 外部から見えないようにしつつ、 インターネットへアクセス可能とします。 一般に、 .Nm が正しく動作していることの確認は、 まず最初にネットワークアドレス変換を禁止して行います。 次に .Fl nat オプションを有効にして、 .Nm ホストの上で (ウェブブラウザや .Xr telnet 1 , .Xr ftp 1 , .Xr ping 8 , .Xr traceroute 8 などの) ネットワークアプリケーションの動作を確認します。 最後に、LAN 上の別のコンピュータの上で同様なアプリケーションの 動作を確認することになります。 .Nm ホストではネットワークアプリケーションが正しく動作するのに、 LAN 上の別のコンピュータでは動かないのであれば、マスカレードソフトウェアは 正しく動いているけれども、ホストが IP パケットをフォワーディングしないか、 ひょっとするとパケットが送られて来ていないかのどちらかです。 .Pa /etc/rc.conf で IP フォワーディングが有効にされていることと、 他のコンピュータで .Nm ホストがその LAN のゲートウェイとして 指定されていることを確認してください。 .Sh パケットのフィルタリング この実装では、パケットのフィルタリングがサポートされています。 .Em in フィルタ、 .Em out フィルタ、 .Em dial フィルタ、そして .Em alive フィルタの 4 種類のフィルタがあります。 ここでは基本的なことについて書くことにします。 .Bl -bullet .It フィルタ定義は次のような構文になっています。 .Pp set filter .Ar name .Ar rule-no .Ar action .Op !\& .Oo .Op host .Ar src_addr Ns Op / Ns Ar width .Op Ar dst_addr Ns Op / Ns Ar width .Oc .Ar [ proto Op src Ar cmp port .Op dst Ar cmp port .Op estab .Op syn .Op finrst .Op timeout Ar secs ] .Bl -enum .It .Ar name は .Sq in , .Sq out , .Sq dial , .Sq alive のいずれかです。 .It .Ar rule-no は .Sq 0 から .Sq 39 までの数値で、ルール番号を指定します。 ルールは .Ar rule-no の番号順に指定されます。 ただしルール .Sq 0 が指定されている場合のみです。 .It .Ar action は .Sq permit , .Sq deny を指定可能であり、 あるパケットがこれらのルールに一致した場合、 結びつけられた action が直ちに実行されます。 また .Ar action には .Sq clear も指定可能です。 この場合、このルールに結びつけられた action をクリアします。 また .Ar action には、現在のルール番号よりも大きなルール番号を指定可能です。 この場合には、あるパケットが現在のルールに一致した場合、 (次のルール番号の代りに) この新しいルールに対して次にパケットが一致するかを確認します。 .Pp .Ar action にはエクスクラメーションマーク .Pq Dq !\& -を続けることが可能です。この場合、 +を続けることが可能です。 +この場合、 .Nm は後続する一致の意味を反転させます。 .It .Op Ar src_addr Ns Op / Ns Ar width と .Op Ar dst_addr Ns Op / Ns Ar width は始点と終点の IP アドレスです。 .Op / Ns Ar width が指定された場合には、それによって適切なネットマスクのビット値を与え、 アドレスの範囲を指定することができます。 .Pp .Ar src_addr と .Ar dst_addr には、 .Dv MYADDR , .Dv HISADDR , .Dv MYADDR6 または .Dv HISADDR6 という値を使用可能です (これらの値の解説は .Dq bg を参照してください)。 これらの値を使用した場合、これらの値が変化するたびにフィルタが更新されます。 これは、後述の .Dq add コマンドの動作と似ています。 .It .Ar proto は .Xr protocols 5 中の任意のプロトコルです。 .It .Ar cmp は .Sq \< , .Sq \&eq , .Sq \> -のうちいずれか 1 つです。それぞれ、より小さい、等しい、 +のうちいずれか 1 つです。 +それぞれ、より小さい、等しい、 より大きいを意味します。 .Ar port はポート番号で指定するか、 .Pa /etc/services のサービス名で指定することができます。 .It .Sq estab , .Sq syn , .Sq finrst フラグは .Ar proto が .Sq tcp に設定されているときにのみ許可され、それぞれ TH_ACK、TH_SYN、および TH_FIN もしくは TH_RST という TCP フラグを表わします。 .It タイムアウト値は、現在のアイドルタイムアウトを最低でも .Ar secs 秒へと修正します。 タイムアウトを、alive フィルタと in/out フィルタの両方で指定すると、 in/out での値が使用されます。 -タイムアウトを指定しないと、デフォルトタイムアウト ( -.Ic set timeout +タイムアウトを指定しないと、デフォルトタイムアウト +.Pf ( Ic set timeout を使用して設定するもので、デフォルトでは 180 秒になります) が使用されます。 .El .Pp .It 各フィルタはルール 0 から始まり、40 個までのルールをもつことができます。 規則のルールは、ルール 0 が定義されていなければ、有効にはなりません。 すなわち、デフォルトではすべてが通されます。 .It 定義されたルール集合中にマッチするものが無い場合、 パケットは破棄 (ブロック) されます。 フィルタにルールが存在しない場合、パケットは通過を許されます。 .It .Em PROTO_IP .Em PPP フレームヘッダを持つ UDP フレームに対しては、 ペイロードに基づいたフィルタリングを行なうことが可能です。 詳細については、後述の .Ar filter-decapsulation を参照してください。 .It すべての規則を消去するには、 .Dq set filter Ar name No -1 を使ってください。 .El .Pp .Pa /usr/share/examples/ppp/ppp.conf.sample . を参照してください。 .Sh アイドルタイマの設定 アイドルタイマを調べたり/設定するためには、それぞれ .Dq show bundle と .Dq set timeout コマンドを使ってください: .Bd -literal -offset indent ppp ON awfulhak> set timeout 600 .Ed .Pp -タイムアウト時間は秒数で指定します。デフォルト値は timeout が 180 秒 +タイムアウト時間は秒数で指定します。 +デフォルト値は timeout が 180 秒 (3 分) です。 アイドルタイマ機能を使わないようにするためには、 次のコマンドを利用してください。 .Bd -literal -offset indent ppp ON awfulhak> set timeout 0 .Ed .Pp .Fl ddial と .Fl dedicated モードではアイドルタイムアウトは無視されます。 .Fl auto モードでは、アイドルタイムアウトが発生すると .Nm プログラムは実行したままで .Em PPP -セッションを終了します。別の引金となるパケットがきた時に +セッションを終了します。 +別の引金となるパケットがきた時に リンクを再び確立しようとします。 .Sh Predictor-1 および DEFLATE 圧縮 .Nm は Predictor type 1 圧縮および deflate 圧縮をサポートしています。 デフォルトでは、 .Nm は、接続相手が同意 (あるいは要求) した場合に、 この機能を使おうと (もしくは受け入れようと) します。 .Nm は deflate プロトコルを優先します。 これらの機能を使用したくない時には .Dq disable と .Dq deny のコマンドを参照してください。 .Pp .Dq disable deflate か .Dq deny deflate の一方を使用することにより、 方向ごとに異ったアルゴリズムを使用することができます (接続相手が両方のプロトコルをサポートしていると仮定しています)。 .Pp デフォルトでは、DEFLATE についてネゴシエートするときには .Nm -はウィンドウサイズとして 15 を使います。この動作を変更したい場合には +はウィンドウサイズとして 15 を使います。 +この動作を変更したい場合には .Dq set deflate コマンドを参照してください。 .Pp デフォルトでは無効にされ受け付けませんが、DEFLATE24 と呼ばれる特殊な -アルゴリズムを使用することもできます。これは CCP ID 24 を +アルゴリズムを使用することもできます。 +これは CCP ID 24 を ネゴシエーションに使う点を除いては DEFLATE と完全に同じものです。 これを使用することで .Nm は .Nm pppd バージョン 2.3.* と DEFLATE ネゴシエーションを成功させることができます。 .Sh IP アドレスの制御 IPv4 では、 .Nm -は IP アドレスのネゴシエーションのために IPCP を使います。接続の両側は、自分が +は IP アドレスのネゴシエーションのために IPCP を使います。 +接続の両側は、自分が 使おうとするアドレスを提示し、要求された IP アドレスが受け入れ可能な ものであれば、相手に ACK (肯定応答) を返します。 受け入れることができなければ、別の IP アドレスの使用を促すために .Nm は相手に NAK (否定応答) を返します。 接続の両側が受け取った要求に同意し (ACK を送っ) た時、 IPCP はオープン状態にセットされ、ネットワーク層での接続が確立されます。 IPCP の動作を制御するために、この実装はローカルとリモートの IP アドレスを定義するための .Dq set ifaddr コマンドを持っています。 .Bd -ragged -offset indent .No set ifaddr Oo Ar src_addr Ns .Op / Ns Ar \&nn .Oo Ar dst_addr Ns Op / Ns Ar \&nn .Oo Ar netmask .Op Ar trigger_addr .Oc .Oc .Oc .Ed .Pp ここで、 .Sq src_addr はローカル側で使おうと思っている IP アドレスで、 .Sq dst_addr はリモート側が使用すべき IP アドレスです。 .Sq netmask は使用すべきネットマスクです。 .Sq src_addr のデフォルトは現在の .Xr hostname 1 のもの、 .Sq dst_addr のデフォルトは 0.0.0.0 であり、 .Sq netmask のデフォルトは .Sq src_addr に適したマスク値です。 .Sq netmask はデフォルトより小さくすることのみ可能です。 ほとんどのカーネルが POINTOPOINT インタフェースのネットマスクを 無視するので、便利な値は 255.255.255.255 でしょう。 .Pp 誤った .Em PPP の実装には、接続ネゴシエーションのために、 .Sq src_addr ではなく特別な IP アドレスを使用しなければならないものがあります。 この場合、 .Sq trigger_addr で指定した IP アドレスが使用されます。 相手がこの提案された番号に同意しない限り、経路表には影響しません。 .Bd -literal -offset indent set ifaddr 192.244.177.38 192.244.177.2 255.255.255.255 0.0.0.0 .Ed .Pp 上の例の意味は次の通りです: .Pp .Bl -bullet -compact .It 自分の IP アドレスとしてまず 0.0.0.0 を提案しますが、アドレス 192.244.177.38 のみは受け付けます。 .It 相手側のアドレスとして 192.244.177.2 を使うように要求し、 192.244.177.2 以外のどんなアドレスを使うことも許可しません。 相手側が別の IP アドレスを要求してきた時は、いつでも 192.244.177.2 を提案します。 .It 経路表のネットマスク値は 0xffffffff に設定されます。 .El .Pp これは、両側が既に決まった IP アドレスを持っている場合には うまくいきますが、多くの場合、一方がすべての IP アドレスを制御する サーバとして動作しており、もう一方はその方針に従います。 より柔軟な動作をさせるために、 .Dq set ifaddr コマンドで IP アドレス指定をもっと緩やかにすることが可能です: .Pp .Dl set ifaddr 192.244.177.38/24 192.244.177.2/20 .Pp スラッシュ .Pq Dq / に続く数字は、この IP アドレスで意味のあるビットの数を -表現しています。上の例は次のことを示しています。 +表現しています。 +上の例は次のことを示しています。 .Pp .Bl -bullet -compact .It 可能なら自分のアドレスとして 192.244.177.38 を使おうとしますが、 192.244.177.0 から 192.244.177.255 の間の任意の IP アドレスも受け入れます。 .It 相手のアドレスとして 192.244.177.2 を使うことを希望しますが、 192.244.176.0 から 192.244.191.255 の間の任意の IP アドレスも許可します。 .It すでにお気づきと思いますが、 192.244.177.2 は 192.244.177.2/32 と書くことと 等価です。 .It 例外として、0 は 0.0.0.0/0 と等価であり、希望する IP アドレスは 特に無く、リモート接続先の選択に従うことを意味します。 0 を使用した場合は、接続が確立するまで、経路表のエントリは まったく設定されません。 .It 192.244.177.2/0 は、どんな IP アドレスでも受け入れる/許可することを 意味しますが、最初に 192.244.177.2 を使うように提案します。 .El .Pp IPv6 アドレスのネゴシエーション時には、ユーザはなにも制御できません。 IPV6CP ネゴシエーションは完全自動です。 .Sh インターネットサービスプロバイダと接続する プロバイダに接続する際には、次のステップを踏む必要があるでしょう: .Bl -enum .It .Dq set phone コマンドを使って、ダイヤルスクリプトにプロバイダの電話番号を記述します。 ダイヤルやリダイヤルに使用する電話番号は、 パイプ .Pq Dq \&| またはコロン .Pq Dq \&: -で区切って複数指定することができます。例えば、次のようになります: +で区切って複数指定することができます。 +例えば、次のようになります: .Bd -ragged -offset indent .No set phone Ar telno Ns Xo .Oo \&| Ns Ar backupnumber .Oc Ns ... Ns Oo : Ns Ar nextnumber .Oc Ns ... .Xc .Ed .Pp 最初のパイプで区切られたリストの番号は、 直前の番号でダイヤルもしくはログインスクリプトが失敗した場合のみ使用されます。 コロンで区切られた番号は、直前の番号の使用によりなにが起ったのかにかかわらず、 -この順番で使用されます。例えば: +この順番で使用されます。 +例えば: .Bd -literal -offset indent set phone "1234567|2345678:3456789|4567890" .Ed .Pp この場合、まず 1234567 にダイヤルしてみます。 ダイヤルもしくはログインスクリプトに失敗したら、 次は 2345678 を使用します。 しかしこれはダイヤルもしくはログインスクリプトに失敗したとき *のみ* です。 このダイヤルの後、3456789 が使用されます。 4567890 は 345689 でダイヤルもしくはログインスクリプトに失敗したときのみ 使用されます。 2345678 のログインスクリプトが失敗したとしても、次の番号は 3456789 です。 必要な数だけ、パイプとコロンを使用可能です (しかし、通常はパイプのみかコロンのみであり両方の使用はないでしょう)。 次の番号へのリダイヤルまでのタイムアウトは、すべての番号にて使用されます。 リストが終了すると、 通常のリダイヤル期間だけ待ち、 最初から再開します。 .Dq set dial コマンドの \\\\T 文字列は選択された番号で置きかえられます。 (以降を参照してください)。 .It リダイヤルに関する設定は、 .Dq set redial で行います。 例えば回線の調子が悪かったり、 (最近では それほど多くないでしょうが) プロバイダがいつも話中だったりすると、 次のように設定したくなるかもしれません: .Bd -literal -offset indent set redial 10 4 .Ed .Pp これは最初の番号にリダイヤルを行う前に 10 秒待って、 4 回までダイヤルしてみるという意味になります。 .It .Dq set dial と .Dq set login コマンドを使ってログイン手続きを記述します。 .Dq set dial コマンドはモデムと通信してプロバイダへのリンクを確立するのに使われます。 例えば、次のようになります: .Bd -literal -offset indent set dial "ABORT BUSY ABORT NO\\\\sCARRIER TIMEOUT 4 \\"\\" \e ATZ OK-ATZ-OK ATDT\\\\T TIMEOUT 60 CONNECT" .Ed .Pp このモデム「チャット」文字列の意味は次の通りです。 .Bl -bullet .It \&"BUSY" または "NO CARRIER" を受信した場合には処理を中止します。 .It タイムアウトを 4 秒にセットします。 .It 文字列の受信待ちは行いません。 .It ATZ を送信します。 .It -OK の受信待ちを行います。もし 4 秒以内に受信できなければ、 +OK の受信待ちを行います。 +もし 4 秒以内に受信できなければ、 もう 1 度 ATZ を送信し、OK の受信待ちを行います。 .It -ATDTxxxxxxx を送信します。xxxxxxx は +ATDTxxxxxxx を送信します。 +xxxxxxx は 上記の電話番号リストの中の、次にダイヤルする番号です。 .It タイムアウトを 60 にセットします。 .It 文字列 CONNECT の受信待ちを行います。 .El .Pp 一旦接続が確立されると、ログインスクリプトが実行されます。 このスクリプトはダイヤルスクリプトと同じスタイルで書かれますが、 パスワードが記録されないように注意してください: .Bd -literal -offset indent set authkey MySecret set login "TIMEOUT 15 login:-\\\\r-login: awfulhak \e word: \\\\P ocol: PPP HELLO" .Ed .Pp このログイン「チャット」文字列の意味は次の通りです。 .Bl -bullet .It タイムアウトを 15 秒にセットします。 .It -\&"login:" の受信待ちを行います。もし受信できなければ +\&"login:" の受信待ちを行います。 +もし受信できなければ 復改文字を送信して、再び "login:" の受信待ちを行います。 .It \&"awfulhak" を送信します。 .It \&"word:" ("Password:" プロンプトの末尾) の受信待ちを行います。 .It .Ar authkey に現在設定されている値を送信します。 .It \&"ocol:" ("Protocol:" プロンプトの末尾) の受信待ちを行います。 .It \&"PPP" を送信します。 .It \&"HELLO" の受信待ちを行います。 .El .Pp .Dq set authkey コマンドのログは特別な方法でとられます。 .Ar command または .Ar chat のログが有効な時は、実際のパスワードは記録されません。 代りに .Sq ******** が記録されます。 .Pp ログインスクリプトはプロバイダによって大きく違うものになるでしょう。 初めてそれを設定するときには .Em チャットログを有効化 することで、あなたのスクリプトが予定通りに動いているかを 調べることができます。 .It シリアル回線と通信速度を指定するためには .Dq set device と .Dq set speed -を使います。例えば次のようになります。 +を使います。 +例えば次のようになります。 .Bd -literal -offset indent set device /dev/cuaa0 set speed 115200 .Ed .Pp .Fx では cuaa0 が 1 つめのシリアルポートになります。 .Ox で .Nm を実行している場合には cua00 が 1 つめです。 あなたのモデムが 28800 かそれ以上のビットレートで通信することが できるなら、シリアルポートの速度には 115200 を指定しておくべきでしょう。 一般に、シリアルポートの速度はモデムの速度の約 4 倍にしておきます。 .It .Dq set ifaddr コマンドで IP アドレスを定義します。 .Bl -bullet .It プロバイダがどの IP アドレスを使っているのか知っている場合には、 それをリモートアドレス (dst_addr) として使ってください。 知らない場合には、10.0.0.2/0 か何かを使ってください (以降を参照してください)。 .It 特定の IP アドレスをプロバイダから割り当てられている場合は、 それをローカルアドレス (src_addr) として使ってください。 .It プロバイダが IP アドレスを動的に割り当てる場合は、適当に控えめで 緩やかに記述した IP アドレスをローカルアドレスに選んでください。 10.0.0.1/0 が適切でしょう。 / に続く数値は、このアドレスのうち何ビットを重視しているかを示します。 もしもクラス C のネットワーク 1.2.3.0 上のアドレスを使うことを 主張したいのなら、1.2.3.1/24 と指定することができます。 .It プロバイダがあなたが提示した最初の IP 番号を受け付ける場合、 第 3, 4 の引数に .Dq 0.0.0.0 を指定してください。 これによりプロバイダが番号を割り当てます (3 つめの引数は、 .Sq src_addr に対してデフォルトのマスクよりも制約が緩いため、無視されます)。 .El .Pp 自分の IP アドレスもプロバイダの IP アドレスも 知らない場合には、次の例のようにするとよいでしょう。 .Bd -literal -offset indent set ifaddr 10.0.0.1/0 10.0.0.2/0 0.0.0.0 0.0.0.0 .Ed .Pp .It ほとんどの場合、プロバイダはデフォルトルータでもあるでしょう。 -この場合、次の行を +この場合、次の行 +.Bd -literal -offset indent +add default HISADDR +.Ed +.Pp +を .Pa /etc/ppp/ppp.conf .Fl ( auto モードを使用しない設定の場合には .Pa /etc/ppp/ppp.linkup ) に追加します。 -.Bd -literal -offset indent -add default HISADDR -.Ed .Pp これは、 .Nm 接続先のアドレスが何であっても (この例では 10.0.0.2) デフォルト経路として追加するように指示します。 この経路は .Sq スティッキ -です。これは +です。 +これは .Dv HISADDR の値が変わると、経路もそれに従って自動的に更新されるという意味です。 .It プロバイダが PAP/CHAP による認証を要求している場合は、 .Pa /etc/ppp/ppp.conf ファイルに次の行を追加してください: .Bd -literal -offset indent set authname MyName set authkey MyPassword .Ed .Pp デフォルトではどちらも受け付けられますので、ISP が何を要求しても大丈夫です。 .Pp PAP もしくは CHAP を使用する場合、ログインスクリプトはほとんどの場合、 必要とされないことを記述しておくべきでしょう。 .It 次のような行を加え、ISP にネームサーバアドレスを確認してください。 .Bd -literal -offset indent enable dns .Ed .Pp ローカル DNS を走らせている場合には、 .Dq resolv readonly を使わず、かつ、 .Dq resolv restore を .Pa /etc/ppp/ppp.linkdown に含めていないならば、 これを .Em やらない でください。 .Nm は単純に .Pa /etc/resolv.conf に nameserver 行を入れることで、ローカル DNS の使用を 出し抜いてしまうからです。 .El .Pp 現実の例を見たい場合には、 .Pa /usr/share/examples/ppp/ppp.conf.sample と .Pa /usr/share/examples/ppp/ppp.linkup.sample を参照してください。 ラベル pmdemand は、ほとんどのプロバイダで使用できるでしょう。 .Sh ログ機能 .Nm は次のログ情報を、 .Xr syslog 3 経由で、もしくはスクリーンに出力することができます: .Pp .Bl -tag -width XXXXXXXXX -offset XXX -compact .It Li All ロギング用ファシリティをすべて有効にします。 この場合、ログがたくさんできます。 `all' の最も一般的な使い方は、共通部分として使うことです。 この場合、すべてのファシリティを有効にしたあとで一部の ファシリティを削ったりします (`debug' や `timer' が通常は無効にするのに最適な ファシリティです)。 .It Li Async 非同期レベルパケットの 16 進ダンプ。 .It Li CBCP CBCP (CallBack Control Protocol) ログの生成。 .It Li CCP CCP パケットトレースの生成。 .It Li Chat .Sq dial , .Sq login , .Sq logout , .Sq hangup のチャットスクリプトのトレースログの生成。 .It Li Command コマンド実行のログ。 .It Li Connect 文字列 "CONNECT" を含むチャット行のログ。 .It Li Debug デバッグ情報のログ。 .It Li DNS DNS QUERY パケットのログ。 .It Li Filter ダイヤルフィルタに許可され、他のフィルタに拒否されたパケットのログ。 .It Li HDLC HDLC パケットの 16 進ダンプ。 .It Li ID0 ユーザ ID 0 で実行された全関数呼び出しを詳細に記録。 .It Li IPCP IPCP パケットトレースの生成。 .It Li LCP LCP パケットトレースの生成。 .It Li LQM LQR レポートの生成。 .It Li Phase フェーズ遷移ログの出力。 .It Li Physical 物理レベルパケットの 16 進ダンプ。 .It Li Radius RADIUS 情報のダンプ。 .Dq Radius のログが有効になっていない場合、リンクのアップ・ダウンから来る RADIUS 情報のログを .Dq Phase レベルで採ります。 このログレベルは RADIUS の動作中の情報を監視するのに最も有用です。 .It Li Sync 同期レベルパケットの 16 進ダンプ。 .It Li TCP/IP 全 TCP/IP パケットのダンプ。 .It Li Timer タイマ操作のログ。 .It Li TUN ログの各行に tun デバイスを含めます .It Li Warning -端末デバイスへの出力。端末が存在しない場合は、 +端末デバイスへの出力。 +端末が存在しない場合は、 .Dv LOG_WARNING を使用してログファイルに送ります。 .It Li Error 端末デバイスとログファイルへの出力で、 .Dv LOG_ERROR を使用します。 .It Li Alert ログファイルへの出力で、 .Dv LOG_ALERT を使用します。 .El .Pp .Dq set log コマンドで、ログの出力レベルを設定することができます。 また、複数のレベルを単一コマンドラインにて指定することも可能です。 デフォルトは、 .Dq set log Phase です。 .Pp スクリーンに直接ログを表示することも可能です。 文法は同じで、語 .Dq local が .Dq set log の直後に付くことだけが違います。 デフォルトは .Dq set log local (つまり、マスクされない警告、エラーと注意のみ出力) です。 .Pp .Dq set log Op local への最初の引数が .Sq + か .Sq - -の文字で始まる場合、現在のログレベルを消去せずに修正します。例えば: +の文字で始まる場合、現在のログレベルを消去せずに修正します。 +例えば: .Bd -literal -offset indent PPP ON awfulhak> set log phase PPP ON awfulhak> show log Log: Phase Warning Error Alert Local: Warning Error Alert PPP ON awfulhak> set log +tcp/ip -warning PPP ON awfulhak> set log local +command PPP ON awfulhak> show log Log: Phase TCP/IP Warning Error Alert Local: Command Warning Error Alert .Ed .Pp レベル Warning, Error, Alert のメッセージログは .Dq set log Op local では制御できません。 .Pp .Ar Warning レベルは特別で、ローカルに表示可能な場合には記録されません。 .Sh シグナルハンドリング .Nm は次のシグナルを扱います: .Bl -tag -width "USR2" .It INT このシグナルを受信すると、現在の接続がもしあればそれを終了します。 .Fl auto もしくは .Fl ddial のモードではない場合、 .Nm は終了します。 .It HUP, TERM, QUIT .Nm を終了させます。 .It USR1 .Nm に既存のサーバソケットを再度オープンさせ、すべての既存の診断ポートへの接続を 取り下げます。 以前にオープン出来なかったソケットは、再度試されます。 .It USR2 .Nm に全サーバソケットを閉じさせ、すべての既存の診断ポートへの接続を 取り下げます。 再度オープンするためには、 .Dv SIGUSR1 が使用できます。 .El .Sh マルチリンク PPP .Em PPP 相手に接続するのに複数の物理的なリンクを利用したいなら、 接続相手も .Em マルチリンク PPP プロトコルを理解する必要があります。 仕様の詳細は RFC 1990 を参照してください。 .Pp 接続先は、 .Dq 終点の選択 とその .Dq 認証 ID の組み合わせによって識別されます。 これらの一方、もしくは両方を指定することができます。 最低でも片方は指定しておくことが推奨されます。 そうでないと、すべてのリンクが実際に同一のプログラムに接続されていることを 確認する方法がなくなり、 混乱してロックアップを引き起こすことがあります。 ローカルには、これらの識別変数は .Dq set enddisc と .Dq set authname -コマンドを用いることで指定されます。先立って接続相手と +コマンドを用いることで指定されます。 +先立って接続相手と .Sq authname (と .Sq authkey ) について合意しておく必要があります。 .Pp マルチリンクの能力は .Dq set mrru コマンド (set maximum reconstructed receive unit) を用いることで -有効になります。一度マルチリンクが有効になれば、 +有効になります。 +一度マルチリンクが有効になれば、 .Nm は接続相手とマルチリンク接続のネゴシエーションを行います。 .Pp -デフォルトでは ( -.Sq deflink +デフォルトでは +.Pf ( Sq deflink と呼ばれる) ただ 1 つの .Sq リンク -のみが有効です。さらにリンクを作成するには +のみが有効です。 +さらにリンクを作成するには .Dq clone -コマンドが使われます。このコマンドは既存のリンクを複製します。 +コマンドが使われます。 +このコマンドは既存のリンクを複製します。 それは次の点を除いてすべての性質が同じものです: .Bl -enum .It 新しいリンクは .Dq clone コマンドラインで指定された独自の名前を持ちます。 .It 新しいリンクは .Sq interactive -リンクです。そのモードは次の +リンクです。 +そのモードは次の .Dq set mode コマンドで変更することができます。 .It 新しいリンクは .Sq closed の状態にあります。 .El .Pp すべての有効なリンクのまとめは、 .Dq show links コマンドを用いて見ることができます。 .Pp 一度リンクが作成されると、コマンドの使用方法が変わります。 すべてのリンク固有のコマンドの前には、 .Dq link Ar name プレフィックスをつけて、 コマンドを適用するリンクを指定する必要があります。 .Nm は十分賢いので、 利用可能なリンクが 1 つだけの場合には、 .Dq link Ar name プレフィックスは不要です。 .Pp コマンドの中には依然としてリンクの指定なしに使用できるものがあり、それは .Sq バンドル -レベルの操作を行います。たとえば、2 つ以上のリンクが存在するとき +レベルの操作を行います。 +たとえば、2 つ以上のリンクが存在するとき .Dq show ccp はマルチリンクレベルの CPP 設定と統計を表示し .Dq link deflink show ccp は .Dq deflink のリンクレベルの同じ情報を表示します。 .Pp これらの情報を用いて、次の設定を用いることができます: .Pp .Bd -literal -offset indent mp: set timeout 0 set log phase chat set device /dev/cuaa0 /dev/cuaa1 /dev/cuaa2 set phone "123456789" set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \\"\\" ATZ \e OK-AT-OK \\\\dATDT\\\\T TIMEOUT 45 CONNECT" set login set ifaddr 10.0.0.1/0 10.0.0.2/0 0.0.0.0 0.0.0.0 set authname ppp set authkey ppppassword + set mrru 1500 clone 1,2,3 # 3 個の新規リンクを作成 - デフォルトを複製 link deflink remove # デフォルトリンクを削除 (``deflink'' という名前) .Ed .Pp すべての複製が設定の最後で行われていることに注意してください。 一般にはリンクは最初に設定され、そして複製されます。 あなたが常にすべてのリンクがアップ状態であることを望む場合には、 設定の最後に次の行を追加することができます。 .Pp .Bd -literal -offset indent link 1,2,3 set mode ddial .Ed .Pp リンクが必要に応じてダイヤルされることを望む場合には、次のコマンドを 使うことができます。 .Pp .Bd -literal -offset indent link * set mode auto .Ed .Pp 上記の .Dq set device 行を取り除き、 .Dq clone コマンドに続けて次の内容を指定することで、 リンクを特定の名前に結びつけることもできます: .Pp .Bd -literal -offset indent link 1 set device /dev/cuaa0 link 2 set device /dev/cuaa1 link 3 set device /dev/cuaa2 .Ed .Pp -どのコマンドが ( -.Dq link +どのコマンドが +.Pf ( Dq link コマンドを使用した) コンテキスト (文脈) を要求し、 どのコマンドがコンテキストをオプションとし、 そしてどのコマンドがコンテキストを一切とらないかを調べるには、 .Dq help コマンドを使用します。 .Pp .Nm が接続相手と .Em マルチリンク モードでネゴシエートすると、 .Nm はローカルドメインソケットを .Pa /var/run -ディレクトリに作成します。このソケットは、 +ディレクトリに作成します。 +このソケットは、 リンク情報 (実際のリンクファイル記述子も含む) を、異なる .Nm の間で受け渡しするために使われます。 この機能によって、 .Nm はシリアル回線の初期制御を行う必要なしに .Xr getty 8 から、もしくは直接 .Pa /etc/gettydefs -から ( -.Sq pp= +から +.Pf ( Sq pp= ケーパビリティを用いて) 実行することが可能となっています。 ひとたび .Nm がマルチリンクモードのネゴシエーションを行うと、 .Nm は自分がオープンした リンクをすでに実行されている任意の他のプロセスに渡すことができます。 すでに実行されているプロセスがない場合、 .Nm はマスタとして振る舞い、ソケットを作成し、新たな接続を待ちます。 .Sh PPP コマンドリスト この節では利用可能コマンドとその効果をリストします。 .Nm セッションで対話的に使用することも、 設定ファイルで指定することも、 .Xr pppctl 8 もしくは .Xr telnet 1 セッションで指定することも可能です。 -.Bl -tag -width 2h +.Bl -tag -width 2n .It accept|deny|enable|disable Ar option.... これらのディレクティブは 最初の接続においてどのように相手とネゴシエートするかを .Nm -に指示します。各 +に指示します。 +各 .Dq option は、accept/deny および enable/disable のデフォルトを持ちます。 .Dq accept は相手がこのオプションを要求したら、ACK を送ることを意味します。 .Dq deny は相手がこのオプションを要求したら、NAK を送ることを意味します。 .Dq enable はこのオプションを当方が要求することを意味します。 .Dq disable はこのオプションを当方が要求しないことを意味します。 .Pp .Dq option は次のいずれかです: -.Bl -tag -width 2h +.Bl -tag -width 2n .It acfcomp デフォルト: enable かつ accept。 ACFComp はアドレスおよびコントロールフィールド圧縮 (Address and Control Field Compression) を意味します。 LCP パケット以外は通常、 アドレスフィールド 0xff (全ステーションアドレス) と 制御フィールド 0x03 (番号付けされていない情報コマンド) を持ちます。 このオプションがネゴシエートされると、これらの 2 バイトは単に送信されなくなり、 流量が少なくなります。 .Pp 詳細は .Pa rfc1662 を参照してください。 .It chap Ns Op \&05 デフォルト: disable かつ accept。 CHAP はチャレンジ交換認証プロトコル (Challenge Handshake Authentication Protocol) を意味します。 CHAP もしくは PAP (後述) のどちらか一方のみネゴシエーション可能です。 CHAP では、認証者は「チャレンジ」メッセージを相手に送ります。 相手は一方向ハッシュ関数を使用して「チャレンジ」を暗号化し、 結果を送り返します。 認証者は同じことを行い結果を比較します。 この機構の利点は、接続を介してパスワードを送らないことです。 接続が最初に確立する時にチャレンジが行われます。 更なるチャレンジが行われるかもしれません。 相手の認証を行いたい場合は、 .Dq enable chap を .Pa /etc/ppp/ppp.conf に書き、相手のエントリを .Pa /etc/ppp/ppp.secret に書く必要があります。 .Pp クライアントとして CHAP を使用する場合、 .Dq AuthName と .Dq AuthKey を .Pa /etc/ppp/ppp.conf に指定するだけで良いです。 CHAP はデフォルトで accept されます。 .Em PPP の実装によっては、チャレンジの暗号化に MD5 ではなく "MS-CHAP" を使用するものがあります。 -MS-CHAP は MD4 と DES の組み合わせです。もし +MS-CHAP は MD4 と DES の組み合わせです。 +もし .Nm が DES ライブラリの存在するマシン上で構築された場合 MS-CHAP 認証要求に応答しますが、要求はしません。 .It deflate デフォルト: enable かつ accept。 このオプションは圧縮制御プロトコル (Compression Control Protocol; CCP) に deflate 圧縮を使用するか否かを決定します。 使用されるアルゴリズムは .Xr gzip 1 プログラムが使用するものと同じです。 注: .Xr pppd 8 - 多くのオペレーティングシステムで使用可能な .Em PPP の実装 - との .Ar deflate 能力についてのネゴシエーションには問題があります。 .Nm pppd (バージョン 2.3.1) が .Ar deflate 圧縮のネゴシエーションを行おうとする CCP コンフィギュレーションタイプは、 .Pa rfc1979 に規定されたタイプ .Em 26 ではなくタイプ .Em 24 であり、誤っています。 タイプ .Ar 24 は実際には .Pa rfc1975 では .Dq PPP Magna-link Variable Resource Compression と指定されています! .Nm は .Nm pppd とネゴシエートする能力がありますが、 .Dq deflate24 が .Ar enable かつ .Ar accept されている場合のみです。 .It deflate24 デフォルト: disable かつ deny。 これは .Ar deflate のバリエーションで、 .Xr pppd 8 プログラムとのネゴシエーションを許可します。 詳細は上記の .Ar deflate セクションを参照してください。 これは .Pa rfc1975 に反するため、デフォルトでは disable となっています。 .It dns デフォルト: disable かつ deny。 このオプションは DNS ネゴシエーションを許可します。 .Pp .Dq enable にすることにより、 .Nm は接続相手が .Pa /etc/resolv.conf ファイルのエントリを確認することを要求します。 もし接続相手が当方の要求に否定応答をした場合 (新しい IP アドレスを 提案したら)、 .Pa /etc/resolv.conf ファイルは更新され、新しいエントリを確認するように要求を送ります。 .Pp .Dq accept にすることにより、 .Nm は接続相手からの DNS 検索要求を拒否せずに、返答します。 .Dq set dns コマンドの使用によって上書きされていない場合には、応答は .Pa /etc/resolv.conf から採られます。 .It enddisc デフォルト: enable かつ accept。 このオプションは、終点選択値をネゴシエートするか否かを制御します。 .Dq set enddisc が使用され .Ar enddisc が enable の場合のみ、当方の選択値を送ります。 .Ar enddisc が disable の場合、相手の選択値を拒否します。 .It LANMan|chap80lm デフォルト: disable かつ accept。 この認証プロトコルの使用は勧められません。 単一の CHAP タイプ (0x80) を装って、 2 つの異った機構 (LANMan と NT) を実装することにより、 部分的に認証プロトコルを侵害しているからです。 .Dq LANMan は単純な DES 暗号化機構を使用するものであり、 CHAP 代替としては最低の安全性のものです (それでも PAP よりは安全です)。 .Pp 更なる詳細は後述の .Dq MSChap の記述を参照してください。 .It lqr デフォルト: disable かつ accept。 このオプションはリンク品質要求 (Link Quality Request) を送信する、 もしくは受け入れるかどうかを決定します。 LQR は、モデムのキャリア検出を使用せずに、リンクダウンを .Nm に決定させるプロトコルです。 LQR が enable になっていると、 .Nm は LCP 要求の一部として .Em QUALPROTO オプション (後述の .Dq set lqrperiod を参照) を送ります。 接続相手が同意した場合、両端は同意した間隔で LQR パケットを交換し、 LQM ロギングを有効にすることで、詳細なリンク品質を監視することが 可能になります。 -接続相手が同意しなかった場合、 -.Nm -は代りに ECHO LQR 要求を -送ります。これらのパケットは興味ある情報を何も渡しませんが、 +接続相手が同意せず、 +.Dq echo +オプションが有効だった場合、 +.Nm +は代りに +.Em LCP ECHO +要求を送ります。 +これらのパケットは興味ある情報を何も渡しませんが、 .Em 必ず 接続相手に応答しなければなりません。 .Pp -LQR, ECHO LQR のいずれを用いるにせよ、 +.Em LQR +か +.Em LCP ECHO +のいずれを用いるにせよ、 .Nm は 5 つのパケットを送ったが確認応答が無い場合、6 つ目のパケットを送らずに 回線を切断します。 メッセージを .Em PHASE レベルで記録し、回線切断の原因が接続相手にあるものとして、適当な .Dq reconnect 値を使用します。 +.Pp +.Nm +バージョン 3.4.2 以前のものとの振舞いの違いについては. +.Dq enable echo +コマンドの解説を参照して下さい。 .It mppe デフォルト: enable かつ accept。 これは、Microsoft 社の Point to Point 暗号化機構です。 MPPE の鍵のサイズは、40, 56, 128 ビットです。 .Dq set mppe コマンドを参照してください。 .It MSChapV2|chap81 デフォルト: disable かつ accept。 標準 CHAP (タイプ 0x05) と非常に似ていますが、長さ 16 バイト固定の チャレンジコードを送ることと、チャレンジコードを暗号化するのに、 標準の MD5 機構ではなく MD4, SHA-1 そして DES を混合して使用する 点が異なります。 .It MSChap|chap80nt デフォルト: disable かつ accept。 この認証プロトコルの使用は勧められません。 単一の CHAP タイプ (0x80) を装って、 2 つの異った機構 (LANMan と NT) を実装することにより、 部分的に認証プロトコルを侵害しているからです。 標準の CHAP (タイプ 0x05) に非常に良く似ていますが、 チャレンジを固定 8 バイト長で発行し、 標準の MD5 機構ではなく MD4 と DES を組み合わせてチャレンジを暗号化するところが違います。 LANman 用の CHAP タイプ 0x80 もまたサポートされています - 詳細は .Dq enable LANMan を参照してください。 .Pp .Dq LANMan と .Dq NT の両方が CHAP タイプ 0x80 を使用しますので、両方を .Dq enable にして認証者として動作するときには、 相手が誤った方のプロトコルを使用して応答した場合には、 .Nm は最大 3 回相手に再チャレンジします。 これにより、相手が両方のプロトコルを使用する機会を与えます。 .Pp 逆に、両プロトコルを -.Dq enable +.Dq accept にして .Nm が被認証者となる場合、チャレンジに答えるたびに使用プロトコルを交換します。 .Pp 注: LANMan のみが enable にされた場合、 .Xr pppd 8 (バージョン 2.3.5) は被認証者としては誤った動作を行います。 NT と LANMan の両方の応答を行いますが、 NT の応答のみ使用すべきことも指示してしまうのです。 .It pap デフォルト: disable かつ accept。 PAP はパスワード認証プロトコル (Password Authentication Protocol) を 意味します。 CHAP (前述) もしくは PAP のどちらか一方のみネゴシエーション可能です。 PAP では、ID とパスワードが相手に送られ続け、 認証されるか接続が終了されるまでこれが続きます。 これは比較的良くないセキュリティ機構です。 接続が最初に確立した時のみ実行可能です。 相手の認証を行いたい場合は、 .Dq enable pap を .Pa /etc/ppp/ppp.conf に書き、相手のエントリを -.Pa /etc/ppp.secret +.Pa /etc/ppp/ppp.secret に書く必要があります (ただし、後述の .Dq passwdauth と .Dq set radius オプションを参照)。 .Pp クライアントとして PAP を使用する場合、 .Dq AuthName と .Dq AuthKey を .Pa /etc/ppp/ppp.conf に指定するだけで良いです。 PAP はデフォルトで accept されます。 .It pred1 デフォルト: enable かつ accept。 このオプションは圧縮制御プロトコル (Compression Control Protocol; CCP) に Predictor 1 圧縮を使用するかどうかを決定します。 .It protocomp デフォルト: enable かつ accept。 このオプションは PFC (プロトコルフィールド圧縮) のネゴシエートするために使用されます。 この機構により、 プロトコルフィールド数が 2 オクテットから 1 オクテットに減ります。 .It shortseq デフォルト: enable かつ accept。 このオプションは .Nm がマルチリンクモードのネゴシエーション時に (12 ビットの) 短いシーケンス番号を要求し、そして受け入れるかどうかを決定します。 これは、当方の MMRU が設定されたときのみ (マルチリンクが有効になっているときのみ) 適用されます。 .It vjcomp デフォルト: enable かつ accept。 このオプションは Van Jacobson ヘッダ圧縮を使用するかどうかを決定します。 .El .Pp 次に示すオプションは、実際には相手とネゴシエートしません。 それゆえ accept および deny は意味を持ちません。 -.Bl -tag -width 20 +.Bl -tag -width 2n +.It echo +デフォルト: disable。 +本オプションを enable にすると、 +.Nm +は +.Dq echoperiod +で定義された頻度で相手に +.Em LCP ECHO +要求を送信します。 +.Em LQR +要求が enable でありネゴシエートされていれば、 +.Em LCP ECHO +要求に取って代わることに注意して下さい。 +詳細は下記の +.Dq set lqrperiod +を参照して下さい。 +.Pp +.Nm +バージョン 3.4.2 以前は、 +.Dq echo +は lqr が enable でありネゴシエートされていれば enable と見なされ、 +そうでなければ disable と見なされていました。 +同様の動作をさせるには、 +.Dq enable lqr +ではなく、今では +.Dq enable lqr echo +とする必要があります。 .It filter-decapsulation デフォルト: disable。 本オプションを enable にすると、 .Nm は UDP フレームを検査し、 .Em PPP フレームをペイロードとして持っているか否かを見ます。 これが真である場合、パケット自身に対してではなく、ペイロードに対して、 すべてのフィルタを適用します。 .Pp .Em PPP リンク上で PPPoUDP トラフィックを送りたい場合で、 UDP ラッパではなく、 実際のデータに基いて賢いことをリンクにやらせたい場合に有用です。 .Pp UDP フレームのペイロードは、如何なる方法であっても圧縮してはなりません。 圧縮した場合には、 .Nm はペイロードを解釈できません。 ですから、UDP リンクに対する .Nm の起動の際には、設定中で .Ic disable vj pred1 deflate と .Ic deny vj pred1 deflate を行なうことを推奨します。 .It force-scripts 設定済みのチャットスクリプトを、 .Dv direct および .Dv dedicated のモードでも実行することを強制します。 .It idcheck デフォルト: enable。 低レベルな LCP, CCP, IPCP 設定トラフィックを交換するときに、 -すべての応答の識別子フィールドはその要求の識別子フィールドと -同一であることが予定されています。デフォルトでは +すべての応答の +.Em 識別子 +フィールドはその要求の識別子フィールドと +同一であることが予定されています。 +デフォルトでは .Nm は予定された識別子フィールドを持たないすべての応答パケットを -捨て、それぞれのログレベルで報告します。もし +捨て、それぞれのログレベルで報告します。 +もし .Ar idcheck が disable になっている場合、 .Nm は識別子フィールドを無視します。 .It iface-alias デフォルト: .Fl nat が指定された場合 enable。 このオプションは、 インタフェースのアドレスを交換するのではなく、 インタフェースに新規アドレスを追加するように、 .Nm に指示します。 ネットワークアドレス変換が有効な場合のみ .Pq Dq nat enable yes 、本オプションを enable にできます。 .Pp 本オプションを enable にすると、 .Nm は古いインタフェースアドレスのトラフィックを NAT エンジン -.Pq Xr libalias 3 参照 -を通すようになり、( -.Fl auto +.Xr ( libalias 3 +参照) +を通すようになり、 +.Pf ( Fl auto モードでは) 最初に PPP リンクを立ち上げたプロセスが正しく接続できるようにします。 .Pp .Dq nat enable no として NAT を disable すると、 .Sq iface-alias も disable します。 .It ipcp デフォルト: enable。 本オプションは、 .Nm が IP 制御プロトコルケーパビリティを試み、 これが成功したときには IP データグラムを相手と交換することを許可します。 .It ipv6cp デフォルト: enable。 本オプションは、 .Nm が IPv6 制御プロトコルケーパビリティを試み、 これが成功したときには IPv6 データグラムを相手と交換することを許可します。 .It keep-session デフォルト: disable。 .Nm がマルチリンクサーバとして動作するとき、別の .Nm インスタンスが最初に各接続を受け付けます。 リンクが (別の .Nm によって制御されている) 既存のバンドルに属すと判定すると、 .Nm はこのリンクを当該別プロセスへ移管します。 .Pp リンクが tty デバイスである場合かこのオプションが enable されている場合、 .Nm は終了せず、自己のプロセス名を .Dq session owner に変え、リンクを制御する方の .Nm が処理を完了してアイドルプロセスの方へシグナルを返すまで待ちます。 リンク資源が再利用可能であると .Nm の親がみなす結果により生じる混乱を、これにより防ぎます。 .Pp .Pa /etc/ttys にエントリがある tty デバイスの場合、別の .Xr getty 8 の開始を防ぐために、これが必要です。 .Xr sshd 8 のようなプログラムリンクの場合、子供の死による .Xr sshd 8 の終了を防ぐために、これが必要です。 .Nm は親の要件を判断できませんので (tty の場合を除く)、 状況に応じて手動で本オプションを設定する必要があります。 .It loopback デフォルト: enable。 .Ar loopback が enable の場合、 .Nm は自動的に .Em PPP インタフェースと同じ終点アドレス宛に送出されたパケットを ループバックします。 disable の場合、 .Nm がパケットを送ると、おそらく他の終点からの ICMP リダイレクトとなります。 インタフェースがデフォルト経路であるため、 ループバック経路を必要とすることを避けたい場合、 このオプションを enable にすると便利です。 +.It NAS-IP-Address +デフォルト: enable。 +このオプションは、RADIUS が使われている場合、 +.Nm +が RADIUS サーバへ +.Dq NAS-IP-Address +属性を送信するかどうか制御します。 +.Po +.Dq set radius +を参照して下さい +.Pc +.Pp +少なくとも +.Dq NAS-IP-Address +と +.Dq NAS-Identifier +の 1 つが enable になっていなければならないことに注意して下さい。 +.Pp +.Nm +の 3.4.1 以前のバージョンでは、Radiator RADIUS サーバを壊してしまうことが +報告されたように、 +.Dq NAS-IP-Address +属性を送信しませんでした。 +最新の rfc (2865) では (rfc 2138 にはあったのですが) +.Dq NAS-IP-Address +と +.Dq NAS-Identifier +の一方だけを送信すべきことに関して一切触れられていません。 +.Nm +は今では両方を送信し、 +.Dq disable NAS-IP-Address +として間違った RADIUS 実装を使うことを選択するかどうかは管理者に任せています。 +.It NAS-Identifier +デフォルト: enable。 +このオプションは、RADIUS が使われている場合、 +.Nm +が RADIUS サーバへ +.Dq NAS-Identifier +属性を送信するかどうか制御します。 +.Po +.Dq set radius +を参照して下さい +.Pc +.Pp +少なくとも +.Dq NAS-IP-Address +と +.Dq NAS-Identifier +の 1 つが enable になっていなければならないことに注意して下さい。 .It passwdauth デフォルト: disable。 このオプションを enable にすることにより、 PAP 認証コードが呼び出し側を認証する時に、 .Pa /etc/ppp/ppp.secret -ファイル中でみつからない場合、パスワードデータベース ( -.Xr passwd 5 +ファイル中でみつからない場合、パスワードデータベース +.Pf ( Xr passwd 5 参照) を使用します。 .Pa /etc/ppp/ppp.secret は常に、最初に調べられます。 .Xr passwd 5 からパスワードを調べ、かつそのクライアントに対して IP アドレスもしくは ラベルを指定したい場合には、 .Pa /etc/ppp/ppp.secret ファイル中のクライアントのパスワードとして .Dq \&* を用いてください。 .It proxy デフォルト: disable。 このオプションを enable にすることにより、 .Nm に相手のために代理 ARP をさせます。 .Dv HISADDR と .Dv HISADDR がいるローカルネットワークの .Dv MAC アドレスを使用して、 .Nm が ARP 表に単一エントリを作成することを意味します。 これにより、 相手自身がその LAN に接続されたかのような状態で、 LAN に接続された他のマシンと相手とが 通信できるようになります。 .Dv HISADDR が LAN からのアドレスではない場合、代理エントリは作成できません。 .It proxyall デフォルト: disable。 このオプションを enable にすることにより、 .Nm に代理 ARP エントリを追加させます。 追加されるエントリは、 tun インタフェースによってルーティングされる すべてのクラス C もしくはそれ以下のサブネットの中の、全 IP アドレスです。 .Pp 代理 arp エントリは、 .Dq add -コマンドによって追加されたスティッキ経路に対してのみ作成されます。( -.Dq set ifaddr +コマンドによって追加されたスティッキ経路に対してのみ作成されます。 +.Pf ( Dq set ifaddr コマンドによって作成された) インタフェースアドレス自身に対しては、代理 arp エントリは作成されません。 .It sroutes デフォルト: enable。 .Dq add コマンドが .Dv HISADDR , .Dv MYADDR , .Dv HISADDR6 .Dv MYADDR6 のいずれかの値とともに用いられると、エントリは .Sq スティック経路 リストに格納されます。 これらの値が変更される度に、このリストが経路表に適用されます。 .Pp このオプションを disable にすると、 スティッキ経路が適用されなくなります。 .Sq スティッキ経路 リストは依然として保守されます。 .It Op tcp Ns Xo .No mssfixup .Xc デフォルト: enable。 このオプションは、 .Nm に、TCP SYN パケットを調整するように指示し、 インタフェース MTU が許可しているサイズを受信セグメントサイズの 最大値が超えないようにします。 .It throughput デフォルト: enable。 このオプションを有効にすると、 .Nm はスループット統計を収集します。 ずれ動く 5 秒間のウィンドウにおいて入出力が検査され、 現在、最良時、総計の数値が保持されます。 このデータは関連する .Em PPP 層が終了するときに出力され、また .Dq show -コマンドで表示することで得られます。スループット統計は +コマンドで表示することで得られます。 +スループット統計は .Dq IPCP と .Dq physical のレベルで利用可能です。 .It utmp デフォルト: enable。 通常ユーザが PAP もしくは CHAP で認証された時で、 .Nm が .Fl direct モードで実行されている時は、このユーザのエントリが utmp ファイルおよび wtmp ファイルに作成されます。 このオプションを disable にすると、 .Nm は utmp および wtmp のエントリを作成しません。 通常、 ユーザがログインしかつ認証することを要求する場合のみ必要です。 .El .Pp .It add Ns Xo .Op !\& .Ar dest Ns Op / Ns Ar nn .Op Ar mask .Op Ar gateway .Xc .Ar dest は宛先 IP アドレスです。 ネットマスクは .Ar /nn によってビット数で指定するか、もしくは .Ar mask を用いて IP 番号で指定します。 .Ar 0 0 ならびにマスクなしの .Ar 0 はデフォルト経路を意味します。 .Ar 0 の代りにシンボル名 -.Ar default +.Sq default を使うことが可能です。 .Ar gateway は、 .Ar dest マシン/ネットワークに至る、次のホップのゲートウェイです。 詳細は .Xr route 8 コマンドを参照してください。 .Pp 宛先にシンボル名 .Sq MYADDR , .Sq HISADDR , .Sq MYADDR6 , .Sq HISADDR6 のいずれかを使用可能であり、 .Ar gateway には .Sq HISADDR , .Sq HISADDR6 のいずれかを使用可能です。 .Sq MYADDR はインタフェース IP アドレスに置き換えられ、 .Sq HISADDR はインタフェースの宛先 (相手の) IP アドレスに置き換えられ、 .Sq MYADDR6 はインタフェース IPv6 アドレスに置き換えられ、 .Sq HISADDR6 はインタフェースの宛先 IPv6 アドレスに置き換えられます。 .Pp .Ar add!\& -コマンド ( -.Dq !\& +コマンド +.Pf ( Dq !\& に注意) 使用時には、経路が存在する場合には .Sq route change コマンド (詳細は .Xr route 8 参照) にて経路を更新します。 .Pp .Dq HISADDR , .Dq MYADDR , .Dq HISADDR6 , .Dq MYADDR6 , .Dq DNS0 , .Dq DNS1 のいずれかを含む経路は .Sq スティッキ -と見なされます。これらはリスト (リストを見るには -.Dq show ipcp +と見なされます。 +これらはリスト (リストを見るには +.Dq show ncp コマンドを使用します) に格納され、 これら のいずれかの値が変更される度に、経路表の関連するエントリが更新されます。 この機能は .Dq disable sroutes を使用することで無効にできます。 -.It allow user Ns Xo -.Op s -.Ar logname Ns No ... -.Xc +.It allow Ar command Op Ar args このコマンドは .Nm と設定ファイルへのアクセスを制御します。 設定ファイルのラベルと .Nm 実行モードにより、 ユーザレベルでのアクセスも可能です。 例えば、 .Fl background モードでは、ユーザ .Sq fred のみがラベル .Sq fredlabel にアクセスできるように、 .Nm を構成したいかもしれません。 .Pp ユーザ ID 0 はこれらのコマンドの対象外です。 -.Bl -tag -width 2h -.It allow user[s] Ar logname... +.Bl -tag -width 2n +.It allow user Ns Xo +.Op s +.Ar logname Ns No ... +.Xc デフォルトでは、ユーザ ID 0 のみが .Nm へのアクセスを許されています。 このコマンドを指定することで、 .Dq allow users が記載されているセクションに列挙されているユーザは、 そのセクションへのアクセスが可能となります。 .Sq default セクションは 常に最初にチェックされます (スタートアップ時に常にロードされる唯一の セクションです)。 あるセクションの中では、複数の .Dq allow users コマンドは、加算的です。 しかしながら、あるセクション中で許可されたユーザ群は、 .Sq default セクションで許可されたユーザ群を上書きします。 ですから、デフォルトユーザを .Sq default セクションで指定し、新しいユーザリストをあるラベルに指定することで、 あるラベル以外のすべてにアクセスを許すといったことが可能です。 .Pp ユーザ .Sq * が指定されると、全ユーザにアクセスが許されます。 .It allow mode Ns Xo .Op s .Ar mode Ns No ... .Xc デフォルトでは全 .Nm モードが使用可能です。 このコマンドが使用されると、 このコマンドが指定されたラベルのロードに許されるアクセス .Ar mode が制限されます。 .Dq allow users コマンドと同様、 各 .Dq allow modes コマンドは先行するコマンドに優先し、 .Sq default セクションは常に最初にチェックされます。 .Pp 使用可能なモードは次の通りです: .Sq interactive , .Sq auto , .Sq direct , .Sq dedicated , .Sq ddial , .Sq background , .Sq * 。 .Pp マルチリンクモードで動作するときには、 現在存在する回線モードを許可するセクションをロード可能です。 .El .Pp .It nat Ar command Op Ar args このコマンドは .Nm 組込みのネットワークアドレス変換機能 (マスカレーディングや IP エイリアシングとしても知られています) を 制御するために使用します。 NAT は、外部インタフェースでのみ動作し、 .Fl direct フラグと共に使用してもおそらく意味がありません。 .Pp あなたのシステムで nat を有効にすると (コンパイル時に削除できます)、 次のコマンドが使用可能となります: -.Bl -tag -width 2h +.Bl -tag -width 2n .It nat enable yes|no このコマンドは、ネットワークアドレス変換を有効もしくは無効にします。 .Fl nat コマンドラインフラグは .Dq nat enable yes と同じ意味です。 .It nat addr Op Ar addr_local addr_alias このコマンドには、 .Ar addr_alias のデータを .Ar addr_local へリダイレクトします。 少数の実 IP アドレスを持ち、 それらをゲートウェイの後の特定のマシンにマップしたい場合に有用です。 -.It nat deny_incoming Op yes|no +.It nat deny_incoming yes|no yes に設定すると、 エイリアシングリンクがまだ存在しないところでは、 このコマンドは全パケットを拒否します。 .Dq エイリアシングリンク が何であるかについては、 .Xr libalias 3 の .Sx 概念の背景 節を参照してください。 .Pp どのような状況において .Xr libalias 3 がエイリアシングリンクを作成したか、気をつける必要があります。 .Dq set filter または .Dq nat target のコマンドを使用して、更にネットワークを保護する必要があるかもしれません。 .It nat help|? このコマンドは、使用可能な nat コマンドのまとめを表示します。 -.It nat log Op yes|no +.It nat log yes|no このオプションは、NAT の様々な統計と情報がファイル .Pa /var/log/alias.log に記録されるようにします。 .It nat port Ar proto Ar targetIP Ns Xo .No : Ns Ar targetPort Ns .Oo .No - Ns Ar targetPort .Oc Ar aliasPort Ns .Oo .No - Ns Ar aliasPort .Oc Oo Ar remoteIP : Ns .Ar remotePort Ns .Oo .No - Ns Ar remotePort .Oc Ns .Oc .Xc このコマンドは、 .Ar aliasPort への入力の .Ar proto 接続を、 .Ar targetIP の .Ar targetPort へリダイレクトします。 .Ar proto は、 .Dq tcp または .Dq udp です。 .Pp ポート番号の範囲は、前述のように指定可能です。 範囲は同じ大きさであることが必要です。 .Pp .Ar remoteIP が指定された場合、この IP 番号から来たデータのみがリダイレクトされます。 .Ar remotePort は、 .Dq 0 (すべての送信元ポート) か、もう一方の範囲と同じ大きさのポート範囲です。 .Pp あなたのゲートウェイの後のマシンでインターネット電話等を実行したい場合に、 このオプションは有用です。 しかし、送信元ホストと宛先ポートにつき 内部マシン 1 台のみに接続可能という制限があります。 .It nat proto Ar proto localIP Oo .Ar publicIP Op Ar remoteIP .Oc このコマンドは、プロトコルタイプ .Ar proto .Xr ( protocols 5 参照) のパケットを内部アドレス .Ar localIP にリダイレクトするよう .Nm に指示します。 .Pp .Ar publicIP が指定された場合、そのアドレスが宛先のパケットのみが適合し、 そうでない場合、デフォルトのエイリアスアドレスが使用されます。 .Pp .Ar remoteIP が指定された場合、その始点アドレスに適合するパケットのみが適合します。 .Pp このコマンドは、 トンネルのエンドポイントを内部マシンにリダイレクトするために有用です。 例えば次のようにします: .Pp .Dl nat proto ipencap 10.0.0.1 .It "nat proxy cmd" Ar arg Ns No ... このコマンドは、 .Nm に特定の接続に対する代理をさせ、 これらの接続を指定したサーバにリダイレクトします。 使用可能なコマンドについての詳細は .Xr libalias 3 の .Fn PacketAliasProxyRule の記述を参照してください。 .It nat punch_fw Op Ar base count このコマンドは .Nm に対し、 FTP または IRC DCC 接続用にファイアウォールに穴を開けるよう指示します。 これは、 特定の接続 (その接続のみ) を許可する一時的なファイアウォールルールを 動的にインストールすることで実現されます。 これらのルールは、対応する接続が終了すると、削除されます。 .Pp ルール番号 .Ar base から開始する最大 .Ar count 個のルールが、ファイアウォールに穴を開けます。 .Dq nat punch_fw コマンドを実行すると、この範囲は削除されます。 .Pp 引数を指定しないと、ファイアウォールの穴開けは無効になります。 .It nat skinny_port Op Ar port このコマンドは、 .Nm に対し、 どの TCP ポートが Skinny Station プロトコルによって使用されるかを通知します。 Cisco Call Managers と通信してボイスオーバ IP コールを設定するために、 Cisco IP 電話が Skinny を使用します。 デフォルトでは、Skinny エイリアスは実行されません。 Skinny 用の典型的なポート番号は 2000 です。 .Pp 引数を指定しないと、Skinny エイリアスは無効化されます。 .It nat same_ports yes|no 有効になると、 ネットワークアドレス変換エンジンに対して、 出力パケットのポート番号をできるだけ変更しないように指示します。 RPC や LPD といった、 ウェルノウンポート (well known port) からの接続を要求する プロトコルをサポートするのに有用です。 .It nat target Op Ar address アドレスを指定したときは、そのアドレスをターゲットアドレスとして設定し、 指定しないときは、ターゲットアドレスの設定をクリアします。 ターゲットアドレスは、デフォルトでどのように受信パケットを NAT するかを指定するために libaliases が使用します。 ターゲットアドレスが設定されていないか、または .Dq default が与えられている場合、パケットは変更されないまま内部ネットワークに ルーティングされるようになります。 .Pp ターゲットアドレスを .Dq MYADDR に設定することもでき、その場合、libaliases はすべてのパケットを 内部ネットワークにリダイレクトします。 .It nat use_sockets yes|no 有効になると、 ネットワークアドレス変換エンジンにソケットを作成させ、 正しい ftp データ入力や IRC 接続を保証できるようになります。 .It nat unregistered_only yes|no 登録されていない送信元アドレスの出力パケットのみを、変更します。 RFC1918 によると、登録されていない送信元アドレスは 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 です。 .El .Pp これらのコマンドはソース配布物の .Pa README.nat ファイル中でも議論されています。 .Pp .It Op !\& Ns Xo .No bg Ar command .Xc 指定した .Ar command を、次の語を置換した後に、バックグラウンドで実行します: .Bl -tag -width COMPILATIONDATE .It Li AUTHNAME これは、ローカルの .Ar authname -の値と置き換えられます。後述の +の値と置き換えられます。 +後述の .Dq set authname コマンドを参照してください。 .It Li COMPILATIONDATE これは、 .Nm がコンパイルされた日付と置き換えられます。 .It Li DNS0 & DNS1 これは、それぞれプライマリ DNS サーバ、セカンダリ DNS サーバの -IP アドレスに置き換えられます。IPCP によりネームサーバが +IP アドレスに置き換えられます。 +IPCP によりネームサーバが ネゴシエーションされた場合、このマクロの値は変わります。 .It Li ENDDISC これは、ローカルの終点選択値と置き換えられます。 後述の .Dq set enddisc コマンドを参照してください。 .It Li HISADDR これは、相手の IP 番号と置き換えられます。 .It Li HISADDR6 これは、相手の IPv6 番号と置き換えられます。 .It Li INTERFACE これは、使用中のインタフェース名と置き換えられます。 .It Li IPOCTETSIN これは、接続確立後に受信された IP バイト数と置き換えられます。 .It Li IPOCTETSOUT これは、接続確立後に送信された IP バイト数と置き換えられます。 .It Li IPPACKETSIN これは、接続確立後に受信された IP パケット数と置き換えられます。 .It Li IPPACKETSOUT これは、接続確立後に送信された IP パケット数と置き換えられます。 .It Li IPV6OCTETSIN これは、接続確立後に受信された IPv6 バイト数と置き換えられます。 .It Li IPV6OCTETSOUT これは、接続確立後に送信された IPv6 バイト数と置き換えられます。 .It Li IPV6PACKETSIN これは、接続確立後に受信された IPv6 パケット数と置き換えられます。 .It Li IPV6PACKETSOUT これは、接続確立後に送信された IPv6 パケット数と置き換えられます。 .It Li LABEL これは、最後に使用したラベル名と置き換えられます。 ラベルは、 .Nm のコマンドラインから .Dq load または .Dq dial のコマンドから指定するか、 .Pa ppp.secret ファイルから指定可能です。 .It Li MYADDR これは、ローカルインタフェースに割り当てられた IP 番号と置き換えられます。 .It Li MYADDR6 これは、ローカルインタフェースに割り当てられた IPv6 番号と置き換えられます。 .It Li OCTETSIN これは、接続確立後に受信されたバイト数と置き換えられます。 .It Li OCTETSOUT これは、接続確立後に送信されたバイト数と置き換えられます。 .It Li PACKETSIN これは、接続確立後に受信されたパケット数と置き換えられます。 .It Li PACKETSOUT これは、接続確立後に送信されたパケット数と置き換えられます。 .It Li PEER_ENDDISC これは、相手の終点選択番号と置き換えられます。 .It Li PROCESSID これは、現在のプロセス ID と置き換えられます。 .It Li SOCKNAME これは、診断ソケット名と置き換えられます。 .It Li UPTIME これは、HH:MM:SS という書式の、バンドルの上がっている時間で置き換えられます。 .It Li USER これは、PAP もしくは CHAP で認証されたユーザ名と置き換えられます。 通常、この変数は -direct モードでのみ割り当てられます。 この値は、utmp ロギングが有効になっているかどうかに関わらず、利用可能です。 .It Li VERSION これは、 .Nm の現在のバージョン番号と置き換えられます。 .El .Pp これらの置換は .Dq set proctitle , .Dq ident , .Dq log コマンドによっても実行されます。 .Pp コマンド実行中に .Nm を停止させたい場合は、 .Dq shell コマンドを使用してください。 .It clear physical|ipcp|ipv6 Op current|overall|peak... .Dq physical , .Dq ipcp , .Dq ipv6cp のいずれかの階層で、指定されたスループット値をクリアします。 -.Dq modem +.Dq physical を指定する場合にはコンテキストが与えられなければなりません (後述の .Dq link コマンドを参照)。 第 2 引数が与えられない場合、すべての値がクリアされます。 .It clone Ar name Ns Xo .Op \&, Ns Ar name Ns .No ... .Xc 指定されたリンクを複製し、引数の .Ar name に関連づけた新しいリンクを作成します。 このコマンドは、リンクが 1 つしかない場合 (この場合にはそのリンクがデフォルトになります) を除いて後述の .Dq link コマンドから使用する必要があります。 リンクは下記の .Dq remove コマンドで削除できます。 .Pp デフォルトのリンク名は .Dq deflink です。 .It close Op lcp|ccp Ns Op !\& 引数が与えられないと、適切なプロトコル層がダウンし、リンクが閉じられます。 .Dq lcp が指定されると LCP 層がダウンしますが、 .Nm -をオフラインにはしません。例えば +をオフラインにはしません。 +例えば .Dq slirp のようなものを使用すれば、 .Dq term (後述) を使用して相手のマシンと会話できます。 .Dq ccp が指定されると適切な圧縮層が閉じられます。 .Dq !\& が使用されると、圧縮層はクローズ状態のままとなります。 使用されない場合には、STOPPED 状態へ再度入り、 相手が更なる CCP ネゴシエーションを開始するのを待ちます。 なにが起きようとも、ユーザを .Nm から切り離すことはありませんし、 .Nm を終了させることもありません。 後述の .Dq quit を参照してください。 .It delete Ns Xo .Op !\& .Ar dest .Xc このコマンドは指定した .Ar dest IP アドレスの経路を削除します。 .Ar dest に .Sq ALL が指定された場合、 現在のインタフェースの経路表の非直接エントリと .Sq スティッキ経路 がすべて削除されます。 .Ar dest に .Sq default が指定された場合、デフォルト経路が削除されます。 .Pp .Ar delete!\& コマンドが使用された場合 (最後の .Dq !\& に注意)、存在しない経路について .Nm は文句を言わなくなります。 .It dial|call Op Ar label Ns Xo .No ... .Xc このコマンドは、 .Dq load label の次に .Dq open -を指定することと同等です。後方互換性のために提供されています。 +を指定することと同等です。 +後方互換性のために提供されています。 .It down Op Ar lcp|ccp 適切な階層をダウンさせますが、 綺麗な方法ではなく、下位層が使用不能になったように見えます。 オープン状態にある有限状態機械でこのコマンドを使用することは、 丁寧ではないとされています。 引数が与えられない場合、すべてのリンクが閉じられます (コンテキストが与えられない場合にはすべてのリンクが終了されます)。 .Sq lcp が指定された場合、 .Em LCP 層は終了されますが、デバイスはオフラインに移行せず、 リンクも閉じられません。 .Sq ccp が指定された場合、 関連する圧縮層のみが終了されます。 .It help|? Op Ar command 利用可能なコマンドをリストします。 .Ar command を指定した場合、このコマンドの使用方法を表示します。 +.It ident Op Ar text Ns No ... +.Ar text +を使用して、相手に対してリンクを自己証明 (identify) します。 +.Ar text +が空の場合、リンクの自己証明は無効化されます。 +前述の +.Ic bg +コマンドに使用できる語はすべて使用可能です。 +.Nm +が相手に対して自己証明する場合についての詳細は、 +.Ic sendident +コマンドを参照してください。 +.It iface Ar command Op args +このコマンドは、 +.Nm +が使用するインタフェースを制御します。 +.Ar command +は次のいずれかです: +.Bl -tag -width 2n .It iface add Ns Xo .Op !\& .Ar addr Ns Op / Ns Ar bits .Op Ar peer .Xc .It iface add Ns Xo .Op !\& .Ar addr .Ar mask .Ar peer .Xc -このコマンドは、 -.Nm -が使用するインタフェースを制御します。 -.Ar command -は次のいずれかです: -.Bl -tag -width 2h -.It iface add Ns Xo -.Op !\& -.Ar addr Ns Op / Ns Ar bits -.Op Ar peer -.Xc 指定された .Ar addr mask peer の組み合わせをインタフェースに追加します。 .Ar mask を指定する代りに、 .Ar /bits -を使用可能です ( -.Ar addr +を使用可能です +.Pf ( Ar addr との間に空白を入れてはなりません)。 指定したアドレスが既に存在する場合、 .Dq !\& を使用していない限りコマンドは失敗します - この場合、 以前のインタフェースアドレスエントリは新しいもので置き換えられ、 ネットマスクと相手のアドレスの変更を許します。 .Pp .Ar addr のみが指定されると、 .Ar bits はデフォルト値 .Dq 32 になり、 .Ar peer はデフォルト値 .Dq 255.255.255.255 になります。 このアドレス (ブロードキャストアドレス) は、 相手のアドレスとして複数存在することを .Nm が唯一許すものです。 .It iface clear Op INET | INET6 .Nm が OPENED 状態または .Fl auto モードの場合にこのコマンドを使用すると、 NCP ネゴシエートされたアドレス以外の全アドレスが インタフェースから削除されます。 .Nm が OPENED 状態でも .Fl auto モードでもない場合、全インタフェースアドレスが削除されます。 .Pp INET または INET6 の引数が使用された場合、 そのアドレスファミリのアドレスのみが削除されます。 .Pp .It iface delete Ns Xo .Op !\& Ns .No |rm Ns Op !\& .Ar addr .Xc このコマンドは、指定した .Ar addr をインタフェースから削除します。 .Dq !\& が指定されると、現在そのアドレスがインタフェースに割り当てられていなくても、 エラーは報告されません (削除も行われません)。 .It iface show インタフェースの現在の状態と現在のアドレスを表示します。 .Dq ifconfig INTERFACE を実行することと、ほとんど同じです。 -.It ident Op Ar text Ns No ... -.Ar text -を使用して、相手に対してリンクを自己証明 (identify) します。 -.Ar text -が空の場合、リンクの自己証明は無効化されます。 -前述の -.Ic bg -コマンドに使用できる語はすべて使用可能です。 -.Nm -が相手に対して自己証明する場合についての詳細は、 -.Ic sendident -コマンドを参照してください。 .It iface help Op Ar sub-command このコマンドを .Ar sub-command 無しで起動すると、利用可能な .Dq iface サブコマンドと、おのおのの短い書式を表示します。 .Ar sub-command 付きで起動すると、指定した sub-command の書式のみを表示します。 .El .It Op data Ns Xo .No link .Ar name Ns Op , Ns Ar name Ns .No ... Ar command Op Ar args .Xc コマンドが影響を与えるリンクを特定したい場合に、このコマンドを 任意の他のコマンドのプレフィックスとして使うことができます。 これはマルチリンクモードで .Dq clone コマンドを使って複数のリンクを作成した後でのみ適用されます。 .Pp .Ar name は存在するリンク名を指定します。 .Ar name がコンマ区切りのリストの場合には、 .Ar command はそれぞれのリンクに対して実行されます。 .Ar name が .Dq * の場合には、 .Ar command はすべてのリンクに対して実行されます。 .It load Op Ar label Ns Xo .No ... .Xc .Pa ppp.conf ファイルから指定された .Dq label (複数指定可) をロードします。 .Dq label が指定されない場合、 .Dq default ラベルが仮定されます。 .Pp .Ar label セクションが .Dq set mode , .Dq open , .Dq dial のいずれのコマンドも使用しない場合、 .Nm はすぐに接続を確立しようとはしません。 .It log Ar word Ns No ... 指定した単語 (複数可) をその前に .Dq LOG: を付けてログファイルに送信します。 前述の .Dq !bg コマンドで説明した単語置換が実行されます。 .It open Op lcp|ccp|ipcp これは .Dq close の反対のコマンドです。 閉じられているリンクのうち、2 番目以降の .Ar demand-dial リンク以外、全リンクがすぐに立ち上がります - 2 番目以降の .Ar demand-dial リンクは、どのような .Dq set autoload コマンドが使用されたかに依存して立ち上ります。 .Pp LCP 層がすでにオープンされているときに .Dq lcp 引数を指定すると、LCP は再度ネゴシエートされます。 したがって、種々の LCP オプションを変更したあとで .Dq open lcp コマンドを用いることで、変更を有効にすることができます。 LCP が再度ネゴシエートされた後、 同意したあらゆる認証が実行されます。 .Pp .Dq ccp 引数が用いられると、関連する圧縮層がオープンされます。 すでにオープンされている場合には、再度ネゴシエートされます。 .Pp .Dq ipcp -引数が用いられると、リンクが通常通り起動されます。すでに IPCP が +引数が用いられると、リンクが通常通り起動されます。 +すでに IPCP が オープンされている場合には、IPCP は再度ネゴシエートされ、 ネットワークインタフェースが再設定されます。 .Pp このようにして PPP の状態機械を再オープンするのは、 おそらく良い手段ではありません。 接続相手が正しく振る舞わない可能性があるためです。 しかしながら、強制的に CCP もしくは VJ 辞書をリセットする手段としては 便利です。 .It passwd Ar pass すべての .Nm コマンドセットにアクセスするために要求されるパスワードを指定します。 -このパスワードは診断ポート ( -.Dq set server +このパスワードは診断ポート +.Pf ( Dq set server コマンド参照) に接続するときに必要です。 .Ar pass は .Dq set server コマンドラインで指定します。 .Ar command ログが有効でも、値 .Ar pass は記録されず、文字列 .Sq ******** が記録されます。 .It quit|bye Op all .Dq quit が制御接続もしくはコマンドファイルから実行されると、 -ppp はすべての接続を閉じた後に終了します。その他の場合、 +ppp はすべての接続を閉じた後に終了します。 +その他の場合、 つまりユーザが診断ソケットから接続している場合には、 単にその接続が失われます。 .Pp .Ar all 引数が与えられた場合、 .Nm はコマンドがどこから発行されたかに関わらず、 すべての存在する接続を閉じて終了します。 .It remove|rm このコマンドは与えられたリンクを消去します。 -これはマルチリンクモードでのみ有用です。リンクは消去する前に +これはマルチリンクモードでのみ有用です。 +リンクは消去する前に .Dv CLOSED 状態になっていなければなりません。 .It rename|mv Ar name このコマンドは与えられたリンクの名前を .Ar name に変更します。 .Ar name がすでに他のリンクで使用されている場合には、失敗します。 .Pp デフォルトリンクの名前は .Sq deflink -です。これを +です。 +これを .Sq modem , .Sq cuaa0 , .Sq USR のいずれかに変更すると、ログファイルの可読性が向上するかも知れません。 .It resolv Ar command このコマンドは .Nm が行なう .Xr resolv.conf 5 ファイルの操作を制御します。 .Nm の起動時に、以後の参照に備え、このファイルの内容をメモリに読み込み 保持します。 .Ar command は次のいずれかです。 .Bl -tag -width readonly .It Em readonly .Pa /etc/resolv.conf を読み込み専用とします。 .Dq dns が有効にされている場合、 .Nm は、接続相手との間でネームサーバのネゴシエーションを試みます。 ネゴシエーションの結果は、マクロ .Dv DNS0 , .Dv DNS1 を通じて利用可能となります。 このコマンドは、 .Dq resolv writable コマンドの反対です。 .It Em reload .Pa /etc/resolv.conf をメモリに再ロードします。 例えば、DHCP クライアントが .Pa /etc/resolv.conf を上書きする場合などに、このコマンドが必要になります。 .It Em restore .Pa /etc/resolv.conf を、起動時に読み込んだ元のバージョンか、もしくは .Dq resolv reload コマンドで最後に読み込んだ状態のものに戻します。 このコマンドは、 .Pa /etc/ppp/ppp.linkdown ファイルの中でうまく使えることがあります。 .It Em rewrite .Pa /etc/resolv.conf ファイルを書き換えます。 このコマンドは、 .Dq resolv readonly コマンドが既に使用されていても動作します。 他のコマンドが完了するまで .Pa /etc/resolv.conf の更新を遅らせたい場合に、 .Pa /etc/ppp/ppp.linkup の中でうまく使えることがあります。 .It Em writable .Dq dns が有効になっており、DNS の ネゴシエーションが成功した場合に、 .Nm が .Pa /etc/resolv.conf を更新できるようにします。 これは .Dq resolv readonly コマンドの反対です。 .El .It save このオプションは (まだ) 実装されていません。 .It sendident このコマンドは、 .Nm に対し、相手に対して自己証明するように指示します。 -リンクは、LCP 状態以上であることが必要です。( -.Ic ident +リンクは、LCP 状態以上であることが必要です。 +.Pf ( Ic ident コマンドによって) 自己証明の設定がなされていない場合、 .Ic sendident は失敗します。 .Pp 自己証明の設定がなされている場合、 設定拒否を送信または受信するときか、 ネゴシエーションが失敗したときか、 LCP が OPENED 状態になるときのいずれかのときに、 .Nm は自動的に自己証明します。 .Pp 受信した自己証明パケットは、LCP ログに記録し (詳細は .Ic set log を参照してください)、これに対する応答は行いません。 .It set Ns Xo .Op up .Ar var value .Xc このオプションは次に示す変数の設定のために使用します: -.Bl -tag -width 2h +.Bl -tag -width 2n .It set accmap Ar hex-value ACCMap は非同期制御文字マップ (Asyncronous Control Character Map) を 意味します。 これはいつも相手とネゴシエートされ、デフォルト値は 16 進数で 00000000 です。 このプロトコルが必要なのは、 (XON/XOFF などの) 特定の文字を終点間で受渡すことに依存するハードウェアを 使用する場合です。 .Pp XON/XOFF については .Dq set accmap 000a0000 を使用します。 .It set Op auth Ns Xo .No key Ar value .Xc クライアントモードでの PAP または CHAP のネゴシエーションで使用される 認証キー (もしくはパスワード) を、指定した値に設定します。 ダイヤルまたはログインスクリプトの .Sq \eP シーケンスで使用するパスワードもまた指定します。 これにより実際のパスワードは記録されません。 .Ar command または .Ar chat のログが有効な場合、セキュリティの観点から、 .Ar value は .Sq ******** として記録されます。 .Pp .Ar value の最初の文字がエクスクラメーションマーク .Pq Dq !\& の場合、 .Nm は残りの文字列を、 .Dq authname と .Dq authkey の値を確定するために実行すべきプログラムとして扱います。 .Pp 実行するプログラムを得るために .Ar value をパーズする際には、 .Dq !\& -が二重 ( -.Dq !!\& -) である場合、単一のリテラル +が二重 +.Pf ( Dq !! ) +である場合、単一のリテラル .Dq !\& として扱います、そうでない場合、 .Dq !\& -を無視します。また、前述の +を無視します。 +また、前述の .Dq !bg コマンドと同様に特殊な名前を置換します。 プログラムを実行すると、 .Nm はこのプログラムに対して次の 3 行の入力を与えます。 各行の末尾には改行文字が置かれます。 .Bl -bullet .It CHAP チャレンジで送られたホスト名。 .It CHAP チャレンジで送られたチャレンジ文字列。 .It ローカルに定義された .Dq authname 。 .El .Pp そして、出力として次の 2 行を待ちます。 .Bl -bullet .It CHAP 応答と共に送るための .Dq authname 。 .It .Dq authkey -。これは、チャレンジと要求 ID で暗号化したもの +。 +これは、チャレンジと要求 ID で暗号化したもの であり、この結果は CHAP 応答パケットに含めて送られます。 .El .Pp .Nm をこのように設定するとき、 ホストチャレンジは ASCII の数値もしくは文字であることを 想定しています。 指定されたチャレンジに対する適切な秘密情報を計算するために、 通常は、暗号化デバイスまたは Secure ID カードが必要です。 .It set authname Ar id クライアントモードでの PAP または CHAP のネゴシエーションで使用される 認証 ID を設定します。 .Pp CHAP を enable にして .Fl direct モードで利用すると、 .Ar id は初期認証チャレンジで用いられ、通常はローカルマシン名に設定されます。 .It set autoload Xo .Ar min-percent max-percent period .Xc これらの設定はマルチリンクモードでのみ適用され、 デフォルト値はそれぞれ 0, 0, 5 です。 1 つ以上の .Ar demand-dial -( -.Fl auto +.Pf ( Fl auto としても知られる) モードのリンクが存在する場合、 .Nm が最初に tun デバイスからデータを読むときには最初のリンクのみが 有効になっています。 次の .Ar demand-dial リンクが開かれるのは、現在のバンドルの .Ar period 秒間のスループットがバンドルの総バンド幅の最低 .Ar max-percent パーセントであるときに限られます。 現在のバンドルの .Ar period 秒間のスループットがバンドルの総バンド幅の .Ar min-percent パーセント以下に減少したとき、最後のアクティブな リンクでない場合、 .Ar demand-dial リンクはダウンします。 .Pp バンドルのスループットは、 内向きおよび外向きのトラフィックの最大値として計測されます。 .Pp デフォルト値では .Ar demand-dial リンクは 1 つだけオープンされます。 .Pp デバイスによっては物理バンド幅を判定できないものがありますので、 .Dq set autoload が正しく動作するためには、(後述の) .Dq set bandwidth コマンドを使用する必要がある場合があります。 .It set bandwidth Ar value 本コマンドは、接続のバンド幅を、秒あたりのビット数で設定します。 .Ar value は 0 より大きいことが必要です。 現在、前述の .Dq set autoload コマンドのみが使用します。 .It set callback Ar option Ns No ... 引数が与えられない場合、コールバックは disable になります。 そうでない場合には、 .Nm は与えられた .Ar option でコールバックを要求します (もしくは -.Ar direct +.Fl direct モードでは受け付けます)。 クライアントモードでは、 .Ar option の否定応答が返されると、 .Nm は他に選択肢がなくなるまで別の .Ar option -要求を出します ( -.Ar option +要求を出します +.Pf ( Ar option のひとつとして .Dq none を指定していた場合を除きます)。 サーバモードでは、 .Nm は与えられるプロトコルをなんでも受け付けますが、 クライアントがいずれかひとつを要求する .Em 必要があります -。コールバックをオプションにしたいのであれば、オプションとして +。 +コールバックをオプションにしたいのであれば、オプションとして .Ar none を指定する必要があります。 .Pp .Ar option は下記の通りです (優先度順): .Pp .Bl -tag -width Ds .It auth コールバック応答側は、認証に基づいてコールバック番号を 決定することが求められます。 .Nm がコールバック応答側である場合、番号は .Pa /etc/ppp/ppp.secret 中の接続先エントリの 5 番目のフィールドで指定されます。 .It cbcp -Microsoft コールバック制御プロトコルが用いられます。後述の +Microsoft コールバック制御プロトコルが用いられます。 +後述の .Dq set cbcp を参照してください。 .Pp クライアントモードで .Ar cbcp をネゴシエートしたい場合でありかつ、 CBCP ネゴシエーション時にサーバがコールバック無しを要求することを許したい場合、 コールバックオプションとして .Ar cbcp と .Ar none の両方を指定する必要があります。 .It E.164 *| Ns Xo .Ar number Ns Op , Ns Ar number Ns .No ... .Xc コールバック要求側が .Ar number を指定します。 .Nm がコールバック応答側である場合、 .Ar number は許可する番号をコンマで区切って並べたリスト、もしくは 任意の番号を許可するという意味の .Dq \&* とします。 .Nm がコールバック要求側である場合、1 つの数字だけを指定します。 .Pp .Dq \&* を用いる場合、このオプションはとても危険なものとなることに 注意してください。 というのは、悪意あるコールバック要求者が、最初の認証なしに 電話すべき番号として任意の (国際通話番号も可能です) 番号を 伝えることができるからです。 .It none 接続相手がコールバックをまったく望まない場合、 .Nm はそのことを受け入れ、接続を終了するのではなく コールバックせずに処理を続けます。 コールバックをオプションにしたいのであれば、 (1 個以上の他のコールバックオプションに加えて) これも指定する必要があります。 .El .Pp .It set cbcp Oo .No *| Ns Ar number Ns Oo .No , Ns Ar number Ns ...\& Oc .Op Ar delay Op Ar retry .Oc 引数が与えられない場合、CBCP (Microsofts CallBack Control Protocol) -は disable です。言い換えれば +は disable です。 +言い換えれば .Dq set callback コマンドで CBCP を設定すると .Nm が CBCP フェーズでコールバック要求を行わなくなります。 そうでない場合、 .Nm は与えられた電話番号 .Ar number を使おうとします。 .Pp サーバモード .Pq Fl direct では、 .Dq \&* を使わない限り .Nm はクライアントがこれらの番号の 1 つを使うことを主張します。 .Dq \&* を使った場合には、クライアントが番号を指定するものと想定します。 .Pp クライアントモードでは .Nm は与えられた番号 (そのうち接続相手と合意可能なもの) を使用しようとします。 .Dq \&* が指定された場合には、 .Nm 接続相手が番号を指定するものと想定します。 .It set cd Oo .No off| Ns Ar seconds Ns Op !\& .Oc 通常、オープンしたデバイスのタイプにより、 .Nm はキャリアの存在をチェックします。 .Bl -tag -width XXX -offset XXX .It 端末デバイス ログインスクリプト完了後、1 秒間キャリアがチェックされます。 このパラメータが設定されていない場合、 デバイスがキャリアをサポートしていない (ほとんどの .Dq laplink ヌルモデムケーブルの場合がそうです) と .Nm は仮定し、この事実をログに取って、キャリアのチェックを止めます。 .Pp 仮想端末 (pty) は TIOCMGET ioctl をサポートしていないため、 デバイスが仮想端末であることを検知した場合、 端末デバイスはすべてのキャリア検出をオフにします。 .It ISDN (i4b) デバイス 6 秒間、1 秒ごとに 1 回キャリアの検出を行ないます。 6 秒後にキャリアが設定されない場合、接続の試みは失敗したと見なされ、 デバイスはクローズされます。 i4b デバイスの場合、キャリアが常に要求されます。 .It PPPoE (netgraph) デバイス 5 秒間、1 秒ごとに 1 回キャリアの検出を行ないます。 5 秒後にキャリアが設定されない場合、接続の試みは失敗したと見なされ、 デバイスはクローズされます。 PPPoE デバイスの場合、キャリアが常に要求されます。 .El .Pp 他のすべてのデバイスタイプはキャリアをサポートしていません。 デバイスをオープンするときにキャリアを設定すると警告が出ます。 .Pp モデムによっては、接続が確立してからキャリア信号線がアサートされるまで -1 秒以上かかるものがあります。この遅れを増やせない場合、 +1 秒以上かかるものがあります。 +この遅れを増やせない場合、 .Nm はそのデバイスがキャリアをアサートできないと見なすので、 .Nm はリンクのドロップを検出できないことになります。 .Pp .Dq set cd コマンドはデフォルトのキャリアの動作を上書きします。 .Ar seconds は、ダイヤルスクリプトが完了してからキャリアが利用可能か判断する前に、 .Nm が待つべき秒数の上限を指定します。 .Pp .Dq off が指定されると、 .Nm -はデバイスのキャリアを確認しません。そうでない場合、 +はデバイスのキャリアを確認しません。 +そうでない場合、 キャリアが検出されるか .Ar seconds の秒数が経過するまで、 .Nm -はログインスクリプトへは進みません。このとき、 +はログインスクリプトへは進みません。 +このとき、 .Ar seconds の秒数が経過した時点で、 .Nm はデバイスがキャリアを設定できないと想定します。 .Pp 引数を与えない場合、キャリア設定はデフォルトの値に戻ります。 .Pp .Ar seconds の直後にエクスクラメーションマーク .Pq Dq !\& がある場合、 .Nm はキャリアを .Em 要求 します。 .Ar seconds 秒後にキャリアが検知されないと、リンクは切断されます。 .It set choked Op Ar timeout これは .Nm がすべての未送出パケットを破棄する前に 送出キュー詰まりを保持する秒数を設定します。 .Ar timeout が 0 以下もしくは .Ar timeout が指定されない場合、デフォルト値の .Em 120 秒 に設定されます。 .Pp 送出キュー詰まりは .Nm がローカルネットワークから特定の数の送出パケットを読み込んだが、 リンク失敗 (接続相手がビジーなど) のためにデータを送れない場合に 発生します。 .Nm -はパケットを無限には読み込みません。代りに +はパケットを無限には読み込みません。 +代りに .Em 30 パケット (マルチリンクモードでは .Em 30 No + .Em nlinks No * .Em 2 パケット) まで読み込み、 .Ar timeout 秒経過するか、1 つ以上のパケットが送られるまで ネットワークインタフェースの読み込みを停止します。 .Pp .Ar timeout 秒が経過すると、すべての未送出パケットは破棄されます。 .It set ctsrts|crtscts on|off ハードウェアフロー制御をセットします。 デフォルトではハードウェアフロー制御は .Ar on です。 .It set deflate Ar out-winsize Op Ar in-winsize DEFLATE アルゴリズムの、 デフォルトの出力ウィンドウサイズと入力ウィンドウサイズを設定します。 .Ar out-winsize および .Ar in-winsize は、 .Em 8 から .Em 15 までの値をとる必要があります。 .Ar in-winsize が指定されると、 .Nm はこのウィンドウサイズの使用を強要し、相手が他の値を示しても受け入れません。 .It set dns Op Ar primary Op Ar secondary .Dq accept dns コマンドで使用される、DNS 上書きを設定します。 詳細については前述の .Dq accept -コマンドの記述を参照してください。本コマンドは +コマンドの記述を参照してください。 +本コマンドは .Dq enable dns を使用して要求される IP 番号には影響を与えません。 .It set device|line Xo .Ar value Ns No ... .Xc .Nm が使用するデバイスを、指定された .Dq value に設定します。 .Pp すべての ISDN デバイスとシリアルデバイスの名前は .Pa /dev/ から始まることが仮定されています。 ISDN デバイスは通常 .Pa i4brbchX という名前であり、シリアルデバイスは通常 .Pa cuaXX という名前です。 .Pp .Dq value が .Pa /dev/ から始まらない場合、エクスクラメーションマーク .Pq Dq !\& から始めるか、 .No PPPoE: Ns Ar iface Ns Xo .Op \&: Ns Ar provider Ns .Xc -の形式 ( -.Xr netgraph 4 +の形式 +.Pf ( Xr netgraph 4 が有効なシステム上) であるか、 .Sm off -.Ar host : port /tcp|udp +.Ar host : port Op /tcp|udp .Sm on の形式である必要があります。 .Pp エクスクラメーションマークで始まる場合、 デバイス名の残りはプログラム名として扱われ、 そのデバイスがオープンされるときにそのプログラムが実行されます。 標準入出力およびエラーは .Nm にフィードバックされ、それらが通常デバイスであるかのように読み書きされます。 .Pp .No PPPoE: Ns Ar iface Ns Xo .Op \&: Ns Ar provider Ns .Xc 指定が与えられる場合、 .Nm は、指定された .Ar iface インタフェースを使用して .Em PPP オーバイーサネット接続を作成しようとします。 この際 .Xr netgraph 4 を使用します。 .Xr netgraph 4 が使用不能の場合、 .Nm は .Xr kldload 2 を使用してロードしようとします。 これが失敗する場合には、 .Ox で利用できる .Xr pppoed 8 のような外部プログラムを使用する必要があります。 与えられた .Ar provider は、PPPoE Discovery Initiation (PADI) パケット中で サービス名として渡されます。 provider が与えられないと、空の値が使用されます。 .Pp PPPoE 接続が確立されるとき、 .Nm は、アクセスコンセントレータの名前を環境変数 .Ev ACNAME に設定します。 .Pp さらなる詳細は .Xr netgraph 4 と .Xr ng_pppoe 4 を参照してください。 .Pp .Ar host Ns No : Ns Ar port Ns Oo .No /tcp|udp .Oc 指定が与えられる場合、 .Nm は、指定された .Ar host の指定された .Ar port と接続しようとします。 .Dq /tcp または .Dq /udp のサフィックスがない場合、デフォルトは .Dq /tcp となります。 詳細は上述の .Em PPP オーバ TCP と PPP オーバ UDP の節を参照してください。 .Pp 複数の .Dq value を指定した場合、 .Nm は成功するか全デバイスについて実行し終るまで、順番にオープンを試みます。 .It set dial Ar chat-script 相手へダイヤルする際に使用されるチャットスクリプトを指定します。 後述の .Dq set login コマンドも参照してください。 チャットスクリプトのフォーマットの詳細については、 .Xr chat 8 と設定ファイルの例を参照してください。 次の特殊な .Sq value をチャットスクリプトに指定可能です: .Bl -tag -width 2n -.It \ec +.It Li \ec .Sq 送信 文字列の最後の文字として使用した場合、 改行を追加してはならないことを意味します。 -.It \ed +.It Li \ed チャットスクリプトがこのシーケンスに出会うと、2 秒待ちます。 -.It \ep +.It Li \ep チャットスクリプトがこのシーケンスに出会うと、1/4 秒待ちます。 -.It \en +.It Li \en 改行文字と置き換えられます。 -.It \er +.It Li \er 復改文字と置き換えられます。 -.It \es +.It Li \es 空白文字と置き換えられます。 -.It \et +.It Li \et タブ文字と置き換えられます。 -.It \eT +.It Li \eT 現在の電話番号と置き換えられます (後述の .Dq set phone 参照)。 -.It \eP +.It Li \eP 現在の .Ar authkey 値と置き換えられます (前述の .Dq set authkey 参照)。 -.It \eU +.It Li \eU 現在の .Ar authname 値と置き換えられます (前述の .Dq set authname 参照)。 .El .Pp 2 つのパーザがこれらのエスケープシーケンスを検査することに注意してください。 .Sq チャットのパーザ にエスケープ文字を見せるには、 .Sq コマンドパーザ からエスケープする必要があります。 -つまり、2 つのエスケープを使用する必要があります。例えば次のようにします: +つまり、2 つのエスケープを使用する必要があります。 +例えば次のようにします: .Bd -literal -offset indent set dial "... ATDT\\\\T CONNECT" .Ed .Pp チャットスクリプトから外部コマンドを実行することもできます。 そうするためには、 受信待ち文字列または送信文字列の最初の文字をエクスクラメーションマーク .Pq Dq !\& にします。 リテラルのエクスクラメーションマークが必要な場合には、二重 .Dq !!\& にすれば、単一のリテラル .Dq !\& として扱われます。 -コマンドが実行されると、標準入力と標準出力がオープンデバイス ( -.Dq set device +コマンドが実行されると、標準入力と標準出力がオープンデバイス +.Pf ( Dq set device 参照) に向けられ、標準エラー出力が .Nm に読まれて受信待ち文字列もしくは送信文字列に置き換えられます。 .Nm が対話モードで実行されている場合、ファイル記述子 3 は .Pa /dev/tty に接続されます。 .Pp 例えば (読み易さのために折り返しています); .Bd -literal -offset indent set login "TIMEOUT 5 \\"\\" \\"\\" login:--login: ppp \e word: ppp \\"!sh \\\\-c \\\\\\"echo \\\\-n label: >&2\\\\\\"\\" \e \\"!/bin/echo in\\" HELLO" .Ed .Pp は次のチャットシーケンスになります (ダイヤル前の .Sq set log local chat コマンドによる出力): .Bd -literal -offset indent Dial attempt 1 of 1 dial OK! Chat: Expecting: Chat: Sending: Chat: Expecting: login:--login: Chat: Wait for (5): login: Chat: Sending: ppp Chat: Expecting: word: Chat: Wait for (5): word: Chat: Sending: ppp Chat: Expecting: !sh \\-c "echo \\-n label: >&2" Chat: Exec: sh -c "echo -n label: >&2" Chat: Wait for (5): !sh \\-c "echo \\-n label: >&2" --> label: Chat: Exec: /bin/echo in Chat: Sending: Chat: Expecting: HELLO Chat: Wait for (5): HELLO login OK! .Ed .Pp 複数レベルのネストについて、 エスケープ文字の使用方法に (再度) 注意してください。 ここでは、4 つのパーザが動作してます。 1 番目は、オリジナルの行をパーズし、3 つの引数として読みます。 2 番目は、第 3 引数を 11 個の引数として読みます。 ここで、 .Dq \&- 記号がエスケープされていることが重要です。 そうでなければパーザは、 受信待ち-送信-受信待ちのシーケンスとして見てしまいます。 .Dq !\& 文字を見付けると、実行パーザは最初のコマンドを 3 つの引数として読み、 .Xr sh 1 自身が .Fl c 以降の引数を展開します。 我々は出力をモデムに送り返したいので、 1 番目の例では出力をファイル記述子 2 (stderr) にリダイレクトして .Nm 自身に送信および記録させ、 2 番目の例では単に stdout に出力して直接モデムに出力させます。 .Pp もちろん全体を、組み込みのものではなく外部の .Dq chat コマンドに実行させることが可能です。 良い代替方法については .Xr chat 8 を参照してください。 .Pp 実行される外部コマンドは、 .Dq !bg コマンドと同様に、特殊語の展開対象となります。 .It set enddisc Op label|IP|MAC|magic|psn value このコマンドは、ローカル終点の選択値を設定します。 LCP ネゴシエーションの前に設定された場合であり、 .Dq disable enddisc コマンドを使用していない場合、 .Nm は LCP 終点選択値オプションを使用して、相手に情報を送ります。 次の選択値を設定可能です。 .Bl -tag -width indent .It Li label 現在のラベルが使用されます。 .It Li IP 当方のローカル IP 番号を使用します。 LCP は IPCP より前にネゴシエートされますので、 IPCP 層が後からこの値を変更することが可能です。 その場合、手動でリセットしない限り、終点の選択値は古い値のままとなります。 .It Li MAC 前述の .Ar IP オプションに似ていますが、 ローカル IP 番号に関係する MAC アドレスが使用される点が異なります。 ローカル IP 番号がどのイーサネットインタフェースにも存在しない場合、 本コマンドは失敗します。 .Pp ローカル IP 番号のデフォルトは、 マシンホスト名がなんであれ、その名前になりますので、通常 .Dq set enddisc mac を .Dq set ifaddr コマンドよりも先に実行します。 .It Li magic 20 桁の乱数が使用されます。 マジックナンバを使用するときには注意が必要です。 .Nm の再開や別の .Nm を使ったリンク作成においては、別のマジックナンバを使用するため、 同じバンドルに属すとは相手に認識されないのです。 このため、 .Fl direct 接続では使えません。 .It Li psn Ar value 指定された .Ar value が使用されます。 .Ar value は、絶対的な公衆スイッチネットワーク番号の先頭に 国コードを付けたものであるべきです。 .El .Pp 引数が与えられない場合、終点の選択値はリセットされます。 .It set escape Ar value... このオプションは前述の .Dq set accmap オプションに似ています。 リンクを経由する時に .Sq エスケープ される文字を指定するために使用します。 .It set filter dial|alive|in|out Ar rule-no Xo .No permit|deny|clear| Ns Ar rule-no .Op !\& .Oo Op host .Ar src_addr Ns Op / Ns Ar width .Op Ar dst_addr Ns Op / Ns Ar width .Oc [ Ns Ar proto .Op src lt|eq|gt Ar port .Op dst lt|eq|gt Ar port .Op estab .Op syn .Op finrst .Op timeout Ar secs ] .Xc .Nm は 4 つのフィルタセットをサポートします。 .Em alive フィルタは接続を活性状態に保つパケットを指定します - アイドルタイマをリセットします。 .Em dial フィルタは、 .Fl auto モード時に .Nm にダイヤルさせるパケットを指定します。 .Em in フィルタは、マシンに入力可能なパケットを指定します。 .Em out フィルタは、マシンから出力可能なパケットを指定します。 .Pp フィルタリングが行われるのは、 出力パケットでは NAT エンジンによる IP 変更前であり、 入力パケットでは NAT エンジンによる IP 変更後です。 デフォルトでは、すべての空のフィルタセットは全パケットの通過を許可します。 ルールは .Ar rule-no に従って順番に処理されます (ルール番号を .Ar action に指定してスキップする場合を除きます)。 各セットに対し 40 までのルールを指定可能です。 指定されるセットにおけるどのルールにもマッチしないパケットは破棄されます。 .Em in と .Em out のフィルタでは、パケットをドロップすることを意味します。 .Em alive フィルタでは、アイドルタイマをリセットしないことを意味します (これは .Ar in Ns No / Ns Ar out フィルタが .Dq timeout 付きである場合でもです)。 .Em dial フィルタではダイヤルさせることにはならないことを意味します。 ダイヤルを引き起こさないパケットは、 キューされるのではなく、捨てられることに注意してください。 上述の .Sx パケットのフィルタリング の節を参照してください。 .It set hangup Ar chat-script デバイスを閉じる前にこれをリセットする時に使用する、 チャットスクリプトを指定します。 通常は不要であるべきですが、 閉じる時に自己を正しくリセットできないデバイスに対して使用できます。 .It set help|? Op Ar command 利用可能な set コマンドのまとめを表示するか、 .Ar command が指定されると、コマンドの使用方法を表示します。 .It set ifaddr Oo Ar myaddr Ns .Op / Ns Ar \&nn .Oo Ar hisaddr Ns Op / Ns Ar \&nn .Oo Ar netmask .Op Ar triggeraddr .Oc Oc .Oc このコマンドは、IPCP ネゴシエーションの間使用される IP アドレスを指定します。 アドレスのフォーマットは次の通りです。 .Pp .Dl a.b.c.d/nn .Pp ここで .Dq a.b.c.d は希望する IP アドレスであり、 .Ar nn はこのうち何ビットが有効であるかを示します。 .No / Ns Ar nn が省略された場合、デフォルトの .Dq /32 になります。 ただし IP アドレスが 0.0.0.0 である場合には、マスクのデフォルトは .Dq /0 です。 .Pp 相手に動的な IP 番号を割り当てたい場合、 .Ar hisaddr に IP 番号の範囲として .Bd -ragged -offset indent .Ar \&IP Ns Oo \&- Ns Ar \&IP Ns Xo .Oc Ns Oo , Ns Ar \&IP Ns .Op \&- Ns Ar \&IP Ns .Oc Ns ... .Xc .Ed .Pp -のフォーマットを指定できます。例えば: +のフォーマットを指定できます。 +例えば: .Pp .Dl set ifaddr 10.0.0.1 10.0.1.2-10.0.1.10,10.0.1.20 .Pp は .Dq 10.0.0.1 のみをローカル IP 番号としてネゴシエートしますが、 指定された 10 個の IP 番号から 相手に割り当てを行います。 相手がこれらの番号のうちの 1 つを要求し、この番号が未使用な場合には、 .Nm は相手の要求を認めます。 相手がリンクを再確立して前回割り当てていた IP 番号を使用したい場合に有用です (既存の TCP と UDP の接続を保存します)。 .Pp 相手が要求した IP 番号が範囲外もしくは使用中の場合、 .Nm は範囲内の未使用 IP 番号をランダムに指示します。 .Pp .Ar triggeraddr が指定された場合、この値が .Ar myaddr の代りに IPCP ネゴシエートで使用されます。 ただし、 .Ar myaddr の範囲のアドレスのみ受け入れられます。 これが有用なのは、相手が .Dq 0.0.0.0 を要求しない限り IP アドレスを割り当てようとしない .Dv PPP 実装とネゴシエートするときです。 .Pp .Fl auto モードでは設定ファイルの .Dq set ifaddr 行を読んだ直後に .Nm がインタフェースを構成することに注意してください。 他のモードではこれらの値は IPCP ネゴシエーションで使用され、 IPCP 層がアップするまでこれらのインタフェースは構成されません。 .Pp (PAP か CHAP が .Dq enable である場合) クライアントが自己証明をした後では、 .Ar HISADDR 引数は .Pa ppp.secret ファイルの第 3 引数で上書きされうることに注意してください。 .Sx 内向き接続の認証 の節を参照してください。 .Pp どの場合でも、インタフェースが既に構成されている場合には、 .Nm はインタフェースの IP 番号を保存して、 既にバインドされているソケットが正しいままであるようにします。 .It set ifqueue Ar packets どのリンクへもデータが送信できない状態のとき、 .Nm がトンネルインタフェースから読み込むパケット数の最大値を 指定します。 .Nm が利用できるリンクの束よりもトンネルインタフェースがはるかに 高速となりそうな場合に、送出データのフロー制御のために このキューの制限は必要になります。 +.Pp .Ar packets にリンクの数よりも小さな値を設定した場合、 その設定に関わらず .Nm -はリンクの数までは読み込みます。これにより、遅延の問題が回避されます。 +はリンクの数までは読み込みます。 +これにより、遅延の問題が回避されます。 .Pp .Ar packets のデフォルトの値は .Dq 30 です。 .It set ccpretry|ccpretries Oo Ar timeout .Op Ar reqtries Op Ar trmtries .Oc .It set chapretry|chapretries Oo Ar timeout .Op Ar reqtries .Oc .It set ipcpretry|ipcpretries Oo Ar timeout .Op Ar reqtries Op Ar trmtries .Oc .It set ipv6cpretry|ipv6cpretries Oo Ar timeout .Op Ar reqtries Op Ar trmtries .Oc .It set lcpretry|lcpretries Oo Ar timeout .Op Ar reqtries Op Ar trmtries .Oc .It set papretry|papretries Oo Ar timeout .Op Ar reqtries .Oc これらのコマンドは .Nm が有限状態機械 (Finite State Machine; FSM) に要求パケットを送る前に 待つ秒数を指定します。 .Ar timeout のデフォルトは、全 FSM において 3 秒です (ほとんどの場合十分です)。 .Pp .Ar reqtries を指定すると、 相手から応答を受信しなくても諦めるまでに設定要求を作成する回数を、 .Nm に指示します。 デフォルトの試行回数は、CCP, LCP, IPCP の場合 5 回であり、 PAP と CHAP の場合 3 回です。 .Pp .Ar trmtries を指定すると、 相手の応答を待つことを諦めるまでに終了要求を作成する回数を、 .Nm に指示します。 デフォルトの試行回数は 3 回です。 認証プロトコルは終了されませんので、 PAP や CHAP に対して指定することは不正です。 .Pp 合意できない相手とのネゴシエーションを避けるために、 どのようなネゴシエーションセッションであっても諦めたり層をクローズする前には、 .Nm は最大で .Ar reqtries の設定値の 3 倍までのみ送信します。 .It set log Xo .Op local .Op +|- Ns .Ar value Ns No ... .Xc このコマンドにより現在のログレベルを修正できます。 詳細はログ機能の節を参照してください。 -.It set login chat-script +.It set login Ar chat-script この .Ar chat-script はダイヤルスクリプトを補います。 もし両方が指定された場合、ダイヤルスクリプトの後で、 ログインスクリプトが実行されます。 ダイヤルスクリプト中で使用可能なエスケープシーケンスはここでも使用可能です。 .It set logout Ar chat-script このコマンドは、 ハングアップスクリプトが呼ばれる前にログアウトのために使用される、 チャットスクリプトを指定します。 通常では必要ないでしょう。 -.It set lqrperiod Ar frequency +.It set lqrperiod|echoperiod Ar frequency このコマンドは、 .Em LQR または -.Em ECHO LQR +.Em LCP ECHO のパケットが送信される頻度 .Ar frequency -を秒で指定します。デフォルトは 30 秒です。 -相手に LQR 要求を送りたい場合には、 +を秒で指定します。 +デフォルトは 30 秒です。 +相手に +.Em LQR +要求または +.Em LCP ECHO +要求を送りたい場合には、 .Dq enable lqr +コマンドや +.Dq enable echo コマンドもまた使用する必要があります。 .It set mode Ar interactive|auto|ddial|background 指定したリンクにおけるモード .Sq mode -を変更できます。通常マルチリンクモードでのみ有用ですが、 +を変更できます。 +通常マルチリンクモードでのみ有用ですが、 単一リンクモードでも使用可能です。 .Pp .Sq direct または .Sq dedicated のリンクを変更することはできません。 .Pp 注: コマンド .Dq set mode auto を発行し、ネットワークアドレス変換が enable にされていた場合、後で .Dq enable iface-alias を行うと便利です。 .Nm が必要なアドレス変換を行うようにすることにより、 相手が当方に新しい (動的な) IP アドレスを割り当てたとしても、 リンクがアップすると接続のトリガとなるプロセスが接続できるようにします。 .It set mppe Op 40|56|128|* Op stateless|stateful|* 本オプションは、 MPPE のネゴシエーション時に使用する暗号パラメータを選択します。 .Dq disable mppe コマンドで、MPPE は完全に無効化可能です。 引数を指定しないと、 .Nm は、128 ビット鍵の状態有りリンクをネゴシエートしようとしますが、 相手が要求するすべてに合意します (暗号化無しも含みます)。 .Pp 引数を指定すると、MPPE の使用に .Nm は .Em 固執 し、相手が拒否するとリンクを閉じます (注; この動作は RADIUS サーバの設定により変更可能です)。 .Pp 第 1 引数は、ネゴシエート中に .Nm が固執すべきビット数を指定し、第 2 引数は、 状態有りモードまたは状態無しモードのいずれに .Nm が固執すべきかを指定します。 状態無しモードでは、各パケットに応じて変更される暗号化鍵に対応し、 暗号化辞書が再インストールされます。 状態有りモードでは、 暗号化辞書は 256 パケット毎もしくはデータ喪失後に再インストールされ、 鍵は 256 パケット毎に変更されます。 状態無しモードは、効率が悪いものの、 信頼性の無いトランスポート層では良いです。 .It set mrru Op Ar value このオプションを設定すると、 マルチリンクプロトコルまたは MP としても知られる、 マルチリンク PPP ネゴシエーションを有効にします。 MRRU (Maximum Reconstructed Receive Unit) の値にはデフォルトはありません。 引数を指定しないと、マルチリンクモードは無効にされます。 .It set mru Xo .Op max Ns Op imum .Op Ar value .Xc デフォルトの MRU (最大受信単位; Maximum Receive Unit) は 1500 です。 この値を増加させた場合、相手は MTU を増加させても *かまいません*。 理論的には、デフォルトの MRU より減らすことは意味がありません。 なぜなら、 .Em PPP プロトコルでは少なくとも 1500 オクテットのパケットを 受信できなければ *ならない* からです。 .Pp .Dq maximum キーワードが使用された場合、より大きな値のネゴシエートを .Nm は拒否します。 最大 MRU は、最大でも 2048 です。 最大値を 1500 未満にすることは .Em PPP RFC 違反ですが、必要な場合もあります。 例えば、 .Em PPPoE では、ハードウェアの制約により最大が 1492 になります。 .Pp 引数を指定しないと、1500 が仮定されます。 .Dq maximum 指定時には、値の指定が必要です。 引数が指定されないと、1500 が仮定されます。 .It set mtu Xo .Op max Ns Op imum .Op Ar value .Xc デフォルトの MTU は 1500 です。 ネゴシエーション時に、(296 バイト未満でなく、最大値を越えなければ) 相手が望むいかなる MRU も受け付け可能です。 MTU が設定されると、 .Nm は .Ar value よりも小さい MRU の値を受け付けなくなります。 ネゴシエーションが完了すると、 相手がより大きな MRU を要求していたとしても、 インタフェースに対して書き込みを行う時には MTU が使用されます。 当方のパケットサイズを制限するのに有用です (よりよくバンド幅を共有できるようになりますが、 ヘッダデータが増えるというコストがかかります)。 .Pp .Dq maximum キーワードが使用された場合、より大きな値のネゴシエートを .Nm は拒否します。 最大 MTU は、最大でも 2048 です。 PPPoE を使っている場合には MTU を制限するために .Dq maximum キーワードを使う必要があることに注意して下さい。 .Pp .Ar value を指定しないと、1500 または相手が要求した値が使用されます。 .Dq maximum 指定時には、値の指定が必要です。 .It set nbns Op Ar x.x.x.x Op Ar y.y.y.y このオプションは、相手の要求によって返される Microsoft NetBIOS ネームサーバの値を設定します。 値を指定しないと、 .Nm はそのような要求を拒否するようになります。 .It set openmode active|passive Op Ar delay デフォルトでは、 .Ar openmode は常に、1 秒の .Ar delay をもって .Ar active となります。 この場合、 .Nm は回線が設定されてから 1 秒が経過したなら いつでも LCP/IPCP/CCP のネゴシエーションを開始します。 相手がネゴシエーションを開始するのを待ちたい場合は、値 -.Dq passive +.Ar passive を使用します。 直ちにもしくは 1 秒以上待ってからネゴシエーションを開始したい場合、 .Ar delay を秒単位で指定します。 .It set parity odd|even|none|mark -回線のパリティを設定できます。デフォルト値は +回線のパリティを設定できます。 +デフォルト値は .Ar none です。 .It set phone Ar telno Ns Xo .Oo \&| Ns Ar backupnumber .Oc Ns ... Ns Oo : Ns Ar nextnumber .Oc Ns ... .Xc ダイヤルおよびログインのチャットスクリプトで使用される \\\\T 文字列が 置き換えられる電話番号を指定できます。 複数の電話番号をパイプ .Pq Dq \&| もしくはコロン .Pq Dq \&: で区切って指定可能です。 .Pp パイプの後の番号がダイヤルされるのは、 直前の番号へのダイヤルもしくはログインのスクリプトが失敗した場合のみです。 +.Pp 回線の切断の理由にかかわらず、 コロンで区切られた番号は順番に試行されます。 .Pp 複数の番号を指定した場合、接続が確立するまで .Nm はこのルールに基づいてダイヤルします。 再試行の最大値は、後述の .Dq set redial で指定します。 .Fl background モードでは各番号は最大 1 回試行されます。 .It set pppoe Op standard|3Com -このオプションは下層の +このオプションは下にある .Xr ng_pppoe 4 ノードを標準の RFC2516 PPPoE か独自の 3Com モードに設定します。 設定されなければ、システムのデフォルトが使われます。 .It set Op proc Ns Xo .No title Op Ar value .Xc .Xr ps 1 が表示する現在のプロセスタイトルを、 .Ar value に従って変更します。 .Ar value が指定されないと、元のプロセスタイトルが回復されます。 シェルコマンドが行うすべての語置換 (前述の .Dq bg コマンドを参照してください) は、ここでも行われます。 .Pp プロセスタイトル中に USER が必要な場合、 .Dq set proctitle コマンドは .Pa ppp.linkup 中に登場する必要があることに注意してください。 .Pa ppp.conf が実行されているときには、分からないからです。 .It set radius Op Ar config-file このコマンドは RADIUS サポートを (組み込まれていれば) 有効にします。 .Ar config-file は、 .Xr radius.conf 5 に記述されている radius クライアント設定ファイルを参照します。 PAP, CHAP, MSCHAP, MSCHAPv2 のいずれかが .Dq enable にされている場合、 .Nm は .Em \&N Ns No etwork .Em \&A Ns No ccess .Em \&S Ns No erver として振舞い、設定されている RADIUS サーバを使用して認証し、 .Pa ppp.secret ファイルやパスワードデータベースによる認証は行いません。 .Pp PAP, CHAP, MSCHAP, MSCHAPv2 のいずれも有効になっていない場合、 .Dq set radius は効果がありません。 .Pp .Nm は、RADIUS 応答中の、次の属性を使用します: .Bl -tag -width XXX -offset XXX .It RAD_FRAMED_IP_ADDRESS 相手の IP アドレスは指定された値に設定されました。 .It RAD_FRAMED_IP_NETMASK tun インタフェースのネットマスクは指定された値に設定されました。 .It RAD_FRAMED_MTU 指定された MTU が LCP ネゴシエーションで合意された相手の MRU より 小さい場合であり、 -*かつ* 設定された MTU のいずれよりも小さい場合 ( -.Dq set mru +*かつ* 設定された MTU のいずれよりも小さい場合 +.Pf ( Dq set mru コマンド参照)、 tun インタフェースの MTU は指定した値に設定されます。 .It RAD_FRAMED_COMPRESSION 受信した圧縮タイプが .Dq 1 の場合、 .Dq disable vj 設定コマンドが指定されていたとしても、IPCP ネゴシエーションにおいて .Nm は VJ 圧縮を要求します。 .It RAD_FILTER_ID この属性が与えられると、 .Nm はこれを追加のラベルとして使用して、 .Pa ppp.linkup および .Pa ppp.linkdown のファイルからロードを試みます。 このロードは、通常のラベル検索の前に (これに追加して) 試みられます。 ラベルが存在しない場合、なにも実行されず、 .Nm は現在のラベルを使用して通常のロードを行います。 .It RAD_FRAMED_ROUTE 受信した文字列は、 .Ar dest Ns Op / Ns Ar bits .Ar gw .Op Ar metrics という書式であると期待します。 指定した metrics は無視されます。 .Dv MYADDR と .Dv HISADDR は、 .Ar dest と .Ar gw の正当な値として理解されます。 .Dq default を .Ar dest に使用可能であり、デフォルト経路を指定します。 .Dq 0.0.0.0 は、 .Ar dest に対する .Dq default と同じであると解釈され、 .Ar gw に対する .Dv HISADDR と同じであると解釈されます。 .Pp 例えば、戻り値 .Dq 1.2.3.4/24 0.0.0.0 1 2 -1 3 400 は 1.2.3.0/24 ネットワークへは .Dv HISADDR を介するという経路表エントリになり、 戻り値 .Dq 0.0.0.0 0.0.0.0 または .Dq default HISADDR は .Dv HISADDR 行きのデフォルト経路になります。 .Pp すべての RADIUS の経路は、 すべてのスティッキな経路が適用された後で適用されます。 これにより、RADIUS の経路が、設定済みの経路に優先します。 これは、 .Dv MYADDR または .Dv HISADDR というキーワードを含まない RADIUS の経路にもあてはまります。 .Pp .It RAD_FRAMED_IPV6_PREFIX この属性が与えられると、その値で、コマンド中の IPV6PREFIX を置換します。 DHCPv6 等に渡すことで、IPv6 プレフィックスを対向に渡せます。 .It RAD_FRAMED_IPV6_ROUTE 受信した文字列は、 .Ar dest Ns Op / Ns Ar bits .Ar gw .Op Ar metrics という書式であると期待します。 指定した metrics は無視されます。 .Dv MYADDR6 と .Dv HISADDR6 は、 .Ar dest と .Ar gw の正当な値として理解されます。 .Dq default を .Ar dest に使用可能であり、デフォルト経路を指定します。 .Dq :: は、 .Ar dest に対する .Dq default と同じであると解釈され、 .Ar gw に対する .Dv HISADDR6 と同じであると解釈されます。 .Pp 例えば、戻り値 .Dq 3ffe:505:abcd::/48 :: は 3ffe:505:abcd::/48 ネットワークへは .Dv HISADDR6 を介するという経路表エントリになり、 戻り値 .Dq :: :: または .Dq default HISADDR6 は .Dv HISADDR6 行きのデフォルト経路になります。 .Pp すべての RADIUS IPv6 の経路は、 すべてのスティッキな経路が適用された後で適用されます。 これにより、RADIUS IPv6 の経路が、設定済みの経路に優先します。 これは、 .Dv MYADDR6 または .Dv HISADDR6 というキーワードを含まない RADIUS の経路にもあてはまります。 .Pp .It RAD_SESSION_TIMEOUT 指定した場合、指定した秒数後にクライアント接続が閉じられます。 .It RAD_REPLY_MESSAGE 指定した場合、認証成功 (SUCCESS) テキストとして、 このメッセージが相手に渡されます。 .It RAD_MICROSOFT_MS_CHAP_ERROR この .Dv RAD_VENDOR_MICROSOFT ベンダ固有属性が指定された場合、 認証失敗 (FAILURE) テキストとして、このメッセージが相手に渡されます。 .It RAD_MICROSOFT_MS_CHAP2_SUCCESS この .Dv RAD_VENDOR_MICROSOFT ベンダ固有属性が指定された場合で MS-CHAPv2 認証が使用されている場合、 認証成功 (SUCCESS) テキストとして、このメッセージが相手に渡されます。 .It RAD_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY この .Dv RAD_VENDOR_MICROSOFT ベンダ固有属性が指定された場合で値が 2 の場合 (必須の意)、 .Nm は MPPE 暗号の使用に固執します (引数付き .Dq set mppe 設定コマンドの存在にかかわらずです)。 指定された値が 1 の場合 (許可の意)、暗号化はオプションとなります (引数付き .Dq set mppe 設定コマンドの存在にかかわらずです)。 .It RAD_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES この .Dv RAD_VENDOR_MICROSOFT ベンダ固有属性が指定された場合、ビット 1 および 2 が検査されます。 どちらかもしくは両方が設定されていた場合、 (それぞれ) 40 ビットおよび/または 128 ビットの暗号化が有効になります。 どちらかもしくは両方が設定された場合、 .Dq set mppe コマンドへの第 1 引数にかかわらず、 40 ビットおよび/または 128 ビット暗号オプションが (それぞれ) 設定されます。 現状、RADIUS サーバは 56 ビット暗号化は指定不可能であることに注意してください。 .It RAD_MICROSOFT_MS_MPPE_RECV_KEY この .Dv RAD_VENDOR_MICROSOFT ベンダ固有属性が指定された場合、 入力データの暗号解読にこの値をマスタキーとして使用します。 クライアントが MSCHAPv2 で認証された場合、 内向きの MPPE が動作するためには、 RADIUS サーバはこの属性を提供「しなければなりません」。 .It RAD_MICROSOFT_MS_MPPE_SEND_KEY この .Dv RAD_VENDOR_MICROSOFT ベンダ固有属性が指定された場合、 出力データの暗号化にこの値をマスタキーとして使用します。 クライアントが MSCHAPv2 で認証された場合、 外向きの MPPE が動作するためには、 RADIUS サーバはこの属性を提供「しなければなりません」。 .El .Pp RADIUS サーバから受信した値は、 .Dq show bundle を使用して見られます。 .It set rad_alive Ar timeout RADIUS が設定されていれば、 .Dq rad_alive に非 0 の .Ar timeout 値を設定することで、 .Nm は .Ar timeout 秒毎に RADIUS アカウント情報を RADIUS サーバに送るようになります。 .It set reconnect Ar timeout ntries (CD の喪失もしくは LQR の失敗により) 予想外の回線切断となった場合、 指定した .Ar timeout の後に接続が再確立されます。 回線は最大 .Ar ntries 回、再接続されます。 .Ar ntries のデフォルトは 0 です。 .Ar timeout に .Ar random を指定すると、1 から 30 秒の間の任意時間の停止となります。 .It set recvpipe Op Ar value ルーティングテーブルの RECVPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 .It set redial Ar secs Ns Xo .Oo + Ns Ar inc Ns .Op - Ns Ar max Ns .Oc Ns Op . Ns Ar next .Op Ar attempts .Xc .Nm に .Ar attempts 回のリダイヤルを指示できます。 1 より大きな数を指定した場合 (前述の -.Ar set phone +.Dq set phone 参照)、 各番号にダイヤルする前に、 .Ar next だけ停止します。 最初の番号に戻ってダイヤル開始する前に .Ar secs -だけ停止します。リテラル値 +だけ停止します。 +リテラル値 .Dq Li random を .Ar secs および .Ar next のところで使用でき、1 から 30 秒の間の任意時間の停止となります。 .Pp .Ar inc が指定されると、 .Nm が新規番号を試すたびに、この値が .Ar secs に加えられます。 .Ar secs が増加されるのは、最大 .Ar max 回だけです。 .Ar max のデフォルト値は 10 です。 +.Pp .Ar attempts が経過した後でも .Ar secs の遅延は効果があるので、 すぐに手動でダイヤルしても何も起ってないように見えるかもしれません。 すぐにダイヤルする必要がある場合、 .Dq !\& を .Dq open キーワードの直後に付けます。 更なる詳細については、前述の .Dq open の記述を参照してください。 .It set sendpipe Op Ar value ルーティングテーブルの SENDPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 .It "set server|socket" Ar TcpPort Ns No \&| Ns Xo .Ar LocalName Ns No |none|open|closed .Op password Op Ar mask .Xc このコマンドは .Nm に指定したソケットもしくは .Sq 診断ポート にてコマンド接続の入力を listen するように指示します。 .Pp 語 -.Ar none +.Dq none は .Nm に既に存在するソケットを閉じさせ、ソケット設定を消させます。 語 .Dq open は .Nm にポートを再度オープンさせます。 語 .Dq closed は .Nm にオープンしているポートを閉じさせます。 .Pp ローカルドメインソケットを指定したい場合、 .Ar LocalName -に絶対ファイル名を指定します。そうしないと、TCP ポートの名前もしくは番号 +に絶対ファイル名を指定します。 +そうしないと、TCP ポートの名前もしくは番号 であると解釈されます。 ローカルドメインソケットに使用される 8 進 umask を指定可能です。 umask の詳細については .Xr umask 2 -を参照してください。TCP ポート名がどのように変換されるかについては +を参照してください。 +TCP ポート名がどのように変換されるかについては .Xr services 5 を参照してください。 .Pp このソケットにクライアントが接続するときに使用されねばならないパスワードも -指定可能です ( -前述の +指定可能です (前述の .Dq passwd 変数を使用します)。 パスワードが空文字列として指定される場合、 クライアントが接続するときにパスワードを必要とされません。 .Pp ローカルドメインソケットが指定される場合、ソケット名中の最初の .Dq %d シーケンスは現在のインタフェースユニット番号で置換されます。 複数接続のために同一のプロファイルを使用したい場合に便利です。 .Pp 同様の方法で TCP ソケットの前に .Dq + 文字を付けることができます。 この場合、現在のインタフェースユニット番号が、ポート番号に加算されます。 .Pp .Nm をサーバソケットと共に使用する場合、通信機構として .Xr pppctl 8 コマンドを使用することが好ましいです。 現在 .Xr telnet 1 も使用可能ですが、将来リンク暗号化が実装されるかもしれませんので、 .Xr telnet 1 は避けてください。 .Pp 注: .Dv SIGUSR1 と .Dv SIGUSR2 は、診断ソケットと相互に作用します。 .It set speed Ar value シリアルデバイスの速度を指定します。 速度指定が .Dq sync の場合、 .Nm はデバイスを同期デバイスとして扱います。 .Pp デバイスタイプによっては、 同期または非同期のいずれかであることが分るものがあります。 これらのデバイスでは、不正な設定を上書きして、 この結果に対する警告を記録します。 .It set stopped Op Ar LCPseconds Op Ar CCPseconds このオプションが指定されると、 指定した FSM (有限状態機械; Finite State Machine) が停止状態になってから .Dq seconds で指定した秒数だけ停止したのち、 .Nm はタイムアウトします。 このオプションは、 相手が終了要求を送り我々が終了確認応答を送ったにもかかわらず -実際には接続を閉じない場合に、有用かもしれません。また、 +実際には接続を閉じない場合に、有用かもしれません。 +また、 .Dq set openmode passive を使用した場合に相手が指定時間内に Configure Request を送らないことを タイムアウト検出する場合には、便利かもしれません。 .Dq set log +lcp +ccp を使用すると、 .Nm は適切な状態遷移を記録します。 .Pp デフォルト値は 0 であり、 停止状態による .Nm のタイムアウトは発生しません。 .Pp この値は openmode の遅延 (上述の .Dq set openmode 参照) より小さくなってはなりません。 .It set timeout Ar idleseconds Op Ar mintimeout このコマンドはアイドルタイマの値を指定します。 更なる詳細については .Sx アイドルタイマの設定 というタイトルの節を参照してください。 .Pp .Ar mintimeout が指定された場合、 最短でも指定された秒数だけリンクがアップしていないと、 .Nm はアイドルアウトしません。 .It set urgent Xo .Op tcp|udp|none .Oo Op +|- Ns .Ar port .Oc No ... .Xc このコマンドは、データ転送時に .Nm が優先するポートを制御します。 デフォルトの優先 TCP ポートは、ポート 21 (ftp control), 22 (ssh), 23 (telnet), 513 (login), 514 (shell), 543 (klogin), 544 (kshell) です。 優先 UDP ポートは、デフォルトではありません。 詳細は .Xr services 5 を参照してください。 .Pp .Dq tcp も .Dq udp も指定しないと、 .Dq tcp が仮定されます。 .Pp .Ar port -を指定しないと、優先ポートリストがクリアされます ( -.Dq tcp +を指定しないと、優先ポートリストがクリアされます +.Pf ( Dq tcp または .Dq udp を指定すると、そのリストのみがクリアされます)。 最初の .Ar port 引数にプラス .Pq Dq \&+ またはマイナス .Pq Dq \&- のプレフィックスを付けた場合、現在のリストが修正されますが、 そうでない場合には、再割り当てされます。 プラスのプレフィックス付きまたはプレフィックス無しの .Ar port はリストに追加され、マイナスのプレフィックス付きの .Ar port はリストから削除されます。 .Pp .Dq none が指定された場合、優先ポートリスト全体が無効になり、 .Dv IPTOS_LOWDELAY パケットも特別扱いされなくなります。 .It set vj slotcomp on|off このコマンドは .Nm に VJ スロット圧縮をネゴシエートするか否かを指示します。 デフォルトではスロット圧縮は .Ar on です。 .It set vj slots Ar nslots このコマンドは最初の -.Ar slots +slots 番号を指定します。 .Nm は VJ 圧縮が enable されている時には、 これを使用して相手とネゴシエートします (前述の .Sq enable コマンドを参照してください)。 デフォルト値は 16 です。 .Ar nslots は .Ar 4 以上 .Ar 16 以下の値です。 .El .Pp .It shell|! Op Ar command .Ar command が指定されない場合、 .Dv SHELL 環境変数で指定されるシェルが起動されます。 そうでなければ指定された .Ar command が実行されます。 語の置換は、前述の .Dq !bg コマンドと同様の方法で行われます。 .Pp 文字 !\& を使用する場合、コマンドとの間に空白が必要です。 このコマンドはフォアグラウンドで実行されることに注意してください - .Nm はプロセスが終了するまでは実行を続けません。 バックグラウンドでコマンド処理を行いたい場合には、 .Dv bg コマンドを使用してください。 .It show Ar var このコマンドを使用して、次の内容を確認できます: .Bl -tag -width 2n .It show bundle 現在のバンドル設定を表示します。 .It show ccp 現在の CCP 圧縮統計を表示します。 .It show compress 現在の VJ 圧縮統計を表示します。 .It show escape 現在のエスケープ文字を表示します。 .It show filter Op Ar name 指定したフィルタの現在のルールをリストします。 .Ar name を指定しないと、全フィルタが表示されます。 .It show hdlc 現在の HDLC 統計を表示します。 .It show help|? 利用可能な show コマンドのまとめを表示します。 .It show iface -現在のインタフェース情報 ( -.Dq iface show +現在のインタフェース情報 +.Pf ( Dq iface show と同じです) を表示します。 .It show ipcp 現在の IPCP 統計を表示します。 .It show layers 現在使用中のプロトコル層を表示します。 .It show lcp 現在の LCP 統計を表示します。 .It show Op data Ns Xo .No link .Xc 高レベルリンク情報を表示します。 .It show links 利用可能な論理リンクのリストを表示します。 .It show log 現在のログ値を表示します。 .It show mem 現在のメモリ統計を表示します。 .It show ncp 現在の NCP 統計を表示します。 .It show physical 現在の下位レベルリンク情報を表示します。 .It show mp マルチリンク情報を表示します。 .It show proto 現在のプロトコルの総計を表示します。 .It show route 現在の経路表を表示します。 .It show stopped 現在の stopped タイムアウト値を表示します。 .It show timer アクティブアラームタイマを表示します。 .It show version .Nm の現在のバージョン番号を表示します。 .El .Pp .It term 端末モードに移行します。 キーボードからタイプした文字はデバイスに送られます。 デバイスから読んだ文字はスクリーンに表示されます。 -.Nm +.Em PPP の相手が認識された時には、 .Nm は自動的にパケットモードを有効にし、コマンドモードに戻ります。 .El .Sh 更に詳細について .Bl -bullet .It -設定ファイルの例を読んでください。良い情報源です。 +設定ファイルの例を読んでください。 +良い情報源です。 .It 何が利用できるかについては、 .Dq help , .Dq nat \&? , .Dq enable \&? , .Dq set \&? , .Dq show \&? コマンドを使って、オンライン情報を取得してください。 .It 次の URL に有用な情報があります: .Bl -bullet -compact .It http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/faq/ppp.html .It http://www.FreeBSD.org/doc/handbook/userppp.html .El .Pp .El .Sh 関連ファイル .Nm は、4 つのファイル .Pa ppp.conf , .Pa ppp.linkup , .Pa ppp.linkdown , .Pa ppp.secret を参照します。 これらのファイルは .Pa /etc/ppp に置かれます。 .Bl -tag -width 2n .It Pa /etc/ppp/ppp.conf システムのデフォルト設定ファイル。 .It Pa /etc/ppp/ppp.secret 各システム用の認証設定ファイル。 .It Pa /etc/ppp/ppp.linkup .Nm がネットワークレベルの接続を確立した時に実行されるファイル。 .It Pa /etc/ppp/ppp.linkdown .Nm がネットワークレベルの接続を閉じる時にチェックするファイル。 .It Pa /var/log/ppp.log -ログとデバッグ情報のファイル。このファイル名は +ログとデバッグ情報のファイル。 +このファイル名は .Pa /etc/syslog.conf -にて指定されます。詳細は +にて指定されます。 +詳細は .Xr syslog.conf 5 を参照してください。 .It Pa /var/spool/lock/LCK..* -tty ポートをロックするためのファイル。詳細は +tty ポートをロックするためのファイル。 +詳細は .Xr uucplock 3 を参照してください。 .It Pa /var/run/tunN.pid tunN デバイスに接続されている .Nm プログラムのプロセス ID (pid)。 ここで .Sq N はデバイスの番号です。 .It Pa /var/run/ttyXX.if このポートで使われている tun インタフェース。 このファイルも .Fl background , .Fl auto , .Fl ddial のいずれかのモードの時のみ作成されます。 .It Pa /etc/services サービス名でポート番号が指定されている場合に、ポート番号を取得します。 .It Pa /var/run/ppp-authname-class-value マルチリンクモードでは、 相手の認証名称 .Pq Sq authname と相手の終点選択クラス .Pq Sq class と相手の終点選択値 .Pq Sq value を使用して、ローカルドメインソケットが生成されます。 終点選択値はバイナリ値であってもかまわないため、 実際のファイル名を判定するために 16 進数に変換されます。 .Pp このソケットは、別の .Nm のインスタンスとリンクを受け渡しを行うために使用します。 .El .Sh 関連項目 .Xr at 1 , .Xr ftp 1 , .Xr gzip 1 , .Xr hostname 1 , -.Xr isdnd 8 , .Xr login 1 , .Xr tcpdump 1 , .Xr telnet 1 , .Xr kldload 2 , .Xr libalias 3 , .Xr libradius 3 , .Xr syslog 3 , .Xr uucplock 3 , .Xr netgraph 4 , .Xr ng_pppoe 4 , .Xr crontab 5 , .Xr group 5 , .Xr passwd 5 , +.Xr protocols 5 , .Xr radius.conf 5 , .Xr resolv.conf 5 , .Xr syslog.conf 5 , .Xr adduser 8 , .Xr chat 8 , .Xr getty 8 , .Xr inetd 8 , .Xr init 8 , +.Xr isdnd 8 , .Xr named 8 , .Xr ping 8 , .Xr pppctl 8 , .Xr pppd 8 , .Xr pppoed 8 , .Xr route 8 , .Xr sshd 8 , .Xr syslogd 8 , .Xr traceroute 8 , .Xr vipw 8 .Sh 歴史 元のプログラムは .An Toshiharu OHNO Aq tony-o@iij.ad.jp が作成し、 .Fx 2.0.5 に .An Atsushi Murai Aq amurai@spec.co.jp が提出しました。 .Pp 1997 年中に .An Brian Somers Aq brian@Awfulhak.org が本格的な修正をし、 11 月に .Ox に移植されました (2.2-RELEASE の直後です)。 .Pp 1998 年初頭にマルチリンク ppp サポートが追加されたときに、 ほとんどのコードを .An Brian Somers が書き直しました。 diff --git a/ja_JP.eucJP/man/man8/restore.8 b/ja_JP.eucJP/man/man8/restore.8 index 51cd85414b..7efae1f3fb 100644 --- a/ja_JP.eucJP/man/man8/restore.8 +++ b/ja_JP.eucJP/man/man8/restore.8 @@ -1,474 +1,466 @@ .\" Copyright (c) 1985, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)restore.8 8.4 (Berkeley) 5/1/95 -.\" %FreeBSD: src/sbin/restore/restore.8,v 1.47 2004/07/02 21:45:05 ru Exp % +.\" %FreeBSD: src/sbin/restore/restore.8,v 1.47.2.1 2005/04/03 16:44:44 imp Exp % .\" .\" $FreeBSD$ .Dd May 1, 1995 .Dt RESTORE 8 -.Os BSD 4 +.Os .Sh 名称 .Nm restore , .Nm rrestore .Nd "dump コマンドで作ったバックアップからファイルやファイルシステムをリストアする" .Sh 書式 .Nm .Fl i -.Op Fl cdhmNuvy +.Op Fl dhmNuvy .Op Fl b Ar blocksize .Op Fl f Ar file | Fl P Ar pipecommand .Op Fl s Ar fileno .Nm .Fl R -.Op Fl cdNuvy +.Op Fl dNuvy .Op Fl b Ar blocksize .Op Fl f Ar file | Fl P Ar pipecommand .Op Fl s Ar fileno .Nm .Fl r -.Op Fl cdNuvy +.Op Fl dNuvy .Op Fl b Ar blocksize .Op Fl f Ar file | Fl P Ar pipecommand .Op Fl s Ar fileno .Nm .Fl t -.Op Fl cdhNuvy +.Op Fl dhNuvy .Op Fl b Ar blocksize .Op Fl f Ar file | Fl P Ar pipecommand .Op Fl s Ar fileno .Op Ar .Nm .Fl x -.Op Fl cdhmNuvy +.Op Fl dhmNuvy .Op Fl b Ar blocksize .Op Fl f Ar file | Fl P Ar pipecommand .Op Fl s Ar fileno .Op Ar .Pp .Nm rrestore は .\" .Nm を \fBrestore\fR で置き換えた。.Nm による改行を回避するため。 \fBrestore\fR の別名です。 .Pp .in \" XXX .Pf ( Bx 4.3 形式のオプションは後方互換性のために実装されていますが、 ここでは説明していません。) .Sh 解説 .Nm ユーティリティは .Xr dump 8 と逆の動作を行います。 ファイルシステムの完全なリストアを行うには、 まず、フルバックアップのリストアから始め、 続いてその上にインクリメンタルバックアップをリストアします。 フルまたは部分バックアップから、単一のファイルやディレクトリの部分ツリー のみをリストア することも可能です。 .Nm ユーティリティは、ネットワークを介した動作も可能です。 これを行うには、以下で説明されている .Fl f と .Fl P フラグを参照してください。 コマンドに与えるその他の引数は、リストアされるファイルを指定するための ファイルやディレクトリ名です。 .Fl h フラグを指定していない限り (下記参照)、ディレクトリ名を指定することで、 そのディレクトリ中のファイルや (再帰的に) サブディレクトリを指定することになります。 .Pp 以下のいずれか 1 つ (複数指定不可) のフラグが必要です: .Bl -tag -width Ds .It Fl i バックアップからの対話的なリストアを行います。バックアップからディレクトリ情報 を読み取ると、 .Nm はユーザに展開すべきファイルを選択させるために、 シェルに似たインタフェースでコマンドを受け付けます。 以下のコマンドが使用可能です。引数が必要なコマンドにおいて引数を省略すると、 デフォルトとしてカレントディレクトリが使われます。 .Bl -tag -width Fl .It Ic add Op Ar arg カレントディレクトリまたは指定した引数のファイルを、リストアするファイルの リストに付け加えます。ディレクトリ名を指定した場合には、そのディレクトリの下の すべてのファイルが展開リストに加えられます (コマンドラインに .Fl h フラグが指定されなかった場合)。 .Ic ls でファイルのリストを表示するときに、展開リストに含まれているファイルの頭 には ``*'' がつけられています。 .It Ic \&cd Ar arg カレントディレクトリを指定したディレクトリに移動します。 .It Ic delete Op Ar arg カレントディレクトリまたは引数で指定したファイル名のファイルを、展開する ファイルのリストから削除します。 ディレクトリ名を指定した場合には、そのディレクトリの下のすべてのファイルが 展開リストから削除されます (コマンドラインに .Fl h フラグが指定されなかった場合)。 ディレクトリ中のほとんどのファイルを展開する場合には、 ディレクトリ全体を展開リストに加えたあとで不要なファイルだけを 削除するのが一番便利なやりかたです。 .It Ic extract 展開ファイルリストにあるすべてのファイルをバックアップから展開します。 .Nm ユーティリティは、どのボリュームをマウントしたいかをユーザにたずねます。 数個のファイルのみを展開するのにもっとも早い方法は、最終ボリュームから開始して 最初のボリュームへと戻ることです。 .It Ic help 利用できるコマンドの簡単な説明を表示します。 .It Ic \&ls Op Ar arg カレントディレクトリまたは指定されたディレクトリのリストを表示します。 ディレクトリ名の後ろには ``/'' が付け加えられ、展開リストにあるファイルの前に は ``*'' が加えられます。冗長フラグがセットされていた場合には、 各ディレクトリエントリにあわせて inode 番号も表示されます。 .It Ic pwd カレントディレクトリのフルパス名を表示します。 .It Ic quit 即座に中断します。展開リストに何かファイルがあったとしても終了します。 .It Ic setmodes 展開リストにあるすべてのディレクトリの所有者、モード、時刻がセットされる のみで、バックアップからはなにも展開されません。 これは、リストアを途中で中断してしまった時の後始末に有用です。 .It Ic verbose 冗長フラグ .Fl v の意味を反転します。冗長フラグがセットされている場合には、 .Ic ls コマンドは、すべてのエントリに対してその inode 番号を表示します。 また、 .Nm コマンドは、ファイルを展開するたびにその情報を表示します。 .It Ic what ダンプヘッダ情報を表示します。 これには、日付、レベル、ラベル、 ダンプの元となったファイルシステムとホストが含まれます。 .El .It Fl R フルリストアを再開するために、マルチボリュームのテープのうち特定のものを リストアすることを要求します (下記 .Fl r フラグを参照)。 これはリストア動作を中断したときに使われます。 .It Fl r リストア (ファイルシステムの再構築) を行います。 レベル 0 バックアップのリストアの前には、リストア先となるファイルシステムは .Xr newfs 8 で初期化しておき、マウントして、そのディレクトリへ .Xr cd 1 で移動しておく必要があります。 レベル 0 バックアップのリストアに成功したら、 .Fl r フラグを指定することで、 それに加えて必要なインクリメンタルバックアップをリストアすることができます。 .Fl r フラグは対話的なファイルリストアを行わないため、注意して扱わないと 損害を与えることがあります (ディスクは言うに及ばず、精神的にも)。 次のように実行します: .Bd -literal -offset indent newfs /dev/da0s1a mount /dev/da0s1a /mnt cd /mnt restore rf /dev/sa0 .Ed .Pp .Nm は、インクリメンタルリストアのための情報を、ルートディレクトリの .Pa restoresymtable に記録します。このファイルは、すべての増分をリストアしたあとで削除すべきです。 .Pp .Nm ユーティリティを、 .Xr newfs 8 や .Xr dump 8 と組み合わせることで、ファイルシステムのサイズやブロックサイズといった パラメータを変更するのに使うことができます。 .It Fl t 指定したファイル名のファイルがバックアップ中にあれば、その名前を表示します。 ファイル名引数がない場合にはルートディレクトリを表示するため、 .Fl h フラグを指定していない限り、バックアップ中のすべてのファイルを表示することに なります。 .Fl t フラグは、古くからあった .Xr dumpdir 8 のかわりの機能を持つことに注意してください。 .It Fl x メディアから、指定したファイルが読み出されます。 指定ファイルがディレクトリで、そのディレクトリの内容がバックアップ中に存在し、 かつ .Fl h フラグが指定されていないときには、ディレクトリの内容が再帰的に展開されます。 (可能であれば) ファイルの所有者、修正日時、モードもリストアされます。 もし引数が与えられていなければルートディレクトリを展開するため、 .Fl h フラグを指定していない限り、結果的にバックアップ全体が展開されます。 .El .Pp 以下の追加オプションを指定可能です: .Bl -tag -width Ds .It Fl b Ar blocksize ダンプレコードあたりのキロバイト数です。 .Fl b が指定されないときは、 .Nm はメディアのブロックサイズを動的に求めようとします。 -.It Fl c -通常 -.Nm -は、ダンプ対象のファイルシステムフォーマットが -新しいか古い (4.4 以前) かを動的に決定します。 -.Fl c -フラグはこのチェックを無効にし、 -古いフォーマットのダンプからのみ読み込むことを許します。 .It Fl d 冗長なデバッグ出力を標準エラーへ送ります。 .It Fl f Ar file バックアップを .Ar file から読み込みます; .Ar file は、 .Pa /dev/sa0 (テープドライブ) や .Pa /dev/da1c (ディスクドライブ) といったスペシャルデバイスファイル、 通常のファイル、 .Sq Fl (標準入力) のいずれかです。 ファイル名が .Dq host:file や .Dq user@host:file という形式である場合は、 .Nm は .Xr rmt 8 を用いて指定したファイルを指定のホストから読み取ります。 .It Fl P Ar pipecommand .Ar pipecommand で定義された .Xr sh 1 スクリプト文字列をバックアップの各ボリュームに対する入力として実行するために .Xr popen 3 を使います。 この子のパイプラインの .Dv 標準出力 .Pq Pa /dev/fd/1 は .Nm の入力ストリームにリダイレクトされ、環境変数 .Ev RESTORE_VOLUME には現在読み込まれているボリューム番号が設定されます。 ボリュームを 1 つロードする毎に、それがテープドライブ 1 つであるかのように、 .Ar pipecommand スクリプトが開始されます。 .It Fl h ディレクトリ名を指定された場合に、その中のファイルではなく、 ディレクトリそのものを展開するようにします。 これによって、ダンプからディレクトリのサブツリーを階層的に 展開してしまうことを防ぎます。 .It Fl m 展開を、ファイル名ではなく inode 番号によって行います。 これは数個のファイルのみを展開したい場合で、ファイルの完全なパス名を 再生することを防ぎたい場合に有用です。 .It Fl N 通常通り展開しますが、実際には変更をディスクへ書き込みません。 ダンプメディアの完全性の確認や他のテスト目的に使用可能です。 .It Fl s Ar fileno マルチファイルテープの .Ar fileno から読みます。 ファイル番号は 1 から始まります。 .It Fl u 特定のタイプのファイルを作成する時に、 リストア先ディレクトリに既に同名のファイルが存在する場合には、 リストアは警告診断を生成し得ます。 この動作を抑制するために、 .Fl u (アンリンク) フラグを指定すると、リストアは古いエントリを削除してから 新しいエントリを作成しようとします。 .It Fl v 普通、 .Nm は何も表示せずにリストア動作を行います。 .Fl v (verbose, 冗長) フラグを指定すると、 扱うファイルのタイプとファイル名が表示されます。 .It Fl y エラーが発生したときに、リストア動作を中断するかどうかの問い合わせを 行いません。 これによって、不良ブロックをスキップして、可能なかぎり動作を継続します。 .El +.Sh 環境変数 +.Bl -tag -width ".Ev TMPDIR" +.It Ev TAPE +バックアップを読み取るデバイス。 +.It Ev TMPDIR +一時ファイルが作成されるディレクトリの名前。 +.El +.Sh 関連ファイル +.Bl -tag -width "./restoresymtable" -compact +.It Pa /dev/sa0 +デフォルトのテープドライブ +.It Pa /tmp/rstdir* +テープ中のディレクトリを保持するファイル +.It Pa /tmp/rstmode* +ディレクトリの所有者、モード、タイムスタンプ +.It Pa \&./restoresymtable +インクリメンタルリストア間で渡される情報 +.El .Sh 診断 リードエラーが発生すると .Nm ユーティリティはメッセージを表示します。 もし、 .Fl y が指定されているか、あるいはユーザが .Ql y の応答をしたならば、 .Nm はリストアを続行しようとします。 .Pp バックアップが 1 巻より多くのテープボリュームに格納されていたならば、 .Nm は次のボリュームをマウントすべき時点でそれをユーザに知らせます。 もし、 .Fl x あるいは .Fl i フラグが指定されていたら、 .Nm は、ユーザがマウントしたいのはどのボリュームであるかを問い合わせます。 少数のファイルを最も早く展開する方法は、最終ボリュームから開始して、 最初のボリュームへ向けて作業を進めることです。 .Pp .Nm は数多くの一貫性検査を行っていて、それを表示します。 ほとんどの検査結果の表示は自明であるか、あるいは「決して起こらない」ものです。 良くあるエラーを以下に示します。 .Pp .Bl -tag -width Ds -compact .It Converting to new file system format. 古い形式のファイルシステムで作られたダンプテープがロードされました。 その場合、自動的に新しいファイルシステムの形式に変換されます。 .Pp .It : not found on tape 指定したファイル名はテープのディレクトリには記録されていましたが、 テープのなかに本体が見当たりませんでした。 このような事態が起きるのは、ファイルを探している間にテープのリードエラー が発生した場合や、稼働中のファイルシステムにおいて作成したダンプテープ を使った場合です。 .Pp .It expected next file , got ディレクトリに記録されていなかったファイルが示されます。 稼働中のファイルシステムにおいて作成したダンプを使った場合に発生することが あります。 .Pp .It Incremental dump too low インクリメンタルリストアを行う際に、ダンプが直前のインクリメンタルダンプ よりも以前に書かれたものであったり、増分レベルが低すぎるダンプがロード された場合に表示されます。 .Pp .It Incremental dump too high インクリメンタルリストアを行う際に、ダンプが直前のインクリメンタルダンプ の続きの範囲から開始していなかったり、あるいは増分レベルが高すぎる ダンプがロードされた場合に表示されます。 .Pp .It Tape read error while restoring .It Tape read error while skipping over inode .It Tape read error while trying to resynchronize テープ (あるいはその他の媒体) のリードエラーが発生しました。 ファイル名が表示されていたならば、その内容はおそらく部分的に不正なものに なっているでしょう。 もし inode がスキップされたり、テープの resynchronize (再同期) が試みら れていたならば、展開されたファイルには問題はありません。しかし、テープ 上からいくつかのファイルを見付けることができないかもしれません。 .Pp .It resync restore, skipped blocks ダンプのリードエラーが発生した後に、おそらく .Nm は自分自身で再同期をとらなければなりません。 このメッセージはスキップしたブロックの個数を表示します。 .El -.Sh 関連ファイル -.Bl -tag -width "./restoresymtable" -compact -.It Pa /dev/sa0 -デフォルトのテープドライブ -.It Pa /tmp/rstdir* -テープ中のディレクトリを保持するファイル -.It Pa /tmp/rstmode* -ディレクトリの所有者、モード、タイムスタンプ -.It Pa \&./restoresymtable -インクリメンタルリストア間で渡される情報 -.El -.Sh 環境変数 -.Bl -tag -width ".Ev TMPDIR" -.It Ev TAPE -バックアップを読み取るデバイス。 -.It Ev TMPDIR -一時ファイルが作成されるディレクトリの名前。 -.El .Sh 関連項目 .Xr dump 8 , .Xr mount 8 , .Xr newfs 8 , .Xr rmt 8 +.Sh 歴史 +.Nm +ユーティリティは +.Bx 4.2 +で登場しました。 .Sh バグ 使用中のファイルシステムから作成されたダンプから インクリメンタルリストアを行うと、 .Nm ユーティリティが誤動作を起こすことがあります。 .Pp フルリストアの終了後にはレベル 0 ダンプを行う必要があります。 .Nm はユーザコードで動作するので、inode の割り当てを制御することができません。 したがって、ファイルの内容が変更されていない場合でも、新しい inode 割り当てを 新しいディレクトリ集合に反映させるためには、 フルダンプを行わなければなりません。 .Pp ネットワークを介したリストアを行う場合、 root 権限で restore を実行する必要があります。 これは、以前の dump と restore のセキュリティ上の歴史によるものです。 (restore は root に setuid されて使われるように書かれていますが、 restore のコードから全てのバグが取れているとは思わないので、 setuid にて使用する場合は自己の責任において行って下さい。) .Pp 一時ファイル .Pa /tmp/rstdir* と .Pa /tmp/rstmode* は、ダンプの日付とプロセス ID に基づいて、ユニークに生成されます .Pf ( Xr mktemp 3 を参照してください)。ただし .Fl r または .Fl R が使用された場合は例外です。 これは、中断された .Fl r の動作を .Fl R によって再開可能とするためであり、 別々の処理において同一の一時ファイルを使用することが必要であるためです。 他の場合には、ファイルはユニークです。 これは、同時に 2 個の異なったダンプが開始する可能性があるためであり、 別々の処理が衝突しないようにすべきだからです。 -.Sh 歴史 -.Nm -ユーティリティは -.Bx 4.2 -から登場しました。 diff --git a/ja_JP.eucJP/man/man8/route.8 b/ja_JP.eucJP/man/man8/route.8 index 57c843c98e..1521f75dad 100644 --- a/ja_JP.eucJP/man/man8/route.8 +++ b/ja_JP.eucJP/man/man8/route.8 @@ -1,405 +1,415 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)route.8 8.3 (Berkeley) 3/19/94 -.\" %FreeBSD: src/sbin/route/route.8,v 1.38 2004/07/02 21:45:05 ru Exp % +.\" %FreeBSD: src/sbin/route/route.8,v 1.38.2.2 2005/02/12 15:23:54 brueffer Exp % .\" .\" $FreeBSD$ .\" -.Dd November 10, 2003 +.Dd November 4, 2004 .Dt ROUTE 8 .Os .Sh 名称 .Nm route .Nd マニュアルでルーティングテーブルを操作する .Sh 書式 .Nm .Op Fl dnqtv .Ar command .Oo .Op Ar modifiers .Ar args .Oc .Sh 解説 .Nm ユーティリティはネットワークルーティングテーブルを手動で操作します。 通常は、 .Xr routed 8 のようなシステムルーティングテーブル管理デーモンが 保守をしているので、マニュアルでの操作は必要ありません。 .Pp .Nm ユーティリティは指定できるオプションは少数ですが、 強力なコマンド言語をサポートしています。 ユーザは .Xr route 4 において解説されているプログラム可能なインタフェースを通して、 任意の要求を指定することができます。 .Pp 以下のオプションを使用可能です: -.Bl -tag -width indnent +.Bl -tag -width indent .It Fl d デバッグモードで実行します。 すなわち、ルーティングテーブルを実際には変更しません。 .It Fl n レポートの出力において、ホスト名とネットワーク名のシンボル名での表示を 抑止します (シンボル名と数字によるアドレスの変換処理には時間がかかり、 またネットワークが正常に動作している必要があります。 そのため、特にネットワークの動作の修正中には、 変換処理を行わない方が好都合かもしれません)。 .It Fl v (冗長モード) 詳細な情報を出力します。 .It Fl q .Cm add , delete , .Cm flush コマンドからの全ての出力を抑制します。 .El .Pp .Nm ユーティリティでは以下の 6 つのコマンドを提供しています。 .Pp .Bl -tag -width Fl -compact .It Cm add ルートを追加します。 .It Cm flush 全てのルートを削除します。 .It Cm delete 指定されたルートを削除します。 .It Cm change ルートの属性 (ゲートウェイなど) を変更します。 .It Cm get ある宛先に対するルートを検索し、表示します。 .It Cm monitor ルーティング情報ベースの変更、ルーティング検索の失敗、 ネットワーク分割の疑いなどの情報を継続的に報告します。 .El .Pp monitor コマンドは以下の書式です。 .Pp .Bd -ragged -offset indent -compact .Nm .Op Fl n .Cm monitor .Ed .Pp flush コマンドは以下の書式です。 .Pp .Bd -ragged -offset indent -compact .Nm .Op Fl n .Cm flush .Op Ar family .Ed .Pp .Cm flush コマンドが指定されると、 .Nm は全てのゲートウェイのエントリにおけるルーティングテーブルを削除します。 アドレスファミリが .Fl osi , .Fl xns , .Fl atalk , .Fl inet6 , .Fl inet のいずれかの修飾子によって指定されている場合、 そのアドレスファミリの宛先を持つルートだけが削除されます。 .Pp その他のコマンドは以下の書式です。 .Pp .Bd -ragged -offset indent -compact .Nm .Op Fl n .Ar command .Op Fl net No \&| Fl host .Ar destination gateway .Op Ar netmask .Ed .Pp ここで .Ar destination は宛先のホストもしくはネットワークです。 .Ar gateway はパケットがルートされるべき次の中継点です。 ある特定のホストへのルートは、 .Ar destination で指定されたインターネットアドレスを解釈することによって、 ネットワークへのルートと区別されます。 オプションの修飾子 .Fl net , .Fl host が指定されると、 .Ar destination をそれぞれネットワークもしくはホストとして強制的に解釈します。 これらの修飾子がないなら、 .Ar destination に INADDR_ANY .Pq Li 0.0.0.0 の .Dq ローカルアドレス部 が含まれるか .Ar destination がネットワークのシンボル名である場合はネットワークへのルート、 その他の場合はホストへのルートと想定します。 .Ar destination は、 .Ar net Ns / Ns Ar bits の書式でも指定可能です。 .Pp 例えば、 .Li 128.32 は .Fl host Li 128.0.0.32 として解釈されます。 .Li 128.32.130 は .Fl host Li 128.32.0.130 として、 .Fl net Li 128.32 は .Li 128.32.0.0 として、 .Fl net Li 128.32.130 は .Li 128.32.130.0 として解釈されます。 .Li 192.168.64/20 は .Fl net Li 192.168.64 Fl netmask Li 255.255.240.0 として解釈されます。 .Pp .Ar destination に対する .Ar default 指定は、 .Fl net Li 0.0.0.0 と同じ意味であり、デフォルト経路です。 .Pp 宛先がゲートウェイとして動作する中継点なしで、 あるインタフェースから直接到達可能な場合、 .Fl interface 修飾子を指定しなければなりません。 この場合、指定されたゲートウェイは共通なネットワーク上の ローカルホストのアドレスとなり、 そのインタフェースが転送に使用されることを示します。 また、インタフェースが point to point 接続の場合、 インタフェースをその名前で指定できます。 この場合、ローカルやリモートのアドレスが変更されても そのルートは有効のまま残ります。 .Pp オプションの修飾子 .Fl xns , .Fl osi , .Fl atalk , .Fl link はそれに続いて指定されるアドレスが、それぞれ .Tn XNS , .Tn OSI , .Tn AppleTalk アドレスファミリである、もしくはリンクレベルのアドレスであることを指定します。 これらの場合、名前はシンボル名ではなく、 数字によって指定をおこなわなければなりません。 .Pp オプションの修飾子 .Fl netmask はネットマスクオプションつきの .Tn OSI .Tn ESIS プロトコルによるリダイレクトの効果を実現するためのものです。 つまり、ネットワークインタフェースの暗黙のネットマスクとは異なる ネットマスクをもつサブネットを手動で追加します (この方法によらない場合は、OSPF や ISIS ルーティングプロトコルによって 通信します)。 この修飾子に続いて、アドレスパラメータ (これはネットワークマスクとして解釈されます) を指定します。 AF_INET の場合に生成される暗黙のネットワークマスクは、 このオプションを -.Ar destination +destination パラメータに続いて指定することによって、上書きすることができます。 .Pp .Dv AF_INET6 では、 .Fl mask 修飾子の代りに .Fl prefixlen 修飾子が使用可能です。 IPv6 では非連続なマスクが許されないためです。 例えば .Fl prefixlen Li 32 はネットワークマスク .Li ffff:ffff:0000:0000:0000:0000:0000:0000 の使用を指定します。 prefixlen のデフォルト値は 64 であり、 集約可能 (aggregatable) アドレスと共に動作可能となっています。 ただし、 .Cm default 指定時には 0 が仮定されます。 この修飾子は .Dv AF_INET6 アドレスファミリのみで動作可能なことに注意してください。 .Pp ルートにはいくつかのフラグがあり、 そのルートを使う宛先にデータを送信する時のプロトコルの動作に 影響をおよぼします。 これらのフラグは以下の修飾子によってセット (もしくはクリア) できます。 .Bd -literal -cloning RTF_CLONING - 使用中のルートを新たにひとつ生成する。 -xresolve RTF_XRESOLVE - (外部からの検索に対して) 使用中である旨のメッ セージを発行する。 -iface ~RTF_GATEWAY - 宛先が直接到達可能。 -static RTF_STATIC - 手動でルートを追加する。 -nostatic ~RTF_STATIC - カーネルかデーモンによってルートが追加された ように振舞う。 -reject RTF_REJECT - マッチした場合に ICMP unreachable を出力する。 -blackhole RTF_BLACKHOLE - (更新中に) 何も報告せずにパケットを捨てる。 -proto1 RTF_PROTO1 - プロトコルに特有のフラグ #1 をセットする。 -proto2 RTF_PROTO2 - プロトコルに特有のフラグ #2 をセットする。 -llinfo RTF_LLINFO - プロトコルアドレスからリンクアドレスへの変換の 正当性をチェックする。 .Ed .Pp オプションの修飾子 .Fl rtt , .Fl rttvar , .Fl sendpipe , .Fl recvpipe , .Fl mtu , .Fl hopcount , .Fl expire , .Fl ssthresh によって TCP や TP4 のトランスポートレベルのプロトコルによる ルーティングのエントリ中でメインテナンスされる値の初期値を指定します。 これらは各々の修飾子の前に .Fl lock メタ修飾子を指定することによって、個別にその値をロックすることができます。 また .Fl lockrest メタ修飾子をつけることによって、 その後に続く全ての値をロックすることもできます。 .Pp .Cm change もしくは .Cm add コマンドにおいて、 -.Ar destination +destination もしくは -.Ar gateway +gateway がルートを特定するのに不十分であった場合 (たとえば .Tn ISO のケースにおいて、複数のインタフェースが同じアドレスを持っているような場合)、 .Fl ifp や .Fl ifa 修飾子を使うことによって、 インタフェースやインタフェースアドレスを特定することができます。 .Pp オプションの .Fl proxy 修飾子を指定すると、 .Dv RTF_LLINFO 経路表エントリが、 .Dq 公表された (代理のみの) .Tn ARP エントリとなり、 .Xr arp 8 はそのように報告します。 .Pp 省略可能な .Fl genmask 修正子は、クローンマスクが存在することを指定します。 これは、子の経路が作成されるべきかどうかを判断するときに、 マスクが適用されることを指定します。 これは、 .Dv RTF_CLONING フラグが設定されたネットワーク経路に対してのみ適用されます。 .Pp .Ar destination や .Ar gateway で指定された全てのシンボル名は、まずホスト名として .Xr gethostbyname 3 を使用して検索されます。 検索に失敗した場合は、その名前をネットワーク名と見なし .Xr getnetbyname 3 によって検索されます。 .Pp .Nm ユーティリティはルーティングソケットと新しいメッセージタイプである -.Dv RTM_ADD , RTM_DELETE , RTM_GET , RTM_CHANGE +.Dv RTM_ADD , RTM_DELETE , RTM_GET , +.Dv RTM_CHANGE を使います。 ルーティングテーブルの変更はスーパユーザのみがおこなうことができます。 .Sh 診断 .Bl -diag .It "add [host \&| network ] %s: gateway %s flags %x" 指定されたルートがテーブルに追加されました。 出力された値は .Xr ioctl 2 の呼出しの中で使われたルーティングテーブルのエントリからのものです。 指定されたゲートウェイアドレスがそのゲートウェイのプライマリアドレス .Pf ( Xr gethostbyname 3 によって返される最初のもの) でなかった場合、 ゲートウェイアドレスがシンボル名に加えて、数字でも表示されます。 .It "delete [ host \&| network ] %s: gateway %s flags %x" 指定されたルートがテーブルから削除されました。 .It "%s %s done" .Cm flush コマンドが指定された場合、削除された各ルーティングテーブルエントリが この形式のメッセージで報告されます。 .It "Network is unreachable" 指定されたゲートウェイが直接到達可能なネットワーク上にないために、 ルートの追加に失敗しました。 hop 数が 1 であるゲートウェイを指定しなければなりません。 .It "not in table" テーブルにないエントリを削除しようとしました。 .It "routing table overflow" ルートの追加を試みましたが、システムの資源が少なく、 新しいエントリを作成するためのメモリを割り当てられませんでした。 .It "gateway uses the same route" .Cm change 操作の結果変更された経路は、そのゲートウェイが使用する経路と同一です。 次ホップのゲートウェイが別の経路から到達可能であるべきです。 .El .Pp .Ex -std .Sh 関連項目 .\".Xr esis 4 , .Xr netintro 4 , .Xr route 4 , .Xr arp 8 , .Xr IPXrouted 8 , .Xr routed 8 .\".Xr XNSrouted 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.2 -から登場しました。 +で登場しました。 .Sh バグ 最初の段落は多少 .Xr routed 8 の能力を大げさに書いています。 +.Pp +今のところ、IP fast forward 機能が有効になっていないと +.Dv RTF_BLACKHOLE +フラグが設定されたルートには、フラグが効果を持つよう +.Fl iface +オプションを使って +.Xr lo 4 +ドライバにゲートウェイを設定する必要があります。 +IP fast forward 機能が有効であれば、フラグの意味は常に受け入れられます。 diff --git a/ja_JP.eucJP/man/man8/savecore.8 b/ja_JP.eucJP/man/man8/savecore.8 index fbabb46a9f..524b4d1854 100644 --- a/ja_JP.eucJP/man/man8/savecore.8 +++ b/ja_JP.eucJP/man/man8/savecore.8 @@ -1,144 +1,144 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)savecore.8 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/sbin/savecore/savecore.8,v 1.21 2004/04/09 19:58:38 markm Exp % +.\" %FreeBSD: src/sbin/savecore/savecore.8,v 1.21.2.1 2005/02/26 01:21:50 obrien Exp % .\" $FreeBSD$ .\" .Dd September 23, 1994 .Dt SAVECORE 8 .Os .Sh 名称 .Nm savecore .Nd オペレーティングシステムのコアダンプを保存する .Sh 書式 .Nm .Fl c .Nm .Fl C .Op Fl v .Op Ar directory device .Nm .Op Fl fkvz .Op Ar directory Op Ar device ... -.Ar directory .Sh 解説 .Nm ユーティリティは、コアダンプをディレクトリ -.Fa directory +.Ar directory 内へ、 .Ar directory 引数が指定されない場合は現在の作業ディレクトリへコピーし、 リブートメッセージとコアダンプ情報をシステムログに書き出します。 .Pp オプションは以下の通りです: .Bl -tag -width indent .It Fl C ダンプが存在するかどうかチェックし、 状態を示すために短かいメッセージを表示します。 終了値 0 はダンプが存在することを意味し、 1 は存在しないことを意味します。 このオプションは、 .Op Fl v オプションとのみ互換です。 .It Fl c ダンプをクリアし、これ以降起動される .Nm でそれが用いられないようにします。 .It Fl f -ダンプがクリア済でも、強制的にダンプをとります。 +ダンプがクリア済でもダンプヘッダ情報が矛盾していても、強制的にダンプをとります。 .It Fl k ダンプを保存した後、クリアしません。 .It Fl v より詳しいデバッグ情報を出力します。 +さらに詳しい情報が欲しい場合には 2 個指定して下さい。 .It Fl z -コアダンプとカーネルを圧縮します ( -.Xr gzip 1 +コアダンプとカーネルを圧縮します +.Pf ( Xr gzip 1 参照)。 .El .Pp .Nm ユーティリティは、 .Ar device 引数で指定される各デバイス上と .Pa /etc/fstab で .Dq dump または .Dq swap と記録されている各デバイス上で、ダンプを探します。 .Nm ユーティリティは、様々な方法を用いてコアダンプが完全であることを確認します。 このチェックにパスすると、 .Nm はコアイメージを .Ar directory Ns Pa /vmcore.# に保存し、コアの情報を .Ar directory Ns Pa /info.# に保存します。 ``#'' はファイル .Ar directory Ns Pa /bounds 先頭からの行数で、 .Nm が正常に実行されるたびにインクリメントされてファイルに書き戻されます。 .Pp .Nm ユーティリティはまた、 コピーを作る前にディスク容量が足りているかどうかチェックします。 .Ar directory を含むファイルシステムのディスク容量が不足している場合、 あるいは、 .Ar directory Ns Pa /minfree が存在し、ファイル生成後のそのファイルシステムの (非スーパユーザに対する)残りキロバイト数が このファイル先頭行の数値より小さい場合、 コピー作成は試みられません。 .Pp .Nm がカーネルとコアダンプのコピーに成功すると、 コアダンプはクリアされ、その後の .Nm では用いられないようになります。 .Pp .Nm ユーティリティは、初期化ファイル .Pa /etc/rc -の最終段階付近で呼び出されることを想定しています ( -.Xr rc 8 +の最終段階付近で呼び出されることを想定しています +.Pf ( Xr rc 8 参照)。 -.Sh バグ -minfree コードは圧縮の効果と疎なファイルを考慮していません。 .Sh 関連項目 .Xr gzip 1 , .Xr getbootfile 3 , .Xr dumpon 8 , .Xr syslogd 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.1 で登場しました。 +.Sh バグ +minfree コードは圧縮の効果と疎なファイルを考慮していません。 diff --git a/ja_JP.eucJP/man/man8/slattach.8 b/ja_JP.eucJP/man/man8/slattach.8 index 685904f65f..3404202a06 100644 --- a/ja_JP.eucJP/man/man8/slattach.8 +++ b/ja_JP.eucJP/man/man8/slattach.8 @@ -1,266 +1,265 @@ .\" Copyright (c) 1986, 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)slattach.8 6.4 (Berkeley) 3/16/91 .\" -.\" %FreeBSD: src/sbin/slattach/slattach.8,v 1.25 2004/07/02 21:45:05 ru Exp % +.\" %FreeBSD: src/sbin/slattach/slattach.8,v 1.25.2.1 2005/01/06 03:50:55 rwatson Exp % .\" $FreeBSD$ .\" .Dd April 4, 1993 .Dt SLATTACH 8 .Os .Sh 名称 .Nm slattach .Nd シリアルラインをネットワークインタフェースに割り当てる .Sh 書式 .Nm .Op Fl a .Op Fl c .Op Fl e Ar exit-command .Op Fl f .Op Fl h .Op Fl l .Op Fl n .Op Fl z .Op Fl L .Op Fl r Ar redial-command .Op Fl s Ar baudrate .Op Fl u Ar unit-command .Op Fl K Ar keepalive .Op Fl O Ar outfill .Op Fl S Ar unit .Ar ttyname .Sh 解説 .Nm ユーティリティは、 シリアルポートをネットワークインタフェースに割り当て自分と相手の アドレスを定義するために使用されます。 .Pp 使用可能なオプションは以下のとおりです: .Bl -tag -width indent .It Fl a VJ ヘッダ圧縮を自動許可します。 リンクの相手が VJ ヘッダ圧縮可能な時これを使用し、そうでなければ 標準ヘッダを使用します。 .It Fl c VJ ヘッダ圧縮を指定します。 リンクの両端が VJ ヘッダ圧縮を使用できなければ ならないことに注意してください。 .It Fl e Ar exit-command .Nm が終了する前にシェルで .Ql sh \-c Ar exit-command のように呼び出されるコマンドを指定します。 .It Fl f .Nm をバックグラウンドで動かすための daemon() の呼び出しを行いません。 .It Fl h -cts/rts によるシリアルのフロー制御を有効にします。無指定時には、 -フロー制御はサポートされません。 +cts/rts によるシリアルのフロー制御を有効にします。 +無指定時には、フロー制御はサポートされません。 .It Fl l slip ポートのモデム制御 (CLOCAL) を無効にしキャリア検出を無視します。 無指定時には、キャリアが落ちた時に .Ar redial-command を呼び出しますが、 .Ar redial-command が指定されていなければ .Nm は終了します。 .It Fl n ICMP パケットを捨てます。 slip インタフェースは ICMP レスポンスによるシリアルラインの遅延を防止するよう ICMP パケットを無視します。 .It Fl r Ar redial-command シリアルラインのキャリアが失われた時にシェルで .Ql sh \-c Ar redial-command のように呼び出されるコマンドを指定します。 .Ar redial-command として空白を指定 (すなわち .Fl r Qq "" ) することで、専用線で外部コマンドを実行せずに再接続を試みます。 .It Fl s Ar baudrate 接続速度を指定します。このオプションが指定されない場合には、 9600 bps になります。 .It Fl u Ar unit-command シリアルラインが slip に切り替わった時、 .Dq Nm "sh -c" Ar unit-command old new が実行されます。 .Ar old と .Ar new はそれぞれ slip の最後にオープンされた時のユニット番号と現在のコネクションの ユニット番号です。 このユニット番号は 2 つ以上の slip ラインを使用すればリダイヤル後に 変更することが出来ます。 .Nm の接続が初めて確立されたとき、 .Dq Nm "sh -c" Ar unit-command \-1 new が実行されます。 .Nm の接続が切れたとき、 .Dq Nm "sh -c" Ar unit-command old \-1 が実行されます。 .Nm ユーティリティは、ユニット番号が変更され .Dq Fl u Ar \%unit-command が指定されないとき終了します。 .It Fl z 開始時にキャリアにかかわり無く .Ar redial-command のリダイヤルを行います。 .It Fl L uucp方式のデバイスロックを行います。 他の uucp ロックを行うプログラムから .Nm を開始する場合以外は、このオプションが必要です。 デフォルトではそのようなプログラムの使用を考え uucp ロックをしません。 .It Fl K Ar keepalive SLIP "keep alive" タイムアウト時間を秒単位で設定します。 FRAME_END がこの時間内に受信できない時、再接続が行われます。 省略時はタイムアウトは設定されません。 .It Fl O Ar outfill SLIP "out fill" タイムアウト時間を秒単位で設定します。 これにより、相手側の "keep alive" タイムアウトに必要な FRAME_END をこの時間内に送信します。 省略時はタイムアウトは設定されません。 .It Fl S Ar unit SLIP ユニット番号を直接指定します。 2 つのインタフェースが同じユニット番号にならないかチェックをしないので、 注意が必要です。 省略時は動的にユニット番号を割り当てます。 .It Ar ttyname ttyデバイスの名前を指定します。 .Ar ttyname は .Ql ttyXX か .Ql /dev/ttyXX の形式で記述します。 .El .Pp 本コマンドを用いてシリアルポートをネットワークインタフェースに 割り当てることが出来るのはスーパユーザに限られます。 .Pp ネットワークインタフェースの割り当てを解除する場合は、 .Nm プロセスを .Ql kill -INT を使って kill した後に .Dq Li ifconfig interface-name down を実行してください。 .Ar Interface-name は .Xr netstat 1 で見ることが出来ます。 .Pp .Nm をキャリアを失った時にリダイヤルするように設定するには、 .Fl r Ar redial-command オプションを使って slip サーバに再接続するスクリプトかコマンドを指定します。 スクリプトはサーバにリダイヤルしログインするようなものです。 .Pp slipユニット番号が変わった時にネットワークインタフェースを再構成するには、 .Fl u Ar unit-command オプションを使用して .Ql sh \-c Ar unit-command old new のように呼び出す、スクリプトかコマンドを指定します。 .Ar old と .Ar new は再接続前後の slip ユニット番号です。 同時に 2 つ以上のラインが切断されているときユニット番号が 変わる可能性があります。 最初の再接続に成功した slip が一番小さいユニット番号を得られます。 .Pp .Nm -を kill するには、 tty をクローズしてから終了するように +を kill するには、tty をクローズしてから終了するように .Ql kill -INT (SIGINT)を使用します。 .Pp 強制的にリダイヤルするには、 .Ql kill -HUP を使用し .Nm がキャリアを失ったように思わせて .Ql sh \-c Ar redial-command でサーバに再接続させます。 .Pp .Nm -をモデム経由でなく直結で使用する場合、 slip ラインのキャリアを無視するために +をモデム経由でなく直結で使用する場合、slip ラインのキャリアを無視するために .Fl l オプション付きで実行します。 .Sh 使用例 .Bd -literal -offset indent -compact slattach ttyd8 slattach \-s 4800 /dev/ttyd1 slattach \-c \-s 38400 /dev/cuaa1 slattach \-r 'kermit -y dial.script >kermit.log 2>&1' .Ed .Sh 診断 エラーメッセージは .Pa /var/log/messages にあります .No ( Nm はデーモンです)。 指定したネットワークインタフェースが終了しない、 要求されたアドレスがみつからない、権限のないユーザが ネットワークインタフェースの設定を変更しようとした、というメッセージは ここに記録されます。 .Nm ユーティリティは端末の制御の設定の失敗や、 シグナルハンドラの登録の失敗も記録します。 コネクション開始時とリダイヤル時に tty 名と回線速度が記録され、 終了時に tty 名が記録されます。 .Sh 関連ファイル .Bl -tag -width /usr/share/examples/slattach/* -compact .It Pa /var/run/slattach..pid この .Ar tty は .Ar tty 名 に置き換えられます。 このファイルには .Nm のプロセス番号が含まれ、 .Nm にシグナルを送るスクリプトで確かめることができます。 .It Pa /usr/share/examples/slattach/* .El .Sh 関連項目 .Xr netstat 1 , .Xr startslip 1 , -.Xr uustat 1, .Xr netintro 4 , .Xr ifconfig 8 , .Xr rc 8 , .Xr sliplogin 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.3 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man8/smrsh.8 b/ja_JP.eucJP/man/man8/smrsh.8 index eb694e0e20..8bf991a364 100644 --- a/ja_JP.eucJP/man/man8/smrsh.8 +++ b/ja_JP.eucJP/man/man8/smrsh.8 @@ -1,101 +1,101 @@ -.\" Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers. +.\" Copyright (c) 1998-2004 Sendmail, Inc. and its suppliers. .\" All rights reserved. .\" Copyright (c) 1993 Eric P. Allman. All rights reserved. .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" By using this file, you agree to the terms and conditions set .\" forth in the LICENSE file which can be found at the top level of .\" the sendmail distribution. .\" .\" -.\" $Id: smrsh.8,v 1.16 2004-10-10 08:30:48 metal Exp $ +.\" $Id: smrsh.8,v 1.17 2005-07-11 13:32:04 metal Exp $ .\" .\" $FreeBSD$ .\" -.TH SMRSH 8 "$Date: 2004-10-10 08:30:48 $" +.TH SMRSH 8 "$Date: 2005-07-11 13:32:04 $" .SH 名称 smrsh \- sendmail用に制限されたシェル .SH 書式 .B smrsh .B \-c command .SH 解説 .I smrsh は、 .IR sendmail (8) の設定ファイルで、 .I sh の代わりに ``prog'' メーラとして使用する事を目的としています。 .I smrsh は、システムの全体的なセキュリティを改善するために、 .I sendmail の ``|program'' 書式により起動する事ができるコマンドを制限します。 つまり、もし ``悪者'' が alias ファイルや forward ファイルを経由せずに sendmail からプログラムを実行する事ができたとしても、 .I smrsh を使えば、彼 (あるいは彼女) が実行できるプログラムを制限する事ができるのです。 .PP 簡単に言うと、 .I smrsh は、実行可能なプログラムを単一のディレクトリに存在するものと、 シェル組み込みコマンドの ``exec'', ``exit'', ``echo'' だけに限定します。 このディレクトリは、デフォルトでは、/usr/libexec/sm.bin です。 これにより、システム管理者は利用可能なコマンドを選択する 事ができます。 更に、 .I smrsh は、``end run'' 攻撃を防ぐために、コマンド行に `\`', `<', `>', `;', `$', `(', `)', `\er' (復改文字), `\en' (改行文字) の文字を含むコマンドは実行しません。 ``||'' と ``&&'' は、許可されており、次のようなコマンドを使用可能です: ``"|exec /usr/local/bin/filter || exit 75"'' .PP プログラム名の前にあるパス名は全て取り除かれるため、 ``/usr/bin/vacation'', ``/home/server/mydir/bin/vacation'', ``vacation'' などは全て ``/usr/libexec/sm.bin/vacation'' と解釈されます。 .PP システム管理者は、 sm.bin ディレクトリに置くプログラムを選ぶ際には慎重な 判断をすべきです。 適切なものとしては、 .IR vacation (1) などがあげられるでしょう。 いかなる要望があっても、シェルや、 .IR perl (1) などのシェルに似たプログラムを sm.bin に入れてはいけません。 これは、単に任意のプログラムを実行する事を制限するだけで、 ``#!''書式を用いた、シェルスクリプトや perl スクリプトを sm.bin ディレクトリに入れる事を制限する訳ではありません。 .IR procmail (1) のようなメールフィルタプログラムを入れるのも、よくありません。 .IR procmail (1) は、 .IR procmailrc (5) を使用することで、ユーザが任意のプログラムを実行可能となってしまうからです。 .SH コンパイル コンパイルはほとんどのシステムでつまらないものです。 デフォルトのサーチパス (デフォルトでは``/bin:/usr/bin'') を変更するためには、\-DSMRSH_PATH=\e"\fIpath\fP\e" を 使用する必要があり、また、 デフォルトのプログラムディレクトリ (デフォルトでは ``/usr/libexec/sm.bin'') を変更するためには、\-DSMRSH_CMDDIR=\e"\fIdir\fP\e" を 使用する必要があります。 .SH 関連ファイル - /usr/adm/sm.bin \- たいていの OS での制限されたプログラム用のディレクトリ .PP /var/adm/sm.bin \- HP UX と Solaris での制限されたプログラム用のディレクトリ .PP -/usr/libexec/sm.bin \- FreeBSD (>= 3.3) での制限されたプログラム用のディレクトリ +/usr/libexec/sm.bin \- FreeBSD (>= 3.3) と DragonFly BSD での制限された +プログラム用のディレクトリ .SH 関連項目 sendmail(8) -.\" %FreeBSD: src/contrib/sendmail/smrsh/smrsh.8,v 1.12 2004/08/01 01:16:15 gshapiro Exp % +.\" %FreeBSD: src/contrib/sendmail/smrsh/smrsh.8,v 1.12.2.1 2005/02/19 17:15:27 gshapiro Exp % diff --git a/ja_JP.eucJP/man/man8/sticky.8 b/ja_JP.eucJP/man/man8/sticky.8 index c02b967459..7017063479 100644 --- a/ja_JP.eucJP/man/man8/sticky.8 +++ b/ja_JP.eucJP/man/man8/sticky.8 @@ -1,79 +1,79 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)sticky.8 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man8/sticky.8,v 1.9 2003/09/10 19:24:35 ru Exp % +.\" %FreeBSD: src/share/man/man8/sticky.8,v 1.9.4.1 2005/01/18 01:40:15 trhodes Exp % .\" .\" $FreeBSD$ .\" .Dd June 5, 1993 .Dt STICKY 8 .Os .Sh 名称 .Nm sticky .Nd スティッキテキストと追加専用ディレクトリ .Sh 解説 特別なファイルモード .Em sticky bit -(mode S_ISVTX) +(mode S_ISTXT) は、ディレクトリのための 特別な取り扱いを示すために使われます。 通常ファイルに対しては無視されます。 ファイルのモードについての説明は、 .Xr chmod 2 や、 .In sys/stat.h ファイルを参照してください。 .Sh スティッキディレクトリ `スティッキビット' が設定されたディレクトリは追加専用ディレクトリ、 より正確にいえば、ファイルの削除が制限されたディレクトリになります。 スティッキディレクトリのファイルの削除や名称変更が可能なのは、 そのディレクトリの書き込み権限を持つそのファイルの所有者か、 そのディレクトリの所有者か、スーパユーザだけです。 この機能は、 .Pa /tmp ディレクトリの様に、公共的に書き込み可能であるが、他人の任意のファイルを 消去したり、名称変更したりさせたくない場合には有効です。 .Pp どんなユーザもスティッキディレクトリを作成することができます。 ファイルモードの変更についての詳細は、 .Xr chmod 1 を参照してください。 .Sh バグ .Xr open 2 もしくは .Xr mkdir 2 のどちらも、スティッキビットが設定されたファイルを作成できません。 .Sh 歴史 .Nm コマンドは、 .At 32v -から登場しました。 +で登場しました。 diff --git a/ja_JP.eucJP/man/man8/sysctl.8 b/ja_JP.eucJP/man/man8/sysctl.8 index 0e1ead4f10..2000799f7e 100644 --- a/ja_JP.eucJP/man/man8/sysctl.8 +++ b/ja_JP.eucJP/man/man8/sysctl.8 @@ -1,302 +1,308 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/sbin/sysctl/sysctl.8,v 1.54 2004/04/09 19:58:39 markm Exp % +.\" %FreeBSD: src/sbin/sysctl/sysctl.8,v 1.54.2.2 2005/02/12 15:18:11 brueffer Exp % .\" .\" $FreeBSD$ .\" .Dd March 10, 2002 .Dt SYSCTL 8 .Os .Sh 名称 .Nm sysctl .Nd カーネル状態の取得や設定 .Sh 書式 .Nm .Op Fl bdehNnox .Ar name Ns Op = Ns Ar value .Ar ... .Nm .Op Fl bdehNnox .Fl a .Sh 解説 .Nm はカーネル状態を取り出し、適切な権限があれば -プロセスがカーネル状態を設定することを許します。取り出され -たり、設定されたりした状態は、 -.Pq Management Information Base +プロセスがカーネル状態を設定することを許します。 +取り出されたり、設定されたりした状態は、 +.Dq Management Information Base .Pq Dq MIB -形式を使って記述されます。この形式では、要素はドット ``.'' で -接続されます。 +形式を使って記述されます。 +この形式では、要素はドット ``.'' で接続されます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl A .Fl o a と等価です (互換性用)。 .It Fl a -現在利用可能な、データ形式を知らないもの(以下、形式不明の変数と称する) +現在利用可能な、データ形式を知らないもの (以下、形式不明の変数と称する) でない値を列挙します。 1 個以上の変数名がコマンドラインに指定された場合、 本オプションは無視されます。 .It Fl b 変数の値を加工せずに、バイナリ形式で表示します。 -変数名や、最後の改行文字は出力されません。これは、単一の変数に対して -操作する際に便利でしょう。 +変数名や、最後の改行文字は出力されません。 +これは、単一の変数に対して操作する際に便利でしょう。 .It Fl d 変数の値の代りに解説を表示します。 .It Fl e 変数の名前と値を、 .Ql = で区切ります。 .Nm ユーティリティにフィードバック可能な出力を生成するために有用です。 .Fl N または .Fl n が指定される場合、または変数が設定される場合、本オプションは無視されます。 .It Fl h マシンが読み易いフォーマットではなく、人間が読み易いフォーマットで出力します。 .It Fl N 値の出力は抑制されて、変数名のみを表示します。 プログラム可能な補完機能を持つシェルで、有用です。 .Xr zsh 1 で変数名を補完するには、次のコードを使用します: .Bd -literal -offset indent listsysctls () { set -A reply $(sysctl -AN ${1%.*}) } compctl -K listsysctls sysctl .Ed +.Pp +.Xr tcsh 1 +で変数名を補完するには、次のようにします: +.Pp +.Dl "complete sysctl 'n/*/`sysctl -Na`/'" .It Fl n 変数名の出力は抑制されて、値だけが表示されます。 これはシェル変数を設定するのに役に立ちます。 たとえば、ページサイズを変数 .Va psize に保存するには、以下のようにします: .Pp .Dl "set psize=`sysctl -n hw.pagesize`" .It Fl o 形式不明な値を表示します (通常は抑制されます)。 書式と長さが表示され、値の最初の 16 バイトが 16 進数でダンプされます。 .It Fl X .Fl x a と等価です (互換性用)。 .It Fl x .Fl o と同様ですが、 形式不明の変数の最初の数バイトの代りに全ての内容が 16 進数でダンプされます。 .El .Pp .Nm で得られる情報は、整数、文字列、デバイス .Pq Vt dev_t 、形式不明の変数です。 .Nm ユーティリティはいくつかの形式不明の変数の形式を知っているだけで、 それ以外のものに 対しては 16 進ダンプに頼ります。 形式不明の変数の情報は、 .Xr ps 1 , .Xr systat 1 , .Xr netstat 1 などの特別な目的のプログラムによって取得された場合に、より効果的です。 .Pp 通常のシステム動作中には修正できない変数のいくつかは、 .Xr loader 8 チューナブルで修正可能です。 例えば、これらを .Xr loader.conf 5 で設定することで実現できます。 どのようなチューナブルが利用可能か、そしてそれらをどのように設定するのか という更なる情報については、 .Xr loader.conf 5 を参照してください。 .Pp -文字列と整数の情報を簡単にまとめて以下に示します。これらの -変数の詳細な説明は、 +文字列と整数の情報を簡単にまとめて以下に示します。 +これらの変数の詳細な説明は、 .Xr sysctl 3 を参照してください。 .Pp 変更可能の列は、適切な権限を持つプロセスがその値を変更 できるかどうかを示しています。 文字列、整数、デバイス値を .Nm で設定可能です。 デバイス値 .Ar value は、キャラクタデバイススペシャルファイル名で指定可能です。 特殊な値 .Cm off と .Cm none は .Dq デバイス無し を意味します。 .Bl -column security.bsd.unprivileged_read_msgbuf integerxxx .It Sy "名称 型 変更可能 .It "kern.ostype 文字列 no .It "kern.osrelease 文字列 no .It "kern.osrevision 整数 no .It "kern.version 文字列 no .It "kern.maxvnodes 整数 yes .It "kern.maxproc 整数 no .It "kern.maxprocperuid 整数 yes .It "kern.maxfiles 整数 yes .It "kern.maxfilesperproc 整数 yes .It "kern.argmax 整数 no .It "kern.securelevel 整数 増やすのみ .It "kern.hostname 文字列 yes .It "kern.hostid 整数 yes .It "kern.clockrate struct no .It "kern.posix1version 整数 no .It "kern.ngroups 整数 no .It "kern.job_control 整数 no .It "kern.saved_ids 整数 no .It "kern.boottime struct no .It "kern.domainname 文字列 yes .It "kern.filedelay 整数 yes .It "kern.dirdelay 整数 yes .It "kern.metadelay 整数 yes .It "kern.osreldate 文字列 no .It "kern.bootfile 文字列 yes .It "kern.corefile 文字列 yes .It "kern.dumpdev dev_t yes .It "kern.logsigexit 整数 yes .It "security.bsd.suser_enabled 整数 yes .It "security.bsd.see_other_uids 整数 yes .It "security.bsd.unprivileged_proc_debug 整数 yes .It "security.bsd.unprivileged_read_msgbuf 整数 yes .It "vm.loadavg struct no .It "hw.machine 文字列 no .It "hw.model 文字列 no .It "hw.ncpu 整数 no .It "hw.byteorder 整数 no .It "hw.physmem 整数 no .It "hw.usermem 整数 no .It "hw.pagesize 整数 no .It "hw.floatingpoint 整数 no .It "hw.machine_arch 文字列 no .It "machdep.console_device dev_t no .It "machdep.adjkerntz 整数 yes .It "machdep.disable_rtc_set 整数 yes .It "machdep.guessed_bootdev 文字列 no .It "user.cs_path 文字列 no .It "user.bc_base_max 整数 no .It "user.bc_dim_max 整数 no .It "user.bc_scale_max 整数 no .It "user.bc_string_max 整数 no .It "user.coll_weights_max 整数 no .It "user.expr_nest_max 整数 no .It "user.line_max 整数 no .It "user.re_dup_max 整数 no .It "user.posix2_version 整数 no .It "user.posix2_c_bind 整数 no .It "user.posix2_c_dev 整数 no .It "user.posix2_char_term 整数 no .It "user.posix2_fort_dev 整数 no .It "user.posix2_fort_run 整数 no .It "user.posix2_localedef 整数 no .It "user.posix2_sw_dev 整数 no .It "user.posix2_upe 整数 no .It "user.stream_max 整数 no .It "user.tzname_max 整数 no .El .Sh 使用例 たとえば、システム中で許されている最大のプロセス数を知りたい ときは、以下のようにします: .Pp .Dl "sysctl kern.maxproc" .Pp システム中で許されている最大のプロセス数を 1000 に設定する には、以下のようにします: .Pp .Dl "sysctl kern.maxprocperuid=1000" .Pp クラッシュダンプに使用するデバイスは次のように指定可能です: .Pp .Dl "sysctl kern.dumpdev=/dev/somedev" .Pp これは次と等価です .Pp .Dl "dumpon /dev/somedev" .Pp システムのクロックレートに関する情報を得るには、以下の ようにします: .Pp .Dl "sysctl kern.clockrate" .Pp システム負荷 (ロード・アベレージ) の履歴に関する情報を 得るには、以下のようにします: .Pp .Dl "sysctl vm.loadavg" .Pp -ここに挙げたもの以外の変数も存在します。それらに関するより深い意味を知る +ここに挙げたもの以外の変数も存在します。 +それらに関するより深い意味を知る もっとも良く、かつ、おそらく唯一の方法は、それらを定義しているソースコードを みる事であることは疑いのない事実でしょう。 .Sh 関連ファイル .Bl -tag -width ".In netinet/icmp_var.h" -compact .It In sys/sysctl.h トップレベルの識別子、第 2 レベルのカーネル/ハードウェア識別子、 そしてユーザレベル識別子の定義 .It In sys/socket.h 第 2 レベルのネットワーク識別子の定義 .It In sys/gmon.h 第 3 レベルのプロファイル識別子の定義 .It In vm/vm_param.h 第 2 レベルの仮想メモリ識別子の定義 .It In netinet/in.h 第 3 レベルのインターネット識別子と 第 4 レベルの IP 識別子の定義 .It In netinet/icmp_var.h 第 4 レベルの ICMP 識別子の定義 .It In netinet/udp_var.h 第 4 レベルの UDP 識別子の定義 .El .Sh 互換性 .Fl w オプションは推奨されておらず、黙って無視されます。 .Sh 関連項目 .Xr sysctl 3 , .Xr loader.conf 5 , .Xr sysctl.conf 5 , .Xr loader 8 .Sh バグ 現状では .Nm ユーティリティは、sysctl ツリーの追跡、および、形式と名前の情報を得る際に、 文書化されていないカーネルの sysctl 機能へのインタフェースを使用しています。 この方法に関する正しいインタフェースは、現在検討中です。 .Sh 歴史 .Nm ユーティリティは .Bx 4.4 ではじめて登場しました。 .Pp .Fx 2.2 の .Nm は著しく改良されています。 diff --git a/ja_JP.eucJP/man/man8/sysinstall.8 b/ja_JP.eucJP/man/man8/sysinstall.8 index db4b306bbd..f148d5b53d 100644 --- a/ja_JP.eucJP/man/man8/sysinstall.8 +++ b/ja_JP.eucJP/man/man8/sysinstall.8 @@ -1,919 +1,927 @@ .\" Copyright (c) 1997 .\" Jordan Hubbard . All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY Jordan Hubbard AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL Jordan Hubbard OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/sysinstall/sysinstall.8,v 1.64.2.1 2004/09/02 01:54:59 kensmith Exp % +.\" %FreeBSD: src/usr.sbin/sysinstall/sysinstall.8,v 1.64.2.2 2005/03/25 21:40:13 jhb Exp % .\" .\" $FreeBSD$ .\" .Dd August 9, 1997 .Dt SYSINSTALL 8 .Os .Sh 名称 .Nm sysinstall .Nd システムのインストール及び設定のためのツール .Sh 書式 .Nm .Op Ar var=value .Op Ar function .Op Ar ... .Sh 解説 .Nm ユーティリティは、 .Fx システムのインストールと設定のためのユーティリティです。 これは .Fx インストーラのブートフロッピが最初に起動するプログラムであり、 新規に .Fx システムがインストールされた時には .Pa /usr/sbin/sysinstall に、後のシステム設定で使用するためにコピーされます。 .Pp この .Nm ユーティリティは、引数なしで起動された場合には既定のモードで動作します。 このモードでは、インストール及び設定のためのメニューが存在します。 .Pp しかし sysinstall のサブシステムを直接起動する必要がある場合には、 -コマンドラインからそれを指定することもできます。インストールスクリプトを +コマンドラインからそれを指定することもできます。 +インストールスクリプトを 実行することとコマンドラインからの指定はまったく同じことなので、 スクリプトの作成に関するセクションに目を通しておくと良いでしょう。 .Sh 注 .Nm ユーティリティは、 .Xr libdisk 3 の機能を用いて MBR やディスクラベルを書くことと、新規および既存の .Fx システムに、配布ファイルや package (訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します) をインストールすることができるモノリシックな C プログラムに過ぎません。 また、このプログラムは .Fx インストールのための起動処理の中で実行されたときのために、 .Xr init 8 の代用として動作するための機能も併せ持っています。 これは自分以外のユーティリティのサポートがほとんどないと仮定し、 ファイルシステム操作のほとんどを、(たとえば .Xr mount 2 のような) ユーティリティに相当するシステムコールを 直接呼び出すことによって行ないます。 .Pp .Nm ユーティリティは現在のところ、 システムコンソールや、カラー表示をサポートした端末 エミュレータで起動した場合に単純な ANSI ライングラフィックスや色を 使った操作を実現するために .Xr dialog 3 を使用しています (xterm の新しいバージョンでは、termcap の .Dq xterm-color エントリを使用することでカラー表示をサポートします)。 .Pp このプログラムはそろそろライフサイクルの終わりに来ており、新しい ものによって置き換えられるかもしれません。 .Sh スクリプトの実行 .Nm ユーティリティは、 そのさまざまなメニューを通じ対話的に操作することもできますし、外部の スクリプトによってバッチモードで動作させることもできます。 このような スクリプトを読み込んで実行する方法には以下の 3 通りがあります: .Bl -tag -width Ds .It Sy "LOAD_CONFIG_FILE" もし .Nm が、環境変数 (または Makefile 中に) LOAD_CONFIG_FILE に何らかの値が セットされた状態でコンパイルされていれば、 .Nm が非対話的なモードで起動された際に自動的に探して読み込むファイル名として -その値が用いられます。このオプションは、大きなサイトにおいて、 +その値が用いられます。 +このオプションは、大きなサイトにおいて、 ほぼ同じ設定とインストールオプションで、ひとつの雛型に基づき 多数のマシンにインストールしたい場合のためのものです。 .It Sy "メインメニュー" .Nm が対話的に起動された場合、すなわち既定の方法で起動された場合、オプション "load config file" を含むメインメニューを表示します。 このオプションを 選択すると、スクリプトファイル名を尋ねるプロンプトが出され、続いてその ファイルを DOS または UFS 形式のフロッピディスクから読み込みます。 .It Sy "コマンド行" .Nm がマルチユーザモードで動作している場合はコマンドライン引数のそれぞれが スクリプトの指示であるとして扱われます。 実行終了のリクエスト (たとえば .Ar shutdown 指示など)、引数列の終わり、エラー発生のいずれかにより実行は終了します。 .Pp たとえば、 .Bd -literal /usr/sbin/sysinstall _ftpPath=ftp://ziggy/pub/ mediaSetFTP configPackages .Ed .Pp は、 .Nm を、インストールメディア FTP (サーバは `ziggy') で初期化し、続いて package インストールエディタを起動し、それが終わると終了します。 .El .Sh スクリプトの文法 -スクリプトはひとつ以上の指示のリストです。それぞれの指示は以下の形をとります。 +スクリプトはひとつ以上の指示のリストです。 +それぞれの指示は以下の形をとります。 .Pp .Ar var=value .Pp .Ar function .Pp .Ar #somecomment .Pp .Ar var=value は、たとえば "ftpPass=FuNkYChiKn" のような、 .Nm -の内部変数の設定です。また、 +の内部変数の設定です。 +また、 .Ar function は、"mediaSetFTP" のような .Nm の内部関数の名称であり、 .Ar #comment はドキュメンテーションのために挿入する一行のコメントです (sysinstall はこれを無視します)。 それぞれの指示は一行にひとつずつ書かれなければなりません。 関数は、既知の変数名を調べることで、その引数を得ます。 したがって、ある変数を必要とする関数を呼び出す前には、 関連する変数を予め設定しておく必要があります。 .Pp 各ディレクティブの前に .Ar noError 変数を設定しておくことが可能です。 これにより、ディレクティブ自身は無視されるような場合においても、 エラーを検知可能とします。 .Ar noError の値は、ディレクティブが処理されるたび自動的に、 デフォルトの "未設定" に戻ります。 .Pp いつどの関数が、どの変数に依存するかを、 下の表に示します。 .Pp .Sy "関数一覧" : .Pp .\"===kuma=========================================== .Bl -tag -width indent .It configAnonFTP 匿名 FTP の設定メニューを起動します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It configRouter -使用したいルーティングデーモンを選択します。必要ならサードパーティの -ものを使用することもできます。 +使用したいルーティングデーモンを選択します。 +必要ならサードパーティのものを使用することもできます。 .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It router これには、たとえば .Dq routed や .Dq gated のように、希望するルーティングデーモンの名前を設定します。 設定されていなければ入力を求められます。 .El .It configNFSServer ホストを NFS サーバとして設定します。 .Pp -.Sy 変数: +.Sy 変数 : なし .It configNTP ホストをネットワークタイムプロトコルのユーザとして設定します。 .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It ntpdate_flags これには、 .Xr ntpdate 8 -のオプションを設定します。同期をとるために使用するサーバの名前は -ここに設定してください。 +のオプションを設定します。 +同期をとるために使用するサーバの名前はここに設定してください。 .El .It configPCNFSD ホストを PC NFS をサポートするように設定します。 .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It pcnfsd_pkg 必要ならば PCNFSD の package 名を設定します (既定値としてハードコード されたものが使用されます)。 .El .It configPackages 対話的な package 管理画面を起動します。 .Pp -.Sy 変数: +.Sy 変数 : なし .It configUsers システムにユーザやグループを追加します。 .Pp -.Sy 変数: +.Sy 変数 : なし .It diskPartitionEditor ディスクパーティション (MBR) エディタを起動します。 .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width findx .It geometry シリンダ数/ヘッド数/セクタ数の形式で書かれたディスクジオメトリを 設定します。 既定値: ジオメトリを変更しません。 .It partition -ディスクパーティションのタイプやサイズを設定します。この値が +ディスクパーティションのタイプやサイズを設定します。 +この値が .Ar free であれば、 .Fx のために使用可能な空き領域のみを使用します。 .Ar all であれば、ディスク全体を .Fx に割り当てますが、正しいパーティションテーブルを作成します。 .Ar existing であれば、既存の .Fx パーティションのうち、最初に見つかったものを使用します。 .Ar exclusive であれば、ディスクを、 .Dq 危険な方法で専用化された モードで使用します。 最後に、 .Ar somenumber であれば、空き領域のうちの .Ar somenumber ブロックを新規の .Fx パーティションのために使用します。 既定値: 対話モードで起動します。 .It bootManager は、次のどれかから選択する必要があります。 .Ar boot は、ブートマネージャのインストールを指示します。 .Ar standard は、ブートマネージャでない「標準の」DOS MBRのインストールを指示します。 .Ar none は、ブートマネージャに対して何の操作も行わないことを指示します。 既定値: none です。 .It diskInteractive 設定すると、対話的なディスクパーティションエディタを起動します。 .El .Pp -注意: この関数では実際のディスクへの書き込みは行われません。実際に -書き込みを行うためには、 +注意: この関数では実際のディスクへの書き込みは行われません。 +実際に書き込みを行うためには、 .Ar diskPartitionWrite 操作を行う必要があります。 .It diskPartitionWrite は、MBR に対する、待ち状態にあるすべての変更を行います (一般には .Ar diskPartitionEditor によって呼び出されます)。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It diskLabelEditor ディスクラベルエディタを起動します。 スクリプトから動かすのはちょっと手品のようになります。 というのも、 .Ar diskPartitionEditor 関数で作成された各 .Fx (タイプ 0xA5) パーティション中のすべてに対してラベルする必要が 本質的にあるためであり、 これはどのようにレイアウトされるかについての少数のルールを知る 必要があるためです。 スクリプトを作成して、 自動的にディスク空間の割り当てとパーティションを行う場合、 少なくとも一度はまず対話的にインストールを実行し、 スライス名がどうなるかを見てから、 これをスクリプトに埋め込むことをお勧めします。 .Pp 例えば、SCSI ディスクがあり、そのスライス 2 に .Fx を作成したとします (DOS パーティションはスライス 1 にあるとします)。 .Fx 全体のスライス名は .Ar da0s2 になります (DOS プライマリパーティションは .Ar da0s1 となります)。 更に、このパーティションに 500MB あり、 -この空間をルートとスワップと var と usr のファイルシステムに +.Fx +用にこの空間をルートとスワップと var と usr のファイルシステムに 更に分割すると仮定します。 .Ar diskLabelEditor 関数呼び出しには、次の変数設定が伴うでしょう: .Bl -tag -width findx .It Li "da0s2-1=ufs 40960 /" 20MB ルートファイルシステム (すべての大きさは 512 バイトブロック数)。 .It Li "da0s2-2=swap 131072 /" 64MB スワップパーティション。 .It Li "da0s2-3=ufs 204800 /var" 100MB /var ファイルシステム。 .It Li "da0s2-4=ufs 0 /usr 1" 空き空間の残り (約 316MB) が /usr ファイルシステムで ソフトアップデートを有効にします (マウントポイント後の非 0 引数は、ソフトアップデートフラグ設定を意味します)。 .El .Pp 新規パーティションを作成するのと同様に、 既存のパーティションのマウントや消去に、 .Ar diskLabelEditor を使用可能です。 前の例の、DOS パーティションをマウントし、これに対応する .Pa /etc/fstab エントリを、新規インストールにおいて作成したいとします。 .Ar diskLabelEditor 関数の呼び出し前に、次の追加行を単に足せば良いです: .Pp .Dl "da0s1=/dos_c N" .Pp これは、最初のスライスを .Pa /dos_c -にマウントしてこれを newfs しないよう、ラベルエディタに指示します ( -.Nm +にマウントしてこれを newfs しないよう、ラベルエディタに指示します +.Pf ( Nm は DOS パーティションに対しては如何なる場合でも newfs を実行しません。 既存の UFS パーティションに対しても、ここに名前を書くことで実行できます。 2 番目のフィールドは省略不可です)。 .\" なんだかよくわかりません horikawa 2001/03/25 .\" 原文は .\" not that sysinstall would attempt this for a DOS partition in .\" any case, but it could just as easily be an existing UFS partition .\" being named here and the 2nd field is non-optional .Pp .Ar diskInteractive 変数を設定することにより、 前述のように変数を使用した明示的なレイアウトを行う代りに、 ディスクラベルエディタが対話的なダイアログを使用してディスクを分割するよう、 要求できます。 .Pp 注: .Ar diskLabelCommit が呼び出される前は、 ファイルシステムデータは実際にディスクに書き込まれません。 .It diskLabelCommit 設定した、待ち状態であるディスクラベル情報をすべて書き込み、 .Ar diskLabelEditor でマウントを設定したすべてのファイルシステムをマウントします。 .Pp -.Sy 変数: +.Sy 変数 : なし .It distReset 選択した配布ファイルのセットをリセットして、何も選択していない状態にします。 .Pp -.Sy 変数: +.Sy 変数 : なし .It distSetCustom 配布ファイルセットの選択を、予め用意されたセットからの選択でなく、 非対話モードでも「カスタム」で行うようにします。 .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It dists 読み込む配布ファイルのセットのリストを設定します。 値として使用できるのは以下の通りです。 .Bl -tag -width indentxx .It Li base 基本バイナリファイルのセット .It Li doc 様々な文書 .It Li games ゲーム .It Li manpages フォーマット前のマニュアルページ .It Li catpages フォーマット済のマニュアルページ .It Li proflibs 開発者のためのプロファイルされたライブラリ .It Li dict スペルチェックなどのツールのための辞書情報 .It Li info GNU info ファイルとその他の追加文書 .It Li compat1x .Fx 1.x との互換性 .It Li compat20 .Fx 2.0 との互換性 .It Li compat21 .Fx 2.1 との互換性 .It Li compat22 .Fx 2.2 及び .Fx 3.0 の a.out バイナリ互換性 .It Li compat3x .Fx 3.x との互換性 .Pf ( Fx 4.0 でのみ利用可能) .It Li compat4x .Fx 4.x との互換性 .Pf ( Fx 5.0 システムでのみ利用可能) .It Li ports ports コレクション .It Li ssecure /usr/src/secure .It Li sbase /usr/src/(トップレベルファイル) .It Li scontrib /usr/src/contrib .It Li sgnu /usr/src/gnu .It Li setc /usr/src/etc .It Li sgames /usr/src/games .It Li sinclude /usr/src/include .It Li skrb5 /usr/src/kerberos5 .It Li slib /usr/src/lib .It Li slibexec /usr/src/libexec .It Li srelease /usr/src/release .It Li srescue /usr/src/rescue .It Li sbin /usr/src/bin .It Li ssbin /usr/src/sbin .It Li sshare /usr/src/share .It Li ssys /usr/src/sys .It Li subin /usr/src/usr.bin .It Li susbin /usr/src/usr.sbin .It Li ssmailcf /usr/src/usr.sbin/sendmail/cf .It Li Xbin X.Org クライアントアプリケーション .It Li Xlib X.Org ライブラリ .It Li Xman X.Org マニュアルページ .It Li Xdoc X.Org プロトコルとライブラリの文書 .It Li Xprog X.Org imake 配布物 .It Li Xsrv X.Org X サーバ .It Li Xnest X.Org ネスト X サーバ .It Li Xprt X.Org プリントサーバ .It Li Xvfb X.Org 仮想フレームバッファ X サーバ .It Li Xfmsc X.Org 種々の フォントセット .It Li Xf75 X.Org 75DPI フォントセット .It Li Xf100 X.Org 100DPI フォントセット .It Li Xfcyr X.Org キリル語フォントセット .It Li Xft1 X.Org Type 1 フォントセット .It Li Xftt X.Org TrueType フォントセット .It Li Xfs X.Org フォントサーバ .El .El .It distSetDeveloper 標準開発者配布セットを選択します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It distSetXDeveloper 標準 X 開発者配布セットを選択します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It distSetKernDeveloper 標準カーネル開発者配布セットを選択します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It distSetUser 標準ユーザ配布セットを選択します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It distSetXUser 標準 X ユーザ配布セットを選択します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It distSetMinimum 最小配布セットを選択します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It distSetEverything 全部、つまり利用可能な配布すべてを選択します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It distSetSrc ソースのパーツ群を、対話的に選択します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It distSetXOrg X.Org のパーツ群を、対話的に選択します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It distExtractAll 現在選択されている配布すべてをインストールします (メディアデバイスが既に選択されていることが必要です)。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It docBrowser (必要であれば) HTML 文書ブラウザをインストールし、 HTML 文書サブメニューに行きます。 .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It browserPackage 必要に応じてインストールを試みる、ブラウザの package 名です。 デフォルトは最新の links package です。 .It browserBinary -ブラウザバイナリ自身の名前です ( -.Ar browserPackage +ブラウザバイナリ自身の名前です +.Pf ( Ar browserPackage 変数に優先させる場合)。 デフォルトは links です。 .El .It installCommit ディスクに対する待ち状態の変更を、すべて実施します。 この関数は、本質的に、細粒度の "実施" 関数をまとめたものです。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It installExpress 「高速」インストールを開始します。 ユーザへの質問は少数です。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It installStandard 「標準」インストールを開始します。 利用可能なインストールタイプ中で、最もユーザフレンドリです。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It installUpgrade アップグレードインストールを開始します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It installFixitHoloShell init として起動している場合、 「緊急ホログラフィックシェル」を VTY4 で起動します。 .Ar noHoloShell を設定しない限りにおいては、 これはインストール処理の一部として自動的に実施されます。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It installFixitCDROM "fixit" モードに入ります。 ライブファイルシステム CDROM がドライブにあるものと仮定します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It installFixitFloppy "fixit" モードに入ります。 fixit フロッピディスクが利用可能と仮定します (ユーザは問い合わせを受けます)。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It installFilesystems インストールのファイルシステム初期化部分のみを実行します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It installVarDefaults 全変数をデフォルトに初期化し、以前の設定を上書きします。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It loadConfig #include 文のようなものであり、他の設定ファイルをロードできます。 .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It configFile ロードするファイルの完全な形でのパス名です。 .El .It mediaClose メディアデバイスが開いている場合、閉じます。 .Pp .Sy 変数 : 無し .It mediaSetCDROM インストールメディアとして .Fx CDROM を選択します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It mediaSetFloppy インストールメディアとして 作成済フロッピインストールセットを選択します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It mediaSetDOS インストールメディアとして 既存の DOS プライマリパーティションを選択します。 最初に見付かるプライマリパーティション (例 C:) を使用します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It mediaSetTape インストールメディアとしてテープデバイスを使用します。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It mediaSetFTP インストールメディアとして FTP サイトを使用します。 .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It hostname インストールされるホストの名前 (省略不可)。 .It domainname インストールされるホストのドメイン名 (省略不可)。 .It defaultrouter このホストのデフォルトルータ (省略不可)。 .It netDev どのホストインタフェースを使用するか (例えば .Ar ed0 や .Ar ep0 です。 省略不可)。 .It netInteractive 設定すると、関連するすべての設定変数を陶に設定していても、 対話的なネットワーク設定フォームを起動します (省略可)。 .It ipaddr 選択したホストインタフェースの IP アドレス (省略不可)。 .It netmask 選択したホストインタフェースのネットマスク (省略不可)。 .It _ftpPath 対象となる .Fx -配布を保持する FTP サイトの完全な形での URL。例えば +配布を保持する FTP サイトの完全な形での URL。 +例えば .Ar ftp://ftp.FreeBSD.org/pub/FreeBSD/ 。 .El .It mediaSetFTPActive .Ar mediaSetFTP と同様ですが、「能動的」な FTP 転送モードを使用します。 .Pp -.Sy 変数: +.Sy 変数 : .Ar mediaSetFTP と同様です。 .It mediaSetFTPPassive .Ar mediaSetFTP と同様ですが、「受動的」な FTP 転送モードを使用します。 .Pp -.Sy 変数: +.Sy 変数 : .Ar mediaSetFTP と同様です。 .It mediaSetHTTP .Ar mediaSetFTP と同様ですが、HTTP プロキシを使用します。 .Pp -.Sy 変数: +.Sy 変数 : .Ar mediaSetFTP -を参照してください。更に以下も使用します。 +を参照してください。 +更に以下も使用します。 .Bl -tag -width indent .It _httpPath 使用するプロキシ (host:port) (省略不可)。 .El .It mediaSetUFS インストールメディアとして、 (ラベルエディタでマウントされている) 既存の UFS パーティション を選択します。 .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It ufs 対象となる .Fx 配布を保持する、完全な /path 指定。 .El .It mediaSetNFS .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It hostname インストールされるホストの名前 (省略不可)。 .It domainname インストールされるホストのドメイン名 (省略不可)。 .It defaultrouter このホストのデフォルト経路 (省略不可)。 .It netDev どのホストインタフェースを使用するか (例えば .Ar ed0 や .Ar ep0 です。 省略不可)。 .It netInteractive 設定すると、関連するすべての設定変数を陶に設定していても、 対話的なネットワーク設定フォームを起動します (省略可)。 .It ipaddr 選択したホストインタフェースの IP アドレス (省略不可)。 .It netmask 選択したホストインタフェースのネットマスク (省略不可)。 .It nfs 対象となる .Fx 配布を保持する、完全な hostname:/path 指定。 .El .It mediaSetFTPUserPass .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It ftpUser FTP サーバに接続する場合のユーザ名を設定します。 既定値: ftp .It ftpPass FTP サーバに接続する場合のパスワードを設定します。 既定値: user@host .El .It mediaSetCPIOVerbosity .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It cpioVerbose cpio で展開を行う際のメッセージの冗長度を low, medium, high から選択します。 .El .It mediaGetType 対話的にユーザにメディアタイプの指定を求めます。 .Pp -.Sy 変数: +.Sy 変数 : 無し .It optionsEditor オプション編集画面を起動します。 .Pp -.Sy 変数: +.Sy 変数 : なし .It packageAdd package を取得してインストールしようと試みます (メディアが設定されている 必要があります)。 .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It package bash-1.14.7 や ncftp-2.4.2 のようにインストールする package の名前を 指定します。 .El .It addGroup 対話的なグループエディタを起動します。 .Pp -.Sy 変数: +.Sy 変数 : なし .It addUser 対話的なユーザエディタを起動します。 .Pp -.Sy 変数: +.Sy 変数 : なし .It shutdown スクリプトの実行を停止して sysinstall を終了します。 .Pp -.Sy 変数: +.Sy 変数 : なし .It system .Xr system 3 を用いて外部コマンドを実行します。 .Pp -.Sy 変数: +.Sy 変数 : .Bl -tag -width indent .It command 実行するコマンドの名前。 ブートフロッピから起動されている場合は、 システム全体がインストールされている場合と比較して使用できるものが 大幅に限定されていることに注意してください。 .El .It tcpMenuSelect ネットワークデバイスを設定します。 .Pp .Sy 変数 : .Ar mediaSetFTP と同様ですが、 .Ar _ftpPath が使用されないことが違います。 .El .Sh 配布メディア 次のファイルを使用して、初期システムインストール時の .Nm の動作を変更可能です。 .Bl -tag -width ".Pa packages/INDEX" .It Pa cdrom.inf プロパティを 1 行に 1 個ずつ記述するテキストファイルであり、 使用するメディアの内容を記述します。 各行の文法は、単に .Dq Ar property No = Ar value というものです。 現在のところ、次のプロパティだけが認識されます。 .Bl -tag -width ".Va CD_MACHINE_ARCH" .It Va CD_VERSION このプロパティは、このメディアボリュームの .Fx バージョンに設定すべきです。 例えば -.Dq Li "CD_VERSION = 4.6" +.Dq Li "CD_VERSION = 5.3" です。 .It Va CD_MACHINE_ARCH このプロパティは、このボリューム上の内容のアーキテクチャに設定すべきです。 このプロパティは、通常、複数のアーキテクチャを含む .Fx 製品でのみ使用され、 ユーザが Alpha package を i386 マシンにインストールしようとしたときに より良いエラーメッセージを提供するようになります。 例えば .Dq Li "CD_MACHINE_ARCH = alpha" です。 -.It Va VOLUME +.It Va CD_VOLUME マルチボリュームコレクション (例えば .Fx 4-CD セット) では、各ディスクの .Pa ports/INDEX ファイルは、セットの完全な package インデックスを含むべきです。 .Pa INDEX ファイルの最後のフィールドは、 どのボリュームにその package が含まれるのかを示し、この -.Va VOLUME +.Va CD_VOLUME プロパティは現在のディスクのボリューム ID を定義します。 .El .It Pa packages/INDEX package インデックスファイルです。 各 package が、必要な依存関係等の追加メタデータと共に各行に列挙されます。 このインデックスは .Xr ports 7 コレクションで .Dq Li "make index" を実行することにより生成されます。 複数ボリュームサポートが有効な場合、 どの package がどのメディアボリュームに含まれるのかを示す 追加フィールドが各行に追加されます。 .El .Pp .Fx の完全なリリースの構築方法については、 .Xr release 7 を参照してください。 .Sh 関連ファイル このユーティリティは .Pa /etc/rc.conf , .Pa /etc/hosts , .Pa /etc/resolv.conf の内容を、ネットワーク等の設定変更に応じて変更します。 .Sh 関連項目 十分に完全なソースツリーがオンライン上にあれば、 サンプルのインストールスクリプトについて .Pa /usr/src/usr.sbin/sysinstall/install.cfg を参照してください。 -.Sh バグ -本ユーティリティは雛型であり、 -期限切後も数年を生き延びており、大いに死すべきです。 -.Sh 作者 -.An Jordan K. Hubbard Aq jkh@FreeBSD.org .Sh 歴史 このバージョンの .Nm は、 .Fx 2.0 -から登場しました。 +ではじめて登場しました。 +.Sh 作者 +.An Jordan K. Hubbard Aq jkh@FreeBSD.org +.Sh バグ +本ユーティリティは雛型であり、 +期限切後も数年を生き延びており、大いに死すべきです。 diff --git a/ja_JP.eucJP/man/man8/syslogd.8 b/ja_JP.eucJP/man/man8/syslogd.8 index 045d44227b..7460c8e5c4 100644 --- a/ja_JP.eucJP/man/man8/syslogd.8 +++ b/ja_JP.eucJP/man/man8/syslogd.8 @@ -1,334 +1,348 @@ .\" Copyright (c) 1983, 1986, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)syslogd.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.sbin/syslogd/syslogd.8,v 1.52 2004/08/07 04:28:55 imp Exp % +.\" %FreeBSD: src/usr.sbin/syslogd/syslogd.8,v 1.52.2.3.2.2 2005/05/05 17:46:04 hrs Exp % .\" .\" $FreeBSD$ .\" -.Dd November 24, 2001 +.Dd May 5, 2005 .Dt SYSLOGD 8 .Os .Sh 名称 .Nm syslogd .Nd システムメッセージの記録をとる .Sh 書式 .Nm .Op Fl 46Acdknosuv .Op Fl a Ar allowed_peer .Op Fl b Ar bind_address .Op Fl f Ar config_file -.Op Fl l Ar path +.Op Fl l Oo Ar mode : Oc Ns Ar path .Op Fl m Ar mark_interval .Op Fl P Ar pid_file -.Op Fl l Ar path .Op Fl p Ar log_socket .Sh 解説 .Nm ユーティリティは設定ファイルに指定された通りに、システムコンソール、 ログファイル、他のマシンやユーザへのメッセージを読み込み、記録します。 .Pp オプションには以下のものがあります。 .Bl -tag -width indent .It Fl 4 .Nm が IPv4 アドレスのみを使用するよう、強制します。 .It Fl 6 .Nm が IPv6 アドレスのみを使用するよう、強制します。 .It Fl A ホストが複数の A または AAAA レコードを持っている場合でも、 通常 .Nm はメッセージを単一のアドレスにのみ送信しようとします。 本オプションが指定されると、 .Nm はメッセージをすべてのアドレスに送信しようとします。 .It Fl a Ar allowed_peer .Ar allowed_peer がこの .Nm に UDP データグラムを使用してログすることを許します。 複数の .Fl a オプションを指定可能です。 .Pp .Ar allowed_peer は以下のいずれかです: .Bl -tag -width "ipaddr/masklen[:service]XX" .It Xo .Sm off .Ar ipaddr .No / Ar masklen .Op : Ar service .Sm on .Xc .Ar ipaddr (通常のドット表記の 4 つ組) からのデータグラムを受け付けます。 アドレス比較の際、 .Ar masklen ビットを考慮します。 アドレスを .Ql \&[ と .Ql \&] で括ることで、 .Ar ipaddr に IPv6 アドレスを指定可能です。 .Ar service が指定された場合、パケット送出元が属すべき UDP service の名前もしくは番号となります .Pf ( Xr services 5 参照)。 .Ar service に .Ql \&* を指定すると、全ての UDP ポートから送信されたパケットを受け付けます。 デフォルトの .Ar service は .Ql syslog です。 .Ar ipaddr が IPv4 アドレスの場合で .Ar masklen を指定しないと、 .Ar ipaddr がクラス A もしくは B のアドレス範囲に属す場合にはそれぞれ 歴史的なクラス A もしくは B のネットマスクが使用され、 そうでない場合には 24 が使用されます。 .Ar ipaddr が IPv6 アドレスの場合で .Ar masklen を指定しないと、 .Ar masklen は 128 が用いられます。 .It Xo .Sm off .Ar domainname Op : Ar service .Sm on .Xc 送信アドレスのアドレス逆引きにおいて .Ar domainname が得られたデータグラムを受け付けます。 .Ar service の意味は前述の通りです。 .It Xo .Sm off .No * Ar domainname Op : Ar service .Sm on .Xc 上述の通りですが、送信ホスト名が .Ar domainname で .Em 終る 全てのホストから受け付けます。 .El .Pp .Fl s が指定された場合には、 .Fl a オプションは無視されます。 .It Fl b Ar bind_address バインド対象となる IP アドレスまたはホスト名を、1 個指定します。 ホスト名が指定された場合、これに対応する IPv4 または IPv6 のアドレスが使用されます。 .It Fl c 出力が他のプログラムへのパイプの場合、同じ行の繰り返しを .Dq Li "last message repeated N times" という形式の単一行に圧縮することを無効化します。 2 回指定すると、すべての場合においてこの圧縮を無効化します。 .It Fl d .Nm をデバッグモードで実行します。 これは恐らく、 .Nm の開発者にのみ役立ちます。 .It Fl f 代りの設定ファイルのパス名を指定します。 デフォルトは .Pa /etc/syslog.conf です。 .It Fl k ファシリティ .Dq kern で受信したメッセージをファシリティ .Dq user へ変換することを、止めます。 通常は、 .Dq kern ファシリティは、直接 .Pa /dev/klog から読み込むメッセージ用に予約されています。 .It Fl m .Dq mark されたメッセージの間隔を分単位で指定します。 デフォルトは 20 分です。 .It Fl n すべての要求に対し、DNS への問い合わせを抑止します。 .It Fl o カーネルメッセージの前に、 .Xr getbootfile 3 で判定される完全なカーネルブートファイルを付けます。 これを指定しないと、カーネルメッセージのプレフィックスは常に .Dq Li kernel: になります。 .It Fl p 代りに使用するログ用ソケットのパス名を指定します。 デフォルトは .Pa /var/run/log です。 .It Fl P プロセス ID を格納するための別のファイルを指定します。 デフォルトは .Pa /var/run/syslog.pid です。 +.It Fl S +特権のあるアプリケーションが代わりに利用するログ用ソケットのパス名を指定します。 +デフォルトは +.Pa /var/run/logpriv +です。 .It Fl l .Nm が追加のログ用ソケットを置く場所を指定します。 -19 個まで追加のログ用ソケットを指定可能です。 主な用法は、 様々に chroot したファイル空間において追加のログ用ソケットを .Pa /var/run/log に置くというものです。 +ソケットのファイルパーミッションは、ソケット名の前にコロンで区切って +8 進表記で指定可能です。 +ソケットの場所へのパスは絶対パスでなければなりません。 .It Fl s セキュアモードで操作します。 リモートマシンからのログメッセージをログしません。 2 度指定すると、ネットワークソケットを全くオープンせず、 またリモートマシンへのログ動作も無効にします。 .It Fl u ただ 1 つの優先度のログのみ行います。 指定した優先度のメッセージのみログします。 このオプションを指定しないと、指定した優先度以上のメッセージがログされます。 このオプションにより、デフォルトの比較を .Dq => から .Dq = に変更します。 .It Fl v 冗長なログを行います。 1 度指定すると、ローカルに書き込まれたメッセージと共に、 ファシリティと優先度が数値でログされます。 複数回指定すると、ローカルに書き込まれたメッセージと共に、 ファシリティと優先度が名前でログされます。 .El .Pp .Nm ユーティリティは 起動時と hangup シグナルを受けとった時はいつでも設定ファイルを 読み込みます。 設定ファイルのフォーマットに関する情報は、 .Xr syslog.conf 5 参照して下さい。 .Pp .Nm ユーティリティは .Ux ドメインソケット -.Pa /var/run/log、 +.Pa /var/run/log +と +.Pa /var/run/logpriv +から、 .Pa /etc/services -で指定されるインターネットドメインソケット +で指定されるインターネットドメインソケットから、 および特殊デバイス .Pa /dev/klog (カーネルメッセージを読むため) からメッセージを読み込みます。 .Pp .Nm ユーティリティはプロセス ID ファイル、デフォルトでは .Pa /var/run/syslog.pid を作成し、ここにプロセス ID を記録します。 これは .Nm -を kill や、設定ファイルを読み込ませるために使えます。 +を kill したり、再設定したりするために使えます。 .Pp .Nm に送られるメッセージは単一の行で構成されます。このメッセージは先頭に 優先順位コードを含んでいます。このコードは .Sq Aq 5 のように括弧でくくられた 10 進数から構成されており、インクルードファイル .In sys/syslog.h で定義されている優先順位に対応します。 .Pp セキュリティ上の理由から、 .Nm は存在しないログファイルへ追加書き込みしません。 .Nm の起動前に手動で作成する必要があります。 .Sh 関連ファイル .Bl -tag -width /var/run/syslog.pid -compact .It Pa /etc/syslog.conf コンフィギュレーションファイル .It Pa /var/run/syslog.pid デフォルトのプロセス ID ファイル .It Pa /var/run/log .Ux ドメインデータグラムのログ用ソケットの名前 +.It Pa /var/run/logpriv +特権のあるアプリケーション用の +.Ux +ソケット .It Pa /dev/klog カーネルログ用のデバイス .El .Sh 関連項目 .Xr logger 1 , .Xr syslog 3 , .Xr services 5 , -.Xr syslog.conf 5 +.Xr syslog.conf 5 , +.Xr newsyslog 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.3 -から登場しました。 +で登場しました。 .Pp .Fl a , .Fl s , .Fl u , .Fl v のオプションは .Fx 2.2 における拡張です。 .Sh バグ UDP パケットで受けとったメッセージを記録する能力は認証されていない ディスクを溢れさせるリモートサービスと等価であり、恐らくデフォルトで無効に されるべきです。 ある種の .Nm 間の認証メカニズムが用意されるべきでしょう。 最悪の無駄遣いを避けるために、 .Fl a オプションの使用を強く勧めます。 .Pp .Fl a のマッチングアルゴリズムは非常に効率的には見えません; ドメイン名比較より、数値による IP アドレスを使用する方が高速です。 許可されたピアのリストの検索は線型に行なわれるため、 多くのメッセージを受け付けると予測されるピアグループは .Fl a リストの最初の方に置くべきです。 .Pp ログ用ソケットは読み込み専用のルートファイルシステムの扱いを容易にする ために .Pa /dev から移されました。このことは古いバイナリを混乱させるかもしれないので、 過渡期の間はシンボリックリンクが役に立つでしょう。 diff --git a/ja_JP.eucJP/man/man8/telnetd.8 b/ja_JP.eucJP/man/man8/telnetd.8 index b44c4cb481..f1b05e55ad 100644 --- a/ja_JP.eucJP/man/man8/telnetd.8 +++ b/ja_JP.eucJP/man/man8/telnetd.8 @@ -1,556 +1,566 @@ .\" Copyright (c) 1983, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)telnetd.8 8.4 (Berkeley) 6/1/94 -.\" %FreeBSD: src/contrib/telnet/telnetd/telnetd.8,v 1.18 2001/12/14 14:41:07 ru Exp % +.\" %FreeBSD: src/contrib/telnet/telnetd/telnetd.8,v 1.18.8.1 2005/02/13 13:17:23 maxim Exp % .\" .\" $FreeBSD$ .\" -.Dd January 27, 2000 +.Dd January 9, 2005 .Dt TELNETD 8 .Os .Sh 名称 .Nm telnetd .Nd DARPA .Tn TELNET プロトコルサーバ .Sh 書式 .Nm /usr/libexec/telnetd -.Op Fl BUhlkn +.Op Fl 46BUhlkn .Op Fl D Ar debugmode .Op Fl S Ar tos .Op Fl X Ar authtype .Op Fl a Ar authmode .Op Fl edebug .Op Fl p Ar loginprog .Op Fl u Ar len .Op Fl debug Op Ar port .Sh 解説 .Nm コマンドは、 .Tn DARPA 標準 .Tn TELNET 仮想端末プロトコルをサポートするサーバです。 .Nm は、通常は .Pa /etc/services -ファイル ( -.Xr services 5 +ファイル +.Pf ( Xr services 5 参照) に記述されている .Tn TELNET -ポートへの接続要求を受けて、インターネットサーバ ( -.Xr inetd 8 +ポートへの接続要求を受けて、インターネットサーバ +.Pf ( Xr inetd 8 参照) から起動されます。 .Fl debug オプションは、 .Xr inetd 8 の代わりに .Nm を手動で起動するために用いられます。 このように手動で起動された場合には、代わりの .Tn TCP ポート番号で .Nm を動かすために .Ar port を指定する事ができます。 .Pp .Nm コマンドには以下のオプションがあります: .Bl -tag -width indent +.It Fl 4 +.Nm +に IPv4 アドレスだけを使うよう強制します。 +.It Fl 6 +.Nm +に IPv6 アドレスだけを使うよう強制します。 .It Fl a Ar authmode このオプションは、どのモードが認証に使われるかを指定するために用いられます。 このオプションは、 .Nm が .Dv AUTHENTICATION オプションをサポートする設定で構築された場合においてのみ役に立つことに 注意して下さい。 以下に示すようないくつかの .Ar authmode があります: .Bl -tag -width debug .It Cm debug 認証のデバッグコードを有効にします。 .It Cm user リモートユーザは、自分自身であること示すための有効な認証情報を 提供した時にのみ接続が許可されます。 この場合、指定されたアカウントに対しては、パスワードの提供なしに接続が 許可されます。 .It Cm valid リモートユーザが自分自身であることを示すための有効な認証情報を 提供した時にのみ接続が許可されます。 リモートユーザが指定されたアカウントに対する自動的な接続が許可されて いなければ .Xr login 1 コマンドは、必要となるユーザ認証を実施します。 .It Cm other ある種の認証情報を提供した場合のみ接続を許可します。 現在このオプションはすべての認証方法でサポートされていないため .Fl a .Cm valid オプションを指定した時と同じ動作をします。 .It Cm none デフォルトではこの状態です。 認証情報は要求されません。 もし認証情報がなかったり不十分であれば、 .Xr login 1 プログラムによって必要となるユーザ認証を実施します。 .It Cm off 認証コードを無効にします。 すべてのユーザ証明が .Xr login 1 プログラムによって行われます。 .El .It Fl B bftp サーバモードを指定します。 このモードでは、 .Nm は、ユーザの通常のシェルの代りに .Xr bftp 1 セッションをログインに開始させます。 bftp デーモンモードでは、通常のログインはサポートされません。 これは、通常の .Tn TELNET ポート以外のポートで使用される必要があります。 .It Fl D Ar debugmode このモードはデバックのために用いられます。 これによって .Nm がデバッグ情報を表示し、ユーザは .Nm が何をしているのかを見ることが許されます。 以下に示すようないくつかの .Ar debugmode があります: .Bl -tag -width exercise .It Cm options .Tn TELNET オプションのネゴシエーションについての情報が表示されます。 .It Cm report .Cm options で表示される情報に加えて、 どのような操作が行われているのかという、いくつかの付加的な情報が 表示されます。 .It Cm netdata .Nm が受け取ったデータストリームを表示します。 .It Cm ptydata pty に書かれたデータを表示します。 .It Cm exercise まだ実装されていません。 .El .It Fl debug .Nm によって作られたソケットについてのデバッグを可能にします ( .Xr socket 2 の .Dv SO_DEBUG 参照)。 .It Fl edebug .Nm がデータの暗号化をサポートする設定で構築されている場合に、 .Fl edebug オプションは、暗号化デバッグコードを有効にするために使われます。 .It Fl h ログインが完了するまでホストに特有の情報を表示しないようにします。 .It Fl k このオプションは、 .Nm が linemode と kludge linemode をサポートする設定で構築されている ときにのみ有効です。 .Fl k オプションが指定されている場合で、もしリモートのクライアントが .Dv LINEMODE オプションをサポートしていなければ、 .Nm は、 character at a time mode で動きます。 この様な状態でも kludge linemode をサポートしますが、リモートのクライアントが 要求した場合のみ kludge linemode になります (これは、クライアントが .Dv DONT SUPPRESS-GO-AHEAD と .Dv DONT ECHO を送信することによって行われます)。 .Fl k オプションは kludge linemode をサポートしていないリモートクライアントが あるが、(もしクライアントが .Dv DO TIMING-MARK に対して .Dv WILL TIMING-MARK を応答する事で) 自己発見的に kludge linemode をサポートすると認められる 様な場合にとても便利です。 .It Fl l line mode を指定します。クライアントを強制的に line-at-a-time mode に なるよう試みます。 もし .Dv LINEMODE オプションがサポートされてなければ、kludge linemode になります。 .It Fl n .Dv TCP keep-alives を行いません。通常、 .Nm は .Tn TCP keep-alive を有効にしています。なぜなら、クラッシュしたり、すでに接続 出来ないようなマシンからのアイドルコネクションを解消するために、 ある期間アイドルだった場合にクライアントとの接続がまだ存在するかどうかを 調べる必要があるからです。 .It Fl p Ar loginprog ログインを完了する際に実行されるコマンドとして .Xr login 1 以外のコマンドを指定します。 指定されたコマンドは通常の login と同じ引数を 解釈できる必要があります。 .It Fl S Ar tos +telnet の接続用に IP サービス種別 (TOS) オプションを値 +.Ar tos +に設定します。 +この値には数値の TOS 値、もしくはシステムがサポートしていれば、 +.Pa /etc/iptos +ファイルにある記号の TOS 名が指定可能です。 .It Fl u Ar len このオプションは、リモートホスト名を保持している .Dv utmp 構造体のフィールドの大きさを指定するために使われます。 もし解決されたホスト名が .Ar len よりも長ければ、ホスト名の代わりにドットで区切られたアドレスが使われます。 これによりフィールドを超えるようなとても長いホスト名を 一意に特定できるようにします。 .Fl u0 を指定することによって、ドットで区切られたアドレスだけが .Pa utmp ファイルに書き込まれるようにします。 .It Fl U このオプションは .Nm が、 .Xr gethostbyaddr 3 ルーチンを通してシンボルでの名前にマップされないようなアドレスからの コネクションを拒絶するようにします。 .It Fl X Ar authtype このオプションは .Nm が認証オプションをサポートする設定で構築されたときにのみ有効です。 .Ar authtype 認証を使用不能にし、 .Nm を再コンパイルすることなしに 特定の認証タイプを一時的に使用不能にする事が出来ます。 .El .Pp .Nm -は仮想端末デバイス ( -.Xr pty 4 +は仮想端末デバイス +.Pf ( Xr pty 4 参照) をクライアントに割り当てます。 そして、 .Dv stdin , .Dv stdout , .Dv stderr として仮想端末のスレーブ側を使用する login プロセスを生成します。 .Nm は、 .Tn TELNET プロトコルを実装し、 リモートクライアントと login プロセスとの間の キャラクタを通過させることにより、仮想端末のマスタ側を操作します。 .Pp .Tn TELNET セッションが開始されると .Nm は以下の .Tn TELNET オプションをクライアント側に送信して、これらの .Tn TELNET オプションの使用を希望している事を伝えます。 これらのオプションの詳細については以下に説明されています。 .Bd -literal -offset indent DO AUTHENTICATION WILL ENCRYPT DO TERMINAL TYPE DO TSPEED DO XDISPLOC DO NEW-ENVIRON DO ENVIRON WILL SUPPRESS GO AHEAD DO ECHO DO LINEMODE DO NAWS WILL STATUS DO LFLOW DO TIMING-MARK .Ed .Pp クライアントに割り当てられた仮想端末は、 .Dq cooked モードで動作し、 .Dv XTABS と .Dv CRMOD -( -.Xr tty 4 +.Pf ( Xr tty 4 参照) が有効な状態で操作するように設定されます。 .Pp .Nm は、ローカル側で有効な以下に示す .Tn TELNET オプションをサポートしています: .Bl -tag -width "DO AUTHENTICATION" .It "WILL ECHO" .Dv LINEMODE オプションが設定されている時に 端末エコーの現在の状態を示すためにクライアントに .Dv WILL ECHO あるいは .Dv WONT ECHO が送信されます。 -端末エコーが不要な場合は、 -.Tn telnetd -がエコーが必要なデータに対する -エコーを処理する事を示すために +端末エコーが不要な場合は、エコーが必要なデータに対する +.Nm +がエコーを処理する事を示すために .Dv WILL ECHO が送信され、何もエコーされません。 端末エコーが必要な場合は、 -.Tn telnetd +.Nm がいかなる端末エコーも 行わない事を示すために .Dv WONT ECHO が送信されるので、必要な時は端末エコーをクライアント側が 行わなければなりません。 .It "WILL BINARY" クライアントが、通常のネットワーク仮想端末が用いる 7 ビットのデータ ではなく、8 ビットのデータを送信するように指定します。 .It "WILL SGA" .Dv IAC GA すなわち go ahead コマンドを送信しないように指定します。 .It "WILL STATUS" クライアントから要求があった時に、全ての .Tn TELNET オプションの現在の状況を送信するように指定します。 .It "WILL TIMING-MARK" .Dv DO TIMING-MARK コマンドが受信された場合に、常にそれに対して .Dv WILL TIMING-MARK を返答します。 .It "WILL LOGOUT" .Dv DO LOGOUT が受信されると .Dv WILL LOGOUT を返答し、 .Tn TELNET セッションはシャットダウンされます。 .It "WILL ENCRYPT" .Nm がデータの暗号化をサポートする設定で構築された場合のみ送信され、 データ列に対して暗号を復号するように指定します。 .El .Pp .Nm はリモート側で有効な以下に示す .Tn TELNET オプションをサポートしています: .Bl -tag -width "DO AUTHENTICATION" .It "DO BINARY" .Nm telnetd が 8 ビットのデータ列を受信するように指定します。 .It "DO LFLOW" クライアントがフロー制御文字をリモート側で処理するように指定します。 .It "DO ECHO" このコマンドは実際にはサポートされませんが、クライアントが .Bx 4.2 .Xr telnet 1 -クライアント ( -.Dv WILL ECHO +クライアント +.Pf ( Dv WILL ECHO に正しく応答しない) であるかを判断するために送信されます。 もし、 .Dv WILL ECHO が受信された場合は、それに対して .Dv DONT ECHO が送信されます。 .It "DO TERMINAL-TYPE" 接続のクライアント側に割り当てられた端末タイプの名前を 要求できるように指定します。 .It "DO SGA" .Dv IAC GA すなわち go ahead コマンドを受信する必要がないように指定します。 .It "DO NAWS" ウィンドウ (ディスプレイ) のサイズが変わった場合に、クライアントが それをサーバに知らせる事を要求します。 .It "DO TERMINAL-SPEED" クライアントに割り当てられたシリアルラインの速度に関する情報を 要求できるように指定します。 .It "DO XDISPLOC" telnet クライアントが使用している X Window System のディスプレイの名前を 要求できるように指定します。 .It "DO NEW-ENVIRON" RFC 1572 に示されている環境変数に関する情報を 要求できるように指定します。 .It "DO ENVIRON" RFC 1408 に示されている環境変数に関する情報を 要求できるように指定します。 .It "DO LINEMODE" .Nm が linemode をサポートする設定で構築された場合のみ送信され、 クライアントに行単位の処理を行う事を要求します。 .It "DO TIMING-MARK" .Nm が linemode および kludge linemode の両方をサポートする設定で 構築され、クライアントが .Dv WONT LINEMODE を返信した場合のみ送信されます。 クライアントが .Dv WILL TM を返信した場合は、クライアントが kludge linemode を サポートしていると判断されます。 .Op Fl k オプションによりこの機能を無効にする事ができます。 .It "DO AUTHENTICATION" .Nm が認証機能をサポートする設定で構築された場合のみ送信され、 自動ログインに使用する認証情報を受信するようにします。 .It "DO ENCRYPT" .Nm がデータの暗号化をサポートする設定で構築された場合のみ送信され、 データ列に対して暗号を復号するように指定します。 .El .Sh 注 デフォルトでは、 .Nm は .Pa /etc/gettytab から .Em \&he , .Em \&hn , .Em \&im のケーパビリティを読み取り、 (存在すれば) これらの情報を使用し、 login: プロンプト前に何を表示するかを判定します。 .Em \&if ケーパビリティを使用して、System V スタイルの .Pa /etc/issue ファイルも使用できます。 これは、 .Em \&im に優先します。 .Em \&im または .Em \&if に指定された情報は、 コンソールとリモートの両方のログインに対して表示されます。 .\" .Sh 環境変数 .Sh 関連ファイル .Bl -tag -width /usr/ucb/bftp -compact .It Pa /etc/services .It Pa /etc/gettytab .It Pa /etc/iptos (サポートされている場合) .It Pa /usr/ucb/bftp (サポートされている場合) .El .Sh "関連項目" .Xr bftp 1 , .Xr login 1 , .Xr gettytab 5 , .Xr telnet 1 (サポートされている場合) .Sh 規格 .Bl -tag -compact -width RFC-1572 .It Cm RFC-854 .Tn TELNET PROTOCOL SPECIFICATION .It Cm RFC-855 TELNET OPTION SPECIFICATIONS .It Cm RFC-856 TELNET BINARY TRANSMISSION .It Cm RFC-857 TELNET ECHO OPTION .It Cm RFC-858 TELNET SUPPRESS GO AHEAD OPTION .It Cm RFC-859 TELNET STATUS OPTION .It Cm RFC-860 TELNET TIMING MARK OPTION .It Cm RFC-861 TELNET EXTENDED OPTIONS - LIST OPTION .It Cm RFC-885 TELNET END OF RECORD OPTION .It Cm RFC-1073 Telnet Window Size Option .It Cm RFC-1079 Telnet Terminal Speed Option .It Cm RFC-1091 Telnet Terminal-Type Option .It Cm RFC-1096 Telnet X Display Location Option .It Cm RFC-1123 Requirements for Internet Hosts -- Application and Support .It Cm RFC-1184 Telnet Linemode Option .It Cm RFC-1372 Telnet Remote Flow Control Option .It Cm RFC-1416 Telnet Authentication Option .It Cm RFC-1411 Telnet Authentication: Kerberos Version 4 .It Cm RFC-1412 Telnet Authentication: SPX .It Cm RFC-1571 Telnet Environment Option Interoperability Issues .It Cm RFC-1572 Telnet Environment Option .El .Sh バグ いくつかの .Tn TELNET コマンドは部分的にしか実装されていまいません。 .Pp オリジナルの .Bx 4.2 の .Xr telnet 1 のバグに対処するため、 .Nm は、ある種のあいまいなプロトコル変換を行うことにより、 リモートクライアントが実際に .Bx 4.2 の .Xr telnet 1 であるかどうかを判断しようとします。 .Pp バイナリモードは よく似たオペレーティングシステム (この場合 Unix) 間以外では 互換性がありません。 .Pp リモートクライアントから受け取った端末タイプの名前は小文字に変換されます。 .Pp .Nm は、 .Tn TELNET .Dv IAC GA (go ahead) コマンドを絶対に送りません。 .Sh 歴史 IPv6 サポートは、WIDE/KAME プロジェクトが追加しました。 diff --git a/ja_JP.eucJP/man/man8/ugidfw.8 b/ja_JP.eucJP/man/man8/ugidfw.8 index 1b592fcab4..9d2f888c69 100644 --- a/ja_JP.eucJP/man/man8/ugidfw.8 +++ b/ja_JP.eucJP/man/man8/ugidfw.8 @@ -1,206 +1,206 @@ .\" Copyright (c) 2002, 2004 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by Chris .\" Costello at Safeport Network Services and NAI Labs, the Security .\" Research Division of Network Associates, Inc. under DARPA/SPAWAR .\" contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS .\" research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/ugidfw/ugidfw.8,v 1.7 2004/07/02 23:12:58 ru Exp % +.\" %FreeBSD: src/usr.sbin/ugidfw/ugidfw.8,v 1.7.2.1 2005/01/18 04:41:40 trhodes Exp % .\" .\" $FreeBSD$ .Dd February 24, 2004 .Dt UGIDFW 8 .Os .Sh 名称 .Nm ugidfw .Nd "ファイルシステムオブジェクトに対するファイアウォール的なアクセス制御" .Sh 書式 .Nm .Cm add .Cm subject .Op Cm not .Op Cm uid Ar uid .Op Cm gid Ar gid .Cm object .Op Cm not .Op Cm uid Ar uid .Op Cm gid Ar gid .Cm mode .Ar arswxn .Nm .Cm list .Nm .Cm set .Ar rulenum .Cm subject .Op Cm not .Op Cm uid Ar uid .Op Cm gid Ar gid .Cm object .Op Cm not .Op Cm uid Ar uid .Op Cm gid Ar gid .Cm mode .Ar arswxn .Nm .Cm remove .Ar rulenum .Sh 解説 .Nm ユーティリティは、UID および GID によるファイルシステムオブジェクトの アクセスを管理するために、 .Xr ipfw 8 に似たインタフェースを提供します。 この機能は .Xr mac_bsdextended 4 .Xr mac 9 ポリシによってサポートされています。 .Pp 引数は次の通りです: .Bl -tag -width indent -offset indent .It Cm add 新規の .Nm ルールを追加します。 .It Xo .Cm add .Cm subject .Op Cm not .Op Cm uid Ar uid .Op Cm gid Ar gid .Cm object .Op Cm not .Op Cm uid Ar uid .Op Cm gid Ar gid .Cm mode .Ar arswxn .Xc ルール番号を自動的に選んで、新規のルールを追加します。 文法の情報に関しては .Cm set の記述を参照して下さい。 .It Cm list システム上に現在あるすべての .Nm ルールリストを表示します。 .It Xo .Cm set Ar rulenum .Cm subject .Op Cm not .Op Cm uid Ar uid .Op Cm gid Ar gid .Cm object .Op Cm not .Op Cm uid Ar uid .Op Cm gid Ar gid .Cm mode .Ar arswxn .Xc 新規のルールを追加するか、既存のルールを修正します。 引数は次の通りです: .Bl -tag -width ".Ar rulenum" .It Ar rulenum ルール番号。 小さいルール番号を持つエントリが先に適用されます。 最も頻繁にマッチするルールをリストの先頭に置く (すなわち小さい番号にする) と、少々性能が良くなります。 .It Xo .Cm subject .Op Cm not .Op Cm uid Ar uid .Op Cm gid Ar gid .Xc ルールが適用されるためには、 操作を実行する主体が .Ar uid や .Ar gid で指定されるユーザやグループにマッチすることが必要です .Cm ( not が指定されている場合には、マッチ .Em しない ことが必要です)。 .It Xo .Cm object .Op Cm not .Op Cm uid Ar uid .Op Cm gid Ar gid .Xc ルールが適用されるためには、 オブジェクトが .Ar uid や .Ar gid で指定されるユーザやグループに所有されていることが必要です .Cm ( not が指定されている場合には、所有されて .Em いない ことが必要です)。 .It Cm mode Ar arswxn .Xr chmod 1 と同様、各文字がアクセスモードを表現します。 ルールが適用される場合、 指定されたアクセス権限がオブジェクトに対して強制されます。 ルール中に文字が指定されていた場合、ルールはその操作を許可します。 逆に、文字が指定されていない場合、その操作は拒否されます。 各文字の定義は次の通りです: .Pp .Bl -tag -width ".Cm w" -compact -offset indent .It Cm a 管理者操作 .It Cm r 読み取りアクセス .It Cm s ファイル属性に対するアクセス .It Cm w 書き込みアクセス .It Cm x 実行アクセス .It Cm n 無し .El .El .It Cm remove Ar rulenum 指定したルール番号を持つルールを無効化し、削除します。 .El .Sh 関連項目 .Xr mac_bsdextended 4 , .Xr mac 9 .Sh 歴史 .Nm -ユーティリティが最初に登場したのは +ユーティリティは .Fx 5.0 -です。 +ではじめて登場しました。 .Sh 作者 このソフトウェアは、 NAI Labs, the Security Research Division of Network Associates Inc. が、DARPA CHATS 研究プログラムの一部として、 DARPA/SPAWAR 契約 N66001-01-C-8035 .Pq Dq CBOSS のもとに、 .Fx Project に寄贈しました。 diff --git a/ja_JP.eucJP/man/man8/vinum.8 b/ja_JP.eucJP/man/man8/vinum.8 index dfe205e547..740fd0ed9d 100644 --- a/ja_JP.eucJP/man/man8/vinum.8 +++ b/ja_JP.eucJP/man/man8/vinum.8 @@ -1,2858 +1,2875 @@ .\" Hey, Emacs, edit this file in -*- nroff-fill -*- mode .\"- .\" Copyright (c) 1997, 1998 .\" Nan Yang Computer Services Limited. All rights reserved. .\" .\" This software is distributed under the so-called ``Berkeley .\" License'': .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Nan Yang Computer .\" Services Limited. .\" 4. Neither the name of the Company nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" This software is provided ``as is'', and any express or implied .\" warranties, including, but not limited to, the implied warranties of .\" merchantability and fitness for a particular purpose are disclaimed. .\" In no event shall the company or contributors be liable for any .\" direct, indirect, incidental, special, exemplary, or consequential .\" damages (including, but not limited to, procurement of substitute .\" goods or services; loss of use, data, or profits; or business .\" interruption) however caused and on any theory of liability, whether .\" in contract, strict liability, or tort (including negligence or .\" otherwise) arising in any way out of the use of this software, even if .\" advised of the possibility of such damage. .\" -.\" $Id: vinum.8,v 1.38 2004-10-10 08:30:48 metal Exp $ -.\" %FreeBSD: src/sbin/vinum/vinum.8,v 1.70 2004/07/03 00:13:43 ru Exp % +.\" $Id: vinum.8,v 1.39 2005-07-11 13:32:04 metal Exp $ +.\" %FreeBSD: src/sbin/vinum/vinum.8,v 1.70.2.1 2004/12/29 09:24:44 keramida Exp % .\" .\" $FreeBSD$ .\" WORD: attach 結合 (する) .Dd May 5, 2003 .Dt VINUM 8 .Os .Sh 名称 .Nm vinum .Nd 論理ボリュームマネージャの制御プログラム .Sh 書式 .Nm .Op Ar command .Op Fl options .Sh コマンド .Bl -tag -width indent .It Ic attach Ar plex volume Op Cm rename .It Xo .Ic attach Ar subdisk plex .Op Ar offset .Op Cm rename .Xc プレックスをボリュームに、またはサブディスクをプレックスに結合します。 .It Xo .Ic checkparity .Op Fl f .Op Fl v .Ar plex .Xc RAID-4 または RAID-5 のプレックスのパリティブロックを検査します。 .It Xo .Ic concat .Op Fl f .Op Fl n Ar name .Op Fl v .Ar drives .Xc 指定したドライブからコンカチネート化ボリュームを作成します。 .It Xo .Ic create .Op Fl f .Ar description-file .Xc .Ar description-file の記述に従ってボリュームを作成します。 .It Ic debug ボリュームマネージャをカーネルデバッガに移行させます。 .It Ic debug Ar flags デバッグフラグを設定します。 .It Xo .Ic detach .Op Fl f .Op Ar plex | subdisk .Xc 結合されていたボリュームやプレックスから、プレックスやサブディスクを分離します。 .It Ic dumpconfig Op Ar drive ... 指定されたドライブに格納されている設定情報を表示します。 ドライブ名を指定しないと、システムの全ドライブの情報を表示します。 .It Xo .Ic info .Op Fl v .Op Fl V .Xc ボリュームマネージャの状態を表示します。 .It Xo .Ic init .Op Fl S Ar size .Op Fl w .Ar plex | subdisk .Xc .\" XXX サブディスクまたはプレックスの全サブディスクの内容をすべて 0 に初期化します。 .It Ic label Ar volume ボリュームラベルを作成します。 .It Xo .Ic l | list .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar volume | plex | subdisk .Xc 指定したオブジェクトの情報を表示します。 .It Xo .Ic ld .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar drive .Xc ドライブの情報を表示します。 .It Xo .Ic ls .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar subdisk .Xc サブディスクの情報を表示します。 .It Xo .Ic lp .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar plex .Xc プレックスの情報を表示します。 .It Xo .Ic lv .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar volume .Xc ボリュームの情報を表示します。 .It Xo .Ic mirror .Op Fl f .Op Fl n Ar name .Op Fl s .Op Fl v .Ar drives .Xc 指定したドライブからミラー化ボリュームを作成します。 .It Xo .Ic move | mv .Fl f .Ar drive object ... .Xc 指定したドライブにオブジェクトを移動します。 .It Ic printconfig Op Ar file 現在の設定のコピーを .Ar file へ書き込みます。 .It Ic quit 対話モード時に、 .Nm ユーティリティを終了します。 通常 .Dv EOF 文字を入力することにより実現できます。 .It Ic read Ar disk ... 指定したディスクから .Nm の設定を読み出します。 .It Xo .Ic rename Op Fl r .Op Ar drive | subdisk | plex | volume +.Ar newname .Xc 指定したオブジェクトの名前を変更します。 .\" XXX .\".It Ic replace Ar drive newdrive .\"指定したドライブから新しいドライブ上へすべてのサブディスクを移動します。 .It Xo .Ic rebuildparity .Op Fl f .Op Fl v .Op Fl V .Ar plex .Xc RAID-4 または RAID-5 のプレックスのパリティブロックを再構築します。 .It Ic resetconfig すべての .Nm の設定をリセットします。 .It Xo .Ic resetstats .Op Fl r .Op Ar volume | plex | subdisk .Xc -指定したオブジェクトの統計情報をリセットします。指定がない場合はすべての -オブジェクトが対象です。 +指定したオブジェクトの統計情報をリセットします。 +指定がない場合はすべてのオブジェクトが対象です。 .It Xo .Ic rm .Op Fl f .Op Fl r .Ar volume | plex | subdisk .Xc オブジェクトを削除します。 .It Ic saveconfig 設定失敗後に、 .Nm の設定をディスクへ保存します。 .\" XXX .\".It Xo .\".Ic set .\".Op Fl f .\".Ar state .\".Ar volume | plex | subdisk | disk .\".Xc .\"オブジェクトの状態を .\".Ar state .\"に設定します。 .It Ic setdaemon Op Ar value デーモンの設定を与えます。 .It Xo .Ic setstate .Ar state .Op Ar volume | plex | subdisk | drive .Xc 他のオブジェクトに影響を与えずに状態を設定します。 診断のためだけに使用します。 .It Ic start 全 vinum ドライブから設定を読み込みます。 .It Xo .Ic start .Op Fl i Ar interval .Op Fl S Ar size .Op Fl w .Ar volume | plex | subdisk .Xc システムがオブジェクトへアクセスできるようにします。 .It Xo .Ic stop .Op Fl f .Op Ar volume | plex | subdisk .Xc オブジェクトへのアクセスを終了させます。 パラメータを指定しないと、 .Nm を停止させます。 .It Xo .Ic stripe .Op Fl f .Op Fl n Ar name .Op Fl v .Ar drives .Xc 指定したドライブからストライプ化ボリュームを作成します。 .El .Sh 解説 .Nm ユーティリティは、 Vinum 論理ボリュームマネージャのカーネルコンポーネントと通信します。 対話形式と、単独のコマンドを実行する形式のいずれも実行可能になっています。 コマンドライン引数を伴わずに .Nm を起動すると対話形式になる一方、 コマンドラインでコマンドを指定するとそのコマンド だけを実行します。 対話モードでは、 .Nm はコマンドラインヒストリを保持します。 .Sh オプション .Nm のコマンドにはオプションを付加することができます。 どのコマンドにも 下記オプションのどれでも指定することができますが、 オプションが無視される場合があります。 例えば、 .Ic stop コマンドは .Fl v オプションと .Fl V オプションを無視します。 .Bl -tag -width indent .It Fl f .Fl f .Pq Dq force: 強制 オプションは安全性の確認を無効にします。 細心の注意を払って使用して下さい。 このオプションは緊急時にのみ使用するものです。 例えば、コマンド .Pp .Dl rm -f myvolume .Pp は .Ar myvolume がオープンされていたとしても削除します。 以降、このボリュームに アクセスすると、ほぼ確実にパニックを起こします。 .It Fl i Ar millisecs .Ic init または .Ic start のコマンドを実行時、各ブロックのコピーの間に .Ar millisecs ミリ秒待ちます。 これにより、システム負荷を軽減できます。 .It Fl n Ar name ボリューム名を指定するために .Fl n -オプションを使用します。単純な設定コマンド +オプションを使用します。 +単純な設定コマンド .Ic concat , .Ic mirror , .Ic stripe 用です。 .It Fl r .Fl r .Pq Dq recursive: 再帰的 オプションは表示系のコマンドで使い、 指示したオブジェクト だけでなく、下位のオブジェクトの情報も表示します。 例えば、 .Ic lv コマンドとともに使われる場合、 .Fl r オプションは対象のボリュームに属するプレックスとサブディスクの情報も表示します。 .It Fl s .Fl s .Pq Dq statistics: 統計 オプションは表示系のコマンドで統計情報を表示するために使います。 .Ic mirror コマンドもこのオプションを使用し、 ストライプ化プレックスを作成すべきことを示します。 .It Fl S Ar size .Fl S オプションは、 .Ic init と .Ic start コマンドのための転送サイズを指定します。 .It Fl v .Fl v .Pq Dq verbose: 冗長 オプションは、 さらに詳細な情報を要求するために使用します。 .It Fl V .Fl V .Pq Dq Very verbose: とても冗長 オプションは、 .Fl v オプションが提供するものよりもさらに詳細な情報を要求するために使用します。 このフラグは .Nm init コマンドではベリファイを意味します。 .It Fl w .Fl w .Pq Dq wait: 待ち オプションは、 .Ic init のように通常はバックグラウンドで実行するコマンドの完了を、 .Nm に待たせます。 .El .Sh コマンドの詳細 .Nm コマンドは以下の機能を実行します。 .Pp .Bl -tag -width indent -compact .It Ic attach Ar plex volume Op Cm rename .It Xo .Ic attach Ar subdisk plex .Op Ar offset .Op Cm rename .Xc .Nm Ic attach は指定されたプレックスやサブディスクをそれぞれボリュームやプレックスに 組み込みます。 サブディスクについては、 プレックス中の始点 (オフセット) を指定することができます。 指定がない場合、 サブディスクは有効な最初の位置に結合されます。 空でないボリュームにプレックスが 結合されると、 .Nm はそのプレックスを再統合します。 .Pp .Cm rename キーワードが指定されると、 .Nm はオブジェクトの (プレックスの場合には下位のサブディスクの) 名前を変更して デフォルトの .Nm 命名規則に合わせます。 オブジェクトを他の名前に変更するには、 .Ic rename コマンドを使用します。 .Pp サブディスク結合に際しては、いくつか考慮すべきことがあります: .Bl -bullet .It サブディスクの結合対象は、通常、コンカチネート化プレックスのみです。 .It ストライプ化プレックスおよび RAID-5 プレックスにおいて サブディスクが失われた場合 (例えばドライブの故障後など)、 当該サブディスクを置き換えられるのは同じ大きさのサブディスクだけです。 .It ストライプ化または RAID-5 のプレックスに更にサブディスクを追加するには、 .Fl f (強制) オプションを使用します。 これはプレックス内のデータを破壊します。 .\" ストライプ化および RAID-5 のプレックスに対しては、 .\" 別のサブディスクを結合することは、現在許されていません。 .It コンカチネート化プレックスに対しては、 .Ar offset パラメータが、プレックスの先頭からのブロック単位のオフセットを指定します。 ストライプ化プレックスおよび RAID-5 プレックスに対しては、 本パラメータは、サブディスクの最初のブロックのオフセットを指定します。 別の表現をするなら、オフセットは、 サブディスクの数値指定による位置とストライプの大きさとの積になります。 例えば、ブロックの大きさが 271k のプレックスでは、 最初のサブディスクはオフセット 0 に、2 番目のオフセットは 271k に、 3 番目は 542k に、などとなります。 この計算では、RAID-5 プレックスのパリティブロックは無視されます。 .El .Pp .It Xo .Ic checkparity .Op Fl f .Op Fl v .Ar plex .Xc 指定した RAID-4 または RAID-5 プレックスのパリティブロックをチェックします。 この操作はプレックス中のポインタを維持しますので、 望むならば、一時停止して後で同じ場所から再開可能です。 さらに、このポインタは .Ic rebuildparity コマンドも使用します。 最初にパリティの問題が検出された箇所から、 パリティブロックの再構築を開始可能です。 .Pp .Fl f フラグが指定されると、 .Ic checkparity はプレックスの先頭からチェックを開始します。 .Fl v フラグが指定されると、 .Ic checkparity は進捗報告を表示します。 .Pp .It Xo .Ic concat .Op Fl f .Op Fl n Ar name .Op Fl v .Ar drives .Xc .Ic concat コマンドは、単一のコンカチネート化プレックスからなるボリュームを作成する .Ic create コマンドの、単純な代替手段です。 各ドライブ中の最大の連続空間が、 プレックスのサブディスク作成のために使用されます。 .Pp 通常、 .Ic concat コマンドは任意の名前をボリュームと構成要素に付けます。 名前はテキスト .Dq Li vinum および小さな整数からなり、例えば .Dq Li vinum3 となります。 ボリュームに対して指定した名前を割り当てる .Fl n Ar name オプションで、上書きすることが可能です。 プレックスとサブディスクの名前は、通常の作法で、ボリューム名からとられます。 .Pp ドライブの名前には選択の余地はありません。 ドライブが既に .Nm ドライブとして初期化されていた場合、名前はそのままになります。 そうでない場合、ドライブにはテキスト .Dq Li vinumdrive と小さな整数から始まる名前が与えられ、例えば .Dq Li vinumdrive7 となります。 .Ic create コマンドと同様、 .Fl f オプションを使用して、以前の名前の上書きを指定可能です。 .Fl v オプションは、冗長な出力のために使用します。 .Pp このコマンドの例は、後述の .Sx 単純な設定 の節を参照してください。 .Pp .It Xo .Ic create .Op Fl f .Ar description-file .Xc .Nm Ic create はどのオブジェクトの作成にも使われます。 相互の関連性が比較的複雑で .Nm オブジェクトの作成には潜在的に危険があることを考慮して、この機能には対話的な インタフェースはありません。 ファイル名を指定しないと、 .Nm は一時ファイルに対してエディタを起動します。 環境変数 .Ev EDITOR が設定されている場合、 .Nm はこのエディタを起動します。 設定されていない場合のデフォルトは .Nm vi です。 詳細は後述の .Sx 設定ファイル の節を参照して下さい。 .Pp .Nm Ic create 機能は加法的であることに注意してください: 複数回実行すると、名前付けしていない全オブジェクトのコピーを、 複数生成することになります。 .Pp 通常 .Ic create は既存の .Nm -ドライブの名前を変更しません。これは、誤って消去してしまうのを避けるためです。 +ドライブの名前を変更しません。 +これは、誤って消去してしまうのを避けるためです。 不要な .Nm ドライブを破棄する正しい方法は、 .Ic resetconfig コマンドで設定をリセットすることです。 しかし、起動できない .Nm ドライブ上に新規データを生成する必要がある場合があります。 この場合、 .Ic create Fl f を使用してください。 .Pp .It Ic debug 引数無しの .Nm Ic debug は、リモートカーネルデバッガに入るために使用します。 これは .Nm が .Dv VINUMDEBUG オプション付きで作成されている場合にのみ実行可能です。 このオプションはカーネルデバッガから抜け出るまで オペレーティングシステムの実行を停止させます。 リモートデバッグが設定されており、 カーネルデバッガへのリモートコネクションがないと、 デバッガから抜け出るためにはシステムをリセットしてリブート することが必要になります。 .Pp .It Ic debug Ar flags 内部デバッグフラグのビットマスクを設定します。 本製品が改良されるにつれ、このビットマスクは警告無しに変更されるでしょう。 確認のために、ヘッダファイル .In sys/dev/vinumvar.h を見てください。 ビットマスクは次の値から構成されます: .Bl -tag -width indent .It Dv DEBUG_ADDRESSES Pq No 1 リクエスト中のバッファ情報を表示します。 .\".It Dv DEBUG_NUMOUTPUT Pq No 2 .\".Va vp->v_numoutput .\" の値を表示します。 .It Dv DEBUG_RESID Pq No 4 .Fn complete_rqe においてデバッガに移行します。 .It Dv DEBUG_LASTREQS Pq No 8 最新のリクエストのリングバッファを保存します。 .It Dv DEBUG_REVIVECONFLICT Pq No 16 再生における衝突に関する情報を表示します。 .It Dv DEBUG_EOFINFO Pq No 32 ストライププレックスで .Dv EOF を返すとき、内部状態の情報を表示します。 .It Dv DEBUG_MEMFREE Pq No 64 最後にメモリアロケータが解放したメモリ領域に関する循環リストを管理します。 .It Dv DEBUG_REMOTEGDB Pq No 256 .Ic debug コマンドが発行されたときに、リモート .Nm gdb に移行します。 .It Dv DEBUG_WARNINGS Pq No 512 実装内のミラーの問題に関する警告を表示します。 .El .Pp .It Ic detach Oo Fl f Oc Ar plex .It Ic detach Oo Fl f Oc Ar subdisk .Nm Ic detach は指定されたプレックスやサブディスクを、 結合されているボリュームやプレックスから 分離します。 分離するとボリュームのデータが欠ける可能性のある場合、 この操作は .Fl f オプションを指定しない限り実行されません。 オブジェクトが上位のオブジェクトに従った名前になっている場合 (例えば、プレックス .Li vol1.p7 に結合されているサブディスク .Li vol1.p7.s0 の場合)、 その名前は頭に .Dq Li ex- がついたものに変更されます (例えば .Li ex-vol1.p7.s0 に変更されます)。 その後の処理で必要であれば、その名前から頭の部分が外されます。 .Pp ストライプ化プレックスおよび RAID-5 プレックスにおいては、 .Ic detach はサブディスク数を減らしません。 その代わり、サブディスクには存在しないという印が付けられ、後で .Ic attach コマンドを使用して交換可能となります。 .Pp .It Ic dumpconfig Op Ar drive ... +.\" .Pp .Nm Ic dumpconfig は、指定されたドライブ上に保管された設定情報を表示します。 ドライブ名が 指定されていない場合、 .Ic dumpconfig はシステム上にあるすべてのドライブから vinum パーティションを探し出し、 その情報をダンプします。 設定の更新を無効にしている場合、このコマンドが 返す情報と .Ic list コマンドが返す情報とが同じにならないことがあります。 このコマンドは、 主に保守およびデバッグ用に使用されるものです。 .Pp .It Ic info .Nm Ic info は .Nm のメモリ使用に関する情報を表示します。 これは主にデバッグのためのものです。 .Fl v オプションを付けると、使用中のメモリ領域についての詳細な情報を表示します。 .Pp .Fl V オプションを付けると、 .Nm ドライバが扱った最大 64 個までの最近の I/O リクエストに関する情報を、 .Ic info は表示します。 この情報は、デバッグフラグ 8 が設定されているときのみ収集されます。 書式は次のようになります: .Bd -literal vinum -> info -V Flags: 0x200 1 opens Total of 38 blocks malloced, total memory: 16460 Maximum allocs: 56, malloc table at 0xf0f72dbc Time Event Buf Dev Offset Bytes SD SDoff Doffset Goffset 14:40:00.637758 1VS Write 0xf2361f40 91.3 0x10 16384 14:40:00.639280 2LR Write 0xf2361f40 91.3 0x10 16384 14:40:00.639294 3RQ Read 0xf2361f40 4.39 0x104109 8192 19 0 0 0 14:40:00.639455 3RQ Read 0xf2361f40 4.23 0xd2109 8192 17 0 0 0 14:40:00.639529 3RQ Read 0xf2361f40 4.15 0x6e109 8192 16 0 0 0 14:40:00.652978 4DN Read 0xf2361f40 4.39 0x104109 8192 19 0 0 0 14:40:00.667040 4DN Read 0xf2361f40 4.15 0x6e109 8192 16 0 0 0 14:40:00.668556 4DN Read 0xf2361f40 4.23 0xd2109 8192 17 0 0 0 14:40:00.669777 6RP Write 0xf2361f40 4.39 0x104109 8192 19 0 0 0 14:40:00.685547 4DN Write 0xf2361f40 4.39 0x104109 8192 19 0 0 0 11:11:14.975184 Lock 0xc2374210 2 0x1f8001 11:11:15.018400 7VS Write 0xc2374210 0x7c0 32768 10 11:11:15.018456 8LR Write 0xc2374210 13.39 0xcc0c9 32768 11:11:15.046229 Unlock 0xc2374210 2 0x1f8001 .Ed .Pp .Ar Buf フィールドは、ユーザバッファヘッダのアドレスを常に含みます。 ユーザリクエストに関連付けられるリクエスト (複数可) を識別するために 使用できますが、100% 信頼できるものというわけではありません: 理論的には、シーケンス中の 2 個のリクエストが同じバッファヘッダを使い得ますが、 これは一般的ではありません。 リクエストの先頭は、イベント .Ar 1VS または .Ar 7VS で識別可能です。 前述の 1 番目の例は、ユーザ要求に関連するリクエストを示しています。 2 番目は、ロックを伴うサブディスク I/O リクエストです。 前記の例では、複数のリクエストが単一のユーザリクエストに含まれています。 .Pp .Ar Event フィールドは、 リクエストチェーン中のイベントシーケンスに関連する情報を含みます。 .Ar 1 から .Ar 6 までの数字はイベントの大まかなシーケンスを示し、 2 文字の省略形は位置のニーモニックです。 .Bl -tag -width Lockwait .It 1VS (vinum の strategy) .Fn vinumstrategy の入口にある、ユーザリクエストに関する情報を表示します。 デバイス番号は .Nm デバイスであり、オフセットと長さはユーザパラメータです。 本ニーモニックは、常にリクエストシーケンスの先頭になります。 .It 2LR (リクエスト発行) 関数 .Fn launch_requests において低レベル .Nm リクエストを発行する直前の、ユーザリクエストを表示します。 パラメータは .Ar 1VS の情報と同じはずです。 .El .Pp ここから後のリクエストでは、利用可能である場合、 .Ar Dev は関連付けられたディスクパーティションのデバイス番号であり、 .Ar Offset はパーティションの先頭からのオフセットであり、 .Ar SD は .Va vinum_conf 中のサブディスクインデックスであり。 .Ar SDoff はサブディスクの先頭からのオフセットであり、 .Ar Doffset は関連付けられたデータリクエストのオフセットであり、 .Ar Goffset は関連付けられたグループリクエストのオフセットです。 .Bl -tag -width Lockwait .It 3RQ (リクエスト) 高レベルのリクエストを満たすために発行される、 いくつかありうる低レベル .Nm リクエストのうちのひとつを表示します。 この情報は、 .Fn launch_requests においても記録されます。 .It 4DN (完了) .Fn complete_rqe から呼ばれ、リクエストの完了を表示します。 この完了は、ステージ .Ar 4DN において .Fn launch_requests から発行されたリクエストか、またはステージ .Ar 5RD か .Ar 6RP の .Fn complete_raid5_write から発行されたリクエストにマッチするはずです。 .It 5RD (RAID-5 データ) .Fn complete_raid5_write から呼ばれ、 パリティ計算後に RAID-5 データストライプへ書き込まれたデータを表現します。 .It 6RP (RAID-5 パリティ) .Fn complete_raid5_write から呼ばれ、 パリティ計算後に RAID-5 パリティストライプへ書き込まれたデータを表現します。 .It 7VS サブディスク I/O リクエストを表示します。 通常、これらのリクエストは .Nm 内部のものであり、プレックスの初期化や再構築といった操作に使用します。 .It 8LR サブディスク I/O リクエストのために生成した、低レベル操作を表示します。 .It Lockwait プロセスがレンジロックを待っていることを示します。 パラメータは、リクエストに関連付けられたバッファヘッダと、 プレックス番号と、ブロック番号です。 内部的な理由で、ブロック番号は、 ストライプ開始アドレスよりも 1 個大きくなっています。 .It Lock レンジロックを取得済みであることを示します。 パラメータはレンジロックと同じです。 .It Unlock レンジロックを解放済みであることを示します。 パラメータはレンジロックと同じです。 .El .\" XXX .Pp .It Xo .Ic init .Op Fl S Ar size .Op Fl w .Ar plex | subdisk .Xc .Nm Ic init は指定したサブディスクに 0 を書き込んで初期化します。 プレックスが指定された場合はプレックス内の全サブディスクを初期化できます。 これはプレックス中のデータに矛盾のないことを確実にする唯一の方法です。 RAID-5 プレックスの使用前には、この初期化が必要です。 他の新規プレックスに対しても、この初期化を推奨します。 .Nm はプレックス中のすべてのサブディスクを並行して初期化します。 この操作には長い時間が かかるため、通常バックグラウンドで実行されます。 このコマンドの完了を待ちたい場合、 .Fl w (待ち) オプションを使用してください。 .Pp .Fl S オプションでデフォルト値の 16 kB と異なるサイズの書き込みブロックを 指定できます。 .Nm は初期化が完了するとコンソールメッセージを出力します。 .Pp .It Ic label Ar volume .Ic label コマンドは、ボリュームに .Em ufs 形式のボリュームラベルを書き込みます。 これは適切に .Ic disklabel を呼び出すことに対しての、単純な代替方法です。 いくつかの .Em ufs コマンドはラベルを入手するために正規の .Xr ioctl 2 コールを使わず、依然としてラベルを捜してディスクの読み込みを行う ため、このコマンドは必要になります。 .Nm はボリュームのデータとは別にボリュームラベルを保持しているため、この コマンドは .Xr newfs 8 用には必要ありません。 このコマンドの価値は低下しています。 .Pp .It Xo .Ic list .Op Fl r .Op Fl V .Op Ar volume | plex | subdisk .Xc .It Xo .Ic l .Op Fl r .Op Fl V .Op Ar volume | plex | subdisk .Xc .It Xo .Ic ld .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar drive .Xc .It Xo .Ic ls .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar subdisk .Xc .It Xo .Ic lp .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar plex .Xc .It Xo .Ic lv .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar volume .Xc .Ic list は指定したオブジェクトの情報を表示するために使われます。 引数が省略されると .Nm が認識しているすべてのオブジェクトについての情報が表示されます。 .Ic l コマンドは .Ic list と同じものです。 .Pp .Fl r オプションはボリュームとプレックスに関連します。 指定されると、そのオブジェクト下位のサブディスクと (ボリュームに対しては) プレックスの情報を再帰的に表示します。 .Ic lv , .Ic lp , .Ic ls , .Ic ld のコマンドは、それぞれボリューム、プレックス、サブディスク、そしてドライブの -情報だけを表示します。これはパラメータを指定しないで使う場合に特に有用です。 +情報だけを表示します。 +これはパラメータを指定しないで使う場合に特に有用です。 .Pp .Fl s オプションで .Nm は装置の統計情報を出力するようになり、 .Fl v (verbose: 饒舌な) オプションはいくらかの付加情報を出力させ、 そして .Fl V は数多くの付加情報を出力させます。 .Pp .It Xo .Ic mirror .Op Fl f .Op Fl n Ar name .Op Fl s .Op Fl v .Ar drives .Xc .Ic mirror コマンドは、ミラー化ボリュームを作成する .Ic create コマンドの、単純な代替手段です。 オプションを指定しないと、RAID-1 (ミラー化) ボリュームを、 2 つのコンカチネート化ボリュームで作成します。 各ドライブ中の最大の連続空間が、 プレックスのサブディスク作成のために使用されます。 1 番目のプレックスは、リストの奇数番号のドライブから構築され、 2 番目のプレックスは、リストの偶数番号のドライブから構築されます。 ドライブの大きさが異なる場合、プレックスの大きさは異なるでしょう。 .Pp .Fl s オプションを指定すると、 .Ic mirror はストライプの大きさが 279 kB のストライプ化プレックスを構築します。 各プレックスのサブディスクの大きさは、 プレックスを構成するドライブの中で、最小の連続ストレージの大きさです。 ここでもまた、プレックスの大きさは異なるかもしれません。 .Pp 通常、 .Ic mirror コマンドは任意の名前をボリュームと構成要素に付けます。 名前はテキスト .Dq Li vinum および小さな整数からなり、例えば .Dq Li vinum3 となります。 ボリュームに対して指定した名前を割り当てる .Fl n Ar name オプションで、上書きすることが可能です。 プレックスとサブディスクの名前は、通常の作法で、ボリューム名からとられます。 .Pp ドライブの名前には選択の余地はありません。 ドライブが既に .Nm ドライブとして初期化されていた場合、名前はそのままになります。 そうでない場合、ドライブにはテキスト .Dq Li vinumdrive と小さな整数から始まる名前が与えられ、例えば .Dq Li vinumdrive7 となります。 .Ic create コマンドと同様、 .Fl f オプションを使用して、以前の名前の上書きを指定可能です。 .Fl v オプションは、冗長な出力のために使用します。 .Pp このコマンドの例は、後述の .Sx 単純な設定 の節を参照してください。 .Pp .It Ic mv Fl f Ar drive object ... .It Ic move Fl f Ar drive object ... 指定したオブジェクトから新しいドライブへすべてのサブディスクを移動します。 オブジェクトは、サブディスク、ドライブあるいはプレックスです。 ドライブ またはプレックスが指定された場合、オブジェクトに関係するすべての サブディスクが移動されます。 .Pp この機能は現在サブディスク中のデータを保存しないため .Fl f オプションが必要です。 この付加機能は、後日追加されます。 しかしながら、この状態でも、故障した ディスクドライブを復旧させるのには十分です。 .Pp .It Ic printconfig Op Ar file 現在の設定のコピーを、 .Nm 設定を再生成可能な書式で、 .Ar file に書き込みます。 ディスク上に保存された設定とは違い、ドライブの定義を含みます。 .Ar file を指定しないと、 .Nm は一覧を .Dv stdout へ書き込みます。 .Pp .It Ic quit 対話モードで実行中のときに、 .Nm ユーティリティを終了します。 通常は、文字 .Dv EOF を入力することで実現できます。 .Pp .It Ic read Ar disk ... .Ic read コマンドは、指定したディスクを走査し、作成済の設定情報を含む .Nm パーティションを探します。 そして、最近更新されたものから過去に更新されたものの順番で、 設定を読み込みます。 .Nm ユーティリティは、 最新のすべての設定情報を各ディスクパーティションに保持しています。 このコマンドの パラメータとして、設定の中の全スライスを指定する必要があります。 .Pp .Ic read コマンドは、他の .Nm パーティションを持つシステム上で、 .Nm 設定を選択的にロードすることを意図しています。 システム上の全パーティションを起動したい場合、 .Ic start コマンドを使用する方が簡単です。 .Pp 本コマンド実行時に .Nm がエラーになると、 ディスク上のコピーが壊れないようにするため、自動的な設定更新を無効にします。 これは、ディスク上の設定が、設定エラーを示す (例えば、有効な空間指定を持たないサブディスク) 場合にも同様です。 再度更新をオンにするには、 .Ic setdaemon と .Ic saveconfig のコマンドを使用してください。 デーモンオプションマスクのビット 2 (数値なら 4) をリセットして、 設定保存を再度有効にしてください。 .Pp .It Xo .Ic rebuildparity .Op Fl f .Op Fl v .Op Fl V .Ar plex .Xc 指定した RAID-4 または RAID-5 プレックスのパリティブロックを再構築します。 この操作はプレックス中のポインタを維持しますので、 望むならば、一時停止して後で同じ場所から再開可能です。 さらに、このポインタは .Ic checkparity コマンドも使用します。 最初にパリティの問題が検出された箇所から、 パリティブロックの再構築を開始可能です。 .Pp .Fl f フラグが指定されると、 .Ic rebuildparity はプレックスの先頭から再構築を開始します。 .Fl v フラグが指定されると、 .Ic rebuildparity はまず既存のパリティブロックをチェックし、 再構築前に、不整合情報を表示します。 .Fl V フラグが指定されると、 .Ic rebuildparity は進捗報告を表示します。 .Pp .It Xo .Ic rename .Op Fl r .Op Ar drive | subdisk | plex | volume .Ar newname .Xc 指定したオブジェクトの名前を変更します。 .Fl r オプションが指定されると、下位のオブジェクトがデフォルトの規則に従って 命名されます。 プレックスの名前はボリューム名に .Li .p Ns Ar number を付加して作られ、 サブディスクの名前はプレックス名に .Li .s Ns Ar number を付加して作られます。 .\" .Pp .\" .It Xo .\" .Ic replace .\" .Ar drive newdrive .\" 指定したドライブから新しいドライブへすべてのサブディスクを移動します。 .\" これは回復可能なサブディスクを回復しようとします。そして、回復不可能な .\" サブディスクを最初から作ります。 .\" もし、新しいドライブにこの操作のための容量が不足する時は、できるだけ .\" 多くのサブディスクを新しいドライブ上に組み込み、残りを元のドライブに .\" 残します。 .Pp .It Ic resetconfig .Ic resetconfig コマンドはシステム内の .Nm 設定を完全に削除します。 設定を完全に消去したい場合にだけ使って下さい。 .Nm は確認を求めます。 .Li "NO FUTURE" (前途なし) という語句を以下の通りに入力する必要が あります。 .Bd -unfilled -offset indent .No # Nm Ic resetconfig WARNING! This command will completely wipe out your vinum configuration. All data will be lost. If you really want to do this, enter the text NO FUTURE .No "Enter text ->" Sy "NO FUTURE" Vinum configuration obliterated (訳注: ここから上記テキストの翻訳です) 警告! このコマンドはあなたの vinum 設定を完全に消し去ります。 全データは失われます。本当にこれを実行したい場合は、語句 NO FUTURE を入力して下さい。 -入力してください -> \f(BINO FUTURE\fP +.No "入力してください ->" Sy "NO FUTURE" vinum の設定は削除されました。 (訳注: ここまで上記テキストの翻訳です) - .Ed .Pp メッセージが示すように、どたん場のコマンドです。 既存の設定をもう見たくもないとき以外は、このコマンドを使わないでください。 .Pp .It Xo .Ic resetstats .Op Fl r .Op Ar volume | plex | subdisk .Xc .Nm は各オブジェクトについて多数の統計カウンタを保持しています。 詳細は ヘッダファイル .In sys/dev/vinumvar.h を参照して下さい。 .\" XXX 仕上がったらここに入れる これらのカウンタをリセットするためには .Ic resetstats コマンドを使って下さい。 .Fl r オプションも共に指定すると、 .Nm は下位のオブジェクトのカウンタもリセットします。 .Pp .It Xo .Ic rm .Op Fl f .Op Fl r .Ar volume | plex | subdisk .Xc .Ic rm はオブジェクトを .Nm 設定から消去します。 ひとたびオブジェクトが消去されるとそれを復旧する方法は ありません。 通常 .Nm はオブジェクトを消去する前に数多くの一貫性確認を行います。 .Fl f オプションを指定すると、 .Nm はこの確認を省略し、オブジェクトを無条件に消去します。 このオプションは細心の 注意を払って使用して下さい。 ボリューム上のすべてのデータを失うことも あり得ます。 .Pp 通常、 .Nm は下位にプレックスを持つボリュームや、下位にサブディスクを持つプレックスを 消去することを拒否します。 .Fl f フラグを指定すると、 .Nm -は無条件にオブジェクトを消去します。または +は無条件にオブジェクトを消去します。 +または .Fl r (recursive: 再帰的) フラグを使うことで、同様に下位のオブジェクトを 消去することができます。 .Fl r フラグを付けてボリュームを消去すると、プレックスとそれに属するサブディスクも 消去します。 .Pp .It Ic saveconfig 現在の設定をディスクに保存します。 .Nm は自動的に設定変更を保存するので、通常これは不要です。 起動時にエラーが発生した場合、更新は無効化されます。 .Ic setdaemon コマンドで再度有効化しても、 .Nm は設定を自動的にはディスクへ保存しません。 このコマンドを使用して設定を保存してください。 +.\".Pp .\".It Xo .\".Ic set .\".Op Fl f .\".Ar state .\".Ar volume | plex | subdisk | disk .\".Xc .\".Ic set .\"は指定したオブジェクトに、妥当な状態 (下記 .\".Sx オブジェクト状態 .\"参照) のひとつを .\"セットします。 .\"通常、 .\".Nm .\"は変更を加える前に非常に多くの一貫性の調査を実行します。 .\".Fl f .\"オプションを指定すると、 .\".Nm .\"はこの調査を省略し、無条件に変更を行います。 .\"このオプションは大いに注意して .\"使って下さい。 .\"ボリューム上のすべてのデータを失うこともあり得ます。 .Pp .It Ic setdaemon Op Ar value .Ic setdaemon は .Nm デーモンの変数ビットマスクを設定します。 本コマンドは一時的なものであり、将来置き換えられます。 現在、ビットマスクにはビット 1 (全アクションを syslog へ記録する) と ビット 4 (設定を更新しない) があります。 オプションビット 4 はエラー回復時に有用かもしれません。 .Pp .It Xo .Ic setstate Ar state .Op Ar volume | plex | subdisk | drive .Xc .Ic setstate は、指定したオブジェクトの状態を指定した状態に設定します。 .Nm -の通常の一貫性機構はバイパスされます。回復の目的でのみ使用すべきです。 +の通常の一貫性機構はバイパスされます。 +回復の目的でのみ使用すべきです。 このコマンドを誤って使用すると、システムを破壊する可能性があります。 .Pp .It Xo .Ic start .Op Fl i Ar interval .Op Fl S Ar size .Op Fl w .Op Ar plex | subdisk .Xc .Ic start は 1 つまたはそれ以上の .Nm -オブジェクトを起動します ( -.Em up +オブジェクトを起動します +.Pf ( Em up 状態に移行させます)。 .Pp オブジェクト名を指定しないと、システムが .Nm ドライブであると知っているディスクを、 .Nm -は走査します。その後、 +は走査します。 +その後、 .Ic read コマンドのところに書いてあるように、設定を読み込みます。 .Nm ドライブにはそのドライブ中のデータについてのすべての情報を持つヘッダが 入っており、その情報としてはプレックスとボリュームを表現するために必要な 他のドライブの名前を含んでいます。 .Pp 本コマンド実行時に .Nm がエラーになると、 ディスク上のコピーが壊れないようにするため、自動的な設定更新を無効にします。 これは、ディスク上の設定が、設定エラーを示す (例えば、有効な空間指定を持たないサブディスク) 場合にも同様です。 再度更新をオンにするには、 .Ic setdaemon と .Ic saveconfig のコマンドを使用してください。 デーモンオプションマスクのビット 4 をリセットして、 設定保存を再度有効にしてください。 .Pp オブジェクト名が指定されると、 .Nm はそれらを起動します。 通常、この操作はサブディスクに対してのみ行います。 動作はオブジェクトの現在の状態に依存します: .Bl -bullet .It オブジェクトが既に .Em up 状態の場合、 .Nm はなにもしません。 .It オブジェクトがサブディスクであり、 .Em down または .Em reborn の状態の場合、 .Nm は .Em up 状態に変更します。 .It オブジェクトがサブディスクであり、 .Em empty 状態の場合、変更はサブディスクに依存します。 サブディスクがプレックスの一部であり このプレックスが他のプレックスを含むボリュームの一部である場合、 .Nm はサブディスクを .Em reviving 状態にし、データをボリュームからコピーしようとします。 操作完了時に、サブディスクは .Em up 状態に設定されます。 サブディスクがプレックスの一部であり このプレックスが他のプレックスを含まないボリュームの一部である場合、 またはサブディスクがプレックスの一部ではない場合、 .Nm は即時にサブディスクを .Em up 状態にします。 .It オブジェクトがサブディスクであり、 .Em reviving 状態である場合、 .Nm は再生操作をオフラインにて継続します。 操作完了時に、サブディスクは .Em up 状態に設定されます。 .El .Pp サブディスクが .Em up 状態になると、 .Nm は自動的に、 サブディスクが属す可能性のあるプレックスとボリュームの状態をチェックし、 これらの状態を適切に更新します。 .Pp オブジェクトがプレックスの場合、 .Ic start は下位のサブディスクの (ボリュームの場合にはこれに加えてプレックスの) 状態を チェックし、起動可能なサブディスクを起動します。 .Pp マルチプレックスボリュームの中の 1 つのプレックスを起動するには、 ボリューム中の他のプレックスからデータをコピーする必要があります。 これにはしばしば長い時間がかかるため、バックグラウンドで実行されます。 この操作が完了することを待ちたい場合 (例えば、この操作をスクリプト中で実行している場合)、 .Fl w オプションを使用してください。 .Pp -データのコピーにはたいして時間がかかりません。それは、さらに重大な負荷を -システムにかけ得ます。 +データのコピーにはたいして時間がかかりません。 +それは、さらに重大な負荷をシステムにかけ得ます。 .Fl S オプションで転送サイズを、 .Fl i オプションで各ブロックを転送する間隔を (ミリ秒で) 指定可能です。 どちらもシステム負荷を軽減します。 .Pp .It Xo .Ic stop .Op Fl f .Op Ar volume | plex | subdisk .Xc パラメータを指定しないと、 .Ic stop は .Nm kld を削除し、 .Xr vinum 4 を停止します。 活動状態のオブジェクトが存在しない場合のみ、行うことが可能です。 特に、 .Fl f オプションはこの要求に優先しません。 通常、 .Ic stop コマンドは、終了前に現在の設定をディスクへ書き戻します。 設定の更新が無効になっている場合にはこれはできませんので、 設定の更新が無効になっている場合には .Nm は停止しません。 これを上書きするには .Fl f オプションを指定します。 .Pp .Ic stop コマンドは .Nm が kld としてロードされている場合のみ動作します。 静的に構成されたドライバをアンロードすることはできないからです。 .Nm が静的に構成されている場合、 .Nm Ic stop は失敗します。 .Pp オブジェクト名が指定されると、 .Ic stop はそのオブジェクトへのアクセスを無効化します。 オブジェクトに下位オブジェクトがある場合、 それらのサブオブジェクトは既に非活動状態 (stop また error) となっているか、 .Fl r と .Fl f のオプションが指定されていることが必要です。 このコマンドは、オブジェクトを設定から取り除きません。 .Ic start コマンドの後で再度アクセスができるようになります。 .Pp デフォルトでは .Nm は動作中のオブジェクトは停止しません。 例えば、動作中のボリュームに結合されているプレックスは 停止できないし、オープン中のボリュームは停止できません。 .Fl f オプションは .Nm にこの確認を省略して無条件に削除するよう指示します。 このオプションは -大いに注意し、よく理解した上で使って下さい。もし間違って使うとひどい -データ破壊を起こすことがあります。 +大いに注意し、よく理解した上で使って下さい。 +もし間違って使うとひどいデータ破壊を起こすことがあります。 .Pp .It Xo .Ic stripe .Op Fl f .Op Fl n Ar name .Op Fl v .Ar drives .Xc .Ic stripe コマンドは、単一のストライプ化プレックスからなるボリュームを作成する .Ic create コマンドの、単純な代替手段です。 サブディスクの大きさは、 全ドライブで利用可能な最大の連続空間の大きさです。 ストライプの大きさは 279 kB に固定されています。 .Pp 通常、 .Ic stripe コマンドは任意の名前をボリュームと構成要素に付けます。 名前はテキスト .Dq Li vinum および小さな整数からなり、例えば .Dq Li vinum3 となります。 ボリュームに対して指定した名前を割り当てる .Fl n Ar name オプションで、上書きすることが可能です。 プレックスとサブディスクの名前は、通常の作法で、ボリューム名からとられます。 .Pp ドライブの名前には選択の余地はありません。 ドライブが既に .Nm ドライブとして初期化されていた場合、名前はそのままになります。 そうでない場合、ドライブにはテキスト .Dq Li vinumdrive と小さな整数から始まる名前が与えられ、例えば .Dq Li vinumdrive7 となります。 .Ic create コマンドと同様、 .Fl f オプションを使用して、以前の名前の上書きを指定可能です。 .Fl v オプションは、冗長な出力のために使用します。 .Pp このコマンドの例は、後述の .Sx 単純な設定 の節を参照してください。 .El .Sh 単純な設定 この節では、 .Ic concat , .Ic mirror , .Ic stripe コマンドを使用する、 .Nm 設定の単純なインタフェースを説明します。 これらのコマンドは、大概の通常状況では便利な設定を作成しますが、 .Ic create コマンド程の柔軟性はありません。 .Pp コマンドの解説は前述を参照してください。 -ここでは例を示します。どれも同じディスクを使用しています。 +ここでは例を示します。 +どれも同じディスクを使用しています。 最初のドライブ .Pa /dev/da1h は他のドライブよりも小さいことに注意してください。 各サブディスクの大きさに影響があります。 .Pp 次に示す例ではすべて .Fl v オプションを使用することにより、システムに渡すコマンドを見せ、 ボリュームの構造を列挙します。 .Fl v オプションを使用しないと、これらのコマンドは何も出力しません。 .Ss 単一コンカチネート化プレックスのボリューム 単一コンカチネート化プレックスのボリュームを使用し、 最大のストレージ容量を得ます。 ただし、ドライブ故障への耐性はありません。 .Bd -literal vinum -> concat -v /dev/da1h /dev/da2h /dev/da3h /dev/da4h volume vinum0 plex name vinum0.p0 org concat drive vinumdrive0 device /dev/da1h sd name vinum0.p0.s0 drive vinumdrive0 size 0 drive vinumdrive1 device /dev/da2h sd name vinum0.p0.s1 drive vinumdrive1 size 0 drive vinumdrive2 device /dev/da3h sd name vinum0.p0.s2 drive vinumdrive2 size 0 drive vinumdrive3 device /dev/da4h sd name vinum0.p0.s3 drive vinumdrive3 size 0 V vinum0 State: up Plexes: 1 Size: 2134 MB P vinum0.p0 C State: up Subdisks: 4 Size: 2134 MB S vinum0.p0.s0 State: up D: vinumdrive0 Size: 414 MB S vinum0.p0.s1 State: up D: vinumdrive1 Size: 573 MB S vinum0.p0.s2 State: up D: vinumdrive2 Size: 573 MB S vinum0.p0.s3 State: up D: vinumdrive3 Size: 573 MB .Ed .Pp この場合、4 ディスクすべての空間を使用し、 ボリュームの大きさは 2134 MB になります。 .Ss 単一ストライプ化プレックスのボリューム 単一ストライプ化プレックスのボリュームは コンカチネート化プレックスよりも性能が良いかもしれません。 しかし、ストライプ化プレックスの制約により、 ボリュームは小さいかもしれません。 これもまたドライブ故障の耐性はありません。 .Bd -literal vinum -> stripe -v /dev/da1h /dev/da2h /dev/da3h /dev/da4h drive vinumdrive0 device /dev/da1h drive vinumdrive1 device /dev/da2h drive vinumdrive2 device /dev/da3h drive vinumdrive3 device /dev/da4h volume vinum0 plex name vinum0.p0 org striped 279k sd name vinum0.p0.s0 drive vinumdrive0 size 849825b sd name vinum0.p0.s1 drive vinumdrive1 size 849825b sd name vinum0.p0.s2 drive vinumdrive2 size 849825b sd name vinum0.p0.s3 drive vinumdrive3 size 849825b V vinum0 State: up Plexes: 1 Size: 1659 MB P vinum0.p0 S State: up Subdisks: 4 Size: 1659 MB S vinum0.p0.s0 State: up D: vinumdrive0 Size: 414 MB S vinum0.p0.s1 State: up D: vinumdrive1 Size: 414 MB S vinum0.p0.s2 State: up D: vinumdrive2 Size: 414 MB S vinum0.p0.s3 State: up D: vinumdrive3 Size: 414 MB .Ed .Pp この場合、サブディスクの大きさは利用できるディスクの最小に制限され、 ボリュームの大きさは 1659 MB になります。 .Ss 2 つのコンカチネート化プレックスのミラー化ボリューム 信頼性を向上するため、ミラー化およびボリューム化を使用します: .Bd -literal vinum -> mirror -v -n mirror /dev/da1h /dev/da2h /dev/da3h /dev/da4h drive vinumdrive0 device /dev/da1h drive vinumdrive1 device /dev/da2h drive vinumdrive2 device /dev/da3h drive vinumdrive3 device /dev/da4h volume mirror setupstate plex name mirror.p0 org concat sd name mirror.p0.s0 drive vinumdrive0 size 0b sd name mirror.p0.s1 drive vinumdrive2 size 0b plex name mirror.p1 org concat sd name mirror.p1.s0 drive vinumdrive1 size 0b sd name mirror.p1.s1 drive vinumdrive3 size 0b V mirror State: up Plexes: 2 Size: 1146 MB P mirror.p0 C State: up Subdisks: 2 Size: 988 MB P mirror.p1 C State: up Subdisks: 2 Size: 1146 MB S vinum0.p0.s0 State: up D: vinumdrive0 Size: 414 MB S vinum0.p0.s2 State: up D: vinumdrive2 Size: 414 MB S vinum0.p0.s1 State: up D: vinumdrive1 Size: 414 MB S vinum0.p0.s3 State: up D: vinumdrive3 Size: 414 MB .Ed .Pp この例ではボリューム名を .Ar mirror と指定しています。 1 つのドライブの大きさが他のドライブよりも小さいため、 2 つのプレックスの大きさは異なり、 ボリュームの最後の 158 MB には耐性がありません。 このような状況で完全な信頼性を保証するためには、 .Ic create コマンドを使用して 988 MB のボリュームを作成します。 .Ss 2 つのストライプ化プレックスのミラー化ボリューム 今度は、2 つのストライプ化プレックスのミラー化ボリュームを作成するために .Fl s オプションを使用します: .Bd -literal vinum -> mirror -v -n raid10 -s /dev/da1h /dev/da2h /dev/da3h /dev/da4h drive vinumdrive0 device /dev/da1h drive vinumdrive1 device /dev/da2h drive vinumdrive2 device /dev/da3h drive vinumdrive3 device /dev/da4h volume raid10 setupstate plex name raid10.p0 org striped 279k sd name raid10.p0.s0 drive vinumdrive0 size 849825b sd name raid10.p0.s1 drive vinumdrive2 size 849825b plex name raid10.p1 org striped 279k sd name raid10.p1.s0 drive vinumdrive1 size 1173665b sd name raid10.p1.s1 drive vinumdrive3 size 1173665b V raid10 State: up Plexes: 2 Size: 1146 MB P raid10.p0 S State: up Subdisks: 2 Size: 829 MB P raid10.p1 S State: up Subdisks: 2 Size: 1146 MB S raid10.p0.s0 State: up PO: 0 B Size: 414 MB S raid10.p0.s1 State: up PO: 279 kB Size: 414 MB S raid10.p1.s0 State: up PO: 0 B Size: 573 MB S raid10.p1.s1 State: up PO: 279 kB Size: 573 MB .Ed .Pp この場合、使用可能なボリュームはより小さくなります。 なぜなら、最小のドライブに適合するように、 第 1 プレックスが小さくなったためです。 .Sh 設定ファイル .Nm ユーティリティでは、 .Ic create コマンドに渡すすべての引数は設定ファイルに入っている必要があります。 設定ファイルのエントリは、ボリュームやプレックスやサブディスクを定義します。 エントリは 1 行に 1 つということ以外には決まった書式はありません。 .Ss スケールファクタ これらの値は、バイトで指定しても良いですし、 次のスケールファクタのいずれか 1 つを後に付けても良いです: .Bl -tag -width indent .It s 値が 512 バイトのセクタ数であることを示します。 .It k 値がキロバイト数であることを示します (1024 バイト)。 .It m 値がメガバイト数であることを示します (1048576 バイト)。 .It g 値がギガバイト数であることを示します (1073741824 バイト)。 .It b .Tn VERITAS との互換性のために使用します。 これは、512 バイトのブロック数を意味します。 .Dq ブロック という語を別の意味で使用していますので、 この短縮形は混乱させるものです。 この短縮形の価値は低下しています。 代りにキーワード 's' を使用してください。 .El .Pp 例えば、16777216 バイトという値は、 .Em 16m , .Em 16384k , .Em 32768s のいずれの表記も可能です。 .Pp 設定ファイルには以下のエントリを記述することができます。 -.Pp .Bl -tag -width 4n .It Ic drive Ar name devicename Op Ar options ドライブを定義します。 オプションは次の通りです: .Bl -tag -width 18n .It Cm device Ar devicename ドライブが乗るデバイスを指定します。 .Ar devicename は、例えば .Pa /dev/da1e や .Pa /dev/ad3s2h といったパーティションである必要があり、タイプ .Em vinum である必要があります。 .Dq Li c パーティションを使用してはなりません。 これはディスク全体のために予約されているからです。 .It Cm hotspare ドライブを .Dq ホットスペア ドライブであると定義します。 これは、故障したドライブと自動的に交換するために管理されます。 .Nm ユーティリティはこのドライブを他の用途に使用することを許しません。 特に、サブディスクをこの上に作成できません。 この機能はまだ完全には実装されていません。 .El .It Ic volume Ar name Op Ar options .Ar name という名前でボリュームを定義します。 オプションには次のものがあります。 .Bl -tag -width 18n .It Cm plex Ar plexname 指定したプレックスをボリュームに追加します。 .Ar plexname が .Cm * として指定されると、 .Nm は設定ファイル中のボリューム定義の後で、次の妥当なエントリとなり得るプレックス の定義を捜します。 .It Cm readpol Ar policy ボリュームの .Em read policy (読み込み方針) を定義します。 .Ar policy は .Cm round か .Cm prefer Ar plexname のどちらかです。 .Nm ユーティリティは読み込み要求を、ただ 1 つのプレックスによって満たします。 .Cm round 読み込み方針は、読み込みを別々のプレックスから .Em ラウンドロビン 方式で 行うように指定します。 -.Ar prefer +.Cm prefer 読み込み方針では、指定したプレックスから毎回読み込みを行います。 .It Cm setupstate マルチプレックスボリュームを作成する際に、すべてのプレックスの内容に一貫性が あると仮定します。 通常こうなることはないため、デフォルトでは、 -最初のプレックスを除いたすべてのプレックスを +.Nm +は最初のプレックスを除いたすべてのプレックスを .Em faulty 状態に設定します。 .Ic start コマンドを使って、最初に一貫性のある状態にする必要があります。 しかし ストライプ化プレックスとコンカチネート化プレックスの場合には、普通は一貫性が -ないままでも問題にはなりません。ボリュームをファイルシステムや +ないままでも問題にはなりません。 +ボリュームをファイルシステムや スワップパーティションとして使う場合にはディスク上の以前の内容は どうでもよいため、それは無視されます。 この危険を受け入れる場合には、 .Cm setupstate キーワードを使って下さい。 設定ファイル中でボリュームの直後で定義されるプレックスに対してのみ 適用されます。 後でプレックスをボリュームに追加する場合には、 これらのプレックスを .Ic start コマンドで統合する必要があります。 .Pp RAID-5 プレックスには .Ic init を使うことが .Em 必要 -なことに注意して下さい。さもないと -1 つのサブディスクに障害が起きた時、大きくデータが破壊されます。 +なことに注意して下さい。 +さもないと 1 つのサブディスクに障害が起きた時、大きくデータが破壊されます。 .El .It Ic plex Op Ar options プレックスを定義します。 ボリュームとは違い、名前の指定は不要です。 オプションには次のものを指定可能です: .Bl -tag -width 18n .It Cm name Ar plexname プレックスの名前を指定します。 プレックスやサブディスクに名前をつける場合には .Cm name キーワードが必要になることに注意して下さい。 .It Cm org Ar organization Op Ar stripesize プレックスの編成を指定します。 .Ar organization は .Cm concat か .Cm striped か .Cm raid5 のいずれかです。 .Cm striped と .Cm raid5 のプレックスに対しては .Ar stripesize 引数を指定する必要がありますが、 .Cm concat のプレックスに対しては省略する必要があります。 .Cm striped タイプについては各ストライプの幅を指定します。 .Cm raid5 については、グループの大きさを指定します。 グループとはプレックスの一部分であり、 同じサブディスクに入っているすべてのデータのパリティが入っています。 それはプレックスの大きさの約数である必要があり (つまり、プレックスの大きさをストライプの大きさで割ったものは 整数である必要があり)、 ディスクセクタ長 (512バイト) の倍数である必要があります。 .Pp 最適な性能のためには、ストライプの大きさは少なくとも 128kB であるべきです。 これより小さくすると、 個々のリクエストが複数のディスクに対して割り当てられることにより、 I/O のアクティビティが非常に増加します。 本マッピングによる並行転送数増加に起因する性能向上は、 レイテンシ増加に起因する性能劣化を引き起しません。 ストライプの大きさの目安は、256 kB から 512 kB の間です。 2 の羃乗は避けるべきです。 2 の羃乗を使用すると、すべてのスーパブロックを 最初のサブディスクに置く傾向があるからです。 単純なコマンドでは、ストライプの大きさに 279 kB を使用するため、 スーパブロックが適度に分散されます。 .Pp ストライプ化プレックスは最低 2 つのサブディスクを持つ必要がありますし (そうでないとコンカチネート化プレックスになります)、 それぞれは同じ大きさである必要があります。 RAID-5 プレックスは最低 3 つのサブディスクを持つ必要があり、 それぞれは同じ大きさである必要があります。 実際には RAID-5 プレックスは最低 5 つのサブディスクから構成されるべきです。 .It Cm volume Ar volname プレックスを、指定したボリュームに追加します。 .Cm volume キーワードが指定されないと、プレックスは設定ファイル中の最後に記述された ボリュームに追加されます。 .It Cm sd Ar sdname offset 指定したサブディスクをプレックスの .Ar offset の位置に追加します。 .El .It Ic subdisk Op Ar options サブディスクを定義します。 オプションには次のものを指定可能です: .Bl -hang -width 18n .It Cm name Ar name サブディスクの名前を指定します。 これは必ずしも指定する必要は ありません。 上記の .Sx オブジェクトの命名 を参照してください。 サブディスクに名前をつける場合には .Cm name キーワードを指定する必要があることに注意して下さい。 .It Cm plexoffset Ar offset プレックス内のサブディスクの始点を指定します。 指定がないと、 .Nm はすでにサブディスクがあればその直後の領域を割り当て、なければ プレックスの先頭から割り当てます。 .It Cm driveoffset Ar offset ドライブ内のサブディスクの始点を指定します。 指定がないと、 .Nm はドライブ中で最初の .Ar length バイト連続の空き領域を割り当てます。 .It Cm length Ar length サブディスクの大きさを指定します。 このキーワードは必須です。 デフォルト値はありません。 値 0 を指定すると、 .Dq ドライブ上で最大限利用可能な連続空き領域を使用 という意味になります。 ドライブが空の場合、サブディスクとしてドライブ全体を使用することを意味します。 .Cm length は .Cm len と短縮することもできます。 .It Cm plex Ar plex サブディスクが属すプレックスを指定します。 デフォルトでは、サブディスクは 最後に記述されたプレックスに属します。 .It Cm drive Ar drive サブディスクが乗るドライブを指定します。 デフォルトでは最後に記述された ドライブ上に位置します。 .It Cm retryerrors 回復不能エラーが発生しても、サブディスクがダウンとみなさないように指定します。 通常、 .Nm は、回復不能エラーが発生すると、サブディスク全体をアクセス不能とします。 .El .El .Sh 設定ファイル例 .Bd -literal # vinum 設定ファイル例 # # ドライブ drive drive1 device /dev/da1h drive drive2 device /dev/da2h drive drive3 device /dev/da3h drive drive4 device /dev/da4h drive drive5 device /dev/da5h drive drive6 device /dev/da6h # 1 つのストライプ化プレックスをもつボリューム volume tinyvol plex org striped 279k sd length 64m drive drive2 sd length 64m drive drive4 volume stripe plex org striped 279k sd length 512m drive drive2 sd length 512m drive drive4 # 2 つのプレックス volume concat plex org concat sd length 100m drive drive2 sd length 50m drive drive4 plex org concat sd length 150m drive drive4 -# 1 つのストライプ化プレックスと 1 つのコンカチネート化プレックスを持つボリューム +# 1 つのストライプ化プレックスと 1 つのコンカチネート化プレックスを持つ +# ボリューム volume strcon plex org striped 279k sd length 100m drive drive2 sd length 100m drive drive4 plex org concat sd length 150m drive drive2 sd length 50m drive drive4 # 1 つの RAID-5 プレックスと 1 つのストライプ化プレックスを持つボリューム # RAID-5 ボリュームの方が 1 つのサブディスク分だけ大きいことに注意 volume vol5 plex org striped 491k sd length 1000m drive drive2 sd length 1000m drive drive4 plex org raid5 273k sd length 500m drive drive1 sd length 500m drive drive2 sd length 500m drive drive3 sd length 500m drive drive4 sd length 500m drive drive5 .Ed .Sh ドライブレイアウト上の考慮点 現在、 .Nm ドライブは .Bx ディスクパーティションです。 それは 他の用途で使用されているデータの上書きを避けるために .Em vinum タイプである必要があります。 .Nm disklabel Fl e を使用して、パーティションタイプ定義を編集してください。 次の表示は、 .Xr disklabel 8 が示す典型的なパーティションレイアウトです: .Bd -literal 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 344064 4.2BSD 0 0 0 # (Cyl. 240*- 297*) b: 262144 81920 swap # (Cyl. 57*- 240*) c: 4226725 0 unused 0 0 # (Cyl. 0 - 2955*) e: 81920 0 4.2BSD 0 0 0 # (Cyl. 0 - 57*) f: 1900000 425984 4.2BSD 0 0 0 # (Cyl. 297*- 1626*) g: 1900741 2325984 vinum 0 0 0 # (Cyl. 1626*- 2955*) .Ed .Pp この例では、パーティション .Dq Li g を .Nm パーティションとして使用可能です。 パーティション .Dq Li a , .Dq Li e , .Dq Li f は、 .Em UFS ファイルシステムまたは .Em ccd パーティションとして使用可能です。 パーティション .Dq Li b はスワップパーティションであり、パーティション .Dq Li c はディスク全体を表現するため他の用途に使用できません。 .Pp .Nm ユーティリティは各パーティションの先頭から 265 セクタを設定情報に使用するため、 サブディスクの最大の大きさはドライブよりも 265 セクタ小さくなります。 .Sh ログファイル .Nm ユーティリティはログファイルを管理します。 ログファイルは、デフォルトでは .Pa /var/log/vinum_history であり、 .Nm に対して発行したコマンドの履歴を保持します。 環境変数 .Ev VINUM_HISTORY をファイルの名前に設定することにより、 このファイルの名前をオーバライド可能です。 .Pp ログファイル中のメッセージの前には日付が付きます。 デフォルトの書式は .Qq Li %e %b %Y %H:%M:%S -です。書式の文字列に関するさらなる詳細については +です。 +書式の文字列に関するさらなる詳細については .Xr strftime 3 を参照してください。 これは環境変数 .Ev VINUM_DATEFORMAT でオーバライド可能です。 .Sh VINUM 設定法 本節では、 .Nm システムの実装方法に関する、現実的なアドバイスを行います。 .Ss データを何処に置くか まず決定が必要な選択は、データを何処に置くかです。 .Nm 専用のディスクパーティションが必要です。 これらは、デバイスやパーティション .Dq Li c ではなく、パーティションであるべきです。 例えば、適切な名前とは、 .Pa /dev/da0e や .Pa /dev/ad3s4a です。 不適切な名前とは、パーティションではなくデバイスを表現する .Pa /dev/da0 , .Pa /dev/da0s1 や、ディスク全体を表現しタイプ .Em unused であるべき .Pa /dev/ad1c です。 前述の、 .Sx ドライブレイアウト上の考察点 下にある使用例を参照してください。 .Ss ボリュームのデザイン .Nm ボリュームの設定方法は、あなたの意図に依存します。 次のように多くの可能性があります: .Bl -enum .It 多くの小さなディスクを結合して、 適切な大きさのファイルシステムを作成したいと考えるかもしれません。 例えば、小さなディスクを 5 個持っていて、 全空間を単一ボリュームとして使用したい場合、次のような設定ファイルを書きます: .Bd -literal -offset indent drive d1 device /dev/da2e drive d2 device /dev/da3e drive d3 device /dev/da4e drive d4 device /dev/da5e drive d5 device /dev/da6e volume bigger plex org concat sd length 0 drive d1 sd length 0 drive d2 sd length 0 drive d3 sd length 0 drive d4 sd length 0 drive d5 .Ed .Pp この場合、サブディスクの長さを 0 と指定します。 これは、 .Dq ドライブ上にある空き空間のうち、最大領域を使用する ことを意味します。 指定するサブディスクが、ドライブ上の唯一のサブディスクである場合、 このサブディスクは使用可能な空間全体を使用します。 .It ディスク故障に対する追加の回復力 (レジリエンス; resilience) を .Nm に与えたい場合を考えます。 選択肢としては、 .Dq ミラーリング とも呼ばれる RAID-1 か、 .Dq パリティ とも呼ばれる RAID-5 があります。 .Pp ミラーリングの設定のためには、 単一ボリュームの中に複数のプレックスを作成する必要があります。 例えば、 2 GB のミラー化ボリュームを作成するには、 次のような設定ファイルを作成します: .Bd -literal -offset indent drive d1 device /dev/da2e drive d2 device /dev/da3e volume mirror plex org concat sd length 2g drive d1 plex org concat sd length 2g drive d2 .Ed .Pp ミラー化ドライブを作成するときには、 各プレックスからのデータが、 違う物理ディスク上にあることを保証することが重要です。 これにより、単一ドライブ故障においても、 .Nm はボリュームの完全なアドレス空間にアクセス可能となります。 各プレックスが、 完全なボリュームと同じだけのデータを必要とすることに注意してください: この例では、ボリュームは 2 GB の大きさですが、各プレックス (と各サブディスク) は 2 GB を必要としますので、全体のディスクストレージ要求は 4 GB となります。 .Pp RAID-5 の設定をするには、タイプ .Cm raid5 の単一プレックスを作成します。 例えば、回復力を持つ 2 GB に相当するボリュームを作成するには、 次のような設定ファイルを使用します: .Bd -literal -offset indent drive d1 device /dev/da2e drive d2 device /dev/da3e drive d3 device /dev/da4e drive d4 device /dev/da5e drive d5 device /dev/da6e volume raid plex org raid5 433k sd length 512m drive d1 sd length 512m drive d2 sd length 512m drive d3 sd length 512m drive d4 sd length 512m drive d5 .Ed .Pp RAID-5 プレックスは、最低 3 個のサブディスクを必要とします。 これらのうち 1 個には、パリティ情報を格納するので、 データストレージとしては使用しません。 より多くのディスクを使用すると、 より多くの割合のディスクストレージを、 データストレージとして使用可能となります。 この例では、総ストレージ使用量は 2.5 GB です。 これに対し、ミラー設定での総ストレージ使用量は 4 GB です。 最小の 3 個のディスクだけを使用する場合、 情報格納のために次のように 3 GB を必要とします: .Bd -literal -offset indent drive d1 device /dev/da2e drive d2 device /dev/da3e drive d3 device /dev/da4e volume raid plex org raid5 433k sd length 1g drive d1 sd length 1g drive d2 sd length 1g drive d3 .Ed .Pp ミラー化ドライブを作成するときには、 各サブディスクからのデータが、 違う物理ディスク上にあることを保証することが重要です。 これにより、単一ドライブ故障においても、 .Nm はボリュームの完全なアドレス空間にアクセス可能となります。 .It また、 .Nm の設定により、 ファイルシステムへのアクセスの並行性を増したいと考えるかもしれません。 多くの場合、単一のファイルシステムへのアクセスは、 ディスク速度により制限されます。 ボリュームを複数のディスクに分散することにより、 複数アクセス環境でのスループットを増すことが可能です。 この技術は、単一アクセス環境では、 ほとんど効果がないかまったく効果がありません。 .Nm ユーティリティは .Dq ストライピング または RAID-0 とも呼ばれる技術を使用し、アクセスの並行性を増します。 RAID-0 という名称は誤解を生じさせるものです: なぜなら、ストライピングは冗長性も更なる信頼性も提供しないからです。 実際、信頼性は低下します。 なぜなら、単一ディスクの故障はボリュームを使用不可とし、 多くのディスクを使うほどこれらのうち 1 個が故障する確率は増加するからです。 .Pp ストライピングの実装のためには、 .Cm striped (ストライプ化) プレックスを使用します: .Bd -literal -offset indent drive d1 device /dev/da2e drive d2 device /dev/da3e drive d3 device /dev/da4e drive d4 device /dev/da5e volume raid plex org striped 433k sd length 512m drive d1 sd length 512m drive d2 sd length 512m drive d3 sd length 512m drive d4 .Ed .Pp ストライプ化プレックスの最低サブディスク数は 2 個です。 多くのディスクを使用するほど、性能が向上します。 .It 両方の最良点を得ることにより、回復力と性能の両方を得ることを考えます。 これは、RAID-10 (RAID-1 と RAID-0 の組み合わせ) と呼ばれることがあります。 この名称もまた誤解を生じさせるものです。 .Nm では、次のような設定ファイルを使用可能です: -.Bd -literal -offset 4n +.Bd -literal -offset indent drive d1 device /dev/da2e drive d2 device /dev/da3e drive d3 device /dev/da4e drive d4 device /dev/da5e volume raid setupstate plex org striped 433k sd length 512m drive d1 sd length 512m drive d2 sd length 512m drive d3 sd length 512m drive d4 plex org striped 433k sd length 512m drive d4 sd length 512m drive d3 sd length 512m drive d2 sd length 512m drive d1 .Ed .Pp ここでは、プレックスはストライプ化され、性能を向上しています。 そして、このようなプレックスが 2 個あり、回復力を向上しています。 この例で、2 番目のプレックスのサブディスクの順番が、 1 番目のプレックスの逆になっていることに注意してください。 これは性能のためであり、後で議論します。 更に、ボリューム指定にキーワード .Cm setupstate を含み、全プレックスが作成後に .Em up となることを保証しています。 .El .Ss ボリュームの作成 ひとたび設定ファイルを作成した後は、 .Nm を起動し、ボリュームを作成します。 この例では、設定ファイルは .Pa configfile です: .Bd -literal -offset 2n # vinum create -v configfile 1: drive d1 device /dev/da2e 2: drive d2 device /dev/da3e 3: volume mirror 4: plex org concat 5: sd length 2g drive d1 6: plex org concat 7: sd length 2g drive d2 Configuration summary Drives: 2 (4 configured) Volumes: 1 (4 configured) Plexes: 2 (8 configured) Subdisks: 2 (16 configured) Drive d1: Device /dev/da2e Created on vinum.lemis.com at Tue Mar 23 12:30:31 1999 Config last updated Tue Mar 23 14:30:32 1999 Size: 60105216000 bytes (57320 MB) Used: 2147619328 bytes (2048 MB) Available: 57957596672 bytes (55272 MB) State: up Last error: none Drive d2: Device /dev/da3e Created on vinum.lemis.com at Tue Mar 23 12:30:32 1999 Config last updated Tue Mar 23 14:30:33 1999 Size: 60105216000 bytes (57320 MB) Used: 2147619328 bytes (2048 MB) Available: 57957596672 bytes (55272 MB) State: up Last error: none Volume mirror: Size: 2147483648 bytes (2048 MB) State: up Flags: 2 plexes Read policy: round robin Plex mirror.p0: Size: 2147483648 bytes (2048 MB) Subdisks: 1 State: up Organization: concat Part of volume mirror Plex mirror.p1: Size: 2147483648 bytes (2048 MB) Subdisks: 1 State: up Organization: concat Part of volume mirror Subdisk mirror.p0.s0: Size: 2147483648 bytes (2048 MB) State: up Plex mirror.p0 at offset 0 Subdisk mirror.p1.s0: Size: 2147483648 bytes (2048 MB) State: up Plex mirror.p1 at offset 0 .Ed .Pp .Fl v フラグは、設定に従ってファイルをリストするよう、 .Nm に指示します。 その後、 .Ic list Fl v コマンドと同じ書式で、現在の設定をリストします。 .Ss より多くのボリュームを作成する ひとたび .Nm ボリュームを作成した後は、 .Nm はこれらの情報を内部の設定ファイルにて管理します。 再度作成する必要はありません。 特に、 .Ic create コマンドを再実行すると、追加のオブジェクトを作ることになります: .Bd -literal # vinum create sampleconfig Configuration summary Drives: 2 (4 configured) Volumes: 1 (4 configured) Plexes: 4 (8 configured) Subdisks: 4 (16 configured) D d1 State: up Device /dev/da2e Avail: 53224/57320 MB (92%) D d2 State: up Device /dev/da3e Avail: 53224/57320 MB (92%) V mirror State: up Plexes: 4 Size: 2048 MB P mirror.p0 C State: up Subdisks: 1 Size: 2048 MB P mirror.p1 C State: up Subdisks: 1 Size: 2048 MB P mirror.p2 C State: up Subdisks: 1 Size: 2048 MB P mirror.p3 C State: up Subdisks: 1 Size: 2048 MB S mirror.p0.s0 State: up PO: 0 B Size: 2048 MB S mirror.p1.s0 State: up PO: 0 B Size: 2048 MB S mirror.p2.s0 State: up PO: 0 B Size: 2048 MB S mirror.p3.s0 State: up PO: 0 B Size: 2048 MB .Ed .Pp この例では (今回は .Fl f フラグを付けています)、 .Ic create の再実行により 4 個の新規プレックスを作成し、 それぞれが新規サブディスクを持ちます。 他のボリュームを追加したい場合、これらのための新規設定ファイルを作成します。 .Nm が既に知っているドライブを参照する必要はありません。 例えば、ボリューム .Pa raid を 4 個のディスク .Pa /dev/da1e , .Pa /dev/da2e , .Pa /dev/da3e , .Pa /dev/da4e 上に作成するには、他の 2 個についてのみ記述するだけで良いです: .Bd -literal -offset indent drive d3 device /dev/da1e drive d4 device /dev/da4e volume raid plex org raid5 433k sd size 2g drive d1 sd size 2g drive d2 sd size 2g drive d3 sd size 2g drive d4 .Ed .Pp この設定ファイルでは、次のようになります: .Bd -literal # vinum create newconfig Configuration summary Drives: 4 (4 configured) Volumes: 2 (4 configured) Plexes: 5 (8 configured) Subdisks: 8 (16 configured) D d1 State: up Device /dev/da2e Avail: 51176/57320 MB (89%) D d2 State: up Device /dev/da3e Avail: 53220/57320 MB (89%) D d3 State: up Device /dev/da1e Avail: 53224/57320 MB (92%) D d4 State: up Device /dev/da4e Avail: 53224/57320 MB (92%) V mirror State: down Plexes: 4 Size: 2048 MB V raid State: down Plexes: 1 Size: 6144 MB P mirror.p0 C State: init Subdisks: 1 Size: 2048 MB P mirror.p1 C State: init Subdisks: 1 Size: 2048 MB P mirror.p2 C State: init Subdisks: 1 Size: 2048 MB P mirror.p3 C State: init Subdisks: 1 Size: 2048 MB P raid.p0 R5 State: init Subdisks: 4 Size: 6144 MB S mirror.p0.s0 State: up PO: 0 B Size: 2048 MB S mirror.p1.s0 State: up PO: 0 B Size: 2048 MB S mirror.p2.s0 State: up PO: 0 B Size: 2048 MB S mirror.p3.s0 State: up PO: 0 B Size: 2048 MB S raid.p0.s0 State: empty PO: 0 B Size: 2048 MB S raid.p0.s1 State: empty PO: 433 kB Size: 2048 MB S raid.p0.s2 State: empty PO: 866 kB Size: 2048 MB S raid.p0.s3 State: empty PO: 1299 kB Size: 2048 MB .Ed .Pp RAID-5 プレックスの大きさに注意してください: 6 GB しかありませんが、 これを構成するためにディスク空間を 8 GB 使用しています。 これは、サブディスク 1 個分相当をパリティデータ格納に使用しているからです。 .Ss Vinum の再起動 システムのリブート時に、 .Ic start コマンドで .Nm を起動します: .Pp .Dl "# vinum start" .Pp これにより、システム中の全 .Nm ドライブが起動します。 なんらかの理由で一部のドライブのみを起動したい場合、 .Ic read コマンドを使用してください。 .Ss 性能関連 最高性能の RAID アレイ設定に関する、多くの誤った考えが存在しています。 特に、ほとんどのシステムで使用しているストライプの大きさは、小さ過ぎます。 以降の議論は、 .Nm だけでなく、全 RAID システムにあてはまります。 .Pp .Fx のブロック I/O システムは、.5 kB から 128 kB までの要求を発行します; .\" mix = workload mix ? 典型的なミックスでは、ほぼ 8 kB です。 どんなストライピングシステムにおいても、 ある要求が 2 個の物理要求に分割されることを避けることはできませんし、 ストライプを十分細かくするならばより多くに分割されてしまいます。 これにより、甚大な性能劣化となります: ディスクあたりの転送時間の削減は、 より大きなオーダで増加するレイテンシによって相殺されてしまいます。 .Pp 最近のディスクの大きさと .Fx のブロック I/O システムでは、 ストライプの大きさを 256 kB から 512 kB にすると、 適度に少数な要求に分割されることを期待できます; 正しい RAID の実装では、 大きなディスクでのストライプの大きさを 2 または 4 MB に増さない 明確な理由はありません。 .Pp ストライプサイズを選択するときには、 最新の UFS ファイルシステムのシリンダグループの大きさは 32 MB であることを 認識していてください。 ストライプサイズとディスク数が共に 2 の累乗の場合、 すべてのスーパブロックと inode が同一のサブディスクに置かれる可能性があります。 これは、性能に重大な影響を与えます。 代りに奇数、例えば 479 kB を選択してください。 .Pp 複数アクセスシステムでの転送のインパクトを考えるためのもっとも容易な方法は、 潜在的なボトルネック、すなわちディスクサブシステムの観点から見ることです: つまり、転送に要するディスク時間の総計はいくらか?です。 ほとんどすべてがキャッシュされているので、 要求と完了との時間的な関係はそれほど重要ではありません: 重要なパラメータは、要求がディスクを活動状態にする総時間であり、 この間ディスクは他の転送ができなくなります。 この結果、転送が同時に発生しても違う時に発生しても、 実際には問題とはなりません。 実際的には、我々が見ている時間は、レイテンシの総和 (位置決定時間と回転遅延、 言い替えるとデータがディスクヘッド下に来るまでの時間) と総転送時間です。 同じ速度のディスクへの転送においては、 転送時間は転送の大きさの合計のみに依存します。 .Pp 24 kB の典型的なニュースの記事やウェブページを考えると、 これは 1 回の I/O で読み込めます。 ディスクが転送レート 6 MB/s で平均位置決定時間 8 ms であり、 ファイルシステムを 4 kB ブロックであるとします。 24 kB ですから、断片化を考慮する必要はなく、 ファイルは 4 kB 境界から開始します。 必要な転送回数はブロック開始位置に依存します: 式は (S + F - 1) / S となり、 S はファイルシステムブロック数でのストライプの大きさ、 F はファイルシステムブロック数でのファイルの大きさです。 .Bl -enum .It ストライプの大きさは 4 kB。 転送回数は 6 回。 サブシステムの負荷: レイテンシ 48 ms、転送 2 ms、合計 50 ms。 .It ストライプの大きさは 8 kB。 転送回数は 3.5 回。 サブシステムの負荷: レイテンシ 28 ms、転送 2 ms、合計 30 ms。 .It ストライプの大きさは 16 kB。 転送回数は 2.25 回。 サブシステムの負荷: レイテンシ 18 ms、転送 2 ms、合計 20 ms。 .It ストライプの大きさは 256 kB。 平均転送回数は 1.08 回。 サブシステムの負荷: レイテンシ 8.6 ms、転送 2 ms、合計 10.6 ms。 .It ストライプの大きさは 4 MB。 平均転送回数は 1.0009 回。 サブシステムの負荷: レイテンシ 8.01 ms、転送 2 ms、合計 10.01 ms。 .El .Pp ハードウェア RAID システムによっては、 大きなストライプでは問題があるものがあるようです: このようなシステムでは完全なストライプを常にディスクとの間で転送するようで、 大きなストライプは性能に逆効果となります。 .Nm ユーティリティではこの問題の被害を受けません: すべてのディスク転送を最適化し、不要なデータを転送しないからです。 .Pp 良く知られたベンチマークプログラムで真の複数アクセス状態 (100 を越える同時ユーザ) をテストするものはないので、 この主張の正しさを証明することは困難であることに注意してください。 .Pp これらのことを考えると、次の事項が .Nm ボリュームの性能に影響します: .Bl -bullet .It ストライピングは、複数アクセスのみの性能を向上します。 各要求が違うディスク上にある確率が増加するからです。 .It 複数ドライブにまたがるコンカチネート化 UFS ファイルシステムもまた、 複数ファイルアクセスの性能を向上します。 UFS は、ファイルシステムをシリンダグループに分割し、 ファイルを単一のシリンダグループに置こうとするからです。 一般的に、ストライピングほどは効果がありません。 .It ミラーリングは、読み込み複数アクセスの性能を向上可能です。 デフォルトでは .Nm は、連続する複数の読み込みを、 連続する複数のプレックスに対して発行するからです。 .It ミラーリングは、複数アクセスか単一アクセスかに関わらず、 すべての書き込みの性能を劣化させます。 両方のプレックスに対し、データを書き込む必要があるからです。 これが、前述のミラーリング設定におけるサブディスクのレイアウトの説明です: 各プレックス中の対応するサブディスクが別の物理ディスクにある場合、 書き込みコマンドは並列に発行可能です。 しかし、同じ物理ディスクにある場合、逐次的に実行されてしまいます。 .It RAID-5 の読み込みは、 ストライプ化の読み込みと本質的に同じ考慮すべき点があります。 ただし、ストライプ化プレックスがミラー化ボリュームの一部である場合を除きます。 この場合、ミラー化ボリュームの方が性能が良くなります。 .It RAID-5 の書き込みは、ストライプ化の書き込みの約 25% の速度です: 書き込みを行うには、 .Nm はまずデータブロックと対応するパリティブロックを読み込み、 いくばくかの計算を行い、 パリティブロックとデータブロックを書き戻す必要がありますので、 ストライプ化プレックスに対する書き込みの 4 倍の転送回数となります。 一方、これはミラーリングのコストにより相殺されますので、 単一 RAID-5 プレックスのボリュームへの書き込みは、 2 個のストライプ化プレックスからなる正しく設定されたボリュームへの 書き込み速度の半分となります。 .It .Nm の設定が変わると (例えば、オブジェクトの追加や削除、またはオブジェクトの状態変更)、 .Nm は 128 kB までの更新された設定を各ドライブに書き込みます。 ドライブ数が増加すると、この時間が長くなります。 .El .Ss Vinum ボリューム上にファイルシステムを作成する .Nm ボリューム上にファイルシステムを作成する前に .Xr disklabel 8 を実行する必要はありません。 .Xr newfs 8 だけを実行してください。 .Fl v オプションを使用して、 デバイスがパーティションに分割されないようにしてください。 例えば、ボリューム .Pa mirror 上にファイルシステムを作成するには、次のコマンドを入力します: .Pp -.Dl "# newfs -v /dev/vinum/mirror" +.Dl "# newfs -U /dev/vinum/mirror" .Pp .Nm の設定に関係する数個のその他のことがらがあります: .Bl -bullet .It 複数のドライブを単一ディスク上に作成しても、利益はありません。 各ドライブは 131.5 kB のデータをラベルと設定情報に使用し、 設定変更時に性能が劣化します。 適切な大きさのサブディスクを使用してください。 .It コンカチネート化 .Nm プレックスの大きさを増すことはできますが、 現在のところストライプ化プレックスと RAID-5 プレックスでは増せません。 現在のところ既存の UFS ファイルシステムの大きさを増すこともできません。 プレックスおよびファイルシステムを拡張可能とする計画はあります。 .El .Sh 状態管理 (STATE MANAGEMENT) Vinum オブジェクトは .Em state の概念を持ちます。 詳細は .Xr vinum 4 を参照して下さい。 もしそれらの状態が .Em up なら、それらは完全にアクセス可能なだけです。 オブジェクトの状態を .Em up に変更するには .Ic start コマンドを使います。 オブジェクトの状態を .Em down に変更するには .Ic stop コマンドを使います。 通常、他の状態はオブジェクト間の関係によって自動的に作られます。 例えば、もしあなたがボリュームにプレックスを追加したら、プレックスの サブディスクは、ハードウェアがアクセス可能であるけれども、サブディスク上の データは不正であることを示す .Em empty 状態に設定されるでしょう。 この状態の結果として、プレックスは .Em faulty 状態に設定されるでしょう。 .Ss `reviving' 状態 多くの場合、あなたがサブディスクを起動する時に、システムはサブディスクに データをコピーしなければなりません。 サブディスクの大きさによりますが、これは長い時間かかります。 この間、 サブディスクは .Em reviving 状態に設定されます。 コピー操作が正しく終了すれば、それは自動的に .Em up 状態に設定されます。 プロセスが、回復 (revive) を停止させ、そして再開させることがあります。 システムはサブディスクの回復の進み具合を保持し、そして .Ic start コマンドが再発行された時、その時点からコピーを再開します。 .Pp ボリュームのプレックスが一つ以上が回復している間はボリュームの整合性を 保つために、 .Nm は書き込む場所まで回復させたサブディスクに書きます。 もし読みとる領域が すでに回復しているならば、プレックスから読み出すことができます。 .Sh 分かりにくい仕様 (GOTCHAS) 次の事柄はバグではありませんし、存在する理由があるのですが、 混乱を引き起こすものです。 各項目は適切な節において議論されています。 .Bl -enum .It .Nm ドライブは .Ux ディスクパーティションであり、パーティションタイプ .Em vinum であることが必要です。 これは、パーティションタイプが .Em 4.2BSD であることを期待する ccd とは異なります。 この .Nm ccd の動作は、自分の足元をすくうことになります: .Nm ccd では、容易にファイルシステムを上書きできてしまいます。 .Nm ユーティリティではそのようなことは許しません。 .Pp 同様の理由で、 .Nm Ic start コマンドは、パーティション .Dq Li c 上のドライブを受け付けません。 パーティション .Dq Li c は、ディスク全体を表現するためにシステムが使用し、タイプ .Em unused である必要があります。 ここには明確な矛盾があるので、 .Dq Li c パーティションを使用しないことにより .Nm は問題を解決しています。 .It 複数のプレックスからなるボリューム作成時に、 .Nm はプレックスを自動的には初期化しません。 これは、内容については分からなくても、 これらの間には確かに一貫性がないということを意味しています。 その結果デフォルトでは、 新規作成されたプレックスのうち最初のものを除いたすべての状態を、 .Nm は .Em faulty (誤り) 状態に設定します。 これらを最初のプレックスと同期させるには、 これらのサブディスクを .Ic start させる必要があります。 これにより、 .Em up 状態のプレックスから .Nm にデータをコピーさせます。 関係するサブディスクの大きさに依存して、必要な時間は長くなり得ます。 .Pp 実際上は、プレックス作成時にその内容に多大な興味を持つ人はいないので、 他のボリュームマネージャはどんなときでも .Em up に設定して騙します。 .Nm ユーティリティは、新規作成されたプレックスが .Em up 状態であることを保証するために、2 つの方法を提供します: .Bl -bullet .It プレックスを作成し、それらを .Nm Ic start で同期します。 .It キーワード .Cm setupstate 付きでボリューム (プレックスではありません) を作成します。 このキーワードは、矛盾が存在しても無視してプレックスの状態を .Em up 状態にするように、 .Nm に指示します。 .El .It 現在 .Nm がサポートしているコマンドには、実際には不要なものがあります。 私には理解できない理由があるのでしょうが、 .Ic label および .Ic resetconfig -のコマンドを使おうとするユーザをしばしば見掛けます。特に +のコマンドを使おうとするユーザをしばしば見掛けます。 +特に .Ic resetconfig は、あらゆる種類の恐しいメッセージを表示するにもかかわらずです。 正当な理由無しに、これらのコマンドを使わないでください。 .It 状態遷移には非常に分り難いものがあります。 事実、これがバグであるのか仕様であるのかは明かではありません。 .Em reborn サブディスクなどの、奇妙な状態になったオブジェクトを起動できない場合には、 .Ic stop または .Ic stop Fl f のコマンドを使用して、まず .Em stopped 状態に遷移させてください。 これが上手くいけば、オブジェクトを起動できるはずです。 簡単な方法では上手くいかなくて、これが唯一の回復手段である場合、 その状況を報告してください。 .It カーネルモジュールを .Fl D Ns Dv VINUMDEBUG オプション付きで構築した場合、 .Nm もまた .Fl D Ns Dv VINUMDEBUG オプション付きで構築する必要があります。 なぜなら、両方のコンポーネントで使用されるデータオブジェクトに、 大きさが本オプションに依存しているものがあるからです。 前記のようにしないと、対応するエラーメッセージを表示してコマンドが失敗します。 .It .Nm Ic read コマンドの文法は、吐き気を催すものです。 これが唯一の .Nm 起動のためのコマンドでしたが、今の好ましい方法は .Nm Ic start です。 .Nm Ic read は整備のみに使用すべきです。 文法が変更されたので、引数が .Pa /dev/da0 のようなディスクスライスであり .Pa /dev/da0e のようなパーティションではないことに注意してください。 .El .Sh 関連ファイル .Bl -tag -width /dev/vinum/control -compact .It Pa /dev/vinum .Nm オブジェクトのデバイスノードがあるディレクトリ .It Pa /dev/vinum/control .Nm の制御デバイス .It Pa /dev/vinum/plex .Nm プレックスのデバイスノードがあるディレクトリ .It Pa /dev/vinum/sd .Nm サブディスクのデバイスノードがあるディレクトリ .El .Sh 環境変数 .Bl -tag -width VINUM_DATEFORMAT -.It VINUM_HISTORY -ログファイルの名前です。デフォルトでは +.It Ev VINUM_HISTORY +ログファイルの名前です。 +デフォルトでは .Pa /var/log/vinum_history です。 -.It VINUM_DATEFORMAT -ログファイル中の日付の書式です。デフォルトは -.Qq Li %e %b %Y %H:%M:%S です。 -.It EDITOR -設定ファイルの編集に使用するエディタの名前です。デフォルトは +.It Ev VINUM_DATEFORMAT +ログファイル中の日付の書式です。 +デフォルトは +.Qq Li %e %b %Y %H:%M:%S +です。 +.It Ev EDITOR +設定ファイルの編集に使用するエディタの名前です。 +デフォルトは .Nm vi です。 .El .Sh 関連項目 .Xr strftime 3 , .Xr vinum 4 , .Xr disklabel 8 , .Xr newfs 8 .Pp .Pa http://www.vinumvm.org/vinum/ , .Pa http://www.vinumvm.org/vinum/how-to-debug.html . .Sh 作者 .An Greg Lehey Aq grog@lemis.com .Sh 歴史 .Nm ユーティリティは .Fx 3.0 -から登場しました。 +ではじめて登場しました。 .Nm の RAID-5 コンポーネントは、 NetMAX 製品のために Cybernet Inc.\& .Pq Pa www.cybernet.com が開発しました。 .Sh バグ .Xr vinum 4 は .Xr geom 4 サブシステムを使用しませんので、 .Xr vinum 4 ボリュームは GOEM ベースの機能、 例えば .Xr gbde 8 では使用できません。 .Pp .Xr vinum 4 は、ブロックサイズが .Dv DEV_BSIZE (512) ではないデバイス上では動作しないので、スワップが背後にある .Xr md 4 デバイスでは使用できません。