systemctlでネットワークインターフェイス接続タイムアウトを変更する方法

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秒後に停止するように使用されるタイムアウトをどのように変更しますか?

追加情報:問題の原因は、このコンピュータでWi-Fi USBドングルを使用することです。ドングルがある時もあり、ない時もあります。ドングルが接続されていないときにネットワークインターフェイスが上がらないようにしたいので、待ち時間が長くなりません。

答え1

同様の問題があり(このページに数回アクセスした後)、Googleの検索結果が不足して頭を傷つけました。それで、それがどのように機能するのかをsystemd読むことにしました。ここ

networking結局、これは実際には実行時にサービス()に変換されるSysV初期化スクリプト()/etc/init.d/networkingなので、既存のスクリプトを単純に変更することはできないことがわかりました。systemd/run/systemd/generator.late/networking.service

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

[Service]
TimeoutStartSec=15

答え2

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ファイルを生成できます。

これがなぜ違うのか、そのようなものを整理する正しい方法なのかはわかりません。

答え3

同様の問題が発生し、システムがWi-Fiに接続しようとしていることがわかりました。私のソリューションには、/etc/network/interfacesで次の行を変更することが含まれていました。

auto wlan0

到着する:

allow-hotplug wlan0

答え4

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

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

2番目の回避策は、動的に表示されるインターフェイスをサポートするより近代的なツールを使用してネットワーク(NetworkManagerなど)を設定することです。systemd-networkdWLANネットワークの統合サポートがないため、これはほとんど役に立ちません。

関連情報