/etc/init.d/networking restart
と(Debian)invoke-rc.d networking restart
の間に実際の違いはありますか?
答え1
その内容はinvoke-rc.d
マニュアルページに文書化されています。これはinitスクリプトを直接実行するラッパーですが、現在のランレベルとデーモンをそのランレベルで実行する必要があるかどうかに応じてコマンドが実行されないようにするポリシーも適用されます。
デフォルトでは、Debianはランレベル2-5を区別しませんが、ローカル管理者は各ランレベルで実行されるものを変更できます。invoke-rc.d
実行レベルが正しくない場合、これらのローカルポリシーは尊重され、デーモンは起動しません。
答え2
実際の違いはありません[1]。このinvoke-rc.d
コマンドは単にinit.dスクリプトを実行するための便利なインターフェースを提供するので、実行したいスクリプトのフルパスを入力する必要があります。どちらの呼び出しも同じ最終結果を得ます。
[1]このinvoke-rc.d
コマンドは、要求されたサービススクリプトを呼び出す前にチェックを実行して実行する必要があることを確認します。これは、スクリプトが間違ったランレベルなどから呼び出されるのを防ぐので、その意味では違いがあります。足に少し銃を当てた。マニュアルページはこれに関して有益でなければなりません。
答え3
ネットワークを再起動するもう1つの簡単な方法は、私の場合は[net]というbashファイルを作成することです:/etc/init.d/net
スクリプト:
#!/bin/sh -e
invoke-rc.d networking stop ; invoke-rc.d networking start ; ifup eth0
#Add whatever interfaces you have installed. ie: ifup eth0 wlan0 etc
作成後のchmod 711 'filename' [net]