下面的bash shell脚本可以用来将iLife '11的DVD安装盘,转换为一个可以用来发布的扁平化的安装文件,扁平化后也可以解决由于DVD安装文件的证书过期问题而造成的安装失败的问题。
#!/bin/bash
SRCVOL="$1"
if [ ! -d "$SRCVOL" ]; then
echo "Usage: "`basename "$0"`" /Volumes/iLife\\ \\'11\\ Install\\ DVD"
exit 1
fi
PKGSRC="${SRCVOL%/}/Installer/Packages"
PKGNAME=`date +"iLife11-%Y%m%d.pkg"`
echo "* Checking media"
if [ ! -f "$PKGSRC/iLife.pkg" ]; then
echo "'$SRCVOL' is not an iLife '11 installer DVD"
exit 1
fi
echo "* Expanding iLife base package"
rm -rf iLife_pkg
pkgutil --expand "$PKGSRC/iLife.pkg" iLife_pkg
if [ $? -ne 0 ]; then
echo "Package expansion failed!"
exit 1
fi
echo "* Modifying Distribution"
./flatten_dist.py iLife_pkg/Distribution
if [ $? -ne 0 ]; then
echo "Distribution modification failed!"
exit 1
fi
echo "* Expanding sub-packages"
for pkg in "$PKGSRC"/*.pkg; do
pkgname=`basename "$pkg"`
if [ "$pkgname" != iLife.pkg ]; then
echo "Expanding $pkgname..."
pkgutil --expand "$pkg" "iLife_pkg/$pkgname"
if [ $? -ne 0 ]; then
echo "Package expansion failed!"
exit 1
fi
fi
done
echo "* Flattening packge"
pkgutil --flatten iLife_pkg "$PKGNAME"
if [ $? -ne 0 ]; then
echo "Flattening failed!"
exit 1
fi
open -R "$PKGNAME"
rm -rf iLife_pkg
echo "* Done"
分享到:
相关推荐
在学会Objective-C的语法之后,就可以开始学习Cocoa,开发Mac OS X应用程序了。 Quartz:是Mac OS X的Aqua图形界面的2D图形加速引擎。 XCode:是Mac OS X下集成开发环境。类似Visual Studio至于Windows。XCode是免费...
OS X安装后脚本##关于该项目适用于Mac OS X高级用户,并提供一组简单的bash脚本,用于安装各种命令行实用程序以及设置系统,配置应用程序默认设置等。 原作者:山姆·休伊特(Sam Hewitt) 许可证:GPLv3 您可以从...
MikroTikRouterOS脚本生成器可以生成ROS5.X-6.X代码,MikroTikRouterOS是路由操作系统,可以将普通PC变为高性能路由器,软件在Wlan无线、带宽控制、策略路由和防火墙过滤等功能上有着非常强大的功能,程序内部还有很...
这是一个bash脚本,用于在OS X上安装Firefox的所有主要版本。 当前它安装: Firefox 2.0.0.20 Firefox 3.0.19 Firefox 3.5.19 Firefox 3.6.28 从4.0.1到滚动发行的最新版本的所有版本 (可选)该脚本也可以为...
libosxnotify 没有废话的脚本 OS X 通知。什么? 此存储库包含一些 Objective-C 代码,外部程序可以使用这些代码来显示本机 OS X 通知。为什么? 这一切都始于练习用 C 编写 Python 扩展的想法。然后建议支持 FFI,...
一个简短的bash脚本被复制到/usr/local/bin ,并由内置的OS X实用程序Launched (Apple等效于Linux crontab)每8分钟执行一次。 它每20分钟发送一次通知,以提醒您。 这就是为什么它非常灵活:它使用OS X已有的...
Mac OS X 备份实用程序有关 Mac OS X 的更多信息和 GUI 程序,请访问: : 这个项目最初是作为一个简单的 shell 脚本包装器。 rsync 是执行备份的绝佳工具,因为它将所有文件从源位置同步到目标目录,同时保持其大...
可以从Mac终端应用程序(应用程序-> Terminal.app)运行此脚本。 python cmd-c-listener.py 或者: chmod +x cmd-c-listener.py ./cmd-c-listener.py 启动时不会产生任何输出。 您可以让程序在其自己的标签中运行
Mac Pro 2006 1,1 El Capitan升级我已经在Apple Mac Pro 1,1上完成了升级,以便准备好El Capitan(OS X 10.11)以及代码,脚本以及产品和实用程序的链接。从Spare Mac安装El Capitan 将Mac Pro启动驱动器连接到Mac。...
solc-select是一种实用程序,只需设置一个环境变量, solc-select可以运行任何旧版的Solidity。 快速开始 OS X: docker pull trailofbits/solc-select docker run --read-only -i --rm --entrypoint=
隐私服务经理一个管理实用程序,用于在Apple的Mac OS X中管理位置服务,联系人请求,可访问性和iCloud访问。内容-如何我们-您需要什么-有关安装Privacy Services Manager的说明-删除Privacy Services Manager -此...
一个简单的Shell实用程序,用于监视Mac OS X 10.7+(Lion或更高版本)上的文件系统事件。 壳牌公用事业 Watch Lion带有一个名为watchlion的实用程序脚本。 请在外壳程序提示符下键入watchlion --help ,以了解有关此...
日历同步自动将 OS X 日历事件复制到不同日历的脚本。它是什么? calendar_sync是一种实用程序,可将接下来的n天日历事件从一个日历复制到另一个日历中。 这对于保持 iCloud 和非 iCloud 日历同步很有用。这个怎么...
开发已经转移到 。Ruby / GSL,一个到GSL的Ruby接口(GNU科学库) 根据GNU自由文档许可的条款... + examples / +目录中的某些示例脚本使用软件包中包含的+ graph +实用程序来绘制结果。 GNU plotutils的Windows cygwin
永久档案一个 bash 脚本,用于通过电子邮件自动将文档归档到 Evernote,包括 Mac OS X 标签。一般注意事项我是脚本新手。 这是谷歌搜索+试错天的结果。 设计用于 Hazel ( ) 和/或 Apple 的 Automator Mutt 用于从 ...
itt是一个ruby脚本,它允许使用转义序列在流行的Mac OS X终端应用程序中设置当前选项卡的标题和/或背景颜色。 安装 gem install itt 用法 只需不带任何参数调用itt即可获得帮助 Version: 0.1.6 Sets the color and/...
实时搜索:中国十二生肖十二生肖完整列表,实时搜索:颜色名称颜色名称列表,带有实时搜索: W3C 颜色名称X11 颜色名称XKCD 颜色名称Mac OS X 蜡笔法国部门法语系的完整列表,实时搜索:衍生公式派生公式集,按类别...
界面自动更新程序(OS X) 运行此node.js实用工具,以从High Fidelity检查并自动安装对Mac版本的Interface客户端的更新。 如何使用: 如果未安装节点,请运行./bootstrap.sh以使用随附的节点二进制文件 npm安装 ...
我不告诉你如果您使用Linux或Mac OS X,安装rEFInd的最简单方法是使用refind-install脚本。该脚本自动将rEFInd的文件复制到ESP或其他目标位置,并对固件的NVRAM设置进行更改,以便rEFInd将在下次启动时启动。如果您...
-m,--mode=模式:自行设定权限模式 (像chmod),而不是rwxr-xr-x。 -o,--owner=所有者:自行设定所有者 (只适用于超级用户)。 -p,--preserve-timestamps:以<来源>文件的访问/修改时间作为相应的...