在使用預置的 Debian 安裝期間安裝 NetworkManager 的問題
我目前正在使用在實際安裝後執行的自定義安裝腳本來預置 Debian 安裝,以創建一個簡單的安裝程序,它將創建我需要的一切。
現在我找到瞭如何安裝附加包並添加了 NetworkManager 包,以簡化網路工作。但是,該設備具有多個乙太網介面,並且在 Debian 安裝期間安裝 NetworkManager 會創建該文件
/etc/NetworkManager/system-connections/Wired connection 1
。但是,該文件為實際系統配置不正確。因此,如果我在 NetworkManager 關閉並重新啟動時將其刪除,則一切正常。但是擁有該文件會使 NetworkManager 將所有介面標記為“有線連接 1”,並且只有一個介面可以處於活動狀態,等等。總而言之,該文件需要刪除。現在我首先嘗試在我呼叫的腳本期間刪除文件
preseed/late_command
(腳本執行並刪除文件,我檢查過)。但是在安裝後引導進入系統時,文件又回來了。接下來,我嘗試在使用 刪除文件之前停止 NetworkManager 服務in-target systemctl stop NetworkManager
,但這只是給了我可愛的日誌行in-target: Running in chroot, ignoring request.
而且自然也不起作用。如何在預置時使用空白的“系統連接”配置安裝 NetworkManager?
總之,我的相關*(和工作)*行
preseed.cfg
是:d-i pkgsel/include string ... network-manager ... d-i preseed/late_command string sh /.../postinstall.sh
在我的
postinstall.sh
嘗試中in-target rm /etc/NetworkManager/system-connections/*
*(實際上在那一刻刪除了文件)*和
in-target systemctl stop NetworkManager in-target rm /etc/NetworkManager/system-connections/*
更新:
正如建議的那樣,我嘗試
nmcli
直接刪除與的連接。這是我的腳本:
in-target nmcli con delete $(in-target nmcli -g uuid con)
這是結果:
May 6 09:16:43 log-output: + in-target May 6 09:16:43 log-output: nmcli -g uuid con May 6 09:16:43 log-output: dpkg-divert: warning: diverting file '/sbin/start-stop-daemon' from an Essential package with rename is dangerous, use --no-rename May 6 09:16:43 in-target: Error: Could not create NMClient object: Could not connect: No such file or directory. May 6 09:16:44 log-output: + in-target nmcli con delete May 6 09:16:44 log-output: dpkg-divert: warning: diverting file '/sbin/start-stop-daemon' from an Essential package with rename is dangerous, use --no-rename May 6 09:16:44 in-target: Error: Could not create NMClient object: Could not connect: No such file or directory.
使用有線連接
預設情況下,NetworkManager 會為其找到的每個有線乙太網連接生成一個連接配置文件。在生成連接時,它不知道是否會有更多的乙太網適配器可用。因此,它將第一個有線連接稱為“有線連接 1”。
no-auto-default
您可以通過配置(參見 參考資料man NetworkManager.conf
)或簡單地刪除它來避免生成此連接。然後 NetworkManager 會記住不再為這個介面生成連接。您還可以編輯連接(並將其保存到磁碟)或刪除它。NetworkManager 不會重新生成新的連接。然後,您可以將名稱更改為您想要的任何名稱。您可以為此任務使用類似 nm-connection-editor 的東西。因此,您可以
NetworkManager.conf
在安裝網路管理器之前創建並根據您的硬體進行設置,並no-auto-default
在需要時提供選項。(還要檢查配置文件在安裝後沒有被覆蓋’不應該是這樣……’)另一種選擇可能是用
chmod u-w
or鎖定對有問題文件的寫訪問,chattr +i
但不建議這樣做,因為它不打算以這種方式工作並且可能會引入其他問題。資料來源:arch-wiki