% preun scriptlet (no seu caso preremove.sh) é chamado quando o pacote está sendo removido. Isso acontece mesmo durante a atualização, porque o pacote antigo está sendo removido e o novo instalado. Você pode verificar se é atualização ou não usando o valor de $1
. Está documentado, por exemplo, aqui link