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

如何在debian/install中使用环境变量,debian,packaging,Debian,Packaging,如何在debian目录的“install”文件中使用环境变量。 我想这样做: Resources $HOME/somefolder 然而,这在deb包中创建了一个名为$HOME的文件夹,林寻给了我一个警告: W:文件在$HOME/somefolder中Debian软件包在系统范围内安装软件。 此外,只有超级用户才能安装软件包,普通用户无法安装。 一个系统通常有多个用户(我的桌面计算机有两个真实世界的用户帐户,总共有38个不同的用户帐户,其中大多数是特定程序的系统用户(例如,作为用户运

如何在debian目录的“install”文件中使用环境变量。 我想这样做:

Resources      $HOME/somefolder
然而,这在deb包中创建了一个名为$HOME的文件夹,林寻给了我一个警告:


W:文件在$HOME/somefolder中

Debian软件包在系统范围内安装软件。 此外,只有超级用户才能安装软件包,普通用户无法安装。 一个系统通常有多个用户(我的桌面计算机有两个真实世界的用户帐户,总共有38个不同的用户帐户,其中大多数是特定程序的系统用户(例如,作为用户运行的Web服务器
www data

在此上下文中,
${HOME}
没有意义(谁的主目录?root?应用程序的特殊伪用户?所有用户?)

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

  • 对所有用户有效的数据应进入
    /usr/share/
    (对于体系结构无关数据)或
    /usr/lib/
    (对于体系结构相关数据)

  • 软件包根本不应安装每个用户的数据!如果在运行应用程序之前绝对有必要安装用户数据(例如,由于应用程序将拒绝运行,而没有在${HOME}中的某个位置安装用户数据),则仍应将该数据放在中心位置(
    /usr/share
    /usr/lib
    )并创建一个安装脚本,每个用户在第一次启动应用程序之前都必须运行该脚本,该脚本将把内容从中心位置复制(或符号链接)到用户的${HOME}。或者,您可以做一个包装,检查数据是否在那里(并最终复制/符号链接)然后再运行真正的程序

您可能想看看和