Revision: 68652
                            
                                                            
                                    
                                        
Initial Code
                                    
                                    
                                                            
                                    
                                        
Initial URL
                                    
                                    
                                
                                                            
                                    
                                        
Initial Description
                                    
                                    
                                                            
                                    
                                        
Initial Title
                                    
                                    
                                                            
                                    
                                        
Initial Tags
                                    
                                    
                                                            
                                    
                                        
Initial Language
                                    
                                    
                                                    
                        at February 4, 2015 22:41 by teterkin
                            
                            Initial Code
#!/bin/sh # Aix71extras.sh version 0.1 beta # Copyleft (c) 2015 - Alexander Teterkin - [email protected] # http://www.gnu.org/licenses/gpl-3.0.txt # VARS HOST=www.oss4aix.org USER=anonymous [email protected] DIR=rpmdb/deplists/aix71 DIR2=/everything/RPMS TEMPDIR=TEMP SOFTDIR=SOFT LOG=$0.log DOWNLOADS=$TEMPDIR/downloads.deps MAJORVS=""; # Files to Install: FILES=" bash-4.3-12.aix5.1.ppc gcc-4.8.3-1.aix7.1.ppc less-466-1.aix5.1.ppc mc-4.7.0.4-2.aix5.1.ppc screen-4.2.1-1.aix5.1.ppc unzip-6.0-2.aix5.1.ppc wget-1.16-1.aix5.1.ppc bzip2-1.0.5-3.aix5.3.ppc " # FUNCTIONS makecmdlist() { echo "ftp -inv $HOST << EOF"; echo "user $USER $PASS"; echo "cd $DIR"; echo "lcd $TEMPDIR"; echo "$FILES" | while read LINE; do if [ "$LINE" != "" ]; then echo "get $LINE.deps"; fi done echo "bye"; echo "EOF"; } makecmdlist2() { echo "ftp -inv $HOST << EOF"; echo "user $USER $PASS"; echo "cd $DIR2"; echo "lcd $SOFTDIR"; echo "bin"; cat $DOWNLOADS | while read LINE; do if [ "$LINE" != "" ]; then echo "get $LINE"; fi done echo "bye"; echo "EOF"; } makecmdlist3() { echo "ftp -inv $HOST << EOF"; echo "user $USER $PASS"; echo "cd $DIR2"; echo "lcd $SOFTDIR"; echo "bin"; echo "$FILES" | while read LINE; do if [ "$LINE" != "" ]; then echo "get $LINE.rpm"; fi done echo "bye"; echo "EOF"; } doline() { echo ====================== } removeduplicates() { FILELIST=`ls -1 | grep rpm`; PCKGLIST=$(echo "$FILELIST" | while read LINE; do PCKG=`echo $LINE | awk -F "[0-9]" '{ print $1 '}`; echo $PCKG; done | sort | uniq ); echo $PCKGLIST echo "$PCKGLIST" | while read LINE; do HM=`echo "$FILELIST" | grep -c ^$LINE[0-9];`; if [ "$HM" -gt 1 ]; then echo "Found duplicates: $LINE ($HM):"; doline; # It was sorted, but we sort again by the 3rd column SORTED=`echo "$FILELIST" | grep ^$LINE[0-9] | sort -t- +2 -n;`; echo "$SORTED"; MAJORV=`echo "$SORTED" | tail -1`; MAJORVS="$MAJORVS""$MAJORV\n" doline; fi done MAJORVS=`echo "$MAJORVS"| grep -v ^$`; echo echo "Major versions:" echo "$MAJORVS"; echo echo "Duplicates:"; echo "$MAJORVS" | while read LINE; do PCKG=`echo $LINE | awk -F "[0-9]" '{ print $1 '}`; DUP=`echo "$FILELIST" | grep $PCKG | grep -v "$LINE";`; echo "Moving $DUP to TEMP folder..."; mv $DUP TEMP && echo "Done."; done } # MAIN mkdir $TEMPDIR mkdir $SOFTDIR CMDS=$(makecmdlist); echo "$CMDS" > $TEMPDIR/$0.temp; sh $TEMPDIR/$0.temp cd $TEMPDIR cat *.deps | sort | uniq > ../$DOWNLOADS cd .. CMDS2=$(makecmdlist2); echo "$CMDS2" > $TEMPDIR/$0.temp2; sh $TEMPDIR/$0.temp2 CMDS3=$(makecmdlist3); echo "$CMDS3" > $TEMPDIR/$0.temp3; sh $TEMPDIR/$0.temp3 cd $SOFTDIR mkdir TEMP removeduplicates; ls -1 | grep rpm | awk -F "[0-9]" {' print $1 '} | while read LINE; do if rpm -qa | grep "$LINE" 2>&1 > /dev/null; then echo "$LINE exists. Skipping..."; else echo "Installing $LINE..."; SN=`ls -1 | grep $LINE`; rpm -Uhv $SN; fi; done cd ..
Initial URL
Initial Description
AIX does not have Package Manager like YUM for Open Source Software. So I made a script to automatically install RPM packages on AIX box by downloading it from www.oss4aix.org site via ftp . It is very first version, it does not have all the necessary checks, but I do not have too much time to polish it. Actually it works. It downloads and installs all the necessary software and it dependencies ( thanks to Michael Perzl http://www.perzl.org/aix/index.php?n=FAQs.FAQs#rpm-dependency-hell ). I saw similar thing here: http://earth2baz.net/rpmplus/ But it downloads entire Repository. I do not need that. So made my own script. Actually it is for Korn Shell wich is deffault on AIX.
Initial Title
Download and Install necessary OSS RPMs on IBM AIX box
Initial Tags
download
Initial Language
Bash