为什么 ifup 没有运行所有的 if-pre-up.d 脚本?

Aur*_*mas 13 networking

$ ll /etc/network/if-pre-up.d/

total 20
drwxr-xr-x 2 root root 4096 Jan 15 16:43 ./
drwxr-xr-x 7 root root 4096 Jan 14 21:29 ../
-rwxr-xr-x 1 root root  344 Apr 28  2012 ethtool*
-rwxr-xr-x 1 root root  158 Jan 14 22:01 iptablesload.sh*
-rwxr-xr-x 1 root root 3839 May  3  2012 wireless-tools*
lrwxrwxrwx 1 root root   32 Dec  4 13:00 wpasupplicant -> ../../wpa_supplicant/ifupdown.sh*

$ sudo ifup --all -v

run-parts --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
run-parts --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/000resolvconf
run-parts: executing /etc/network/if-up.d/avahi-autoipd
run-parts: executing /etc/network/if-up.d/avahi-daemon
run-parts: executing /etc/network/if-up.d/ethtool
run-parts: executing /etc/network/if-up.d/ntpdate
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/upstart
run-parts: executing /etc/network/if-up.d/wpasupplicant
Run Code Online (Sandbox Code Playgroud)

为什么没有运行 iptablesload.sh?是否还有其他位置可以设置预制脚本列表?

小智 18

我有同样的问题。据我所知,如果您删除尾随的“.sh”,这应该会按预期工作。

sudo mv /etc/network/if-pre-up.d/iptablesload{.sh,}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!认为有必要仔细检查运行部件联机帮助页。“如果既没有给出 --lsbsysinit 选项也没有给出 --regex 选项,那么名称必须完全由 ASCII 大写和小写字母、ASCII 数字、ASCII 下划线和 ASCII 减号连字符组成。” 似乎句号不是该字符集的一部分。 (2认同)

小智 5

我也无法在 ubuntu 20.4 中工作。该脚本名为 iptablesload,位于 if-pre-up.d 目录中。

我必须做

apt安装ifupdown

这应该在 U 20.4 上解决,它对我来说是这样。