我正在创建一个 debian 软件包,我想知道是否有一种安全的方法来修改系统文件。例如,当postinst
执行时,我想编辑/etc/login.defs
以更改设置。我可以使用 sed 来执行此操作,这样可以保持文件的其余部分完好无损。
我想让这一切变得完全可逆,但我不确定 Debian 软件包在这种情况下通常会做什么。他们只是创建一个名为类似 的备份吗/etc/file.conf.backup
?
答案1
包不应该修改属于其他包的文件。
看http://www.debian.org/doc/debian-policy/ch-files.html在 10.7.4
您不能直接编辑属于另一个包的配置文件。如果该包支持 conf.d 目录,您可以将自己的配置文件放入其中。
如果 conffile 来源包没有提供任何工具来编辑它,您应该向 debian-devel 邮件列表询问该问题。
答案2
我认为dpkg-divert
这可能是解决我的问题的一个好方法:http://www.debian.org/doc/debian-policy/ap-pkg-diversions.html