#!/bin/bash # set variables exec < /dev/tty6 > /dev/tty6 chvt 6 #system-wide variables unid=$(echo ` /tmp/c5-partitioning.cfg echo clearpart --all --drives=$short --initlabel >> /tmp/c5-partitioning.cfg echo part /boot --fstype ext3 --size=100 --ondisk=$short --asprimary >> /tmp/c5-partitioning.cfg echo part swap --recommended --ondisk=$short --asprimary >> /tmp/c5-partitioning.cfg echo part pv.0 --size=1 --grow --ondisk=$short --asprimary >> /tmp/c5-partitioning.cfg echo volgroup sys-$unid pv.0 >> /tmp/c5-partitioning.cfg echo logvol /var/tmp --vgname=sys-$unid --name=vartmp --size=2048 >> /tmp/c5-partitioning.cfg echo logvol /tmp --vgname=sys-$unid --name=tmp --size=2048 >> /tmp/c5-partitioning.cfg echo logvol / --vgname=sys-$unid --name=root --size=1 --grow >> /tmp/c5-partitioning.cfg #2. Standard Layout (w/ LVM & Software RAID-1) elif [[ "$hdselect" == "2" ]]; then if [[ "short" == "sda" ]]; then shortone="sda" shorttwo="sdb" fi sleep 1 echo clearpart --all --drives=$shortone,$shorttwo --initlabel > /tmp/c5-partitioning.cfg echo part raid.00 --size=100 --ondisk=$shortone --asprimary >> /tmp/c5-partitioning.cfg echo part raid.01 --size=100 --ondisk=$shorttwo --asprimary >> /tmp/c5-partitioning.cfg echo raid /boot --level=1 --device=md0 raid.00 raid.01 >> /tmp/c5-partitioning.cfg echo part raid.10 --size=4096 --ondisk=$shortone --asprimary >> /tmp/c5-partitioning.cfg echo part raid.11 --size=4096 --ondisk=$shorttwo --asprimary >> /tmp/c5-partitioning.cfg echo raid swap --level=1 --device=md1 raid.10 raid.11 >> /tmp/c5-partitioning.cfg echo part raid.20 --size=1 --grow --ondisk=$shortone --asprimary >> /tmp/c5-partitioning.cfg echo part raid.21 --size=1 --grow --ondisk=$shorttwo --asprimary >> /tmp/c5-partitioning.cfg echo raid pv.0 --level=1 --device=md2 raid.20 raid.21 >> /tmp/c5-partitioning.cfg echo volgroup sys-$unid pv.0 >> /tmp/c5-partitioning.cfg echo logvol /var/tmp --vgname=sys-$unid --name=vartmp --size=2048 >> /tmp/c5-partitioning.cfg echo logvol /tmp --vgname=sys-$unid --name=tmp --size=2048 >> /tmp/c5-partitioning.cfg echo logvol / --vgname=sys-$unid --name=root --size=1 --grow >> /tmp/c5-partitioning.cfg #3. Standard Layout (w/o LVM & Software RAID-1) elif [[ "$hdselect" == "3" ]]; then if [[ "short" == "sda" ]]; then shortone="sda" shorttwo="sdb" fi sleep 1 echo clearpart --all --drives=$shortone,$shorttwo --initlabel > /tmp/c5-partitioning.cfg echo part raid.00 --size=100 --ondisk=$shortone --asprimary >> /tmp/c5-partitioning.cfg echo part raid.01 --size=100 --ondisk=$shorttwo --asprimary >> /tmp/c5-partitioning.cfg echo raid /boot --level=1 --device=md0 raid.00 raid.01 >> /tmp/c5-partitioning.cfg echo part raid.10 --size=4096 --ondisk=$shortone --asprimary >> /tmp/c5-partitioning.cfg echo part raid.11 --size=4096 --ondisk=$shorttwo --asprimary >> /tmp/c5-partitioning.cfg echo raid swap --level=1 --device=md1 raid.10 raid.11 >> /tmp/c5-partitioning.cfg echo part raid.20 --size=1 --grow --ondisk=$shortone --asprimary >> /tmp/c5-partitioning.cfg echo part raid.21 --size=1 --grow --ondisk=$shorttwo --asprimary >> /tmp/c5-partitioning.cfg echo raid / --level=1 --device=md2 raid.20 raid.21 >> /tmp/c5-partitioning.cfg echo part raid.30 --size=2048 --ondisk=$shortone >> /tmp/c5-partitioning.cfg echo part raid.31 --size=2048 --ondisk=$shorttwo >> /tmp/c5-partitioning.cfg echo raid /var/tmp --level=1 --device=md3 raid.30 raid.31 >> /tmp/c5-partitioning.cfg echo part raid.40 --size=2048 --ondisk=$shortone >> /tmp/c5-partitioning.cfg echo part raid.41 --size=2048 --ondisk=$shorttwo >> /tmp/c5-partitioning.cfg echo raid /tmp --level=1 --device=md4 raid.40 raid.41 >> /tmp/c5-partitioning.cfg #4. Single Partition Layout elif [[ "$hdselect" == "4" ]]; then sleep 1 echo ignoredisk --drives=[sdb,sdc,sdd,sde,sdf,sdg,hdb,hdc,hdd,hde,hdf,hdg] > /tmp/c5-partitioning.cfg echo clearpart --all --drives=$short --initlabel >> /tmp/c5-partitioning.cfg echo part / --fstype ext3 --size=1 --ondisk=$short --grow --asprimary >> /tmp/c5-partitioning.cfg echo part swap --recommended --ondisk=$short --asprimary >> /tmp/c5-partitioning.cfg #5. Single Partition Layout (Software RAID-1) elif [[ "$hdselect" == "5" ]]; then if [[ "short" == "sda" ]]; then shortone="sda" shorttwo="sdb" fi sleep 1 echo ignoredisk --drives=[sdb,sdc,sdd,sde,sdf,sdg,hdb,hdc,hdd,hde,hdf,hdg] > /tmp/c5-partitioning.cfg echo clearpart --all --drives=$short --initlabel >> /tmp/c5-partitioning.cfg echo part raid.00 --size=1 --grow --ondisk=$shortone --asprimary >> /tmp/c5-partitioning.cfg echo part raid.01 --size=1 --grow --ondisk=$shorttwo --asprimary >> /tmp/c5-partitioning.cfg echo raid / --level=1 --device=md1 raid.00 raid.01 >> /tmp/c5-partitioning.cfg echo part raid.10 --size=4096 --ondisk=$shortone --asprimary >> /tmp/c5-partitioning.cfg echo part raid.11 --size=4096 --ondisk=$shorttwo --asprimary >> /tmp/c5-partitioning.cfg echo raid swap --level=1 --device=md2 raid.10 raid.11 >> /tmp/c5-partitioning.cfg #6. Custom Partition Layout (w/o LVM) elif [[ "$hdselect" == "6" ]]; then echo "Enter your custom drive config for a partition of 4GB for /home, enter: /home 4096 for a swap partition of 8GB, enter: swap 8192 to specify a partition to the end of the disk, enter -1 such as: / -1 end a '.' to say you are done" read -d. PARTS echo "$PARTS" > /tmp/parts while IFS=" " read part size; do if [[ "$part" = "/boot" ]]; then echo part /boot --fstype ext3 --size=$size --ondisk=$short --asprimary >> /tmp/c5-partitioning.cfg elif [[ "$part" = "swap" ]]; then echo part swap --size=$size --ondisk=$short --asprimary >> /tmp/c5-partitioning.cfg elif [[ "$size" = "-1" ]]; then echo part $part --fstype ext3 --size=1 --grow --ondisk=$short >> /tmp/c5-partitioning.cfg else echo part $part --size=$size --ondisk=$short >> /tmp/c5-partitioning.cfg fi done < /tmp/parts #7. Custom Partition Layout (w/ LVM) elif [[ "$hdselect" == "7" ]]; then echo "Enter your custom drive config for a partition of 4GB for /home, enter: /home 4096 for a swap partition of 8GB, enter: swap 8192 to specify a partition to the end of the disk, enter -1 such as: / -1 end a '.' to say you are done" read -d. PARTS echo "$PARTS" > /tmp/parts echo raid pv.0 --size=1 --grow --ondisk=$short --asprimary >> /tmp/c5-partitioning.cfg echo volgroup sys-$unid pv.0 >> /tmp/c5-partitioning.cfg while IFS=" " read part size; do if [[ "$part" = "/boot" ]]; then echo part /boot --fstype ext3 --size=$size --ondisk=$short --asprimary >> /tmp/c5-partitioning.cfg elif [[ "$part" = "swap" ]]; then echo part swap --size=$size --ondisk=$short --asprimary >> /tmp/c5-partitioning.cfg elif [[ "$part" = "/" && "$size" = "-1" ]]; then echo logvol $part --vgname=sys-$unid --name=root --size=1 --grow >> /tmp/c5-partitioning.cfg elif [[ "$part" = "/" ]]; then echo logvol $part --vgname=sys-$unid --name=root --size=$size >> /tmp/c5-partitioning.cfg elif [[ "$size" = "-1" ]]; then name=`echo $part|tr -d /` echo logvol $part --vgname=sys-$unid --name=$name --size=1 --grow >> /tmp/c5-partitioning.cfg else name=`echo $part|tr -d /` echo logvol $part --vgname=sys-$unid --name=$name --size=$size >> /tmp/c5-partitioning.cfg fi done < /tmp/parts #8. Custom Partition Layout (w/ LVM * Software RAID-1) elif [[ "$hdselect" == "9" ]]; then if [[ "short" == "sda" ]]; then shortone="sda" shorttwo="sdb" fi sleep 1 echo "Enter your custom drive config for a partition of 4GB for /home, enter: /home 4096 for a swap partition of 8GB, enter: swap 8192 to specify a partition to the end of the disk, enter -1 such as: / -1 end a '.' to say you are done" read -d. PARTS echo "$PARTS" > /tmp/parts echo clearpart --all --drives=$shortone,$shorttwo --initlabel >> /tmp/c5-partitioning.cfg echo part raid.20 --size=1 --grow --ondisk=$shortone --asprimary >> /tmp/c5-partitioning.cfg echo part raid.21 --size=1 --grow --ondisk=$shorttwo --asprimary >> /tmp/c5-partitioning.cfg echo raid pv.0 --level=1 --device=md2 raid.20 raid.21 >> /tmp/c5-partitioning.cfg echo volgroup sys-$unid pv.0 >> /tmp/c5-partitioning.cfg >> /tmp/c5-partitioning.cfg while IFS=" " read part size; do if [[ "$part" = "/boot" ]]; then echo part raid.00 --size=$size --ondisk=$shortone --asprimary >> /tmp/c5-partitioning.cfg echo part raid.01 --size=$size --ondisk=$shorttwo --asprimary >> /tmp/c5-partitioning.cfg echo raid /boot --level=1 --device=md0 raid.00 raid.01 >> /tmp/c5-partitioning.cfg elif [[ "$part" = "swap" ]]; then echo part raid.10 --size=$size --ondisk=$shortone --asprimary >> /tmp/c5-partitioning.cfg echo part raid.11 --size=$size --ondisk=$shorttwo --asprimary >> /tmp/c5-partitioning.cfg echo raid swap --level=1 --device=md1 raid.10 raid.11 >> /tmp/c5-partitioning.cfg elif [[ "$part" = "/" && "$size" = "-1" ]]; then echo logvol $part --vgname=sys-$unid --name=root --size=1 --grow >> /tmp/c5-partitioning.cfg elif [[ "$part" = "/" ]]; then echo logvol $part --vgname=sys-$unid --name=root --size=$size >> /tmp/c5-partitioning.cfg elif [[ "$size" = "-1" ]]; then name=`echo $part|tr -d /` echo logvol $part --vgname=sys-$unid --name=$name --size=1 --grow >> /tmp/c5-partitioning.cfg else name=`echo $part|tr -d /` echo logvol $part --vgname=sys-$unid --name=$name --size=$size >> /tmp/c5-partitioning.cfg fi done < /tmp/parts fi echo " " #get $BRAND echo "Please choose the brand for this server" echo "1) Secured Servers 2) Cavecreek 3) ECSuite" select BRAND in securedservers.com cavecreek.net ecsuitehosting.com; do echo "You selected $BRAND" break; done echo $BRAND > /tmp/myvar-brand #get $HOSTNAME echo "Please enter the portion before the brand" read -p "Hostname: " HOSTNAME echo $HOSTNAME > /tmp/myvar-hostname if [[ "$BRAND" == "securedservers.com" ]]; then if [ `uname -i` == "i386" ]; then wget -q http://192.168.200.2/ks/include/c5-packages-ssbase.cfg -O /tmp/packages.cfg elif [ `uname -i` == "x86_64" ]; then wget -q http://192.168.200.2/ks/include/c5-64-packages-ssbase.cfg -O /tmp/packages.cfg fi echo "Would you like to add a new user(y/n)?" read -p "New User?" if [[ "$REPLY" == [yY] ]]; then #get $USER echo "Enter inital username, this will be the default user for the server" read -p "Username: " USER echo $USER > /tmp/myvar-user #get $PASSWD echo "Enter the initial user's password" read -p "Password: " PASSWD echo $PASSWD > /tmp/myvar-passwd else touch /tmp/myvar-rootonly fi else if [ `uname -i` == "i386" ]; then wget -q http://192.168.200.2/ks/include/c5-packages.cfg -O /tmp/packages.cfg elif [ `uname -i` == "x86_64" ]; then wget -q http://192.168.200.2/ks/include/c5-64-packages.cfg -O /tmp/packages.cfg fi echo vision > /tmp/myvar-user echo "5ty6%TY^" > /tmp/myvar-passwd fi #get $FE_IP_NETWORK echo "Please enter the Frontend IP range in CIDR notation, e.g. 192.168.0.0/29" read -p "Frontend IP Network: " FE_IP_NETWORK echo $FE_IP_NETWORK > /tmp/myvar-fe_ip_network #get $BE_IP echo "Please enter the single backend IP that will be assigned to this box" read -p "Backend IP: " BE_IP echo $BE_IP > /tmp/myvar-be_ip #get $FE_NET_SPEED echo "Please enter the frontend port speed for this server (10/100/1000)" read -p "Port Speed 10/100/1000: " FE_NET_SPEED echo $FE_NET_SPEED > /tmp/myvar-fe_net_speed chvt 1