SYSINSTALL
Section: Maintenance Commands (8)
索引
jman
BSD mandoc
索引
名称
sysinstall
- システムのインストール及び設定のためのツール
索引
書式
[var=value
]
[function
]
[...
]
索引
解説
ユーティリティは、
Fx システムのインストールと設定のためのユーティリティです。
これは
Fx インストーラのブートフロッピが最初に起動するプログラムであり、
新規に
Fx システムがインストールされた時には
/usr/sbin/sysinstall
に、後のシステム設定で使用するためにコピーされます。
この
ユーティリティは、引数なしで起動された場合には既定のモードで動作します。
このモードでは、インストール及び設定のためのメニューが存在します。
しかし sysinstall のサブシステムを直接起動する必要がある場合には、
コマンドラインからそれを指定することもできます。
インストールスクリプトを
実行することとコマンドラインからの指定はまったく同じことなので、
スクリプトの作成に関するセクションに目を通しておくと良いでしょう。
索引
注
ユーティリティは、
libdisk(3)
の機能を用いて MBR やディスクラベルを書くことと、新規および既存の
Fx システムに、配布ファイルや package
(訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します)
をインストールすることができるモノリシックな C プログラムに過ぎません。
また、このプログラムは
Fx インストールのための起動処理の中で実行されたときのために、
init(8)
の代用として動作するための機能も併せ持っています。
これは自分以外のユーティリティのサポートがほとんどないと仮定し、
ファイルシステム操作のほとんどを、(たとえば
mount(2)
のような) ユーティリティに相当するシステムコールを
直接呼び出すことによって行ないます。
ユーティリティは現在のところ、
システムコンソールや、カラー表示をサポートした端末
エミュレータで起動した場合に単純な ANSI ライングラフィックスや色を
使った操作を実現するために
dialog(3)
を使用しています (xterm の新しいバージョンでは、termcap の
``xterm-color''
エントリを使用することでカラー表示をサポートします)。
このプログラムはそろそろライフサイクルの終わりに来ており、新しい
ものによって置き換えられるかもしれません。
索引
スクリプトの実行
ユーティリティは、
そのさまざまなメニューを通じ対話的に操作することもできますし、外部の
スクリプトによってバッチモードで動作させることもできます。
このような
スクリプトを読み込んで実行する方法には以下の 3 通りがあります:
- LOAD_CONFIG_FILE
-
もし
が、環境変数 (または Makefile 中に) LOAD_CONFIG_FILE に何らかの値が
セットされた状態でコンパイルされていれば、
が非対話的なモードで起動された際に自動的に探して読み込むファイル名として
その値が用いられます。
このオプションは、大きなサイトにおいて、
ほぼ同じ設定とインストールオプションで、ひとつの雛型に基づき
多数のマシンにインストールしたい場合のためのものです。
- メインメニュー
-
が対話的に起動された場合、すなわち既定の方法で起動された場合、オプション
"load config file" を含むメインメニューを表示します。
このオプションを
選択すると、スクリプトファイル名を尋ねるプロンプトが出され、続いてその
ファイルを DOS または UFS 形式のフロッピディスクから読み込みます。
- コマンド行
-
がマルチユーザモードで動作している場合はコマンドライン引数のそれぞれが
スクリプトの指示であるとして扱われます。
実行終了のリクエスト (たとえば
shutdown
指示など)、引数列の終わり、エラー発生のいずれかにより実行は終了します。
たとえば、
/usr/sbin/sysinstall _ftpPath=ftp://ziggy/pub/ mediaSetFTP configPackages
は、
を、インストールメディア FTP (サーバは `ziggy') で初期化し、続いて
package インストールエディタを起動し、それが終わると終了します。
索引
スクリプトの文法
スクリプトはひとつ以上の指示のリストです。
それぞれの指示は以下の形をとります。
var=value
function
#somecomment
var=value
は、たとえば "ftpPass=FuNkYChiKn" のような、
の内部変数の設定です。
また、
function
は、"mediaSetFTP" のような
の内部関数の名称であり、
#comment
はドキュメンテーションのために挿入する一行のコメントです
(sysinstall はこれを無視します)。
それぞれの指示は一行にひとつずつ書かれなければなりません。
関数は、既知の変数名を調べることで、その引数を得ます。
したがって、ある変数を必要とする関数を呼び出す前には、
関連する変数を予め設定しておく必要があります。
各ディレクティブの前に
noError
変数を設定しておくことが可能です。
これにより、ディレクティブ自身は無視されるような場合においても、
エラーを検知可能とします。
noError
の値は、ディレクティブが処理されるたび自動的に、
デフォルトの "未設定" に戻ります。
いつどの関数が、どの変数に依存するかを、
下の表に示します。
関数一覧
- configAnonFTP
-
匿名 FTP の設定メニューを起動します。
変数
無し
- configRouter
-
使用したいルーティングデーモンを選択します。
必要ならサードパーティのものを使用することもできます。
変数
- router
-
これには、たとえば
``routed''
や
``gated''
のように、希望するルーティングデーモンの名前を設定します。
設定されていなければ入力を求められます。
- configNFSServer
-
ホストを NFS サーバとして設定します。
変数
なし
- configNTP
-
ホストをネットワークタイムプロトコルのユーザとして設定します。
変数
- ntpdate_flags
-
これには、
ntpdate(8)
のオプションを設定します。
同期をとるために使用するサーバの名前はここに設定してください。
- configPCNFSD
-
ホストを PC NFS をサポートするように設定します。
変数
- pcnfsd_pkg
-
必要ならば PCNFSD の package 名を設定します (既定値としてハードコード
されたものが使用されます)。
- configPackages
-
対話的な package 管理画面を起動します。
変数
なし
- configUsers
-
システムにユーザやグループを追加します。
変数
なし
- diskPartitionEditor
-
ディスクパーティション (MBR) エディタを起動します。
変数
- geometry
-
シリンダ数/ヘッド数/セクタ数の形式で書かれたディスクジオメトリを
設定します。
既定値: ジオメトリを変更しません。
- partition
-
ディスクパーティションのタイプやサイズを設定します。
この値が
free
であれば、
Fx のために使用可能な空き領域のみを使用します。
all
であれば、ディスク全体を
Fx に割り当てますが、正しいパーティションテーブルを作成します。
existing
であれば、既存の
Fx パーティションのうち、最初に見つかったものを使用します。
exclusive
であれば、ディスクを、
``危険な方法で専用化された''
モードで使用します。
最後に、
somenumber
であれば、空き領域のうちの
somenumber
ブロックを新規の
Fx パーティションのために使用します。
既定値: 対話モードで起動します。
- bootManager
-
は、次のどれかから選択する必要があります。
boot
は、ブートマネージャのインストールを指示します。
standard
は、ブートマネージャでない「標準の」DOS MBRのインストールを指示します。
none
は、ブートマネージャに対して何の操作も行わないことを指示します。
既定値: none です。
- diskInteractive
-
設定すると、対話的なディスクパーティションエディタを起動します。
注意: この関数では実際のディスクへの書き込みは行われません。
実際に書き込みを行うためには、
diskPartitionWrite
操作を行う必要があります。
- diskPartitionWrite
-
は、MBR に対する、待ち状態にあるすべての変更を行います (一般には
diskPartitionEditor
によって呼び出されます)。
変数
無し
- diskLabelEditor
-
ディスクラベルエディタを起動します。
スクリプトから動かすのはちょっと手品のようになります。
というのも、
diskPartitionEditor
関数で作成された各
Fx (タイプ 0xA5) パーティション中のすべてに対してラベルする必要が
本質的にあるためであり、
これはどのようにレイアウトされるかについての少数のルールを知る
必要があるためです。
スクリプトを作成して、
自動的にディスク空間の割り当てとパーティションを行う場合、
少なくとも一度はまず対話的にインストールを実行し、
スライス名がどうなるかを見てから、
これをスクリプトに埋め込むことをお勧めします。
例えば、SCSI ディスクがあり、そのスライス 2 に
Fx を作成したとします (DOS パーティションはスライス 1 にあるとします)。
Fx 全体のスライス名は
da0s2
になります (DOS プライマリパーティションは
da0s1
となります)。
更に、このパーティションに 500MB あり、
Fx 用にこの空間をルートとスワップと var と usr のファイルシステムに
更に分割すると仮定します。
diskLabelEditor
関数呼び出しには、次の変数設定が伴うでしょう:
- da0s2-1=ufs 40960 /
-
20MB ルートファイルシステム (すべての大きさは 512 バイトブロック数)。
- da0s2-2=swap 131072 /
-
64MB スワップパーティション。
- da0s2-3=ufs 204800 /var
-
100MB /var ファイルシステム。
- da0s2-4=ufs 0 /usr 1
-
空き空間の残り (約 316MB) が /usr ファイルシステムで
ソフトアップデートを有効にします
(マウントポイント後の非 0 引数は、ソフトアップデートフラグ設定を意味します)。
新規パーティションを作成するのと同様に、
既存のパーティションのマウントや消去に、
diskLabelEditor
を使用可能です。
前の例の、DOS パーティションをマウントし、これに対応する
/etc/fstab
エントリを、新規インストールにおいて作成したいとします。
diskLabelEditor
関数の呼び出し前に、次の追加行を単に足せば良いです:
"da0s1=/dos_c N"
これは、最初のスライスを
/dos_c
にマウントしてこれを newfs しないよう、ラベルエディタに指示します
(
は DOS パーティションに対しては如何なる場合でも newfs を実行しません。
既存の UFS パーティションに対しても、ここに名前を書くことで実行できます。
2 番目のフィールドは省略不可です)。
diskInteractive
変数を設定することにより、
前述のように変数を使用した明示的なレイアウトを行う代りに、
ディスクラベルエディタが対話的なダイアログを使用してディスクを分割するよう、
要求できます。
注:
diskLabelCommit
が呼び出される前は、
ファイルシステムデータは実際にディスクに書き込まれません。
- diskLabelCommit
-
設定した、待ち状態であるディスクラベル情報をすべて書き込み、
diskLabelEditor
でマウントを設定したすべてのファイルシステムをマウントします。
変数
なし
- distReset
-
選択した配布ファイルのセットをリセットして、何も選択していない状態にします。
変数
なし
- distSetCustom
-
配布ファイルセットの選択を、予め用意されたセットからの選択でなく、
非対話モードでも「カスタム」で行うようにします。
変数
- dists
-
読み込む配布ファイルのセットのリストを設定します。
値として使用できるのは以下の通りです。
- base
-
基本バイナリファイルのセット
- doc
-
様々な文書
- games
-
ゲーム
- manpages
-
フォーマット前のマニュアルページ
- catpages
-
フォーマット済のマニュアルページ
- proflibs
-
開発者のためのプロファイルされたライブラリ
- dict
-
スペルチェックなどのツールのための辞書情報
- info
-
GNU info ファイルとその他の追加文書
- compat1x
-
Fx 1.x との互換性
- compat20
-
Fx 2.0
との互換性
- compat21
-
Fx 2.1
との互換性
- compat22
-
Fx 2.2
及び
Fx 3.0
の a.out バイナリ互換性
- compat3x
-
Fx 3.x
との互換性
( Fx 4.0
でのみ利用可能)
- compat4x
-
Fx 4.x
との互換性
( Fx 5.0
システムでのみ利用可能)
- ports
-
ports コレクション
- ssecure
-
/usr/src/secure
- sbase
-
/usr/src/(トップレベルファイル)
- scontrib
-
/usr/src/contrib
- sgnu
-
/usr/src/gnu
- setc
-
/usr/src/etc
- sgames
-
/usr/src/games
- sinclude
-
/usr/src/include
- skrb5
-
/usr/src/kerberos5
- slib
-
/usr/src/lib
- slibexec
-
/usr/src/libexec
- srelease
-
/usr/src/release
- srescue
-
/usr/src/rescue
- sbin
-
/usr/src/bin
- ssbin
-
/usr/src/sbin
- sshare
-
/usr/src/share
- ssys
-
/usr/src/sys
- subin
-
/usr/src/usr.bin
- susbin
-
/usr/src/usr.sbin
- ssmailcf
-
/usr/src/usr.sbin/sendmail/cf
- Xbin
-
X.Org クライアントアプリケーション
- Xlib
-
X.Org ライブラリ
- Xman
-
X.Org マニュアルページ
- Xdoc
-
X.Org プロトコルとライブラリの文書
- Xprog
-
X.Org imake 配布物
- Xsrv
-
X.Org X サーバ
- Xnest
-
X.Org ネスト X サーバ
- Xprt
-
X.Org プリントサーバ
- Xvfb
-
X.Org 仮想フレームバッファ X サーバ
- Xfmsc
-
X.Org 種々の フォントセット
- Xf75
-
X.Org 75DPI フォントセット
- Xf100
-
X.Org 100DPI フォントセット
- Xfcyr
-
X.Org キリル語フォントセット
- Xft1
-
X.Org Type 1 フォントセット
- Xftt
-
X.Org TrueType フォントセット
- Xfs
-
X.Org フォントサーバ
- distSetDeveloper
-
標準開発者配布セットを選択します。
変数
無し
- distSetXDeveloper
-
標準 X 開発者配布セットを選択します。
変数
無し
- distSetKernDeveloper
-
標準カーネル開発者配布セットを選択します。
変数
無し
- distSetUser
-
標準ユーザ配布セットを選択します。
変数
無し
- distSetXUser
-
標準 X ユーザ配布セットを選択します。
変数
無し
- distSetMinimum
-
最小配布セットを選択します。
変数
無し
- distSetEverything
-
全部、つまり利用可能な配布すべてを選択します。
変数
無し
- distSetSrc
-
ソースのパーツ群を、対話的に選択します。
変数
無し
- distSetXOrg
-
X.Org のパーツ群を、対話的に選択します。
変数
無し
- distExtractAll
-
現在選択されている配布すべてをインストールします
(メディアデバイスが既に選択されていることが必要です)。
変数
無し
- docBrowser
-
(必要であれば) HTML 文書ブラウザをインストールし、
HTML 文書サブメニューに行きます。
変数
- browserPackage
-
必要に応じてインストールを試みる、ブラウザの package 名です。
デフォルトは最新の links package です。
- browserBinary
-
ブラウザバイナリ自身の名前です
( browserPackage
変数に優先させる場合)。
デフォルトは links です。
- installCommit
-
ディスクに対する待ち状態の変更を、すべて実施します。
この関数は、本質的に、細粒度の "実施" 関数をまとめたものです。
変数
無し
- installExpress
-
「高速」インストールを開始します。
ユーザへの質問は少数です。
変数
無し
- installStandard
-
「標準」インストールを開始します。
利用可能なインストールタイプ中で、最もユーザフレンドリです。
変数
無し
- installUpgrade
-
アップグレードインストールを開始します。
変数
無し
- installFixitHoloShell
-
init として起動している場合、
「緊急ホログラフィックシェル」を VTY4 で起動します。
noHoloShell
を設定しない限りにおいては、
これはインストール処理の一部として自動的に実施されます。
変数
無し
- installFixitCDROM
-
"fixit" モードに入ります。
ライブファイルシステム CDROM がドライブにあるものと仮定します。
変数
無し
- installFixitFloppy
-
"fixit" モードに入ります。
fixit フロッピディスクが利用可能と仮定します (ユーザは問い合わせを受けます)。
変数
無し
- installFilesystems
-
インストールのファイルシステム初期化部分のみを実行します。
変数
無し
- installVarDefaults
-
全変数をデフォルトに初期化し、以前の設定を上書きします。
変数
無し
- loadConfig
-
#include 文のようなものであり、他の設定ファイルをロードできます。
変数
- configFile
-
ロードするファイルの完全な形でのパス名です。
- mediaClose
-
メディアデバイスが開いている場合、閉じます。
変数
無し
- mediaSetCDROM
-
インストールメディアとして
Fx CDROM を選択します。
変数
無し
- mediaSetFloppy
-
インストールメディアとして
作成済フロッピインストールセットを選択します。
変数
無し
- mediaSetDOS
-
インストールメディアとして
既存の DOS プライマリパーティションを選択します。
最初に見付かるプライマリパーティション (例 C:) を使用します。
変数
無し
- mediaSetTape
-
インストールメディアとしてテープデバイスを使用します。
変数
無し
- mediaSetFTP
-
インストールメディアとして FTP サイトを使用します。
変数
- hostname
-
インストールされるホストの名前 (省略不可)。
- domainname
-
インストールされるホストのドメイン名 (省略不可)。
- defaultrouter
-
このホストのデフォルトルータ (省略不可)。
- netDev
-
どのホストインタフェースを使用するか (例えば
ed0
や
ep0
です。
省略不可)。
- netInteractive
-
設定すると、関連するすべての設定変数を陶に設定していても、
対話的なネットワーク設定フォームを起動します (省略可)。
- ipaddr
-
選択したホストインタフェースの IP アドレス (省略不可)。
- netmask
-
選択したホストインタフェースのネットマスク (省略不可)。
- _ftpPath
-
対象となる
Fx 配布を保持する FTP サイトの完全な形での URL。
例えば
ftp://ftp.FreeBSD.org/pub/FreeBSD/
。
- mediaSetFTPActive
-
mediaSetFTP
と同様ですが、「能動的」な FTP 転送モードを使用します。
変数
mediaSetFTP
と同様です。
- mediaSetFTPPassive
-
mediaSetFTP
と同様ですが、「受動的」な FTP 転送モードを使用します。
変数
mediaSetFTP
と同様です。
- mediaSetHTTP
-
mediaSetFTP
と同様ですが、HTTP プロキシを使用します。
変数
mediaSetFTP
を参照してください。
更に以下も使用します。
- _httpPath
-
使用するプロキシ (host:port) (省略不可)。
- mediaSetUFS
-
インストールメディアとして、
(ラベルエディタでマウントされている) 既存の UFS パーティション
を選択します。
変数
- ufs
-
対象となる
Fx 配布を保持する、完全な /path 指定。
- mediaSetNFS
-
変数
- hostname
-
インストールされるホストの名前 (省略不可)。
- domainname
-
インストールされるホストのドメイン名 (省略不可)。
- defaultrouter
-
このホストのデフォルト経路 (省略不可)。
- netDev
-
どのホストインタフェースを使用するか (例えば
ed0
や
ep0
です。
省略不可)。
- netInteractive
-
設定すると、関連するすべての設定変数を陶に設定していても、
対話的なネットワーク設定フォームを起動します (省略可)。
- ipaddr
-
選択したホストインタフェースの IP アドレス (省略不可)。
- netmask
-
選択したホストインタフェースのネットマスク (省略不可)。
- nfs
-
対象となる
Fx 配布を保持する、完全な hostname:/path 指定。
- mediaSetFTPUserPass
-
変数
- ftpUser
-
FTP サーバに接続する場合のユーザ名を設定します。
既定値: ftp
- ftpPass
-
FTP サーバに接続する場合のパスワードを設定します。
既定値: user@host
- mediaSetCPIOVerbosity
-
変数
- cpioVerbose
-
cpio で展開を行う際のメッセージの冗長度を low, medium, high から選択します。
- mediaGetType
-
対話的にユーザにメディアタイプの指定を求めます。
変数
無し
- optionsEditor
-
オプション編集画面を起動します。
変数
なし
- packageAdd
-
package を取得してインストールしようと試みます (メディアが設定されている
必要があります)。
変数
- package
-
bash-1.14.7 や ncftp-2.4.2 のようにインストールする package の名前を
指定します。
- addGroup
-
対話的なグループエディタを起動します。
変数
なし
- addUser
-
対話的なユーザエディタを起動します。
変数
なし
- shutdown
-
スクリプトの実行を停止して sysinstall を終了します。
変数
なし
- system
-
system(3)
を用いて外部コマンドを実行します。
変数
- command
-
実行するコマンドの名前。
ブートフロッピから起動されている場合は、
システム全体がインストールされている場合と比較して使用できるものが
大幅に限定されていることに注意してください。
- tcpMenuSelect
-
ネットワークデバイスを設定します。
変数
mediaSetFTP
と同様ですが、
_ftpPath
が使用されないことが違います。
索引
配布メディア
次のファイルを使用して、初期システムインストール時の
の動作を変更可能です。
- cdrom.inf
-
プロパティを 1 行に 1 個ずつ記述するテキストファイルであり、
使用するメディアの内容を記述します。
各行の文法は、単に
``property = value
''
というものです。
現在のところ、次のプロパティだけが認識されます。
- CD_VERSION
-
このプロパティは、このメディアボリュームの
Fx バージョンに設定すべきです。
例えば
``CD_VERSION = 5.3
''
です。
- CD_MACHINE_ARCH
-
このプロパティは、このボリューム上の内容のアーキテクチャに設定すべきです。
このプロパティは、通常、複数のアーキテクチャを含む
Fx 製品でのみ使用され、
ユーザが Alpha package を i386 マシンにインストールしようとしたときに
より良いエラーメッセージを提供するようになります。
例えば
``CD_MACHINE_ARCH = alpha
''
です。
- CD_VOLUME
-
マルチボリュームコレクション (例えば
Fx 4-CD セット) では、各ディスクの
ports/INDEX
ファイルは、セットの完全な package インデックスを含むべきです。
INDEX
ファイルの最後のフィールドは、
どのボリュームにその package が含まれるのかを示し、この
CD_VOLUME
プロパティは現在のディスクのボリューム ID を定義します。
- packages/INDEX
-
package インデックスファイルです。
各 package が、必要な依存関係等の追加メタデータと共に各行に列挙されます。
このインデックスは
ports(7)
コレクションで
``make index
''
を実行することにより生成されます。
複数ボリュームサポートが有効な場合、
どの package がどのメディアボリュームに含まれるのかを示す
追加フィールドが各行に追加されます。
Fx の完全なリリースの構築方法については、
release(7)
を参照してください。
索引
関連ファイル
このユーティリティは
/etc/rc.conf
/etc/hosts
/etc/resolv.conf
の内容を、ネットワーク等の設定変更に応じて変更します。
索引
関連項目
十分に完全なソースツリーがオンライン上にあれば、
サンプルのインストールスクリプトについて
/usr/src/usr.sbin/sysinstall/install.cfg
を参照してください。
索引
歴史
このバージョンの
は、
Fx 2.0
ではじめて登場しました。
索引
作者
An Jordan K. Hubbard Aq jkh@FreeBSD.org
索引
バグ
本ユーティリティは雛型であり、
期限切後も数年を生き延びており、大いに死すべきです。
索引
Index
- 名称
-
- 書式
-
- 解説
-
- 注
-
- スクリプトの実行
-
- スクリプトの文法
-
- 配布メディア
-
- 関連ファイル
-
- 関連項目
-
- 歴史
-
- 作者
-
- バグ
-
Time: 07:07:46 GMT, January 12, 2009