crunchgen.1 1.11.2.1
ppp.8 1.209.2.13
This commit is contained in:
parent
eeb803f1dc
commit
395d10ef21
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=8384
2 changed files with 77 additions and 33 deletions
ja_JP.eucJP/man
|
@ -22,7 +22,7 @@
|
|||
.\" Author: James da Silva, Systems Design and Analysis Group
|
||||
.\" Computer Science Department
|
||||
.\" University of Maryland at College Park
|
||||
.\" %FreeBSD: src/usr.sbin/crunch/crunchgen/crunchgen.1,v 1.11 2000/03/01 14:08:47 sheldonh Exp %
|
||||
.\" %FreeBSD: src/usr.sbin/crunch/crunchgen/crunchgen.1,v 1.11.2.1 2000/11/15 18:38:48 joe Exp %
|
||||
.\"
|
||||
.Dd September 29, 1997
|
||||
.\" jpman %Id: crunchgen.1,v 1.3 1997/07/29 13:43:59 konuma Stab %
|
||||
|
@ -33,14 +33,13 @@
|
|||
.Nd クランチバイナリ構築環境を作成する
|
||||
.Sh 書式
|
||||
.Nm \&crunchgen
|
||||
.Op Fl fql
|
||||
.Op Fl foql
|
||||
.Op Fl h Ar makefile-header-name
|
||||
.Op Fl m Ar makefile-name
|
||||
.Op Fl c Ar c-file-name
|
||||
.Op Fl e Ar exec-file-name
|
||||
.Op Ar conf-file
|
||||
.Sh 解説
|
||||
|
||||
クランチバイナリ(crunched binary)は、
|
||||
たくさんの別々のプログラムをひとつにまとめて
|
||||
単一の実行形式にしたプログラムです。
|
||||
|
@ -49,9 +48,8 @@
|
|||
複数プログラムをクランチしてひとつにまとめる主たる理由は、
|
||||
インストールフロッピあるいはシステム回復フロッピ上に、
|
||||
できるだけ多くのプログラムを収納するためです。
|
||||
|
||||
.Pp
|
||||
.Nm crunchgen
|
||||
.Nm
|
||||
は
|
||||
.Ar conf-file
|
||||
に記述されたクランチバイナリのための設定項目を読み込み、
|
||||
|
@ -69,7 +67,31 @@ Makefile
|
|||
.Nm crunchide
|
||||
を用い、全ての不要なシンボルを隠すことで
|
||||
コンポーネントプログラム間のリンク時のシンボル競合を防ぎます。
|
||||
|
||||
.Pp
|
||||
.Nm
|
||||
は特殊な要件をパッケージの
|
||||
.Pa Makefiles
|
||||
に課しており、このことが原因で
|
||||
.Pa Makefiles
|
||||
が非 BSD ソース用に使えなくなっています。
|
||||
特に、
|
||||
.Nm Makefile
|
||||
はターゲット
|
||||
.Ar depend
|
||||
を含むことが必要であり、全オブジェクトファイルを変数
|
||||
.Ar OBJS
|
||||
で定義することが必要です。
|
||||
場合によっては、偽の
|
||||
.Pa Makefile
|
||||
を使えるでしょう。
|
||||
.Nm
|
||||
は、ソースディレクトリ
|
||||
.Pa foo
|
||||
中の
|
||||
.Pa Makefile
|
||||
を見る前に、現在のディレクトリ中の
|
||||
.Pa Makefile.foo
|
||||
を見ます。
|
||||
.Pp
|
||||
.Nm
|
||||
実行後、 ``make -f <conf-name>.mk'' を実行することで
|
||||
|
@ -82,7 +104,6 @@ Makefile
|
|||
しかしこのターゲットは自動的には実行されません。
|
||||
リリースエンジニアリング環境では、オブジェクトを他のディレクトリで
|
||||
修正するのは一般に望ましくないからです。
|
||||
|
||||
.Pp
|
||||
オプションは以下の通りです:
|
||||
.Bl -tag -width indent
|
||||
|
@ -99,7 +120,7 @@ Makefile
|
|||
.It Fl l
|
||||
名前の表示。このバイナリが対応する名前を一覧表示します。
|
||||
.It Fl h Ar makefile-header-name
|
||||
.Nm crunchgen
|
||||
.Nm
|
||||
が生成する Makefile の先頭に含めるファイルの名前を設定します。
|
||||
make の変数を定義するのに便利です。
|
||||
これには、make の動作に影響を与え、環境変数を介してでは面倒である、
|
||||
|
@ -109,11 +130,12 @@ make
|
|||
出力する Makefile の名前を
|
||||
.Ar makefile-name
|
||||
とします。デフォルトの名前は ``<conf-name>.mk'' です。
|
||||
.It Fl o
|
||||
各プログラムの make ターゲットに対し、``make obj'' ルールを追加します。
|
||||
.It Fl q
|
||||
静粛処理モード。状況報告メッセージを抑制します。
|
||||
.El
|
||||
.Sh CRUNCHGEN コンフィギュレーションファイルコマンド
|
||||
|
||||
.Nm
|
||||
は、クランチバイナリのコンポーネントについて記述した設定項目を
|
||||
.Ar conf-file
|
||||
|
@ -146,6 +168,8 @@ make
|
|||
クランチバイナリのリンク時に含めるライブラリ指定のリスト。
|
||||
.Nm libs
|
||||
行は複数あっても構いません。
|
||||
.It Nm buildopts Ar buildopts ...
|
||||
各 make ターゲットに追加追加される、ビルドオプションのリスト。
|
||||
.It Nm ln Ar progname linkname
|
||||
argv[0] に
|
||||
.Ar linkname
|
||||
|
@ -155,7 +179,6 @@ argv[0]
|
|||
これにより、起動時の名前によって振る舞いを変えるようなプログラムも
|
||||
正しく動作するようにできます。
|
||||
.El
|
||||
|
||||
特別な状況、例えば
|
||||
ソースファイルがないとか、
|
||||
従来の Makefile によらないビルドを行うといった
|
||||
|
@ -196,6 +219,12 @@ argv[0]
|
|||
自身が
|
||||
.Ar objdir
|
||||
となります。
|
||||
.It Nm special Ar progname Nm buildopts Ar buildopts
|
||||
ビルドオプション集合を定義します。
|
||||
.Ar progname
|
||||
処理時には、
|
||||
.Nm buildopts
|
||||
で指定されたものに加え、これらが追加されてターゲットが作成されます。
|
||||
.It Nm special Ar progname Nm objs Ar object-file-name ...
|
||||
プログラム
|
||||
.Ar progname
|
||||
|
@ -225,7 +254,6 @@ argv[0]
|
|||
このオプションはシンボルが衝突するときの最後の拠所ですが、
|
||||
シンボル解決の唯一の方法である場合もあります。
|
||||
.El
|
||||
|
||||
.Pp
|
||||
実際に
|
||||
.Nm
|
||||
|
@ -242,7 +270,6 @@ argv[0]
|
|||
ですから、もし可能なら、初期のパラメータを指定し、あとは
|
||||
.Nm
|
||||
に求めさせたほうが便利な場合もあります。
|
||||
|
||||
.Pp
|
||||
.Nm
|
||||
が生成する makefile はオプションのターゲット
|
||||
|
@ -264,17 +291,20 @@ argv[0]
|
|||
.Dq Pa kcopy.conf
|
||||
の内容を示します。
|
||||
.Pp
|
||||
.nf
|
||||
srcdirs /usr/src/bin /usr/src/sbin
|
||||
.Bd -literal -offset indent
|
||||
srcdirs /usr/src/bin /usr/src/sbin
|
||||
|
||||
progs test cp echo sh fsck halt init mount umount myinstall
|
||||
ln test [ # test は [ として起動することもできる
|
||||
ln sh -sh # init は argv[0] を "-sh" としてシェルを起動する
|
||||
progs test cp echo sh fsck halt init mount umount myinstall
|
||||
progs anotherprog
|
||||
ln test [ # test は [ として起動することもできる
|
||||
ln sh -sh # init は argv[0] を "-sh" としてシェルを起動する
|
||||
|
||||
special myprog objpaths /homes/leroy/src/myinstall.o # ソースなし
|
||||
special myprog objpaths /homes/leroy/src/myinstall.o # ソースなし
|
||||
|
||||
libs -lutil -lcrypt
|
||||
.fi
|
||||
special anotherprog -DNO_FOO WITHOUT_BAR=YES
|
||||
|
||||
libs -lutil -lcrypt
|
||||
.Ed
|
||||
.Pp
|
||||
このコンフィギュレーションファイルでは、
|
||||
いくつかの基本的なシステムユーティリティと
|
||||
|
@ -285,15 +315,19 @@ argv[0]
|
|||
.Nm special
|
||||
行で直接指定されています。
|
||||
.Pp
|
||||
さらに、``anotherprog'' 構築時には、引数
|
||||
.Ar -DNO_FOO WITHOUT_BAR=YES
|
||||
がすべてのビルドターゲットに対して追加されます。
|
||||
.Pp
|
||||
クランチバイナリ ``kcopy'' は以下のようにして作成できます:
|
||||
.Pp
|
||||
.nf
|
||||
% crunchgen -m Makefile kcopy.conf # Makefile と kcopy.c 作成
|
||||
% make objs # コンポーネントプログラムの *.o 作成
|
||||
% make # クランチバイナリ kcopy の作成
|
||||
% kcopy sh # シェル sh を起動できるかどうか試すと..
|
||||
$ # うまくいった!
|
||||
.fi
|
||||
.Bd -literal -offset indent
|
||||
% crunchgen -m Makefile kcopy.conf # Makefile と kcopy.c 作成
|
||||
% make objs # コンポーネントプログラムの *.o 作成
|
||||
% make # クランチバイナリ kcopy の作成
|
||||
% kcopy sh # シェル sh を起動できるかどうか試すと..
|
||||
$ # うまくいった!
|
||||
.Ed
|
||||
.Pp
|
||||
ここまでくれば、バイナリ ``kcopy'' をインストールフロッピにコピーし、
|
||||
各コンポーネントプログラムの名前でハードリンクを設けることができます。
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.\" %FreeBSD: src/usr.sbin/ppp/ppp.8,v 1.209.2.12 2000/10/31 02:26:18 brian Exp %
|
||||
.\" %FreeBSD: src/usr.sbin/ppp/ppp.8,v 1.209.2.13 2000/11/16 21:52:03 brian Exp %
|
||||
.\"
|
||||
.\" jpman %Id: ppp.8,v 1.4 1997/06/08 18:41:58 saeki Stab %
|
||||
.\"
|
||||
|
@ -3087,12 +3087,22 @@ NAT
|
|||
それらをゲートウェイの後の特定のマシンにマップしたい場合に有用です。
|
||||
.It nat deny_incoming Op yes|no
|
||||
yes に設定すると、
|
||||
ファイアウォールとほぼ同様にパケットを落とすことにより、
|
||||
このコマンドは全入力接続を拒否します。
|
||||
エイリアシングリンクがまだ存在しないところでは、
|
||||
このコマンドは全パケットを拒否します。
|
||||
.Dq エイリアシングリンク
|
||||
が何であるかについては、
|
||||
.Xr libalias 3
|
||||
の
|
||||
.Sx 概念の背景
|
||||
節を参照してください。
|
||||
.Pp
|
||||
このオプションを有効化すると、
|
||||
libalias が識別不可能な IP パケットを落とすことに注意してください。
|
||||
これは将来修正される予定です。
|
||||
どのような状況において
|
||||
.Xr libalias 3
|
||||
がエイリアシングリンクを作成したか、気をつける必要があります。
|
||||
.Dq set filter
|
||||
または
|
||||
.Dq nat target
|
||||
のコマンドを使用して、更にネットワークを保護する必要があるかもしれません。
|
||||
.It nat help|?
|
||||
このコマンドは、使用可能な nat コマンドのまとめを表示します。
|
||||
.It nat log Op yes|no
|
||||
|
|
Loading…
Reference in a new issue