web-dev-qa-db-ja.com

systemctlでタイムアウトを変更する方法

Debianシステムを起動すると、その起動が約2分間ハングします。

Loading, please wait...
[    5.191043] systemd-fsck[129]: /dev/mmcblk0p2: clean, 234192/873120 files, 2335263/3491328 blocks
[    6.645242] intel_rapl: no valid rapl domains found in package 0
[    6.643682] systemd-fsck[222]: fsck.fat 3.0.27 (2014-11-12)
[    6.664844] intel_rapl: no valid rapl domains found in package 0
[    6.660702] systemd-fsck[222]: /dev/mmcblk0p1: 3 files, 33/130812 clusters
[    **] A start job is running for LSB: Raise network interf...38s / no limit)

最終的には、ネットワークインターフェイスの引き上げをあきらめ、起動を続けます。

質問:systemctlで使用されているタイムアウトを変更して、15秒後にネットワークインターフェイスの起動を停止する方法を教えてください。

追加情報:問題の原因は、このマシンでのwifi USBドングルの使用です。ドングルがある場合もあれば、ない場合もあります。ドングルが接続されていないときは、ネットワークインターフェースが上がらないことを期待しています。あまり長く待ちたくないのです。

14
Jealie

私は同様の問題を抱えていて、Googleの結果の欠如に頭を悩ませていたので(このページに数回到達した後)、systemdがどのように機能するかを読み進めることにしました here

最終的に私はnetworkingが実際にはSysV initスクリプト(/etc/init.d/networking)、実行時にsystemdサービスに変換されます(/run/systemd/generator.late/networking.service)、既存のスクリプトを単に変更することはできません。

代わりに、ファイルを次の場所に上書きする必要があります。 /etc/systemd/system/networking.service.d/reduce-timeout.conf、あなたのケースでは以下を含みます:

[Service]
TimeoutStartSec=15
9
DuBistKomisch

Debian Jessieを実行しているシステムで、/lib/systemd/system/networking.service.d/network-pre.confにあるファイルに次のコードを追加できました

[Service]
TimeoutStartSec=15

これにより、「制限なし」が15秒の制限に変更され、ネットワークが切断された場合のシステム起動が大幅に高速化されました。

/etc/systemd/system/networking.service.d/でファイルを作成してもこのシステムには影響がなかったため、/lib/systemd/system/networking.service.d/で既存のファイルを編集しました。このディレクトリが空の場合は、上記のコードを使用して新しい.confファイルを作成すると機能します。

なぜこれが違うのか、あるいはそれがそのようなものを設定する正しい方法でさえあるのかわかりません。

7
Proctoru2

同様の問題があり、システムがWi-Fiに接続しようとしていることがわかりました。私の解決策は/ etc/network/interfacesのこの行を変更することを含みました:

auto wlan0

に:

allow-hotplug wlan0
5
tshepang

これは、Debianのネットワークスクリプトの問題です。これらのスクリプトは、すべてのインターフェースが表示されるまで待機しているようで、「systemd-networkdのように」「動的に表示される」インターフェースの概念がありません。

2つの解決策があります。最初の解決策は、構成タイムアウトを減らすことです。ただし、投稿した出力(...38s / no limit)からわかるように、systemdはネットワークの起動にタイムアウトを課しません。したがって、これはDebian固有のスクリプト自体で構成する必要があるものです。

2番目の解決策は、動的に表示されるインターフェースをサポートするネットワーク(NetworkManagerなど)を構成するためのより近代的なツールを使用することです。 systemd-networkdはWLANネットワークをサポートしていないため、ここではあまり役に立ちません。

1
intelfx