我正在創建一組實用程序來爲特定網絡和域配置配置Linux系統。此配置的其中一個步驟是配置網絡接口。儘管我可以很容易地配置Samba或NTP之類的東西(因爲它們具有相同的配置文件語法,無論發行版如何),但網絡似乎更難一些。Linux - 通用網絡配置
使用Debian使用/etc/network/interfaces
,Fedora和使用/etc/sysconfig/network-scripts
Red Hat和使用其各自的網絡管理其他發行版(我個人使用拱NETCTL),得到一個腳本能夠配置網絡接口看起來幾乎是不可能的。有沒有配置網絡接口的便攜方式?
如果不這樣做,那麼爲各種發行版創建「模塊」會有什麼好方法?我的項目將使用Autotools來配置和安裝實用程序,因此可以完成一些「編譯」,但是如何檢測哪個網絡管理器正在使用?這種方法的問題包括當網絡管理器沒有使用模塊時該怎麼做。還是應該讓編譯用戶決定啓用哪個「模塊」?
然後這個問題擴展到包裝 - 創建這個包時,即使在一個發行版中,我如何支持多個網絡管理員?例如,在Arch中,用戶可能安裝了netctl,它使用一組配置文件,或者Wicd或GNOME網絡管理器。
wicd和網絡管理員似乎都提供了D-Bus接口。所以你可以檢查你的軟件,如果這些守護進程之一是在D-Bus下注冊的。 – yegorich
或者,您可以將NM或Wicd定義爲需求,因此用戶必須使用其中一種工具來使用您的軟件。在這種情況下,你有一個定義好的環境,所以你的軟件不會那麼複雜。 – yegorich
@yegorich我應該在編譯時作出'模塊'的決定,還是運行時間? – Xenopathic