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

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

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

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

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

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

附加信息:

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

答案1

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

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

相关内容