在卸载时删除 deb 安装程序期间创建的快捷方式

在卸载时删除 deb 安装程序期间创建的快捷方式

在 deb 包中,我创建了应用程序的桌面快捷方式

blah.postinst:

#!/bin/sh
cp /usr/share/applications/blah.desktop ~/Desktop/
chmod 777 ~/Desktop/blah.desktop

使用dpkg -r mypackage.deb将删除所有内容,撤消所有操作...但保留此桌面快捷方式。

我以为 postrm 脚本可以做到这一点,尝试过

blah.postrm

#!/bin/sh    
rm ~/Desktop/blah.desktop

但是现在安装程序失败!!!试图删除不存在的项目。

Purging configuration files for blah...
rm: cannot remove `/home/me/Desktop/blah.desktop': No such file or directory
dpkg: error processing blah(--purge):
 subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
 blah

如何/为什么?如何在卸载过程中删除快捷方式?

答案1

在尝试在 POSTRM 脚本中删除文件之前,如何添加条件来检查文件是否存在?

这应该可以让它dpkg顺利完成工作,而不会因为文件不存在而失败。

相关内容