On Wed, Mar 21, 2012 at 12:07:34PM +0100, Klaus Becker wrote:
Ich habe ehrlich gesagt schon daran gedacht mit Hilfe von RPM-Abfragen über Skripte eine Datenbank aufzubauen, um immerhin einmal zu sehen, wo die Unterschiede bei den Installationen liegen. Aber irgendwie kann ich nicht glauben, dass noch niemand sowas programmiert hat, was ich brauchen würde.
Scheinbar ist dem aber so. Ich weiß gar nicht, was aus Zenworks geworden ist. Aber es läßt sich relativ leicht skripten: zypper bietet sich an, mit Auswertung der Return-Codes. Ich bin gerade dabei, mir sowas zu basteln, hier mein erster kümmerlicher Versuch, der weiter entwickelt werden möchte: #!/bin/sh # # patch.sh # export LANG=C zypper -q patch-check >/dev/null ZYPPER_EXIT=$? if [ $ZYPPER_EXIT -ne 0 ] ; then if [ $ZYPPER_EXIT -eq 100 ] ; then echo "non-critical updates pending" zypper --non-interactive patch fi if [ $ZYPPER_EXIT -eq 101 ] ; then echo "security updates pending" zypper --non-interactive patch ZYPPER_EXIT=$? case $ZYPPER_EXIT in 103) # we need to run zypper once again, but only once echo "need to run zypper -q --non-interactive patch" ZYPPER_EXIT=$? if [ ZYPPER_EXIT -eq 102 ] ; then # reboot required echo "reboot required" fi ;; 102) zypper --non-interactive patch ZYPPER_EXIT=$? case $ZYPPER_EXIT in 103) # we need to run zypper once again, but only once echo "need to run zypper -q --non-interactive patch" ZYPPER_EXIT=$? if [ ZYPPER_EXIT -eq 102 ] ; then # reboot required echo "reboot required" fi ;; 102) # reboot required echo "reboot required" ;; *) echo "all patches have been installed" esac fi else echo "nothing to do" exit 0 fi Das soll dann von einem zentralen Rechner per scp und key-auth auf die Clients geschoben und dort ausgeführt werden. Das ganze mit einer forkenden Shell, etwa pdsh, etwa so: #!/bin/sh export MAILTO=nobody@example.org pdsh -w - -R ssh '/root/bin/patch.sh' < /root/bin/hoststopatch.txt In hoststopatch stehen dann die Hosts - Überraschung ;-) Doch Achtung: Ich habe es noch nicht rennen lassen, da muß noch viel getestet und sicherlich verbessert werden. Verbesserungen sind natürlich willkommen. Rainer -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org