我有一个自定义构建的Debian软件包,现在可以正常安装和卸载,但有几个问题:
/etc/file.conf
存在,我不希望卸载软件包。那可能吗?我尝试将检查添加到prerm和postrm,但是无论如何,即使IF prerm和postrm脚本退出时也会删除包安装的所有文件。我猜我可能会在这些脚本中使用特定的退出代码吗?
我几次通过文档寻找答案,但似乎我没有找到正确的地方。
答案 0 :(得分:2)
我想知道如何让卸载过程检查磁盘上的文件。 假设文件/etc/file.conf存在,我不希望卸载该软件包。是 可能吗?我尝试将检查添加到prerm和postrm,但所有文件都是由>安装的。无论如何,即使IF prerm和postrm脚本退出并出现错误,包也会被删除。
prerm脚本的非零退出不会删除所有已安装的文件。
#!/bin/sh
if [ -x /etc/file.conf ]; then
echo "You shall not remove me" >&2
exit 1
fi
卸载期间,有时会打包一些目录 不要删除,因为它们不是空的。错误如下:“dpkg:warning: 删除packagename时,目录'/ opt / packagename /'不为空 没有删除。“有没有办法强制删除所有安装的文件 虽然包含内容,但是包裹?
将删除程序包安装的文件。那个警告信号 在应用程序生命周期内创建的文件。你可以使用postrm 脚本删除它们。
作为附注,包不应该把东西放进/ opt。