與通用啟動腳本相比,使用特定於發行版的設定檔有何優勢?

與通用啟動腳本相比,使用特定於發行版的設定檔有何優勢?

例如,對於 Debian,可以在特定於發行版的設定檔中指定網路配置/etc/網路/接口ip或者可以使用通用 Sys-V 腳本,其中可以使用和等通用工具指定網路配置ifconfig。我更喜歡後一個選項,因為我不需要學習特定於發行版的設定檔的結構和語法。但是,與啟動腳本相比,使用特定於發行版的設定檔有什麼優勢嗎?

答案1

我建議使用特定於發行版的文件,因為發行版中的其他工具經常以不太明顯的方式使用它們。因此,通常會發生的情況是,您會發現自己經常必須針對這些配置進行工作,並為自己製造一些小混亂。

我可以分享我使用 Fedora/Redhat 的網路設定經驗。您可以/etc/sysconfig/network-scripts使用簡單文件(例如ifcfg-eth0.

然而,如果您嘗試讓這些和 NetworkManager 共存,您會開始發現您必須定期修復設定自訂,這並不值得偏離正軌。

如果您需要更有說服力的話,我可以挖掘一些例子,但總的來說,最好與發行版合作而不是反對它。

答案2

使用特定於發行版的設定檔的優點是您可以利用發行版提供的自動化功能。例如,Debian 軟體包將腳本儲存在/etc/network/if-up.d/和 同級中,這些腳本在網路介面開啟或關閉時執行。這些腳本更新 DNS 來源、刷新郵件佇ifconfig列、告訴服務偵聽新介面、同步系統時間、執行自動掛載等。您可以失去所有這些自動化的好處。您可能會浪費更多的時間以可移植的方式重新創建這種自動化,而不是利用現有的東西並根據可用設施表達您的配置。ipifup/etc/network/interfaces

如果您正在管理異質網絡,您至少必須應對不同的套件管理器、不同的安裝程式和不同的初始化腳本。除此之外,使用特定於發行版的網路配置腳本並不費力。

答案3

特定於發行版的設定檔可以實現更快的啟動。例如,Arch linuxsystemd單元的啟動僅需 20 秒左右。以前,Arch 使用 BSD 或 Slackware 之類的腳本集。雖然 Arch 過去啟動速度很快,但這些systemd設備所需的時間要少得多。

相關內容