2011-10-13 65 views
1

我有一个pkg文件,可以在使用UI启动时更改安装目录,但安装程序的联机帮助页只提及要安装的目标驱动器。OSX安装程序更改安装目录

调用安装程序时是否有一个environement变量设置?

关于目标的选项,从安装程序的帮助:

The -target <device> parameter is any one of the following: 

(1) One of the domains returned by -dominfo. 
(2) Device node entry. Any entry of the form of /dev/disk*. 
     ex: /dev/disk2 
(3) The disk identifier. Any entry of the form of disk*. ex: disk1s9 
(4) Volume mount point. Any entry of the form of /Volumes/Mountpoint. 
     ex: /Volumes/Untitled 
(5) Volume UUID. ex: 376C4046-083E-334F-AF08-62FAFBC4E352 

所以目标是一个“硬盘”,而不是应安装在pkg“根路径”。

回答

1

你的问题还不是很清楚:如果你从GUI运行安装程序,并且只有一个驱动提供给安装,那么你不能以简单的方式更改它(意思是说:你必须对安装程序包进行更改安装在默认情况下提供的不同位置)。因为你使用的是“cli”-Tag(命令行界面),我想你试图在GUI上运行安装程序,而不是从终端运行安装程序。您有更多选择:使用-target选项,您可以为安装程序设置安装路径。从上-target选项的人的页面

信息:

目标体积与-target参数指定(-tgt是 接受为同义词)。当调用安装程序 命令时,它必须已安装。

有关如何从终端(cli)运行安装程序的其他信息,请参阅我的blog

+0

对于目标参数,请考虑我想要安装在目标上/但在目录/ opt中,而不是在软件包中默认指定的目录中。 –

+0

我不明白你的最后一个问题:用-tgt选项你可以定义另一个目标。这不会改变定义为绝对路径的前后脚本的目标。 – Erik

+0

将编辑问题,而不是 –

1

大多数包管理器的选项包括重新定位(即,改变安装路径)一个包,上rpm有选项-relocate,在OS X上,命令行工具installer有权选择-target基于RPM的Linux系统。

然而,正如你已经注意到了,你不能(见man installer)指定为参数的任意路径-target,因为你将与rpm的做-relocate

的参数-target限于:

  1. 卷安装点(/Volumes/HDD),设备节点(/dev/disk0s5)或体积UUID(376C4046-083E-334F-AF08-62FAFBC4E352)。

  2. 例如,由-dominfo(如LocalSystemCurrentUserHomeDirectory)返回的任何值。

你写:

我有一个PKG文件中,当 使用UI

如果是这样的情况下推出的,我可以更改安装目录,这些信息可以大概被询问为-dominfo像这样:

installer -verbose -dominfo -pkg <path to your package> 

,可以通过命令行安装时使用:

installer -pkg <path to your package> -target <dominfo as listed above> 

(我质疑的几个pkg文件,而所有NoDomainsAvailable,所以不能共享任何经验)

请记住,虽然,您不能任意重新定位pkg文件。原因是包中包含的配置文件,二进制文件和库通常指定或依赖于绝对路径。

包构建器必须积极将这些转换为相对路径(使用安装后脚本和技术,如@rpath)。所以,一般来说,你只能重新安置一个已经重新安置的包装,因为这个包装是

+0

这不是我需要的目标磁盘,而是安装路径。 –

+0

我知道,你想指定你想安装一个软件包,比如说,/ opt而不是/。我发现的是,你不能用'installer'来做到这一点:你只能用选项'-dominfo'指定一个磁盘或一个模糊的参数。我想后者,如果软件包支持重定位,就像在你的问题中那样,是一个使用的。我在AskDifferent上回答类似的问题时遇到了您的帖子:http://apple.stackexchange.com/questions/84270/how-to-install-framework-from-pkg-file-in-a-non-standard-location并且您可以找到更多关于重新部署的限制的信息。 – jaume