從網路啟動和/或同步 linux 映像
我正在尋找一種解決方案(或至少一些指南/路徑/手冊)來從網路引導和同步 Linux 映像。我已經了解網路引導(PXE、DHCP、TFTP)是如何工作的。
在我的組織中,我們有許多 PC 的硬體配置與 Linux (Ubuntu LTS) 相同(或不同)。當我們進行升級時,我需要手動升級每台 PC。當有人要求軟體更新時也是如此(例如,LibreOffice、Eclipse、VMware)。當然,我不喜歡手動操作。
現在我正在尋找解決方案,它允許我使用自定義軟體集創建自定義 Linux 映像,並在啟動過程中將其與使用者的 PC 同步。
目標是在所有(在一個部門)使用者的電腦上擁有一個具有相同配置和軟體的作業系統。
我對無盤客戶端或 Linux 終端伺服器不感興趣。而且我不僅在尋找網路安裝。我想製作一個自定義 Linux 映像,然後在引導期間將其安裝在使用者的電腦上 - 在每台使用者電腦上創建一個本地安裝。
但是,如果我在映像中更改某些內容(例如,將新軟體添加到此映像中,或者只是執行“apt-get upgrade”),我希望這些更新在下一次網路啟動/同步期間出現在使用者的電腦上。我想同步系統配置(/etc、/usr、/opt 等),而不需要使用者的 /home 或 /media 中的數據。
非常感謝您提前。
PS 我也在尋找支持具有不同硬體的使用者電腦的選項。
PPS 另一種選擇是將自定義手動預安裝的 Linux 與來自網路的映像同步(映像應覆蓋自定義安裝)。
PPPS 我也夢想為 Windows 做同樣的事情。
您的許多問題都由 Puppet、Chef 或 cfengine 等配置管理工具處理。它的工作方式與你想像的不同,但重要的是目標,對吧?
例如,使用 Puppet,您可以使用 Puppet 客戶端安裝基本作業系統(可能來自映像),然後 Puppet 處理軟體的安裝/配置。
在某種程度上,它也適用於 Windows。
我以前用 rsync 做過這個。你只需設置一個“黃金大師”PC,在上面安裝軟體,然後重新同步它。您將需要 rsync -x 選項來避免跨文件系統同步,然後建立一個不同步的其他內容列表,例如大部分 /var、/etc/hostname 和其他一些內容。