我有一个Debian软件包,必须更新一些文件。卸载Debian软件包后,这些文件将存在。当我打电话给 apt-get remove 时,我想将它们与我的包一起删除。
如果我将更新的文件添加到
/var/lib/dpkg/info/<package>.list
他们将被删除。
更新 我将使用
删除postrm.debhelper脚本中的文件夹rm -rf文件夹
但感觉不对。 ;)
答案 0 :(得分:3)
首先,我会说这听起来像是一个包有点不正确的行为,删除安装前存在的卸载文件,我强烈建议不要在包中使用的任何类型的东西。普通大众。但是,如果它是供私人使用的,并且相关人员了解它的作用,那应该没问题。
删除prerm或postrm中的文件听起来像是最好的答案。但请确保您无条件执行rm
; prerm和postrm可以在除总包去除之外的几种情况下调用。
postrm优于prerm,除非你想完全确定在之前删除文件,否则将从文件系统中删除包的内容。
在一个帖子中,我建议做一些像
这样的事情case "$1" in
purge|disappear)
rm -rf $your_folder
esac
您可以将remove
添加到purge
和disappear
,如果您希望删除文件,即使包裹已被删除&#34;而不是&#34;清除&#34; (&#34;删除&#34;表示将保留软件包的配置文件;这通常意味着稍后可能再次安装软件包。)
也会在正常的软件包升级时调用postrm,或者在升级或初始安装失败时调用postrm(操作upgrade
,failed-upgrade
,abort-install
和abort-upgrade
) 。有关如何以及何时使用这些策略的详细说明,请参阅Debian Policy。在这些情况下,你几乎肯定不想执行rm
。