>Pour ma part je continue à patcher dangereusement puisque je procède de 
>même : je lance une fois par mois les 9_Recommended patches sur mes 
>serveurs, en prenant soin quand-même de supprimer le patch sendmail du 
>fichier patch_order (on a un sendmail maison).
>L'installation de ces patches prenant entre 1/2h à plus d'une heure 
>selon les performances des machines, je ne peux difficilement envisager 
>de faire ça en single user.
>
>Quel risque exact cours-je à patcher en multi-utilisateur ? De me 
>retrouver avec un OS incohérent nécessitant une réinstallation ? (j'aime 
>bien me faire peur)
>

Pour aller + vite j'ai écrit ce script qui évite de tenter d'installer
ce qui l'est déjà.


=======
#!/bin/ksh
# install_cluster_faster :  by Christian Pélissier / ONERA
# Use this script as a faster install_cluster
# This script avoid installation attempt of already applied patchs
# Must be launched from the X_Recommanded directory (X = release)

export PATH=/usr/bin:/usr/sbin

if [ ! -f patch_order ]
then
        print "No patch_order file"
        print "You must be /tmp/2.X.Y_Recommended to extract patch"
        exit
fi

print -n "Making a new patch_order file ... "

exec 3> already_applied
exec 4> not_yet_applied

showrev -p | nawk '{ printf "%s\n", $2 }' > /tmp/recommanded.$$
#showrev -p | cut -d" " -f2 > /tmp/recommanded.$$
while read patchnum
do
    grep $patchnum /tmp/recommanded.$$ 2>/dev/null 1>&2
    if [ $? = 0 ]
    then
        print -u3 $patchnum
    else
        print -u4 $patchnum
    fi
done < patch_order

exec 3>&-
exec 4>&-

rm -f /tmp/recommanded.$$

mv patch_order patch_order.bak
mv not_yet_applied patch_order

print "done."

print -n "Removing already applied patches ... "
rm -fr `cat already_applied`
print "done."

print "Not yet applied patch are : \n"

sort patch_order | pr -7 -t -l1

print -n "Return to continue or Control-C to abort"

read input

print "Now patch cluster installation begin ... "

./install_cluster

=====
Celui ci pour afficher les patchs
=====
#!/bin/ksh
# showpatch :  by Christian Pélissier / ONERA
# A nicer output than "showrev -p"

export PATH=/usr/bin:/usr/sbin

if [ $# = 0 ]
then
        #showrev -p | nawk '{ printf "%s\n", $2 }' | sort | pr -7 -t -l1
        showrev -p | cut -d" " -f2 | sort | pr -7 -t -l1
else
        #showrev -p | nawk '{ printf "%s\n", $2 }' | grep $1
        showrev -p | cut -d" " -f2 | grep $1
fi

====


Par ailleurs j'avais ecrit  ce script qui nettoyait les sauvegardes faites
par les patchs de manière à gagner de la place dans /var. Je ne l'ai pas
utilisé depuis très longtemps.

Pensez vous qu'il soit encore utilisable.

#!/bin/sh
# Procedure a lancer pour gagner de la place dans le repertoire des patchs
# lorsque l'option -d de installpatch n'a pas ete utilisee
# Pour les patchs old style
if cd /var/sadm/patch
then
        rm -fr 1*/.oldfilessaved
        rm -fr 1*/save/*
fi
# Pour les patchs new style à partir de 2.5.1
if cd /var/sadm/pkg
then

        rm -f */save/1*/obsolete.Z
        rm -f */save/1*/obsoleted_by
        rm -f */save/1*/undo.Z
fi



--
Christian Pélissier
Office National d'Études et de Recherches Aérospatiales BP 72 92322 Chatillon
Tel: 33 1 46 73 44 19, Fax: 33 1 46 73 41 50

_______________________________________________
Solaris_fr liste de diffusion en français pour Solaris, sur toutes architectures
Solaris_fr@x86.sun.com
http://x86.sun.com/mailman/listinfo/solaris_fr

Répondre à