Mac|OSX: 简化+优化的制作USB安装盘的脚本
上一篇说到了,对于OS X 10.10 DP2,使用它内置的createinstallmedia命令生成的USB安装盘,安装后会把目标分区转化为Core Storage;另外,该命令的不完善的地方是,有的时候会说"xxx is not a valid volume mount point."而无法继续。所以,这个小脚本就派上了用场:
#!/bin/bashdestVol="$2"
osx10APP="$1"if [ "$2" = "" ];
then
echo "Usage:"
echo "command applicationPath destinationVolume"
exit 0
fiosx10ESD="/Volumes/OS X Install ESD"
targetVol="/Volumes/OS X Base System"echo $targetVol, $osx10ESD, "destVol=$destVol", "osx10APP=$osx10APP"# Prepare
diskutil eject "$osx10ESD"
diskutil eject "$targetVol"# Mount the OS X 10.10 ESD image
echo "hdiutil attach $osx10APP/Contents/SharedSupport/InstallESD.dmg"
hdiutil attach "$osx10APP/Contents/SharedSupport/InstallESD.dmg" -noverify 2> /dev/null
sleep 5# retore the baseSystem image to destinationVol
asr restore --source "$osx10ESD/BaseSystem.dmg" --target "$destVol" --erase --format HFS+ --noverify --noprompt
diskutil rename "$targetVol" _OSX10DPInstaller_
targetVol="/Volumes/_OSX10DPInstaller_"rm "$targetVol/System/Installation/Packages"
ditto "$osx10ESD/Packages" "$targetVol/System/Installation/Packages"
ditto "$osx10ESD/BaseSystem.dmg" "$osx10ESD/BaseSystem.chunklist" "$targetVol"hdiutil detach"$osx10ESD"
如何使用呢
1. 如果不知道如何保存一个脚本并让它可运行的过程,那么看下面,否则略过看2。
打开文本编辑应用(TextEdit.app),把上面的代码复制粘贴到里面,确保这个文件的格式是纯文本的(Plain Text),或者使用快捷键(Shift-Command-T)来切换文件的格式,然后保存,假设保存在当前用户的桌面上,并叫做createUSBInstall.sh文件。2. 打开一个新的Finder窗口,在里面找到安装应用,再确定目标U盘已经插入且数据都已经备份,并可以在桌面上找到上面的那个脚本文件。
打开终端,并运行命令:
chmod 777 ~/Desktop/createUSBInstall.sh
尝试运行-可以将该文件拖到终端窗口中,或者键盘输入下面命令:
~/Desktop/createUSBInstall.sh
如果它的提示不是诸如"Permission denied。"说明可以到下一步了。否则详细查看上面的步骤。
打开终端后输入并回车:【Mac|OSX: 简化+优化的制作USB安装盘的脚本】
sudo -s
它会询问管理员密码,输入并回车。
把上面的脚本文件拖到终端窗口中,再把安装应用(.app文件)拖放到终端窗口上面,最后是拖放目标U盘。就像图中所示的样子,确认无误后,回车,它会自动为你生成那个安装USB。
文章图片
解释:
这个脚本很简单,没有什么技巧,也没有太多的错误检查。它从命令行读取两个参数,第一个是安装应用的全路径,第二个是目标U盘的路径,然后把安装应用中的ESD装载到系统里,把里面的BaseSystem.dmg恢复到U盘上,并修改U盘的分区名为_OSX10DPInstaller_,再复制相应的Pakcages等文件,最后收尾工作。
--------------
更新:
纠正了脚本中的几处错误,现在没问题了。
推荐阅读
- Mac安装Chromedriver
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- MAC安装Mongo
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- 机器学习|机器学习 Andrew Ng《Machine Learning》课程笔记1
- PHP开发-Mac搭建ThinkPHP5.0
- MagicaVoxel-0.99.6-macos-10.7|MagicaVoxel-0.99.6-macos-10.7 网盘下载
- 产品设计的简化
- mac|mac 链接linux服务器 如何在Mac上连接服务器