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
どのホストインタフェースを使用するか (例えば ed0ep0 です。 省略不可)。
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
どのホストインタフェースを使用するか (例えば ed0ep0 です。 省略不可)。
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

名称
書式
解説
スクリプトの実行
スクリプトの文法
配布メディア
関連ファイル
関連項目
歴史
作者
バグ

jman



Time: 07:07:46 GMT, January 12, 2009