Debian 包装中的 RPM“ghost”指令等效吗?

And*_*ich 7 debian package-management

所以我使用了 RPM(Redhat 包管理器),它有一个叫做 ghost files 的功能。这种类型的文件指定一个属于包的文件,但不一定通过安装过程安装(对于程序运行后生成的文件很有用)。有关 RPM 中的 ghost 指令的更多信息,请参见以下链接

http://www.rpm.org/max-rpm-snapshot/s1-rpm-inside-files-list-directives.html

到目前为止,我发现在 .deb 包中近似幽灵行为的唯一方法是触摸所需的文件并将其指定为 debian/conffiles 文件中的配置文件。这样它就归包所有,但不会在每次安装新版本时更新。

我想知道的是,在 debian 包管理器中是否有更官方的等价于这种行为,主要是看 Ubuntu。我正在使用debuild构建包。任何帮助或建议将不胜感激。

附加信息:

我需要完成的是让包管理器知道程序在运行时可能会创建哪些文件。安装新版本时不应更新这些文件,并且在删除软件包时不应删除这些文件。只有在清除包期间才能删除这些文件。

cas*_*sey 3

使用conffiles不是正确的方法,主要是因为当您的软件包更新时,系统将提示用户是保留旧的“配置”文件还是接受新的软件包版本。

我想到的替代方案是在postrm脚本中清理这些文件,这将允许您的软件包完全干净地卸载,但不会将该文件标记为您的软件包所拥有。您可能可以使用preinst脚本来初始安装该文件,以便软件包知道它拥有该文件并进行设置preinst,并且postrm仅在初始安装和最终删除时执行操作(而不是在升级期间的删除/安装步骤中执行操作)。