EN JA
SYSRC(8)
SYSRC(8) FreeBSD System Manager's Manual SYSRC(8)

名称

sysrc安全にシステム rc ファイルを編集する

書式

sysrc [ -dDeFhinNqvx][ -f file][ -j jail | -R dir] name[ = value] ...

sysrc [ -dDeFhinNqvx][ -f file][ -j jail | -R dir] -a | -A

解説

sysrc ユーティリティは、システム rc ファイルの一群から rc.conf(5) 変数を検索し、安全で効果的な方法で値を変更する適切な特権があるプロセスを許可します。

次のオプションが利用可能です:

-a
すべてのデフォルトでない設定変数のリストをダンプします。
-A
すべての設定変数 (incl. defaults) のリストをダンプします。
-d
与えられた変数の記述を印刷 (表示) します。
-D
(複数の) デフォルト値だけ (これは、RC_CONFS を NULL に設定するか、または NULL ファイル引数がある `-f' を渡すことと同様です) 表示します。
-e
(フィードバックされる出力を生成するために役に立つ) ‘ var=value’として問い合わせ結果を印刷 (表示) します。 -n が指定されるなら、無視されます。
-f file
RC_DEFAULTS ファイルの‘rc_conf_files’エントリを読み込むことによって、取得されたファイルの代わりに指定されたファイルで動作します。追加ファイルのために複数回、このオプションを指定することができます。
-F
各指令が含まれる、最後の rc.conf(5) ファイルだけを表示します。
-h
stderr に短い使用法のメッセージを印刷して、終了します。
--help
stderr と完全な使用法の文を印刷して、終了します。
-i
未知の変数を無視します。
-j jail
(‘ -R dir’を上書きする。 jexec(8) を要求する) で動作するための jid または jail の名前。
-n
それらの名前ではなく変数の値のみ表示します。
-N
それらの値ではなく変数の名前のみ表示します。
-q
静か。 -v フラグの以前の存在を無視します。
-R dir
(‘/’) ではなくルートディレクトリ (‘ dir’) 内で動作します。
-v
冗長です。指令が見つかったところで、特定の rc.conf(5) ファイルのパス名を印刷します。
-x
指定された (複数の) ファイルから (複数の) 変数を削除します。

このユーティリティは、 sysctl(8) に似た動作をします。それは、 (上に記述された) `-e' and `-n' オプションを共有し、また、設定オプションを問い合わせる/設定するための同じ‘ name[=value]’構文があります。

しかしながら、 sysctl(8) は、エントラント (entrant) カーネルの MIB を問い合わせ/修正するための役目をしていますが、代わりに sysrc は、システム rc.conf(5) 設定ファイルの値で動作します。

システム設定ファイルのリストは、デフォルトで、パス名の空白で区切られたリストを含んでいる、変数‘ rc_conf_files’内のファイル‘ /etc/defaults/rc.conf’で設定されます。すべての FreeBSD システムにおいて、これは、デフォルトで値 "/etc/rc.conf /etc/rc.conf.local"になります。各パス名は、起動時に順番にソースされ (読み込まれ) ます。それは、与えられた変数の値を返す前に、 sysrc が、設定ファイルをソースする (読み込む) ことと同じ方法です。

変数名を供給されるとき、 sysrc は、変数の値を返します。変数が設定された‘ rc_conf_files’のいずれにも現われないなら、エラーが、印刷 (表示) され、エラー状態が、返されます。

与えられた変数の値を変更するとき、変数が‘ rc_conf_files’のいずれかに現われるかどうかは、重要ではありません。変数がファイルのいずれかに現われないなら、それは、‘ rc_conf_files’変数の最初のパス名の終りに追加されます。そうでなければ、 sysrc は、変数を含む見つかった最後のファイルの最後の存在だけを置換します。これは、これらのなくてはならないファイルを大量に修正せずに、次のブートで効力が生じる値を取得します (繰り返し呼び出される sysrc される、ファイルが扱いにくく成長することができることに注意しません)。

環境変数

次の環境変数は、 sysrc によって参照されます:
RC_CONFS
(たとえ、NULL に設定されても) デフォルトの‘ rc_conf_files’を上書きします。
RC_DEFAULTS
/etc/defaults/rc.conf’ファイルの位置。

依存関係

次の標準コマンドが、 sysrc によって要求されます:

awk(1), cat(1), chmod(1), env(1), grep(1), jls(1), mktemp(1), mv(1), rm(1), sh(1), stat(1), tail(1), chown(8)jexec(8)

関連ファイル

/etc/defaults/rc.conf
/etc/rc.conf
/etc/rc.conf.local

使用例

下記は、システム設定ファイルの rc.conf(5) の一群から特定の値を問い合わせるために、どのように sysrc を使用することができるかのいくつかの単純な例です:

sysrc sshd_enable

$sshd_enable の値を返します、通常、YES または NO。

sysrc defaultrouter (デフォルトルータ)

(設定されているなら) デフォルトルータの IP アドレスを返します。

crontab(5) のような他のファイルで動作します:

sysrc -f /etc/crontab MAILTO

(設定されているなら) MAILTO 設定の値を返します。

上記の構文に加えて、また sysrc は、下記に示される、報告される方法の値を変更のためにインラインの sh(1) PARAMETER 拡張をサポートします:

sysrc 'hostname%%.*'

最初の `.' (しかし、含まず) まで $hostname を返します。

sysrc 'network_interfaces%%[$IFS]*'

$network_interfaces の最初の単語を返します。

sysrc 'ntpdate_flags##*[$IFS]'

$ntpdate_flags の最後の単語を返します (時間サーバアドレス)。

sysrc usbd_flags-"default"

$usbd_flags または設定されていないか、NULL であるなら、デフォルトを返します。

sysrc cloned_interfaces+"alternate"

$cloned_interfaces が設定されているなら、"alternate"を返します。

sysrc '#kern_securelevel'

$kern_securelevel の文字の長さを返します。

sysrc 'hostname?'

$hostname が設定されていないなら、エラー状態 2 で NULL を返します (または、設定されているなら、エラー状態なしで $hostname の値を返します)。

sysrc 'hostname:?'

$hostname が設定されていないか、NULL であるなら、エラー状態 2 で NULL を返します (または、設定されているか、NULL でないなら、エラー状態なしで値を返します)。

制限

sysrc ユーティリティは、現在、 (実行の間に知られているサービス名に要求する) システム設定ファイルの‘ rc.conf.d’の一群をサポートしていません。

これは、将来の増強によって修正されるかもしれません。

歴史

sysrc ユーティリティは、 FreeBSD 9.2 ではじめて登場しました。

作者

Devin Teske <dteske@FreeBSD.org>

感謝

提案と支援について、 Brandon Gooch, Garrett Cooper, Julian Elischer, Pawel Jakub Dawidek, Cyrille Lefevre, Ross West, Stefan Esser, Marco Steinbach と Jilles Tjoelker。
July 5, 2013 FreeBSD