linux update dhcpdを実行せずにdhcpd.confの構文エラーをチェックする方法を教えてください。




linux dhcp domain name (2)

dhcpd.confに構文エラーがないことを確認する必要があります。 エラーがある場合、私はそれらが何であるかを知りたいのです。

私はこのコマンドで構文エラーをチェックすることができます:

dhcpd -cf /path/to/dhcpd.conf

しかし、それは私が得たエラーに加えて多くの情報を出力します。 もう1つのことは、構文エラーがなくても、dhcpdを実行したくないということです。 構文エラーをチェックして、それらが何であるかを確認したいだけです。

残念ながら、 dhcpd -tf /path/to/dhcpd.conf実行しても問題は解決しませんでした。


マニュアルページには載っていませんが、ここではまだ説明していませんが、 '/ usr / sbin / dhcpd -t'コマンドは戻り値を使用して構成が正しいかどうかを示します。

エラーがなければ、ゼロを返します。 構文エラーがある場合はゼロ以外を返します(私が行ったテストでは1)

だからあなたは次のようなものを使うことができます:

/usr/sbin/dhcpd -t
if [ $? -ne 0 ]; then
  echo "Configuration has errors, aborting"
fi
/bin/systemctl restart isc-dhcp-server

新しいバージョンでサーバーを再起動する前に、構成に加えられた変更が有効かどうかを確認します。

残念ながら、エラーを表示するだけのオプションはないと思います。 テキスト解析ツール(awk、pythonなど)を使用してヘッダー行(私が持っているバージョンの場合は "Info"で始まる行まで)、およびトレーラー行(私が持っているバージョンの場合は)を削除することができます"設定ファイルのエラーが発生しました - 終了します"と書いた行の後にあるものはすべて、構文エラーと場所だけを残します。


あなたが探している構文は

dhcpd -t -cf /path/to/dhcpd.conf

-tオプションは設定チェックを行います。

-tフラグが指定されている場合、サーバーは正しい構文について構成ファイルを単純にテストしますが、ネットワーク操作を実行しようとはしません。 インストールする前に、これを使って新しい設定ファイルを自動的にテストすることができます。

デフォルトの設定ファイルパスを使用している場合は、 -cfを使用する必要はありません。

/usr/sbin/dhcpd -t

-tf /path/to/...使って試したものはまったく異なり、トレースに関連しています。





dhcp