![Como posso criar um script debian postinst e postrm adequado?](https://rvso.com/image/109254/Como%20posso%20criar%20um%20script%20debian%20postinst%20e%20postrm%20adequado%3F.png)
Eu tentei criar esses scripts, a instalação correu bem, porém, uma vez que a versão do aplicativo é alterada e digo que tento atualizar para o apx v2.0, nada dá certo.
Este é o meu script 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
este é o meu script 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
Responder1
Você deve excluí-los.
Você postinst
apenas define permissões de arquivo; eles devem ser definidos no conteúdo do pacote, não em um script pós-instalação.
Você postrm
exclui arquivos de log e arquivos dentro do diretório inicial do usuário que está desinstalando (assumindo que ele foi desinstalado usando sudo
); ambos são definitivamente proibidos, os diretórios iniciais estão fora dos limites para scripts de mantenedor e os logs devem ser deixados para trás na remoção (e eliminação). Seu script também exclui, /usr/lib/apx
o que é outra proibição: dpkg
é suposto lidar com isso.
EUfortementerecomendo que você leia oGuia para novos mantenedores do Debian.