[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [cobalt-security] Best way to patch restored raq4r?



On Monday 16 December 2002 08:35 am, Greg O'Lone wrote:
>
> This is the script we use. Make sure it's in the same directory as your
> .pkg files and that they are named so that they list in the order you
> want them to install (we prefix our .pkg files with 01_, 02_, 03_, ...).
> This system uses the cobalt installer system so the uninstallers should
> all work correctly. The script will print each package name to the
> screen as the install begins, including any messages that it returns. If
> an install fails for some reason, the script will exit with an error.

Here is a "variation" on that script that will use a file you create with the 
packages in the order you want them installed - and does not remove the 
packages after install (so you can run from /home/packages and leave them 
there).

Larry Smith
SysAd ECSIS.NET
sysad@xxxxxxxxx

++++++++++++++++++++++++++++++++++++++++++++++++
#!/bin/sh
#
# RaQ Package Installer
#
## Recommend installing as pkginstaller.sh
## in directory /usr/local/bin
## and make the mode 750 (chmod 750 pkginstaller.sh)
##
## Installs all packages in the current folder
## in the order they are listed in the <file>
## that is given as the arguement to this program
##
## DOES NOT REMOVE PACKAGES AFTER INSTALL !!!
##
## Create a file of all the packages (ls > filename)
## then sort this file in the order that you want
## the packages installed and call the script with
## that filename as an arguement...
## EG:
## cd /home/packages
## ls > installfile
## pico installfile (and put files in install order)
## pkginstaller.sh installfile
## /sbin/reboot (highly recommended)
##

if [ "x$1" = "x" ]
	then
	echo "Usage: $0 <file>"
	echo "Where <file> is the list of packages to install"
	echo "  in the order you want them installed..."
	echo "  One package name per line"
	echo ""
	exit 0
fi

if [ -f "$1" ]
	then
	echo "Reading $1 for list of packages to install"
	echo "Please be patient, I am slow"
else
	echo "ERROR: cannot read $1 for package list"
	echo "Please check file and try again..."
	exit 1
fi

for package in `cat $1`
do
    echo "Trying $package ...\c"
    if [ -r $package ]
    	then
    	/usr/local/sbin/cobalt_upgrade $package
    	if [ $? != 0 ]; then
        	echo "Error installing package $package"
        	exit 1
    	else
        	echo "$package: Installed."
	### Uncomment following line to remove pkg after install
        	### rm $package ####
    	fi
    else
    	echo "ERROR: cannot find $package"
	echo "Please check your file list and run this"
	echo "program from inside the directory where the"
	echo "install files reside/exist"
	exit 1
    fi
done

echo "Please think about REBOOTING this server now"
echo " to ensure everything is working correctly"
echo ""
exit
#### END SCRIPT CUT THIS LINE ###
####