SYSINSTALL(8) FreeBSD システム管理者マニュアル SYSINSTALL(8)
名称
sysinstall − システムのインストール及び設定のためのツール |
書式
sysinstall [var=value] [function] [...] |
解説 |
sysinstall ユーティリティは、 FreeBSD システムのインストールと設定のため のユーティリティです。これは FreeBSD インストーラのブートフロッピが最初に 起動するプログラムであり、新規に FreeBSD システムがインストールされた時に は /usr/sbin/sysinstall に、後のシステム設定で使用するためにコピーされま す。 この sysinstall ユーティリティは、引数なしで起動された場合には既定のモー ドで動作します。このモードでは、インストール及び設定のためのメニューが存 在します。 しかし sysinstall のサブシステムを直接起動する必要がある場合には、コマン ドラインからそれを指定することもできます。インストールスクリプトを実行す ることとコマンドラインからの指定はまったく同じことなので、スクリプトの作 成に関するセクションに目を通しておくと良いでしょう。 |
注
sysinstall ユーティリティは、 libdisk(3) の機能を用いて MBR やディスクラ ベルを書くことと、新規および既存の FreeBSD システムに、配布ファイルや package (訳注: FreeBSD の package system におけるパッケージを指す場合にこ う表記します) をインストールすることができるモノリシックな C プログラムに 過ぎません。また、このプログラムは FreeBSD インストールのための起動処理の 中で実行されたときのために、 init(8) の代用として動作するための機能も併せ 持っています。これは自分以外のユーティリティのサポートがほとんどないと仮 定し、ファイルシステム操作のほとんどを、(たとえば mount(2) のような) ユー ティリティに相当するシステムコールを直接呼び出すことによって行ないます。 sysinstall ユーティリティは現在のところ、システムコンソールや、カラー表示 をサポートした端末エミュレータで起動した場合に単純な ANSI ライングラ フィックスや色を使った操作を実現するために dialog(3) を使用しています (xterm の新しいバージョンでは、termcap の ‘‘xterm-color’’ エントリを使用 することでカラー表示をサポートします)。 このプログラムはそろそろライフサイクルの終わりに来ており、新しいものに よって置き換えられるかもしれません。 |
スクリプトの実行
sysinstall ユーティリティは、そのさまざまなメニューを通じ対話的に操作する こともできますし、外部のスクリプトによってバッチモードで動作させることも できます。このようなスクリプトを読み込んで実行する方法には以下の 3 通りが あります: |
LOAD_CONFIG_FILE
もし sysinstall が、環境変数 (または Makefile 中に) LOAD_CONFIG_FILE に何らかの値がセットされた状態でコンパイルされて いれば、 sysinstall が非対話的なモードで起動された際に自動的に探 して読み込むファイル名としてその値が用いられます。このオプション は、大きなサイトにおいて、ほぼ同じ設定とインストールオプション で、ひとつの雛型に基づき多数のマシンにインストールしたい場合のた めのものです。 メインメニュー コマンド行 たとえば、 /usr/sbin/sysinstall _ftpPath=ftp://ziggy/pub/ mediaSetFTP configPackages は、 sysinstall を、インストールメディア FTP (サーバは ‘ziggy’) で初期化し、続いて package インストールエディタを起動し、それが終 わると終了します。 |
スクリプトの文法
スクリプトはひとつ以上の指示のリストです。それぞれの指示は以下の形をとり ます。 var=value function #somecomment var=value は、たとえば "ftpPass=FuNkYChiKn" のような、 sysinstall の内部 変数の設定です。また、 function は、"mediaSetFTP" のような sysinstall の 内部関数の名称であり、 #comment はドキュメンテーションのために挿入する一 行のコメントです (sysinstall はこれを無視します)。それぞれの指示は一行に ひとつずつ書かれなければなりません。関数は、既知の変数名を調べることで、 その引数を得ます。したがって、ある変数を必要とする関数を呼び出す前には、 関連する変数を予め設定しておく必要があります。 各ディレクティブの前に noError 変数を設定しておくことが可能です。これによ り、ディレクティブ自身は無視されるような場合においても、エラーを検知可能 とします。 noError の値は、ディレクティブが処理されるたび自動的に、デフォ ルトの "未設定" に戻ります。 いつどの関数が、どの変数に依存するかを、下の表に示します。 関数一覧: |
configAnonFTP
匿名 FTP の設定メニューを起動します。 変数: 無し configRouter 変数: router configNFSServer 変数: なし configNTP 変数: ntpdate_flags configPCNFSD 変数: pcnfsd_pkg configPackages 変数: なし configUsers 変数: なし diskPartitionEditor 変数: geometry partition bootManager diskInteractive 注意: この関数では実際のディスクへの書き込みは行われません。実際 に書き込みを行うためには、 diskPartitionWrite 操作を行う必要があ ります。 diskPartitionWrite 変数: 無し diskLabelEditor 例えば、SCSI ディスクがあり、そのスライス 2 に FreeBSD を作成した とします (DOS パーティションはスライス 1 にあるとします)。 FreeBSD 全体のスライス名は da0s2 になります (DOS プライマリパー ティションは da0s1 となります)。更に、このパーティションに 500MB あり、 FreeBSD 用にこの空間をルートとスワップと var と usr のファ イルシステムに更に分割すると仮定します。 diskLabelEditor 関数呼び 出しには、次の変数設定が伴うでしょう: da0s2-1=ufs 40960 / da0s2-2=swap 131072 / da0s2-3=ufs 204800 /var da0s2-4=ufs 0 /usr 1 新規パーティションを作成するのと同様に、既存のパーティションのマ ウントや消去に、 diskLabelEditor を使用可能です。前の例の、DOS パーティションをマウントし、これに対応する /etc/fstab エントリ を、新規インストールにおいて作成したいとします。 diskLabelEditor 関数の呼び出し前に、次の追加行を単に足せば良いです: da0s1=/dos_c N これは、最初のスライスを /dos_c にマウントしてこれを newfs しない よう、ラベルエディタに指示します (sysinstall は DOS パーティショ ンに対しては如何なる場合でも newfs を実行しません。既存の UFS パーティションに対しても、ここに名前を書くことで実行できます。 2 番目のフィールドは省略不可です)。 diskInteractive 変数を設定することにより、前述のように変数を使用 した明示的なレイアウトを行う代りに、ディスクラベルエディタが対話 的なダイアログを使用してディスクを分割するよう、要求できます。 注: diskLabelCommit が呼び出される前は、ファイルシステムデータは 実際にディスクに書き込まれません。 diskLabelCommit 変数: なし distReset 変数: なし distSetCustom 変数: dists base doc games manpages catpages proflibs dict info compat1x compat20 compat21 compat22 compat3x compat4x ports ssecure sbase scontrib sgnu setc sgames sinclude skrb5 slib slibexec srelease srescue sbin ssbin sshare ssys subin susbin ssmailcf Xbin Xlib Xman Xdoc Xprog Xsrv Xnest Xprt Xvfb Xfmsc Xf75 Xf100 Xfcyr Xft1 Xftt Xfs distSetDeveloper 変数: 無し distSetXDeveloper 変数: 無し distSetKernDeveloper 変数: 無し distSetUser 変数: 無し distSetXUser 変数: 無し distSetMinimum 変数: 無し distSetEverything 変数: 無し distSetSrc 変数: 無し distSetXOrg 変数: 無し distExtractAll 変数: 無し docBrowser 変数: browserPackage browserBinary installCommit 変数: 無し installExpress 変数: 無し installStandard 変数: 無し installUpgrade 変数: 無し installFixitHoloShell 変数: 無し installFixitCDROM 変数: 無し installFixitFloppy 変数: 無し installFilesystems 変数: 無し installVarDefaults 変数: 無し loadConfig 変数: configFile mediaClose 変数: 無し mediaSetCDROM 変数: 無し mediaSetFloppy 変数: 無し mediaSetDOS 変数: 無し mediaSetTape 変数: 無し mediaSetFTP 変数: hostname domainname defaultrouter netDev netInteractive ipaddr netmask _ftpPath mediaSetFTPActive 変数: mediaSetFTP と同様です。 mediaSetFTPPassive 変数: mediaSetFTP と同様です。 mediaSetHTTP 変数: mediaSetFTP を参照してください。更に以下も使用します。 _httpPath mediaSetUFS 変数: ufs mediaSetNFS 変数: hostname domainname defaultrouter netDev netInteractive ipaddr netmask nfs mediaSetFTPUserPass 変数: ftpUser ftpPass mediaSetCPIOVerbosity 変数: cpioVerbose mediaGetType 変数: 無し optionsEditor 変数: なし packageAdd 変数: package addGroup 変数: なし addUser 変数: なし shutdown 変数: なし system 変数: command tcpMenuSelect 変数: mediaSetFTP と同様ですが、 _ftpPath が使用されないことが違 います。 配布メディア |
次のファイルを使用して、初期システムインストール時の sysinstall の動作を 変更可能です。 |
cdrom.inf
プロパティを 1 行に 1 個ずつ記述するテキストファイルであ り、使用するメディアの内容を記述します。各行の文法は、単 に ‘‘property = value’’ というものです。現在のところ、次 のプロパティだけが認識されます。 CD_VERSION CD_MACHINE_ARCH CD_VOLUME packages/INDEX FreeBSD の完全なリリースの構築方法については、 release(7) を参照してくだ さい。 関連ファイル |
このユーティリティは /etc/rc.conf, /etc/hosts, /etc/resolv.conf の内容 を、ネットワーク等の設定変更に応じて変更します。 |
関連項目
十分に完全なソースツリーがオンライン上にあれば、サンプルのインストールス クリプトについて /usr/src/usr.sbin/sysinstall/install.cfg を参照してくだ さい。 |
歴史
このバージョンの sysinstall は、 FreeBSD 2.0 ではじめて登場しました。 |
作者
Jordan K. Hubbard 〈jkh@FreeBSD.org〉 |
バグ
本ユーティリティは雛型であり、期限切後も数年を生き延びており、大いに死す べきです。 FreeBSD 10.0 August 9, 1997 FreeBSD 10.0 |