如何在debian目录中的“install”文件中使用环境变量。
我想做这样的事情:
Resources $HOME/somefolder
然而,这是在deb包中创建一个名为$ HOME的文件夹,而lintian正在给我一个警告:
W:file-in-unusual-dir $ HOME / somefolder
答案 0 :(得分:1)
Debian软件包在系统范围内安装软件。 此外,只有超级用户才能安装包,没有普通用户。 系统通常有多个用户(我的桌面计算机有2个用户帐户,有真实世界的人,共有38个不同的用户帐户,其中大多数是特定程序的系统用户(例如以用户{{1}运行的网络服务器) })
在这种情况下www-data
没有意义(其主目录?root?你的应用程序的特殊伪代理?所有用户?)。
因此,您应该重新考虑如何安装软件包:
对所有用户有效的数据应该进入${HOME}
(对于体系结构无关数据)或/usr/share/<myapp>
(对于体系结构相关数据)。
根本不应该通过软件包安装每个用户数据!如果在运行应用程序之前必须安装用户数据(例如,因为应用程序拒绝运行而没有在$ {HOME}中安装用户数据),您仍应将这些数据放在一个中心位置({ {1}}或/usr/lib/<myapp>
)并创建一个安装脚本,每个用户必须在第一次启动应用程序之前运行该脚本,并将内容从中心位置复制(或符号链接)到用户的$ {家}。或者,您可以执行一个包装器,在运行实际程序之前检查数据是否存在(并最终复制/符号链接)。
您可能需要查看FileSystemHierarchy和Debian Policy。