Re: uninstall Informix engine
Posted in 1997
>From: Jane Vohden <jvohden@polarnet.com> >Date: Mon, 17 Feb 1997 12:33:14 -0900 >X-Informix-List-Id: <list.13195> > > I currently have a 5.03 online engine installed in a directory with >esql/c and isql. I would like to uninstall the engine and leave the >esql/c and isql in tact. Is there a way to uninstall Informix software >without affecting other software? Thanks for any help you can give. OK, three votes will do, even if one wasn't aware that he was voting:-) Here is some software to which I referred in a message on 6th February 1997 which can be used for uninstalling Informix software, amongst other things. ixcreate -- install Informix software from pre-existing installation ixremove -- uninstall unnecessary files from existing INFORMIXDIR cpinfxdir -- create sub-directories where necessary and symlinks where possible mkinfxdir -- create INFORMIXDIR using ixcreate and separate directories for Tools and Engines. mkixcpio -- recreate cpio file corresponding to selected Informix product(s) Be careful to ensure that you have necessary backups in place before doing anything -- these tools are powerful enough to let you wreck your system if abused. Also beware that ixcreate does not create symlinks into system directories; specifically, it does not place symlinks in /usr/lib pointing to the Informix shared libraries, which can be a problem for 6.00 and later OnLine systems. You can fix the link up manually like I do. Have fun. Remember how much you paid for it, and don't expect any support from Informix if you use this -- even though I work for Informix, this is in no way supported or supportable software. That said, I use it all the time and haven't run into problems recently, but you can let me know if you do. And if you want tar archives instead of cpio archives, you can work out what it takes to eliminate all the directory names from the lists of files, but it ain't going to be pretty. I think... Yours, Jonathan Leffler (johnl@informix.com) #include <disclaimer.h> : "@(#)shar.sh 1.9" #! /bin/sh # # This is a shell archive. # Remove everything above this line and run sh on the resulting file. # If this archive is complete, you will see this message at the end: # "All files extracted" # # Created: Mon Feb 10 14:38:41 PST 1997 by johnl at Informix Software Ltd. # Files archived in this archive: # cpinfxdir # cpinfxdir.1 # mkinfxdir # mkinfxdir.1 # mkixcpio # mkixcpio.1 # ixcreate # ixcreate.1 # ixremove # ixremove.1 # #-------------------- if [ -f cpinfxdir -a "$1" != "-c" ] then echo shar: cpinfxdir already exists else echo 'x - cpinfxdir (3462 characters)' sed -e 's/^X//' >cpinfxdir <<'SHAR-EOF' X: "@(#)cpinfxdir.sh 1.2 97/01/15" X# X# Create Copy of Informix Directory X X# Purpose: X# Create a copy of some pre-existing Informix directory by creating X# as few symlinks as possible, subject to the constraint that the X# directories listed in the argument list are actually created as X# local directories, and not as symlinks. This allows, for example, X# the msg/en_us/0333 or etc directories to be created as local X# directories (which can, therefore, be modified), whereas the other X# directories (eg bin or release) are created as symlinks which will X# not, in general, be modifiable. X# X# For use in projects like NewEra. X# X# Usage: X# X# cpinfxdir [-vf] [-L local] [-R remote] [directory ...] X# X# -L specifies the (local) Informix directory to be created X# -R specifies the (remote) Informix directory to be copied X# -f specifies that the existing local directory should be removed X# -v specifies verbose output of what is happening X# X# All directory names specified are relative to $INFORMIXDIR, and X# the default list is "msg/en_us/0333 etc". For many users, a more X# appropriate default would be just etc. The primary default for X# the local directory is $INFORMIXDIR, and the primary default for X# the remote directory is $ESQLCDIR. The secondary defaults are X# weird (because they are specific to NewEra and Anubis) and their X# use is discouraged. X X: ${LOCAL:=${INFORMIXDIR:-${MAKITA:-/vobs/makita}/esqlc}} X: ${REMOTE:=${ESQLCDIR:-/anubis1/informix/7.21.UC1}} X: ${MKDIR:="mkdir -p"} X Xarg0=`basename $0 .sh` Xerror(){ X echo "$arg0: $*" 1>&2 X exit 1 X} X Xverbose=no Xforce=no Xset -- `getopt fvL:R: ${@:+"$@"}` X Xwhile [ $# -gt 0 ] Xdo X case "$1" in X --) shift; break;; X -f) force=yes;; X -v) verbose=yes;; X -L) LOCAL=$2; shift;; X -R) REMOTE=$2; shift;; X *) usage;; X esac X shift Xdone X X# Validate $REMOTE and $LOCAL Xcase "$REMOTE" in X/*) : OK;; X*) error "$REMOTE is not an absolute pathname!";; Xesac Xif [ ! -d $REMOTE ] Xthen error "$REMOTE is not a directory" Xelif [ -f $LOCAL ] Xthen error "$LOCAL is a file!" Xfi X X# Verify required directories under $REMOTE Xdirlist="${*:-msg/en_us/0333 etc}" Xfor dir in $dirlist Xdo X if [ ! -d $REMOTE/$dir ] X then error "$dir does not exist under $REMOTE" X fi X case "$dir" in X /*) error "$dir is not a relative pathname";; X esac Xdone X X# Remove (and recreate) the existing $LOCAL Xif [ $force = yes ] && [ -d ${LOCAL} ] Xthen X [ $verbose = yes ] && echo Remove $LOCAL X rm -fr ${LOCAL} X ${MKDIR} ${LOCAL} Xelif [ ! -d ${LOCAL} ] && [ -h ${LOCAL} ] Xthen X [ $verbose = yes ] && echo "Remove $LOCAL (unattached symlink)" X rm -fr ${LOCAL} X ${MKDIR} ${LOCAL} Xfi X X# Create required directories under $LOCAL Xpathlist="" Xfor dir in $dirlist Xdo X [ $verbose = yes ] && echo Mkdir $LOCAL/$dir X ${MKDIR} ${LOCAL}/$dir X pathlist="$pathlist $dir" X x=`dirname $dir` X while [ "$x" != "." ] X do pathlist="$pathlist $x" X x=`dirname $x` X done Xdone X X# Link all files and directories not already under $LOCAL to $REMOTE Xcd ${LOCAL} Xdirlist=`echo "."; for dir in $pathlist; do echo $dir ; done | sort -u` Xfor dir in $dirlist Xdo X ( X cd $dir X if [ $dir = "." ] X then x=$REMOTE X else x=$REMOTE/$dir X fi X for file in `ls $x` X do X if [ -d $file ] X then : OK X elif [ -f $file ] X then : OK X else X if [ -h $file ] X then X echo "Remove $dir/$file (unattached symlink)" X rm -f $file X fi X [ $verbose = yes ] && echo SymLink $dir/$file X ln -s $x/$file $file X fi X done X ) Xdone SHAR-EOF chmod 555 cpinfxdir if [ `wc -c <cpinfxdir` -ne 3462 ] then echo shar: cpinfxdir unpacked with wrong size fi # end of overwriting check fi #-------------------- if [ -f cpinfxdir.1 -a "$1" != "-c" ] then echo sh