你好,我正在研究一些自動化,並遇到了一個問題,ubuntu 自動安裝仍然要求在安裝過程中進行驗證。
即使找到完全非互動式的自動安裝配置,伺服器安裝程式也會在寫入磁碟之前要求確認,除非在核心命令列上存在自動安裝。這是為了更難意外地創建一個 USB 記憶棒,該 USB 記憶棒會在啟動時重新格式化插入的機器。許多自動安裝將透過 netboot 完成,其中核心命令列由 netboot 配置控制 - 只需記住將自動安裝放在那裡即可!
我看到這篇文章,在我的設定檔中,我確實有這樣的「自動安裝」:
#cloud-config
autoinstall:
version: 1
我如何將它放在內核命令行上?或者我如何編寫網路啟動配置?我對伺服器管理有點陌生,並且不熟悉大多數術語。
答案1
請注意,這是一種保護措施,旨在幫助避免意外擦除正在使用的系統。但我認為,如果您按原樣使用官方 Ubuntu 安裝介質,並且透過另一個 iso 提供 cloud-init 自動安裝配置,那麼這種保護措施就太過分了。特別是如果沒有使用實體安裝介質,且iso的安裝不是手動操作。
因此,如果您無法autoinstall
在啟動時附加到核心命令列,您仍然可以在自動安裝模組檢查命令列之前覆蓋該命令列,如下所示:
#cloud-config
bootcmd:
- cat /proc/cmdline > /tmp/cmdline
- sed -i'' 's/$/ autoinstall/g' /tmp/cmdline
- mount -n --bind -o ro /tmp/cmdline /proc/cmdline
autoinstall:
version: 1
這利用 cloud-init bootcmd 模組透過在其上安裝修改後的檔案來覆寫 /proc/cmdline 。該文件包含原始的cmdline內容+ autoinstall
.
如中所述自動安裝文檔這將刪除“繼續自動安裝?(是|否)”提示
若要繞過此提示,請安排參數 autoinstall 顯示在核心命令列上。
答案2
經過一些額外的研究後,執行此雙重檢查是為了防止使用實體媒體安裝作業系統時發生意外安裝。若要開始全自動安裝,應透過 FTP 或 HTTP 使用網路安裝。