如何在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 秒后停止尝试提升网络接口?

附加信息:问题的根源是在这台机器上使用了 wifi 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做的那样)。

你有两个解决方案。第一个解决方案是减少配置超时。但是,从您发布的输出中可以看出 ( ...38s / no limit),systemd 不会对网络启动施加任何超时。因此,您需要在 Debian 特定的脚本本身中进行配置。

第二种解决方案是使用更现代的工具来配置网络(例如 NetworkManager),支持动态显示的界面。请注意,systemd-networkd这里没有多大用处,因为它没有对 WLAN 网络的集成支持。

相关内容