我尝试创建这些脚本,安装进展顺利,但是,一旦应用程序版本发生冲突并说我尝试升级到 apx v2.0,一切进展顺利。
这是我的 postinst 脚本
#!/bin/sh
set -e
chmod 755 /usr/bin/apx
chmod 755 /usr/lib/apx/apx.py
chmod -R 755 /usr/lib/apx/data/binaries
exit 0
这是我的 postrm 脚本
#!/bin/sh
set -e
U_HOME=$(getent passwd $SUDO_USER | cut -d: -f6)
LOG="/var/log/apx"
UHOME="$U_HOME/.apx"
if [ -d $LOG ]; then
rm -rf $LOG
fi
if [ -d $UHOME ]; then
rm -rf $UHOME
fi
rm -rf /usr/lib/apx
exit 0
答案1
你应该删除它们。
您postinst
只设置文件权限;这些应该在打包内容中设置,而不是在安装后脚本中设置。
您postrm
删除日志文件以及卸载用户主目录中的文件(假设使用 卸载sudo
);这两个都是明确的禁忌,主目录是维护者脚本的禁区,并且日志应该在删除(和清除)时留下。您的脚本还会删除/usr/lib/apx
另一个禁忌:dpkg
应该处理该问题。
我强烈地建议您阅读Debian 新维护者指南。