Hi Alexander, On Tuesday 16 March 2004 18:29, Alexander.Gehrig@rsd.rohde-schwarz.com wrote:
I have a question about updateing the files befor installing:
At the moment the client system will be installed with autoinstall and after installation an onlineupdate starts. How can i update the files on the server, is there a procedure for this kind of action?
Nothing official, but I had a related problem for keeping my repository for setting up my firewall systems up-to-date. Here is my (very crude) script, which takes two arguments, the first being the directory where the mirror of the online update files are, and the second with the path to the directory where the (actual) repository of installation files are. I started for the latter with a simple copy of the files from the CDs. ====== #!/bin/bash #set -x #SOURCE="/mnt/ftp.suse.com/suse/i386/update/8.2/rpm" #DESTINATION="/usr/local/temp/SuSE82/suse" SOURCE=$1 DESTINATION=$2 ARCHS="i586 i686 noarch" for ARCH in $ARCHS; do cd $SOURCE/$ARCH LIST=$(rpm -qp --qf '%{NAME}\%%{VERSION}\%%{RELEASE}\n' \ *.$ARCH.rpm) ULIST=$(for ul in $(echo $LIST); do echo $ul | \ cut -f1,2 -d\%; done | sort -ui) UPDATEPACKS=$(for UPACK in $ULIST; do HIGHRELEASE=$(echo $LIST | tr " " "\n" | \ grep $UPACK | cut -f3 -d\% | \ sort -nr | head -1) echo $(echo $UPACK | cut -f1,2 -d\%)"%$HIGHRELEASE" done) for UPDS in $UPDATEPACKS; do if [ -f $DESTINATION/$ARCH/$(echo $UPDS | cut -f1,2 -d\% | \ tr \% -)-[0-9]*.$ARCH.rpm ]; then DISTVERSION=$(rpm -qp --qf '%{RELEASE}\n' \ $DESTINATION/$ARCH/$(echo $UPDS | \ cut -f1,2 -d\% | tr \% -)-[0-9]*.$ARCH.rpm) if [ $(echo $UPDS | cut -f3 -d\%) -gt $DISTVERSION ] ; then # action to copy or remove things! echo replacing $(echo $UPDS | \ cut -f1,2 -d\% | \ tr \% -)-$DISTVERSION.$ARCH.rpm \ with $(echo $UPDS | tr \% -).$ARCH.rpm # remove the old package from DESTINATION rm $DESTINATION/$ARCH/$(echo $UPDS | cut -f1,2 -d\% | \ tr \% -)-$DISTVERSION.$ARCH.rpm # copy new file from SOURCE cp $SOURCE/$ARCH/$(echo $UPDS | tr \% -).$ARCH.rpm \ $DESTINATION/$ARCH/ fi else echo No File $UPDS in DESTINATION, copying it cp $SOURCE/$ARCH/$(echo $UPDS | tr \% -).$ARCH.rpm \ $DESTINATION/$ARCH/ fi done done ======
Alexander
Stefan -- Stefan Schmidt jsj-hb at t-online dot de