与通用启动脚本相比,使用特定于发行版的配置文件有何优势?

与通用启动脚本相比,使用特定于发行版的配置文件有何优势?

例如,对于 Debian,可以在特定于发行版的配置文件中指定网络配置/etc/网络/接口ip或者可以使用通用 Sys-V 脚本,其中可以使用和等通用工具指定网络配置ifconfig。我更喜欢后一个选项,因为我不需要学习特定于发行版的配置文件的结构和语法。但是,与启动脚本相比,使用特定于发行版的配置文件有什么优势吗?

答案1

我建议使用特定于发行版的文件,因为发行版中的其他工具经常以不太明显的方式使用它们。因此,通常会发生的情况是,您会发现自己经常不得不对抗这些配置,并为自己制造一些小混乱。

我可以分享我使用 Fedora/Redhat 的网络设置经验。您可以/etc/sysconfig/network-scripts使用简单文件(例如ifcfg-eth0.

然而,如果您尝试让这些和 NetworkManager 共存,您会开始发现您必须定期修复设置自定义,这并不值得偏离正轨。

如果您需要更有说服力的话,我可以挖掘一些例子,但总的来说,最好与发行版合作而不是反对它。

答案2

使用特定于发行版的配置文件的优点是您可以利用发行版提供的自动化功能。例如,Debian 软件包将脚本存储在/etc/network/if-up.d/和 同级中,这些脚本在网络接口打开或关闭时执行。这些脚本更新 DNS 源、刷新邮件队列、告诉服务侦听新接口、同步系统时间、执行自动挂载等。如果您使用低级工具(例如 和 )ifconfigip不是特定于发行版的工具(例如ifup和 )/etc/network/interfaces,则您可以失去所有这些自动化的好处。您可能会浪费更多的时间以可移植的方式重新创建这种自动化,而不是利用现有的东西并根据可用设施表达您的配置。

如果您正在管理异构网络,您至少必须应对不同的包管理器、不同的安装程序和不同的初始化脚本。除此之外,使用特定于发行版的网络配置脚本并不费力。

答案3

特定于发行版的配置文件可以实现更快的启动。例如,Arch linuxsystemd单元的启动仅需 20 秒左右。以前,Arch 使用 BSD 或 Slackware 之类的脚本集。虽然 Arch 过去启动速度很快,但这些systemd设备所需的时间要少得多。

相关内容