如何在debian / install中使用环境变量

时间:2013-04-26 05:27:40

标签: debian packaging

如何在debian目录中的“install”文件中使用环境变量。

我想做这样的事情:

Resources      $HOME/somefolder

然而,这是在deb包中创建一个名为$ HOME的文件夹,而lintian正在给我一个警告:

W:file-in-unusual-dir $ HOME / somefolder

1 个答案:

答案 0 :(得分:1)

Debian软件包在系统范围内安装软件。 此外,只有超级用户才能安装包,没有普通用户。 系统通常有多个用户(我的桌面计算机有2个用户帐户,有真实世界的人,共有38个不同的用户帐户,其中大多数是特定程序的系统用户(例如以用户{{1}运行的网络服务器) })

在这种情况下www-data没有意义(其主目录?root?你的应用程序的特殊伪代理?所有用户?)。

因此,您应该重新考虑如何安装软件包:

  • 对所有用户有效的数据应该进入${HOME}(对于体系结构无关数据)或/usr/share/<myapp>(对于体系结构相关数据)。

  • 根本不应该通过软件包安装每个用户数据!如果在运行应用程序之前必须安装用户数据(例如,因为应用程序拒绝运行而没有在$ {HOME}中安装用户数据),您仍应将这些数据放在一个中心位置({ {1}}或/usr/lib/<myapp>)并创建一个安装脚本,每个用户必须在第一次启动应用程序之前运行该脚本,并将内容从中心位置复制(或符号链接)到用户的$ {家}。或者,您可以执行一个包装器,在运行实际程序之前检查数据是否存在(并最终复制/符号链接)。

您可能需要查看FileSystemHierarchyDebian Policy