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