sbt 本地打包器和应用程序可写目录

sbt native packager and app writable directory

使用 sbt-native-packager 插件,获得应用程序可写目录的最佳方法是什么?在我的配置中,我使用 enablePlugins(JavaServerAppPackaging, SystemdPlugin, DebianPlugin, UniversalPlugin) 并且一切正常,除了我的应用程序需要为自己的功能编写一些文件,在 /usr/share/package-name/ 下听起来不对,但后来我想知道在哪里以及如何最好地做到这一点,另外,如果我应该使用 debain postinst 脚本尝试从通用插件的映射中更改目录权限。

在 linux 发行版中添加新的可写目录意味着将映射添加到 linuxPackageMappings (documentation).

linuxPackageMappings += packageTemplateMapping(
  s"/opt/${(packageName in Linux).value}"
)().withUser((daemonUser in Linux).value)
   .withGroup((daemonGroup in Linux).value)
   .withPerms("755")

您可以使用用于 JavaServerApp plugin.

的旧 sbt 语法看到这一点

注意:您应该/usr/share/<packageName>目录设置为可写。它包含可执行文件和配置文件,并且只能由 root 用户修改。

干杯, 向