Mac-Osx

OSX 網路安裝自定義映像

  • September 7, 2017

一段時間以來,我一直在尋找一種清晰的方法來創建 Sierra 的自定義 Netinstall 映像,但沒有成功。

我的目標是在預設情況下擁有兩個管理員帳戶,並在安裝中包含一些軟體包(例如 Slack、Firefox、iTerm2 …)。

我嘗試過不同的方法。


AutoDMG - Automator方法:

我使用autoDMG成功創建了 dmg 圖像(我安裝了它,實際上我在 Application 文件夾中有 Firefox 和東西)。然後我使用 Automator 創建了一個自定義的 Netinstall 映像(在工作流程中添加使用者)並將其安裝在另一台 Mac 上,但最後這些包不在作業系統中,甚至不在使用者中,我有一個簡單的 OSX 安裝。


包 - Automator方法:

我創建了一個包,包括 Slack、Firefox、iTerm 和Packages App(Apple 提供),並將其與 Automator 一起包含在 Netinstall 映像中。但是這種方式安裝失敗,因為包沒有由經過驗證的Apple開發人員簽名(顯然……)。


所以,我承認我很絕望。我花了很多時間試圖弄清楚。

任何幫助,將不勝感激!謝謝

更新

我想知道是否可以在安裝中包含一個腳本,該腳本將在第一次啟動時啟動以執行一些操作,例如啟用 ssh 和/或啟用和配置文件庫。這將阻止我使用包含的包來塑造圖像,因為我將安裝 Munki (github.com/munki/munki),然後允許使用者輕鬆獲取包。

希望我足夠清楚。

我找到了兩個解決方案。

首先是在外部 HD 上安裝 OS X,根據需要配置系統(創建多個帳戶,安裝軟體,…),然後在 Mac 上附加磁碟並使用“系統映像實用程序”從該磁碟創建 NetRestore 映像’ 部署。

另一種解決方案要復雜得多。

你需要:AutoDMGCreateUserPkgfirst-boot-pkg (git clone) 和Packages。您還需要從 Apple Store 下載macOS 安裝程序。

這些是詳細的步驟:

  1. 編寫一個滿足您需求的配置腳本(或更多)和一個 啟動您的腳本的啟動守護程序的.plist文件。(你可以在這裡找到一些例子)
  2. 將它們與“包”打包:打開“包”應用程序並選擇“原始包”,然後點擊“下一步”。為您的包選擇一個名稱(例如:)your-osxconfig-pkg和一個項目目錄(例如:) ~/Desktop/your-osxconfig-pkg,然後點擊“完成”。點擊視窗頂部欄中名為“有效負載”的選項卡。您應該看到一個文件系統,在這裡您可以將文件拖放到您希望它們由您的包安裝的位置。將您創建的腳本拖放到文件夾/Library/Scripts中,並將守護程序的 .plist 文件拖放到/Library/LaunchDaemons. 使用快捷方式“cmd⌘ - B”建構包(如果詢問,請點擊“保存”)。如果一切順利,您應該會在螢幕上看到一個綠色的粗體和“Build Succeeded”。關閉應用程序。
  3. 使用“CreateUserAccount”創建一個“添加使用者帳戶”包:

打開“CreateUserAccount”應用程序,根據需要配置使用者(如果修改“主目錄”請小心),然後“保存包”(使用桌面作為輸出文件夾)。 4. 創建一個首次啟動包。啟動終端,然後:

$ sudo ~/path/to/first-boot-pkg
   --pkg=~/Desktop/your-osxconfig/build/your-osxconfig.pkg --pkg=~/Desktop/create-user.pkg  \
    --identifier=com.your.firstboot   
    --launchd=com.your.firstboot --name=your-daemon-firstboot.pkg

該選項--pkg讓您包含一個包,--identifier選項是選擇建構包的標識符,--launchd選擇launchd守護程序--name的名稱,選擇建構包的名稱。您可以包含任意數量的包,例如您可以包含 Munki 安裝包。這些將在您第一次在機器上啟動時執行。 5. 打開“AutoDMG”應用程序,拖放 macOS 安裝程序和首次啟動包。點擊“建構”並選擇新創建的圖像的路徑。

現在我們有了一個有效的 macOS 映像,我們可以繼續創建一個 Netboot/Netinstall/Netrestore 映像。

查看 DeployStudio。它允許您創建一個主映像,然後創建一個工作流來推送各個包並安裝它們。您還可以設置具有不同工作流程的組,以便您可以自定義哪個組獲取哪些圖像和包。

http://www.deploystudio.com/

引用自:https://serverfault.com/questions/855952