diff --git a/ja_JP.eucJP/man/man1/gcov.1 b/ja_JP.eucJP/man/man1/gcov.1 index 4adae2ee0d..eff3e3a508 100644 --- a/ja_JP.eucJP/man/man1/gcov.1 +++ b/ja_JP.eucJP/man/man1/gcov.1 @@ -1,474 +1,474 @@ .\" $FreeBSD$ .\" Automatically generated by Pod::Man version 1.15 .\" Wed Feb 5 03:13:55 2003 .\" .\" Standard preamble: .\" ====================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used .\" to do unbreakable dashes and therefore won't be available. \*(C` and .\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr .\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and .\" index entries marked with X<> in POD. Of course, you'll have to process .\" the output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it .\" makes way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. .bd B 3 . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ====================================================================== .\" .IX Title "GCOV 1" .TH GCOV 1 "gcc-3.2.2" "2003-02-05" "GNU" .UC -.SH "$BL>>N(B" -gcov \- $B%+%P%l%C%8%F%9%H%D!<%k(B -.SH "$B=q<0(B" -.IX Header "$B=q<0(B" +.SH "名称" +gcov \- カバレッジテストツール +.SH "書式" +.IX Header "書式" gcov [\fB\-v\fR|\fB\*(--version\fR] [\fB\-h\fR|\fB\*(--help\fR] [\fB\-b\fR|\fB\*(--branch-probabilities\fR] [\fB\-c\fR|\fB\*(--branch-counts\fR] [\fB\-n\fR|\fB\*(--no-output\fR] [\fB\-l\fR|\fB\*(--long-file-names\fR] [\fB\-f\fR|\fB\*(--function-summaries\fR] [\fB\-o\fR|\fB\*(--object-directory\fR \fIdirectory\fR] \fIsourcefile\fR -.SH "$B2r@b(B" -.IX Header "$B2r@b(B" -\&\fBgcov\fR $B$O!"%+%P%l%C%8%F%9%H$r9T$&%W%m%0%i%`$G$9!#(B -\s-1GCC\s0 $B$H$$$C$7$g$KMQ$$$k$H!"$"$J$?$N%W%m%0%i%`$r(B -$B$b$C$H8z2LE*$G9bB.$KF0$/%3!<%I$K$9$k$?$a$N2r@O$,$G$-$^$9!#(B -\fBgcov\fR $B$r%W%m%U%!%$%j%s%0%D!<%k$H$7$F;H$&$H!"(B -$B%W%m%0%i%`$r:GE,2=$9$k$K$O(B -$B$I$3$rD>$9$N$,0lHV8z2LE*$+$r8+$D$1=P$9;v$,$G$-$^$9!#(B -$B$^$?!"(B \&\fBgprof\fR $B$H$H$b$KMQ$$$k$H!"(B -$B%3!<%I$N$I$NItJ,$,pJs$,F@$i$l$^$9!#(B +プロファイリングツールを使って、あなたのコードの性能を +解析することができます。 +\fBgcov\fR や \fBgprof\fR のようなプロファイラを使うと、 +性能にかかわる以下のような基礎的な統計情報が得られます。 .Ip "\(bu" 4 -$B%3!<%I$N3F9T$,2?2sZ$7$^$9!#(B -$B0lJ}!"%+%P%l%C%8%F%9%H$K$h$C$F!"%F%9%H%9%$!<%H$,%W%m%0%i%`(B -$B$r$I$l$@$1%F%9%H$7$F$$$k$+$rD4$Y$k;v$,$G$-$^$9!#(B -$B$h$jNI$$%F%9%H$H$h$jNI$$:G=*@=IJ$r:n$k$?$a$K!"(B -$B%F%9%H%9%$!<%H$K$I$s$Jl9g$K$O:GE,2=L5$7$G%3%s%Q%$%k$9$k$Y$-$G$9!#(B -$B$J$<$J$i:GE,2=$K$h$C$F?t9T$N%3!<%I$,(B 1 $B$D$K$^$H$a$i$l$F$7$^$&$H!"(B -$BCHq$7$F$$$k!V%[%C%H%9%]%C%H!W$rC5$9$N$K(B -$BI,MW$J>pJs$,==J,=8$^$i$J$/$J$C$F$7$^$&$+$b$7$l$J$$$+$i$G$9!#(B -$B$5$i$K!"(B \fBgcov\fR $B$OE}7W>pJs$r9T$4$H(B ($B:G>.J,@OC10L(B) $B$K=8$a$k$N$G!"(B -$B3F9T$KJ8$r(B 1 $B$D$:$D=q$/%W%m%0%i%_%s%0%9%?%$%k$K$9$k$H!"(B -$B$b$C$H$bLr$KN)$D7k2L$,F@$i$l$^$9!#(B -$B%k!<%W$dB>$N@)8f9=J8$KE83+$5$l$kJ#;($J%^%/%m$r;H$&$H!"(B -$B%^%/%m8F$S=P$7$N(B 1 $B9T$K$7$+>pJs$,=P$^$;$s$+$i!"(B -$BE}7W>pJs$O$"$^$jLr$KN)$?$J$/$J$C$F$7$^$$$^$9!#(B -$B$b$7$=$N%^%/%m$,4X?t$N$h$&$K?6$kIq$&$b$N$J$i!"(B -$B$=$l$r%$%s%i%$%s4X?t$KCV$-49$($k$H$3$NLdBj$r2r7h$G$-$^$9!#(B +\&\fBgcov\fR を使う場合には最適化無しでコンパイルするべきです。 +なぜなら最適化によって数行のコードが 1 つにまとめられてしまうと、 +実行時間の多くを消費している「ホットスポット」を探すのに +必要な情報が十分集まらなくなってしまうかもしれないからです。 +さらに、 \fBgcov\fR は統計情報を行ごと (最小分析単位) に集めるので、 +各行に文を 1 つずつ書くプログラミングスタイルにすると、 +もっとも役に立つ結果が得られます。 +ループや他の制御構文に展開される複雑なマクロを使うと、 +マクロ呼び出しの 1 行にしか情報が出ませんから、 +統計情報はあまり役に立たなくなってしまいます。 +もしそのマクロが関数のように振る舞うものなら、 +それをインライン関数に置き換えるとこの問題を解決できます。 .PP -\&\fBgcov\fR $B$O(B \fI\fIsourcefile\fI.gcov\fR $B$H$$$&%m%0%U%!%$%k$r:n$j$^$9!#(B -$B$3$l$K$O(B \fI\fIsourcefile\fI.c\fR $B$H$$$&%=!<%9%U%!%$%k$N$I$N9T$,(B -$B2?2spJs$,F@$i$l$^$9!#(B +\&\fBgcov\fR は \fI\fIsourcefile\fI.gcov\fR というログファイルを作ります。 +これには \fI\fIsourcefile\fI.c\fR というソースファイルのどの行が +何回実行されたかが記録されています。 +このログファイルを \fBgprof\fR といっしょに使えば、 +あなたのプログラムの性能をファインチューニングする助けになります。 +\fBgprof\fR からは、 \&\fBgcov\fR の出力といっしょに使える、 +タイミング情報が得られます。 .PP -\&\fBgcov\fR $B$O!"(B \s-1GCC\s0 $B$G%3%s%Q%$%k$5$l$?%3!<%I$N$_$GF0:n$7$^$9!#(B -$BB>$N%W%m%U%!%$%k$d%F%9%H%+%P%l%C%8$N;EAH$_$H$N8_49$O$"$j$^$;$s!#(B -.SH "$B%*%W%7%g%s(B" -.IX Header "$B%*%W%7%g%s(B" +\&\fBgcov\fR は、 \s-1GCC\s0 でコンパイルされたコードのみで動作します。 +他のプロファイルやテストカバレッジの仕組みとの互換はありません。 +.SH "オプション" +.IX Header "オプション" .Ip "\fB\-h\fR" 4 .IX Item "-h" .PD 0 .Ip "\fB\*(--help\fR" 4 .IX Item "help" .PD -\fBgcov\fR $B$N;H$$$+$?$rI8=`=PNO$KI=<($7$F!"(B -$B%W%m%0%i%`$r=*N;$7$^$9!#(B -$B$=$l0J30$N=hM}$O$7$^$;$s!#(B +\fBgcov\fR の使いかたを標準出力に表示して、 +プログラムを終了します。 +それ以外の処理はしません。 .Ip "\fB\-v\fR" 4 .IX Item "-v" .PD 0 .Ip "\fB\*(--version\fR" 4 .IX Item "version" .PD -\fBgcov\fR $B$N%P!<%8%g%sHV9f$rI8=`=PNO$KI=<($7$F!"(B -$B%W%m%0%i%`$r=*N;$7$^$9!#(B -$B$=$l0J30$N=hM}$O$7$^$;$s!#(B +\fBgcov\fR のバージョン番号を標準出力に表示して、 +プログラムを終了します。 +それ以外の処理はしません。 .Ip "\fB\-b\fR" 4 .IX Item "-b" .PD 0 .Ip "\fB\*(--branch-probabilities\fR" 4 .IX Item "branch-probabilities" .PD -$BJ,4t$N2s?t$r=PNO%U%!%$%k$K=q$-=P$7!"J,4t$N%5%^%j$rI8=`=PNO$KI=<($7$^$9!#(B -$B$3$N%*%W%7%g%s$K$h$j!"%W%m%0%i%`Cf$G$=$l$>$l$NJ,4t$,$I$N$/$i$$5/$-$?$+$r(B -$BD4$Y$k$3$H$,$G$-$^$9!#(B +分岐の回数を出力ファイルに書き出し、分岐のサマリを標準出力に表示します。 +このオプションにより、プログラム中でそれぞれの分岐がどのくらい起きたかを +調べることができます。 .Ip "\fB\-c\fR" 4 .IX Item "-c" .PD 0 .Ip "\fB\*(--branch-counts\fR" 4 .IX Item "branch-counts" .PD -$BJ,4t$,@.N)$7$?3d9g(B ($B%Q!<%;%s%H(B) $B$NBe$o$j$K!"J,4t$N@.N)$7$?2s?t$r=PNO$7$^$9!#(B +分岐が成立した割合 (パーセント) の代わりに、分岐の成立した回数を出力します。 .Ip "\fB\-n\fR" 4 .IX Item "-n" .PD 0 .Ip "\fB\*(--no-output\fR" 4 .IX Item "no-output" .PD -\fBgcov\fR $B=PNO%U%!%$%k$r:n$j$^$;$s!#(B +\fBgcov\fR 出力ファイルを作りません。 .Ip "\fB\-l\fR" 4 .IX Item "-l" .PD 0 .Ip "\fB\*(--long-file-names\fR" 4 .IX Item "long-file-names" .PD -$B%$%s%/%k!<%I$5$l$?%=!<%9%U%!%$%k$NL>A0$H$7$FD9$$%U%!%$%kL>$r;H$$$^$9!#(B -$B$?$H$($P!"%X%C%@%U%!%$%k(B \fIx.h\fR $B$,%3!<%I$r4^$s$G$$$F!"(B -\&\fIa.c\fR $B$K$h$C$F%$%s%/%k!<%I$5$l$k>l9g!"(B -\fBgcov\fR $B$r(B \fIa.c\fR $B$KBP$7$Fl9g$KJXMx$G$9!#(B +インクルードされたソースファイルの名前として長いファイル名を使います。 +たとえば、ヘッダファイル \fIx.h\fR がコードを含んでいて、 +\&\fIa.c\fR によってインクルードされる場合、 +\fBgcov\fR を \fIa.c\fR に対して実行すると、 +出力ファイルは \fIx.h.gcov\fR ではなく、 \fIa.c.x.h.gcov\fR になります。 +これは、 \fIx.h\fR が複数のファイルにインクルードされている場合に便利です。 .Ip "\fB\-f\fR" 4 .IX Item "-f" .PD 0 .Ip "\fB\*(--function-summaries\fR" 4 .IX Item "function-summaries" .PD -$B%U%!%$%k%l%Y%k$N%5%^%j$NB>$K!"3F4X?t$K$D$$$F$N%5%^%j$b=PNO$7$^$9!#(B +ファイルレベルのサマリの他に、各関数についてのサマリも出力します。 .Ip "\fB\-o\fR \fIdirectory\fR" 4 .IX Item "-o directory" .PD 0 .Ip "\fB\*(--object-directory\fR \fIdirectory\fR" 4 .IX Item "object-directory directory" .PD -$B%*%V%8%'%/%H%U%!%$%k$N$"$k%G%#%l%/%H%j$r;XDj$7$^$9!#(B -\fBgcov\fR $B$O!"$3$N%G%#%l%/%H%j$G(B \fI.bb\fR, \&\fI.bbg\fR, \fI.da\fR -$B%U%!%$%k$rC5$7$^$9!#(B +オブジェクトファイルのあるディレクトリを指定します。 +\fBgcov\fR は、このディレクトリで \fI.bb\fR, \&\fI.bbg\fR, \fI.da\fR +ファイルを探します。 .PP -\fBgcov\fR $B$r;H$&$K$O!":G=i$K$^$:(B \s-1GCC\s0 $B$N(B 2 $B$D$NFCJL$J%*%W%7%g%s!"(B -\&\fB\-fprofile-arcs, \-ftest-coverage\fR $B$r;XDj$7$F!"(B -$B%W%m%0%i%`$r%3%s%Q%$%k$7$J$1$l$P$J$j$^$;$s!#(B -$B$3$l$K$h$C$F%3%s%Q%$%i$O!"(B -gcov $B$,I,MW$H$9$kDI2C>pJs(B ($B4pK\E*$K$O%W%m%0%i%`$N%U%m!<%0%i%U(B) $B$r@8@.$7!"(B -$B$^$?(B gcov $B$,I,MW$H$9$k%W%m%U%!%$%k>pJs$r@8@.$9$k%3!<%I$r(B -$B%*%V%8%'%/%H%U%!%$%k$K4^$a$^$9!#(B -$B$3$l$i$NDI2C$N%U%!%$%k$O!"%=!<%9%3!<%I$N$"$k%G%#%l%/%H%j$K:n$i$l$^$9!#(B +\fBgcov\fR を使うには、最初にまず \s-1GCC\s0 の 2 つの特別なオプション、 +\&\fB\-fprofile-arcs, \-ftest-coverage\fR を指定して、 +プログラムをコンパイルしなければなりません。 +これによってコンパイラは、 +gcov が必要とする追加情報 (基本的にはプログラムのフローグラフ) を生成し、 +また gcov が必要とするプロファイル情報を生成するコードを +オブジェクトファイルに含めます。 +これらの追加のファイルは、ソースコードのあるディレクトリに作られます。 .PP -$B%W%m%0%i%`$r$r0z?t$K$7$F(B \fBgcov\fR $B$r$r(B \fItmp.c\fR $B$H$9$k$H!"(B -\fBgcov\fR $B$N4pK\5!G=$O0J2<$N$h$&$K$7$F;H$$$^$9!#(B +プログラムのソースファイル名を引数にして \fBgcov\fR を実行すると、 +コードの各行に実行回数を示したソースリストを生成します。 +プログラム名を \fItmp.c\fR とすると、 +\fBgcov\fR の基本機能は以下のようにして使います。 .PP .Vb 5 \& $ gcc -fprofile-arcs -ftest-coverage tmp.c \& $ a.out \& $ gcov tmp.c \& 87.50% of 8 source lines executed in file tmp.c \& Creating tmp.c.gcov. .Ve -\fBgcov\fR $B$N=PNO$O(B \fItmp.c.gcov\fR $B$K3JG<$5$l$F$$$^$9!#(B -$B0J2<$O$=$N%5%s%W%k$G$9!#(B +\fBgcov\fR の出力は \fItmp.c.gcov\fR に格納されています。 +以下はそのサンプルです。 .PP .Vb 3 \& main() \& { \& 1 int i, total; .Ve .Vb 1 \& 1 total = 0; .Ve .Vb 2 \& 11 for (i = 0; i < 10; i++) \& 10 total += i; .Ve .Vb 5 \& 1 if (total != 45) \& ###### printf ("Failure\en"); \& else \& 1 printf ("Success\en"); \& 1 } .Ve -\fB\-b\fR $B%*%W%7%g%s$r;H$&$H!"=PNO$Ol9g!"(B -$B$=$N%=!<%99T$KBP$7$FJ#?t$NJ,4t$d4X?t8F$S=P$7$,<($5$l$k;v$,$"$j$^$9!#(B -$B$3$N>l9g!"$=$l$i$NJ,4t$d4X?t8F$S=P$7$K$OHV9f$,$U$i$l$^$9!#(B -$B$=$NHV9f$H%=!<%9>e$NMWAG$H$N%^%C%T%s%0$OC1=c$G$O$"$j$^$;$s$,!"(B -$B$b$C$H$b>.$5$$HV9f$r;}$DJ,4t$d4X?t8F$S=P$7$,!"(B -$B%=!<%9>e$G$b$C$H$b:8$K$"$k$N$,IaDL$G$9!#(B +基本ブロック (basic block) について、 +基本ブロックの最終行の次に、基本ブロックを終わらせた +分岐か関数呼び出しについての行を表示します。 +ある行で終わる基本ブロックが複数ある場合、 +そのソース行に対して複数の分岐や関数呼び出しが示される事があります。 +この場合、それらの分岐や関数呼び出しには番号がふられます。 +その番号とソース上の要素とのマッピングは単純ではありませんが、 +もっとも小さい番号を持つ分岐や関数呼び出しが、 +ソース上でもっとも左にあるのが普通です。 .PP -$BJ,4t(B (branch) $B$K$D$$$F!"(B -$B0lEY$G$b/$J$/$J$k$+$b$7$l$^$;$s!#(B +関数呼び出し (call) について、 +一度でも実行された関数呼び出しは、 +呼び出しから戻った回数を呼び出した回数で割った比率をパーセントで示します。 +これは普通は 100% になりますが、 +\f(CW\*(C`exit\*(C'\fR や \f(CW\*(C`longjmp\*(C'\fR を呼び出すために +戻ってこない事のある関数ではそれより少なくなるかもしれません。 .PP -$BC$5$:$K%W%m%0%i%`$r:FpJs$rF@$k$?$a$K%W%m%0%i%`$rHs>o$KBg$-$J2s?tA0$KJ]B8$5$l$^$9!#(B -\fB\-fprofile-arcs\fR $B$r;XDj$7$F%3%s%Q%$%k$5$l$?3F%U%!%$%k$K(B -$BAH$_9~$^$l$F$$$k%W%m%U%!%$%j%s%0%3!<%I$O!"(B -$B$^$:;O$a$K4{B8$N(B \fI.da\fR $B%U%!%$%k$rFI$_9~$_$^$9!#(B -$B$b$7$=$NFbMF$,l9g$K$O!"(B -$B?7$7$$$N$I$s$J%*%W%7%g%s$b;XDj$9$k;v$,$G$-$^$9!#(B -$B0lJ}!"%W%m%0%i%`Cf$NA4$F$N9T$,l9g!"3F9T$KBP1~$9$kL?Na%3!<%I$,B8:_$7$J$$$?$a!"(B -\fBgcov\fR $B$O9T$4$H$N>N(B +.Sh 名称 .Nm config -.Nd $B%+!<%M%k@_Dj%U%!%$%k$N7A<0(B -.Sh $B2r@b(B -$B%+!<%M%k@_Dj%U%!%$%k$K$O!"(B +.Nd カーネル設定ファイルの形式 +.Sh 解説 +カーネル設定ファイルには、 .Fx -$B%+!<%M%k$N@_Dj$r;XDj$7$^$9!#(B -$B$3$l$O(B +カーネルの設定を指定します。 +これは .Xr make 1 -$B$r;H$C$F%S%k%I$9$k!"%+!<%M%k$N%S%k%I4D6-$r@8@.$9$k$?$a$K!"(B +を使ってビルドする、カーネルのビルド環境を生成するために、 .Xr config 8 -$B$K$h$C$F=hM}$5$l$^$9!#(B -.Ss $B9=J89=B$(B -$B%+!<%M%k@_Dj%U%!%$%k$O!"0lO"$N;X<(%G%#%l%/%F%#%V$+$i$J$j$^$9!#(B +によって処理されます。 +.Ss 構文構造 +カーネル設定ファイルは、一連の指示ディレクティブからなります。 .Pp -$B;X<(%G%#%l%/%F%#%V$O!"9TF,$N%-!<%o!<%I$G;O$^$j!"IU2CE*$J0z?t$,$=$l$KB3$-$^$9!#(B +指示ディレクティブは、行頭のキーワードで始まり、付加的な引数がそれに続きます。 .Pp -$B;X<(%G%#%l%/%F%#%V$O!"%;%_%3%m%s(B +指示ディレクティブは、セミコロン .Ql \&; -$B$+2~9T$G=*N;$G$-$^$9!#(B -$BD9$$F~NO9T$O!"6uGr$G;O$^$k9T$rB3$1$k$3$H$G!"C;$$9T$KJ,3d$9$k$3$H$,$G$-$^$9!#(B +か改行で終了できます。 +長い入力行は、空白で始まる行を続けることで、短い行に分割することができます。 .Pp -$BBgJ8;z(B/$B>.J8;z$K$O0UL#$,$"$j!"(B +大文字/小文字には意味があり、 .Dq Li machine -$B$H(B +と .Dq Li MACHINE -$B$O0[$J$k%H!<%/%s$G$9!#(B +は異なるトークンです。 .Pp -$B%@%V%k%/%)!<%HJ8;z$N(B +ダブルクォート文字の .Ql \[dq] -$B$O!"%/%)!<%HJ8;zNs$N;O$^$j$G$9!#(B -$Be=q$-$9$k$h$&$K$7$F=hM}$5$l$^$9!#(B +クォート文字列の中を除き、トークンの間の空白は無視されます。 +コメント行に続く空白は無視されます。 +.Ss 設定ディレクティブ +カーネル設定ディレクティブは、カーネル設定ファイル中において任意の順番で +現れることが出来ます。 +ディレクティブは現れる順番に、後のディレクティブ行で +それ以前のディレクティブの効果を上書きするようにして処理されます。 .Pp -$B%-!<%o!<%I$H$=$N0UL#$N%j%9%H$O!"0J2<$N$h$&$J$b$N$G$9!#(B +キーワードとその意味のリストは、以下のようなものです。 .Bl -tag -width indent .\" -------- CPU -------- .It Ic cpu Ar cputype -$B$3$N%+!<%M%k$rF0$+$9$G$"$m$&(B CPU $B$r;XDj$7$^$9!#(B -$B$R$H$D0J>e$N(B +このカーネルを動かすであろう CPU を指定します。 +ひとつ以上の .Ic cpu -$B%G%#%l%/%F%#%V$r@_Dj%U%!%$%kCf$K=q$/$3$H$,=PMh$^$9!#(B -CPU $BL>$H$7$F;XDj2DG=$J%j%9%H$O%"!<%-%F%/%A%c8GM-$G$"$j!"%U%!%$%k(B +ディレクティブを設定ファイル中に書くことが出来ます。 +CPU 名として指定可能なリストはアーキテクチャ固有であり、ファイル .Pa sys/conf/options. Ns Aq Ar arch -$B$GDj5A$5$l$F$$$^$9!#(B +で定義されています。 .\" -------- DEVICE -------- .It Ic device Ar name Op Ar count -$B%G%P%$%9(B +デバイス .Ar name -$B$r%+!<%M%k%$%a!<%8$K4^$a$k$h$&$K@_Dj$7$^$9!#(B -$B$b$7(B +をカーネルイメージに含めるように設定します。 +もし .Ar count -$B$r;XDj$7$?>l9g!"$=$N%G%P%$%9$O(B +を指定した場合、そのデバイスは .Ar count -$B8D$N%$%s%9%?%s%9$H$7$F@_Dj$5$l$^$9!#(B -$BA4$F$N%"!<%-%F%/%A%c$G6&DL$N%G%P%$%9$O!"%U%!%$%k(B +個のインスタンスとして設定されます。 +全てのアーキテクチャで共通のデバイスは、ファイル .Pa sys/conf/files -$B$GDj5A$5$l$F$$$^$9!#(B -$B%"!<%-%F%/%A%c8GM-$N%G%P%$%9$O!"%U%!%$%k(B +で定義されています。 +アーキテクチャ固有のデバイスは、ファイル .Pa sys/conf/files. Ns Aq Ar arch -$B$GDj5A$5$l$F$$$^$9!#(B +で定義されています。 .\" -------- ENV -------- .It Ic env Ar filename -$B%+!<%M%k$N4D6-Dj5A$r4^$s$@%U%!%$%k$NL>A0$r;XDj$7$^$9!#(B -$B%+!<%M%k$ODL>o!"5/F0;~$K(B +カーネルの環境定義を含んだファイルの名前を指定します。 +カーネルは通常、起動時に .Xr loader 8 -$B$K$h$C$FMQ0U$5$l$?4D6-$rMQ$$$^$9!#(B -$B$3$N%G%#%l%/%F%#%V$O!"$3$N5/F04D6-$rL5;k$7!"Be$o$j$K%3%s%Q%$%k;~$K(B -$BAH$_9~$^$l$?4D6-$r%+!<%M%k$,;H$&$h$&$K$7$^$9!#(B +によって用意された環境を用います。 +このディレクティブは、この起動環境を無視し、代わりにコンパイル時に +組み込まれた環境をカーネルが使うようにします。 .Pp -$B$3$N%G%#%l%/%F%#%V$O!"(B +このディレクティブは、 .Xr loader 8 -$B$+$i5/F0$7$J$$$h$&$JAH$_9~$_4D6-8~$1$K%+!<%M%k$r%A%e!<%K%s%0$9$k;~$K(B -$BM-MQ$G$9!#(B +から起動しないような組み込み環境向けにカーネルをチューニングする時に +有用です。 .\" -------- HINTS -------- .It Ic hints Ar filename -$B@EE*$J%G%P%$%9@_Dj;X<($N$?$a$KFI$_9~$`%U%!%$%k$r;XDj$7$^$9!#(B +静的なデバイス設定指示のために読み込むファイルを指定します。 .Fx 5.0 -$B0J9_!"%+!<%M%k$O5/F0;~$K!"%7%9%F%`$N%G%P%$%9@_Dj$rFI$_9~$_$^$9(B +以降、カーネルは起動時に、システムのデバイス設定を読み込みます ( .Xr device.hints 5 -$B$r;2>H(B)$B!#(B -$B$3$N%G%#%l%/%F%#%V$O%+!<%M%k$K!"(B +を参照)。 +このディレクティブはカーネルに、 .Ar filename -$BCf$KNs5s$7$?@EE*$J%G%P%$%9@_Dj$r;H$&$h$&$K@_Dj$7$^$9!#(B -$B%U%!%$%k(B +中に列挙した静的なデバイス設定を使うように設定します。 +ファイル .Ar filename -$B$O!"(B +は、 .Xr device.hints 5 -$B$K5,Dj$5$l$?J8K!$K=>$C$F$$$kI,MW$,$"$j$^$9!#(B +に規定された文法に従っている必要があります。 .\" -------- IDENT -------- .It Ic ident Ar name -$B%+!<%M%k$NL>A0$r(B +カーネルの名前を .Ar name -$B$K$7$^$9!#(B -$B>/$J$/$H$b$R$H$D$N(B +にします。 +少なくともひとつの .Ic ident -$B%G%#%l%/%F%#%V$,I,MW$G$9!#(B +ディレクティブが必要です。 .\" -------- INCLUDE -------- .It Ic include Ar filename -$BB3$/%F%-%9%H$r%U%!%$%k(B +続くテキストをファイル .Ar filename -$B$+$iFI$_9~$_!"(B +から読み込み、 .Ar filename -$B$,$-$A$s$H=hM}$G$-$?$i!"8=:_$N%U%!%$%k$KLa$j$^$9!#(B +がきちんと処理できたら、現在のファイルに戻ります。 .\" -------- MACHINE -------- .It Ic machine Ar arch -$B%+!<%M%k$,%3%s%Q%$%k$5$l$k!"%^%7%s$N%"!<%-%F%/%A%c$r;XDj$7$^$9!#(B +カーネルがコンパイルされる、マシンのアーキテクチャを指定します。 .Ar arch -$B$H$7$F@5$7$$CM$O!"0J2<$N$b$N$r4^$_$^$9!#(B +として正しい値は、以下のものを含みます。 .Pp .Bl -tag -width ".Cm powerpc" -compact .It Cm alpha -DEC Alpha $B%"!<%-%F%/%A%c!#(B +DEC Alpha アーキテクチャ。 .It Cm amd64 -AMD x86-64 $B%"!<%-%F%/%A%c!#(B +AMD x86-64 アーキテクチャ。 .It Cm i386 -Intel x86 $B%Y!<%9$N(B PC $B%"!<%-%F%/%A%c!#(B +Intel x86 ベースの PC アーキテクチャ。 .It Cm ia64 -Intel IA64 $B%"!<%-%F%/%A%c!#(B +Intel IA64 アーキテクチャ。 .It Cm pc98 -PC98 $B%"!<%-%F%/%A%c!#(B +PC98 アーキテクチャ。 .It Cm powerpc -IBM PowerPC $B%"!<%-%F%/%A%c!#(B +IBM PowerPC アーキテクチャ。 .It Cm sparc64 -Sun Sparc64 $B%"!<%-%F%/%A%c!#(B +Sun Sparc64 アーキテクチャ。 .El .Pp -$B%+!<%M%k@_Dj%U%!%$%k$O(B +カーネル設定ファイルは .Ic machine -$B%G%#%l%/%F%#%V$r$R$H$D$@$1;}$D$3$H$,$G$-$^$9!#(B +ディレクティブをひとつだけ持つことができます。 .\" -------- MAKEOPTION -------- .It Ic makeoptions Ar options -$B@8@.$5$l$k(B makefile $B$KBP$7$F!"(B +生成される makefile に対して、 .Ar options -$B$rDI2C$7$^$9!#(B +を追加します。 .Pp .Ar options -$B0z?t$O%3%s%^$G6h@Z$i$l$?!"$R$H$D0J>e$N%*%W%7%g%s;X<($N%j%9%H$G$9!#(B -$B3F%*%W%7%g%s;X<($OA0$@$1$N(B +変数定義が、生成される makefile に挿入されます。 +もし名前だけの .Xr make 1 -$BJQ?t$r;XDj$7$?>l9g!"(B +変数を指定した場合、 .Ar value -$B$O6u$NJ8;zNs$H$_$J$7$^$9!#(B +は空の文字列とみなします。 .Pp -$B;HMQNc(B: +使用例: .Bd -literal -offset indent -compact makeoptions MYMAKEOPTION="foobar" makeoptions MYNULLMAKEOPTION .Ed .\" -------- MAXUSERS -------- .It Ic maxusers Ar number -$B$3$N%*%W%7%g%s%G%#%l%/%F%#%V$O!"$$$/$D$+$N%+!<%M%k%G!<%?9=B$BN$NBg$-$5$r(B -$B@_Dj$9$k$N$K;H$o$l$^$9!#(B -$B0z?t(B +このオプションディレクティブは、いくつかのカーネルデータ構造体の大きさを +設定するのに使われます。 +引数 .Ar number -$B$O!"(B0 ($B%G%U%)%k%H(B) $B$^$?$O(B 2 $B0J>e$N@0?tCM$G$9!#(B -$BCM(B 0 $B$O!"MxMQ2DG=$JJ*M}%a%b%j$NBg$-$5$K=>$C$F!"%+!<%M%k$,<+?H$N%G!<%?9=B$BN$r(B -$B@_Dj$9$k$3$H$rI=$7$^$9!#(B -$B$b$7<+F0@_Dj$,MW5a$5$l$l$P!"%+!<%M%k$O$3$NCM$r(B 32 $B$+$i(B 384 $B$N4V$G(B -$BD4@a$9$k$G$7$g$&!#(B +は、0 (デフォルト) または 2 以上の整数値です。 +値 0 は、利用可能な物理メモリの大きさに従って、カーネルが自身のデータ構造体を +設定することを表します。 +もし自動設定が要求されれば、カーネルはこの値を 32 から 384 の間で +調節するでしょう。 .Pp .Xr tuning 7 -$B$G@bL@$7$F$$$k$h$&$K!"$3$NCM$O5/F0;~$K(B +で説明しているように、この値は起動時に .Xr loader 8 -$B$r;H$C$F@_Dj$9$k$3$H$b=PMh$^$9!#(B +を使って設定することも出来ます。 .\" -------- NOMAKEOPTION -------- .It Ic nomakeoption Ar name -$B%+!<%M%k$r%S%k%I$9$k:]$K!"0JA0$KDj5A$5$l$?(B +カーネルをビルドする際に、以前に定義された .Xr make 1 -$B%*%W%7%g%s$N(B +オプションの .Ar name -$B$r:o=|$7$^$9!#(B -$B$3$N%G%#%l%/%F%#%V$O!"(B +を削除します。 +このディレクティブは、 .Ic include -$B$r;H$C$FC$90Y$K;H$&$3$H$,=PMh$^$9!#(B +ディレクティブの効果を取り消す為に使うことが出来ます。 .\" -------- NOOPTION -------- .It Ic nooption Ar kerneloptionname -$B%+!<%M%k%*%W%7%g%s$N(B +カーネルオプションの .Ar kerneloptionname -$B$r!"$3$l0JA0$KDj5A$5$l$?%*%W%7%g%s$N%j%9%H$+$i:o=|$7$^$9!#(B -$B$3$N%G%#%l%/%F%#%V$O!"(B +を、これ以前に定義されたオプションのリストから削除します。 +このディレクティブは、 .Ic include -$B$r;H$C$FC$90Y$K;H$&$3$H$,=PMh$^$9!#(B +ディレクティブの効果を取り消す為に使うことが出来ます。 .\" -------- OPTIONS -------- .It Ic options Ar optionspecs -$B%+!<%M%k$r%S%k%I$9$k:]$K!"%3%s%Q%$%k;~$N%+!<%M%k%*%W%7%g%s$rDI2C$7$^$9!#(B -$B0z?t(B +カーネルをビルドする際に、コンパイル時のカーネルオプションを追加します。 +引数 .Ar optionspecs -$B$O%3%s%^$G6h@Z$i$l$?!"%*%W%7%g%s;X<($N%j%9%H$G$9!#(B -$B3F%*%W%7%g%s;X<($O!"l9g$O!"(B +が指定されない場合は、 .Dv NULL -$B$G$"$k$H$_$J$7$^$9!#(B -$BA4$F$N%"!<%-%F%/%A%c$G6&DL$N%*%W%7%g%s$O!"%U%!%$%k(B +であるとみなします。 +全てのアーキテクチャで共通のオプションは、ファイル .Pa sys/conf/options -$B$G5,Dj$5$l$F$$$^$9!#(B -$B%"!<%-%F%/%A%c8GM-$N%*%W%7%g%s$O!"%U%!%$%k(B +で規定されています。 +アーキテクチャ固有のオプションは、ファイル .Pa sys/conf/options. Ns Aq Ar arch -$B$G5,Dj$5$l$F$$$^$9!#(B +で規定されています。 .\" -------- PROFILE -------- .It Ic profile Ar number .Ar number -$B$,Hs(B 0 $B$N>l9g!"%+!<%M%k%W%m%U%!%$%j%s%0$,M-8z$K$J$j$^$9!#(B +が非 0 の場合、カーネルプロファイリングが有効になります。 .Ar number -$B$,(B 2 $B0J>e$N>l9g!"%+!<%M%k$O9b@:EY%W%m%U%!%$%j%s%0$K@_Dj$5$l$^$9!#(B -$B%+!<%M%k$O$^$?!"(B +が 2 以上の場合、カーネルは高精度プロファイリングに設定されます。 +カーネルはまた、 .Fl p -$B%*%W%7%g%s$r(B +オプションを .Xr config 8 -$B$G;H$&$3$H$G$b!"%W%m%U%!%$%j%s%0MQ$K%S%k%I$G$-$^$9!#(B +で使うことでも、プロファイリング用にビルドできます。 .El -.Ss $BGQ;_$5$l$?%G%#%l%/%F%#%V(B -$B0J2<$N%+!<%M%k@_Dj%G%#%l%/%F%#%V$OGQ;_$5$l$^$7$?!#(B +.Ss 廃止されたディレクティブ +以下のカーネル設定ディレクティブは廃止されました。 .Bl -tag -width indent .\" -------- CONFIG -------- .It Ic config -$B$3$N%G%#%l%/%F%#%V$O!"%k!<%H%U%!%$%k%7%9%F%`$H$7$F;H$o$l$k%G%P%$%9$r;XDj$9$k$N$K(B -$B;H$o$l$F$$$^$7$?!#(B +このディレクティブは、ルートファイルシステムとして使われるデバイスを指定するのに +使われていました。 .Fx 4.0 -$B0J9_!"$3$N>pJs$O%+!<%M%k$r5/F0$9$k:]$K(B +以降、この情報はカーネルを起動する際に .Xr loader 8 -$B$+$iEO$5$l$^$9!#(B +から渡されます。 .El -.Sh $B4XO"%U%!%$%k(B +.Sh 関連ファイル .Bl -tag -width ".Pa sys/conf/Makefile. Ns Ar arch" -compact .It Pa sys/compile/ Ns Ar NAME -$B%+!<%M%k@_Dj$G:n@.$5$l$?%3%s%Q%$%k%G%#%l%/%H%j!#(B +カーネル設定で作成されたコンパイルディレクトリ。 .It Pa sys/conf/Makefile. Ns Ar arch -$B%"!<%-%F%/%A%c(B +アーキテクチャ .Ar arch -$B$N0Y$N(B +の為の .Pa Makefile -$B$N0lIt!#(B +の一部。 .It Pa sys/conf/files -$BA4$F$N%"!<%-%F%/%A%c$K6&DL$N%G%P%$%9!#(B +全てのアーキテクチャに共通のデバイス。 .It Pa sys/conf/files. Ns Ar arch -$B%"!<%-%F%/%A%c(B +アーキテクチャ .Ar arch -$B$N0Y$N%G%P%$%9!#(B +の為のデバイス。 .It Pa sys/conf/options -$BA4$F$N%"!<%-%F%/%A%c$K6&DL$N%*%W%7%g%s!#(B +全てのアーキテクチャに共通のオプション。 .It Pa sys/conf/options. Ns Ar arch -$B%"!<%-%F%/%A%c(B +アーキテクチャ .Ar arch -$B$N0Y$N%*%W%7%g%s!#(B +の為のオプション。 .El -.Sh $B4XO"9`L\(B +.Sh 関連項目 .Xr kenv 1 , .Xr make 1 , .Xr device.hints 5 , .Xr loader.conf 5 , .Xr config 8 , .Xr kldload 8 , .Xr loader 8 .Rs .%T "Building 4.4BSD Kernels with Config" .%A "Samuel J. Leffler" .%A "Michael J. Karels" .Re -.Sh $BNr;K(B +.Sh 歴史 .Xr config 8 -$B%f!<%F%#%j%F%#$,:G=i$KEP>l$7$?$N$O(B +ユーティリティが最初に登場したのは .Bx 4.1 -$B$G$"$j!"8e$K(B +であり、後に .Bx 4.4 -$B$K$*$$$F=$@5$5$l$^$7$?!#(B +において修正されました。 .Pp -$B%+!<%M%k@_Dj5!9=$O$5$i$K!"(B +カーネル設定機構はさらに、 .Fx 4.0 -$B$H(B +と .Fx 5.0 -$B$K$*$$$F!"F0E*%+!<%M%k@_Dj$r%5%]!<%H$9$k%"!<%-%F%/%A%c$X$H(B -$BJQ99$5$l$^$7$?!#(B +において、動的カーネル設定をサポートするアーキテクチャへと +変更されました。 diff --git a/ja_JP.eucJP/man/man8/rescue.8 b/ja_JP.eucJP/man/man8/rescue.8 index d1a61797ef..99360abb63 100644 --- a/ja_JP.eucJP/man/man8/rescue.8 +++ b/ja_JP.eucJP/man/man8/rescue.8 @@ -1,184 +1,184 @@ .\" Copyright (c) 2003 Tim Kientzle .\" Copyright (c) 2003 Simon L. Nielsen .\" 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 ``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/share/man/man8/rescue.8,v 1.1 2003/07/28 21:06:38 simon Exp % .\" $FreeBSD$ .\" .Dd July 23, 2003 .Os .Dt RESCUE 8 -.Sh $BL>>N(B +.Sh 名称 .Nm rescue .Nd .Pa /rescue -$B$K$"$k6[5^MQ%f!<%F%#%j%F%#(B -.Sh $B2r@b(B +にある緊急用ユーティリティ +.Sh 解説 .Pa /rescue -$B%G%#%l%/%H%j$K$O!"$R$I$/B;=}$7$?%7%9%F%`$rI|5l$9$k$N$K;H$&$?$a$N!"(B -$B0lHLE*$J%f!<%F%#%j%F%#$N%3%l%/%7%g%s$,G<$a$i$l$F$$$^$9!#(B +ディレクトリには、ひどく損傷したシステムを復旧するのに使うための、 +一般的なユーティリティのコレクションが納められています。 .Fx 5.2 -$B$+$i!"(B $B%@%$%J%_%C%/%j%s%/$5$l$?%k!<%H$X$H0\9T$7$?$?$a!"%"%C%W%0%l!<%I$N(B -$B<:GT$d%G%#%9%/%(%i!<$N$?$a$K!"(B +から、 ダイナミックリンクされたルートへと移行したため、アップグレードの +失敗やディスクエラーのために、 .Pa /bin -$B$d(B +や .Pa /sbin -$B$K$"$kI8=`%D!<%k$,5!G=$7$J$/$J$k$H$$$&2DG=@-$,8=l9g(B: +もしシステムが起動に失敗して、次のようなプロンプトを表示した場合: .Pp .Dl "Enter full pathname of shell or RETURN for /bin/sh: " .Pp -$B$^$::G=i$K!"I8=`$N%7%'%k$G$"$k(B +まず最初に、標準のシェルである .Pa /bin/sh -$B$N5/F0$r;n$_$^$9!#(B -$B$3$l$K<:GT$7$?$i!"(B +の起動を試みます。 +これに失敗したら、 .Nm -$B%7%'%k$G$"$k(B +シェルである .Pa /rescue/sh -$B$N5/F0$r;n$_$^$9!#(B -$B%7%9%F%`$rI|5l$9$k$K$O!":G=i$K%k!<%H%Q!<%F%#%7%g%s$rFI$_=q$-2D$G(B -$B:F%^%&%s%H$9$kI,MW$,$"$j$^$9!#(B -$B$3$l$O$NI8=`%f!<%F%#%j%F%#$rJN,$7$F$7$^$&$3$H$b2DG=$G$9!#(B +の大部分を省略してしまうことも可能です。 .Pp -$B:#$^$G$N(B +今までの .Pa /stand -$B$H$OBP>HE*$K!"(B +とは対照的に、 .Pa /rescue -$B$O(B +は .Fx -$B$N%=!<%95Z$S%P%$%J%j$NI8=`$N%"%C%W%0%l!<%I$K$h$j99?7$5$l$^$9!#(B -.Sh $B4XO"%U%!%$%k(B +のソース及びバイナリの標準のアップグレードにより更新されます。 +.Sh 関連ファイル .Bl -tag -width ".Pa /rescue" -compact .It Pa /rescue .Nm -$B3,AX$N%k!<%H!#(B +階層のルート。 .El -.Sh $B4XO"9`L\(B +.Sh 関連項目 .Xr crunchgen 1 , .Xr crash 8 -.Sh $BNr;K(B +.Sh 歴史 .Nm -$B%f!<%F%#%j%F%#$O(B +ユーティリティは .Fx 5.2 -$B$K=i$a$FEP>l$7$^$7$?!#(B -.Sh $B:nuBV$N%7%9%F%`$G$bF0:n$7$^$9!#(B -$B$3$l$N:G$b$R$I$$Nc30$O(B +ツールの大部分は、相当に麻痺した状態のシステムでも動作します。 +これの最もひどい例外は .Nm -$BHG$N(B +版の .Xr vi 1 -$B$G!"(B -$B:#$N$H$3$m(B +で、 +今のところ .Xr termcap 5 -$B%U%!%$%k$K%"%/%;%9$G$-$k$h$&$K!"(B +ファイルにアクセスできるように、 .Pa /usr -$B$,%^%&%s%H$5$l$F$$$kI,MW$,$"$j$^$9!#(B -$B$&$^$/$$$1$P!"$=$N$&$A%U%'%$%k%;!<%U$J(B +がマウントされている必要があります。 +うまくいけば、そのうちフェイルセーフな .Xr termcap 3 -$B%(%s%H%j$,!"(B +エントリが、 .Xr ncurses 3 -$B%i%$%V%i%j$KDI2C$5$l$k$G$7$g$&!#(B -$B$=$&$9$l$P(B +ライブラリに追加されるでしょう。 +そうすれば .Pa /usr -$B$,$9$0$K$O%^%&%s%H$G$-$J$$%7%9%F%`$G$b!"(B +がすぐにはマウントできないシステムでも、 .Pa /rescue/vi -$B$,;HMQ$G$-$k$h$&$K$J$j$^$9!#(B -$B$=$l$^$G$O!"%U%!%$%k$NJT=8$,I,MW$J$N$K(B +が使用できるようになります。 +それまでは、ファイルの編集が必要なのに .Pa /usr -$B$,%^%&%s%H$G$-$J$$>l9g!"(B +がマウントできない場合、 .Nm -$BHG$N(B +版の .Xr ed 1 -$B%(%G%#%?$,(B +エディタが .Pa /rescue/ed -$B$H$7$F;HMQ$G$-$^$9!#(B +として使用できます。