我有一个命令行应用程序(不是 .app 包),一个可执行文件。它从例如运行usr/bin/myapp
。mac 中的所有用户都应该可以访问它。它是一个 LaunchDaemon 并以root
用户身份运行。如果我把它放在里面,usr/bin
它工作正常。
当用户安装应用程序时,pkgbuild
将文件复制到/usr/bin
并postinstall
脚本启动 LaunchDaemon。
该应用程序取决于nss
库。所以现在我需要将 nss 二进制文件和 dylib 文件复制到某个usr/bin/lib/nss
文件夹中。是否可以使用pkgbuild
或preinstall
脚本?由于pkgbuild --install-location
设置为/usr/bin
将复制到myapp
那里,但是如何将 nss 文件夹复制到usr/lib
?
另一种选择是制作一个完整的文件夹结构/usr/bin/MyApp
并将我的myapp
二进制文件复制到那里并将文件保存nss
在/usr/bin/MyApp/nss
文件夹中。但这是个好主意吗?
或者我应该将文件结构设置为/usr/local/MyApp
?以 root 用户身份运行 myapp LaunchDaemon 的最佳位置是哪个?
/usr/local
还是usr/bin
其他地方?