我有一个程序(由同事创建,从Linux移植,但成功编译在Mac上),我需要部署到大量的Mac工作站。目前我们通过推出PKG文件(不是我们创建的)这样做。

我的一般问题(其他人可能会发现有用的答案)是如何将命令行程序/脚本打包到安装程序的PKG文件中?打包.App文件的通常方法似乎足够好,但有关于拍摄任意程序并将其包装在PKG安装程序中的细节。

pkgbuild(等)的人页造成了很多假设 - 你已经用Xcode建造了一个应用程序,你打算使用.app,可以生成浮体等。我们想要做的一切是让Mac Server安装非应用程序,它想要使用PKGS。

如果解决方案是可编译的,这将是最好的,因此每次更新程序时,我们都可以轻松创建一个新的PKG文件。如果已经解释了这个过程的体面资源可以链接,当然也会很好。这里的问题:制作操作系统x安装程序包如pro - xcode开发人员id Ready pkg 与简单安装的需要不匹配一个基本的CLI程序。

有帮助吗?

解决方案

我会推荐软件包

它是脚本,所以它可以成为构建过程的一部分,为您生成一个很好的mpkg。

我们正在使用它来自动下载第三方库,然后调用make编译,以及安装编译文件。

作为一个备注,虽然这将生成mpkg,但大多数分布都是用磁盘映像完成的,所以我们也使用hdiutil创建稀疏图像,将mpkg复制到它,将它转换为压缩的只读dmg然后分发。

这个过程的一个例子是:

1)创建稀疏RW DMG文件。

hdiutil create -size 100M -type SPARSE -volname "MyInstaller" -fs HFS+ MyInstaller.dmg.sparseimage
.

2)附加到图像。注释磁盘和从输出的卷名称(例如/ dev / disk2s1和/ volumes / myinstaller)

hdiutil attach MyInstaller.dmg.sparseimage
.

3)MPKG安装程序中的副本

cp -R Packages/build/My_Packages.mpkg /Volumes/MyInstaller/
.

4)从图像中拔出。

hdiutil detach -force {mounted disk} (ex. hdiutil detach -force /dev/disk2s1)
.

5)从可写稀疏图像创建压缩只读图像。

hdiutil convert "MyInstaller.dmg.sparseimage" -format UDZO -o "MyInstaller.dmg" -ov -imagekey zlib-level=9
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top