>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