2013-04-04 19 views
7

ho due questioni che vorrei capire una soluzione per:problema con gli script postun quando si rinomina pacchetto munin

sto rinominando il pacchetto Munin 2.0 e nel file SPEC per il numero di giri devo obsoleta la pacchetti di munin originali.

Quando si sostituisce un pacchetto munin 1.x esistente come parte degli scriptlet postun di munin-node, esso rimuove l'utente munin.

postuninstall scriptlet (using /bin/sh): 
if [ $1 -eq 0 ]; then 
    /usr/sbin/userdel munin || logger -t munin/rpm "User \"munin\" could not be deleted." 
#  /usr/sbin/groupdel munin || logger -t munin/rpm "Group \"munin\" could not be deleted." 
fi 

Quando si sostituisce un pacchetto munin 2.0 esistente, il postun elimina il contenuto della directory dei plug-in.

postuninstall scriptlet (using /bin/sh): 
if [ "$1" = "0" ]; then 
    [ -d /etc/munin/plugins ] && \ 
find /etc/munin/plugins/ -maxdepth 1 -type l -print0 | \ 
    xargs -0 rm || : 
fi 

Dal yum installa il nuovo pacchetto e quindi esegue i posti per il vecchio pacchetto e $1 = 0 in entrambi i casi sarà eseguire gli script dopo i miei RPM sono stati installati. C'è un modo per aggirare questo?

risposta

0

L'unica cosa che posso pensare sarebbe un trucco in cui copi il contenuto del tuo %pre in un'altra posizione, e poi %trigger nella disinstallazione dell'altro pacchetto per rimetterli. Non è la forma migliore, ma potrebbe funzionare. Richiede anche che tu sia installato prima della disinstallazione.