Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Stand Fedora-Fr sur Paris Open Source Summit 2019

#1 18/05/2015 15:09:43

gerald06
Membre
Inscription : 01/12/2014
Messages : 14

Problème avec la partie %POSTUN

Bonjour j'ai actuellement un problème avec l'exécution de la partie dans %POSTUN dans le cas d'une désinstallation complète d'un applicatif.

Voici ce que j'ai dans le fichier .spec :

# Dans le cas d'une desinstallation de l'applicatif
%preun
if [ "$1" -eq 0 ]
then
    echo "on est dans l'etat preun = $1"
fi

%postun
echo "on est dans l'etat postun = $1"
if [ "$1" -eq 0 ]
then
    echo "On supprime le fichier de version version.ver"
    rm -f /appli2/version.ver
   
    echo "On supprime le repertoire appli2/version"
    rm -rf /appli2/version
   
fi




J'utilise YUM REMOVE pour désinstaller: c'est ce que l'on m'impose.
Voici ce que j'obtiens:
Installed size: 9.2 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing    : toto-313-00.x86_64                                                                                                                                                              1/1
on est dans l'etat preun = 0
  Verifying  : toto-313-00.x86_64                                                                                                                                                              1/1

Removed:
  toto.x86_64 0:313-00

Complete!

On voit bien que dans le résultat, la partie %POSTUN est zappée.

Par contre, si j'utilise rpm -ev toto-313-00.x86_64, on s'aperçoit qu'on rentre bien dans la partie %POSTUN:
on est dans l'etat preun = 0
on est dans l'etat postun = 0
On supprime le fichier de version version.ver
On supprime le repertoire version

Ma question est simple:
Pourquoi dans le cas de "yum remove " la partie %POSTUN n'est pas exécutée alors que dans le cas de la commande "rpm -ev ..." tout se passe pour le mieux


je vous remercie par avance de vos réponses

Hors ligne

#2 20/05/2015 16:22:33

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 7 368
Site Web

Re : Problème avec la partie %POSTUN

Je crois avoir déjà eu ça. Déjà ton POSTUN n'est pas zappé, juste le if. Ensuite peut être que $1 est "perdu" ou juste que yum intercepte la sortie standard.
Si le $1 est perdu ton if n'est pas executé
Si la sortie standard est juste intercepté, c'est ton echo qui n'apparait pas, mais le rm se fait. Ce n'est pas le cas?

Sinon pourquoi tu t'embêtes à supprimer les fichiers? S'ils sont proprement listés dans ta section %files ils seront automatiquement supprimés par yum/rpm.

Hors ligne

#3 26/05/2015 16:29:07

gerald06
Membre
Inscription : 01/12/2014
Messages : 14

Re : Problème avec la partie %POSTUN

Bonjour, merci pour ta réponse.

effectivement, après avoir fait plusieurs tests, je me suis rendu compte que la partie %POSTUN était bien exécutée par le YUM REMOVE.
Je constate que les fichiers sont biens supprimés alors que le echo n'apparait pas.
Donc en fait je n'ai pas de problème, mais le fait de ne pas voir le "echo" m'a perturbé. Alors qu'avec la commande rpm -ev j'avais bien le "echo".

Est-ce un comportement normal ou est-ce une mauvaise utilisation du %POSTUN?
Existe-t-il un moyen de faire des commentaires en phase de désinstallations?

Sinon, pour répondre à ta question "pourquoi tu t'embêtes à supprimer les fichiers? S'ils sont proprement listés dans ta section %files ils seront automatiquement supprimés".
Tu as bien raison, c'est plus simple de le faire via RPM.

J'avais adapté mon exemple pour comprendre le fonctionnement de la partie %POSTUN.

En fait, je voulais supprimer des fichiers "uniquement" en désinstallation complète qui sont créés par l'utilisateur de l'applicatif installé.
Donc, ces fichiers n’appartiennent pas au RPM mais sont issus d'actions réalisées par l'utilisateur via l'applicatif.

Hors ligne

#4 28/05/2015 16:07:56

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 7 368
Site Web

Re : Problème avec la partie %POSTUN

C'est un comportement normal, les spec de RPM déconseille l'affichage de messages. On fait confiance aux outils, car les messages ne sont pas toujours visibles (ex dans ton cas avec yum, où lors d'une installation via Anaconda par ex, bref partout où la sortie standard stdin n'est pas visible).

Pour ton problème de suppression de fichiers créés après l'installation, regarde la directive %ghost http://www.rpm.org/max-rpm-snapshot/s1- … tives.html

Dernière modification par madko (28/05/2015 16:08:48)

Hors ligne

Pied de page des forums