#!/bin/sh # # Create bootstrap information files -- prelude to creating a # Bacula Rescue data for USB key # # Kern Sibbald, December MMII # This source distributed under the GPLv2 # #find out on which device is the usb key if [ -f ../../../scripts/nozen ]; then DIALOG=dialog else DIALOG=Xdialog fi cd .. one=1 etherdone=0 none=" " usbdev=`blkid|grep bs-rescue|awk '{print $1}'|cut -d: -f1` usbdev=${usbdev%?} export LANG=C cwd=`pwd` owd=`pwd` os=`uname -s` if [ ! "x$1" = "x" ] ; then host=clients/$1 else host=clients/`hostname` fi if [ -f scripts/differenthostname ]; then host=clients/`cat scripts/differenthostname` rm scripts/differenthostname fi echo "Host specific data will be saved in the directory: ${host}" echo " " if [ -f $host.bak/scripts/mount_drives ] ;then rm -r $host.bak fi if [ -f $host/scripts/mount_drives ] ;then mv $host $host.bak fi mkdir -p $host di=${cwd}/$host/diskinfo scr=${cwd}/$host/scripts dirusb=/media/bs-rescue/bacula-rescue/$host case $os in Linux) ;; FreeBSD | SunOS | IRIX) echo "" echo "This code is not yet adapted to this OS" exit 1 ;; *) echo "" echo "Unknown operating system type: $os" exit 1 ;; esac if [ ! `whoami` = "root" ] ; then echo "" echo "You need to be root to run this script ..." echo "" exit 1 fi # # First collect information # rm -rf format.* partition.* $di create-* $scr echo "Begin collecting system info ..." mkdir -p $di cd $di mount -l >mount.bsi fdisk -l|grep :|grep -v identifier|grep -v $usbdev|awk '{print $2}'|cut -d: -f1 >devtmp cat devtmp|while read line;do li=`echo $line|cut -d/ -f3` fdisk -l $line > fdisk.$li parted $line print > parted.$li done rm devtmp mount -l -t jfs >mount.jfs.bsi blkid |grep jfs >blkid.jfs.bsi mount -l -t vfat >mount.vfat.bsi blkid |grep vfat >blkid.vfat.bsi mount -l -t xfs >mount.xfs.bsi blkid |grep xfs >blkid.xfs.bsi mount -l -t hfs >mount.hfs.bsi blkid |grep hfs >blkid.hfs.bsi mount -l -t hfsplus >mount.hfsplus.bsi blkid |grep hfsplus >blkid.hfsplus.bsi mount -l -t fuseblk >mount.fuseblk.bsi mount -l -t ext2 >mount.ext2.bsi blkid |grep ext2 >blkid.ext2.bsi mount -l -t ext3 >mount.ext3.bsi blkid |grep ext3 >blkid.ext3.bsi mount -l -t ext4 >mount.ext4.bsi blkid |grep ext4 >blkid.ext4.bsi ########################################## problem #blkid |grep ntfs >mount.ntfs.bsi blkid |grep ntfs >blkid.ntfs.bsi touch mount.ntfs.bsi cat mount.fuseblk.bsi |awk '{print $1}'|while read line; do blkid|grep $line|grep ntfs>/dev/null 2>&1 if [ $? = 0 ];then a=`cat mount.fuseblk.bsi|grep $line|sed 's/fuseblk/ntfs/g'` echo $a >>mount.ntfs.bsi fi done ###########################################3 mount -l -t reiserfs >mount.reiser.bsi blkid |grep reiserfs >blkid.reiserfs.bsi cp /etc/fstab fstab.bsi cp /etc/mtab mtab.bsi df -Tl >df.bsi # Pickup all disks except USB_DEV sfdisk -s | grep -v ${usbdev} >sfdisk.disks.bsi #sfdisk -s >sfdisk.disks.bsi grep "^/dev/" sfdisk.disks.bsi | sed -n 's%\(^/dev/[A-Za-z]*\):.*$%\1%p' >disks.bsi for i in `cat disks.bsi`; do j=`echo $i | cut -c6-` sfdisk -l $i >sfdisk.$j.bsi sfdisk -d $i >sfdisk.make.$j.bsi done cat /proc/swaps > swaps.bsi route -n >route.bsi ifconfig >ifconfig.bsi # Gather LVM information # Only tested on LVM2 dolvm=0 if which lvm > /dev/null 2>/dev/null ; then echo "Gathering LVM information" dolvm=1 lvm pvs --noheadings --nosuffix -o pv_name,vg_name | cat > lvm-pv.bsi lvm vgs --noheadings --nosuffix -o vg_name,vg_extent_size --units=k | cat > lvm-vg.bsi lvm lvs --noheadings --nosuffix -o lv_name,vg_name,lv_size --units=k | cat > lvm-lv.bsi fi echo "Done collecting info." # # Done collecting information # echo "Begin creating scripts ..." # # First create partitioning script(s) # mkdir -p $scr for i in `cat disks.bsi`; do j=`echo $i | cut -c6-` cat >$scr/partition.$j <>/dev/null 2>&1 END_OF_DATA chmod 755 $scr/partition.$j done echo "Done making partitioning scripts" if [ $dolvm -eq 1 ] ; then # # LVM phase 1: create the Physical Volumess # cat > $scr/create-pv <> $scr/create-pv done cat >> $scr/create-pv <> $scr/create-pv echo "lvm pvcreate -ff -y -v $pv" >> $scr/create-pv done echo "echo \"Done.\"" >> $scr/create-pv echo "echo \"If there were no errors, run create-vg to create the volume groups.\"" >> $scr/create-pv chmod +x $scr/create-pv # # LVM phase 2: create Volume Groups # cat > $scr/create-vg <> $scr/create-vg pelist="" for pv in `cat lvm-pv.bsi | awk "\\\$2 == \"$vg\" { print \\\$1 }"` ; do pelist="$pelist $pv" done echo "lvm vgcreate $vg -v -s ${pesize}k $pelist" >> $scr/create-vg done echo "echo \"Done.\"" >> $scr/create-vg echo "echo \"If there were no errors, run create-lv to create the logical volumes.\"" >> $scr/create-vg chmod +x $scr/create-vg # # LVM phase 3: create Logical Volumes # # One quick sidenote: this script creates LVs with a size based on the # physical extent count, rather than the size in bytes. This is because # at the time of writing this script, lvdisplay erroneously prints out # the size in 512 byte sector count rather than 1024 byte blocks. # Using the extent count should allow this script to continue to work # even after the bug is fixed. cat > $scr/create-lv <> $scr/create-lv echo "lvm lvcreate -L ${lvsize}k $vg -n $lv" >> $scr/create-lv done chmod +x $scr/create-lv fi # # Create formatting script(s) # echo "Begin making formatting script(s) ..." for i in `cat disks.bsi`; do j=`echo $i | cut -c6-` cat >$scr/format.$j </dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formatting $disk -- swap partition\"" >>$scr/format.$j echo "mkswap $check -U $u $disk" >>$scr/format.$j echo "echo \"\"" >>$scr/format.$j done # Find ext2 partitions in mount output k=`grep "^$i" mount.ext2.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- ext2 partition\"" >>$scr/format.$j label=`grep "^$disk" mount.ext2.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.ext2 -v \$check $disk" >>$scr/format.$j else echo "mkfs.ext2 -v \$check -L $label -U $u $disk" >>$scr/format.$j fi echo "echo \"\"" >>$scr/format.$j done # Find ext3 partitions in mount output k=`grep "^$i" mount.ext3.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- ext3 partition\"" >>$scr/format.$j label=`grep "^$disk" mount.ext3.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.ext3 -v -j \$check -U $u $disk" >>$scr/format.$j else echo "mkfs.ext3 -v -j \$check -L $label -U $u $disk" >>$scr/format.$j fi echo "echo \"\"" >>$scr/format.$j done # Find ext4 partitions in mount output k=`grep "^$i" mount.ext4.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- ext4 partition\"" >>$scr/format.$j label=`grep "^$disk" mount.ext4.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.ext4 -v -j \$check -U $u $disk" >>$scr/format.$j else echo "mkfs.ext4 -v -j \$check -L $label -U $u $disk" >>$scr/format.$j fi echo "echo \"\"" >>$scr/format.$j done # Find xfs partitions in mount output k=`grep "^$i" mount.xfs.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- xfs partition\"" >>$scr/format.$j label=`grep "^$disk" mount.xfs.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.xfs -f \$check $disk" >>$scr/format.$j else echo "mkfs.xfs -f \$check -L $label $disk" >>$scr/format.$j fi echo "xfs_admin -U $u $disk">>$scr/format.$j echo "echo \"\"" >>$scr/format.$j done # Find jfs partitions in mount output k=`grep "^$i" mount.jfs.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- jfs partition\"" >>$scr/format.$j label=`grep "^$disk" mount.jfs.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.jfs -f \$check $disk" >>$scr/format.$j else echo "mkfs.jfs -f \$check -L $label $disk" >>$scr/format.$j fi echo "jfs_tune -U $u $disk " >>$scr/format.$j echo "echo \"\"" >>$scr/format.$j done # Find vfat partitions in mount output k=`grep "^$i" mount.vfat.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` u=`echo $u|sed 's/-//g'` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- vfat partition\"" >>$scr/format.$j label=`grep "^$disk" mount.vfat.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.vfat \$check -i $u $disk" >>$scr/format.$j else echo "mkfs.vfat \$check -n $label -i $u $disk" >>$scr/format.$j fi echo "echo \"\"" >>$scr/format.$j done # Find reiserfs partitions in mount output k=`grep "^$i" mount.reiser.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- reiser partition\"" >>$scr/format.$j label=`grep "^$disk" mount.reiser.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkreiserfs -u $u $disk" >>$scr/format.$j else echo "mkreiserfs -l $label -u $u $disk" >>$scr/format.$j fi echo "echo \"\"" >>$scr/format.$j done # Find hfs partitions in mount output k=`grep "^$i" mount.hfs.bsi | cut -d ' ' -f 1` for disk in $k; do echo "echo \"Formating $disk -- hfs partition\"" >>$scr/format.$j label=`grep "^$disk" mount.hfs.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.hfs \$check $disk" >>$scr/format.$j else echo "mkfs.hfs \$check -v $label $disk" >>$scr/format.$j fi echo "echo \"\"" >>$scr/format.$j done # Find hfsplus partitions in mount output k=`grep "^$i" mount.hfsplus.bsi | cut -d ' ' -f 1` for disk in $k; do echo "echo \"Formating $disk -- hfsplus partition\"" >>$scr/format.$j label=`grep "^$disk" mount.hfsplus.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.hfsplus \$check $disk" >>$scr/format.$j else echo "mkfs.hfsplus \$check -v $label $disk" >>$scr/format.$j fi echo "echo \"\"" >>$scr/format.$j done # Find ntfs partitions in mount output k=`grep "^$i" mount.ntfs.bsi | cut -d ' ' -f 1` for disk in $k; do echo "echo \"Formating $disk -- ntfs partition\"" >>$scr/format.$j label=`grep "^$disk" mount.ntfs.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.ntfs \$check $disk" >>$scr/format.$j else echo "mkfs.ntfs \$check -L $label $disk" >>$scr/format.$j fi echo "echo \"\"" >>$scr/format.$j done chmod 755 $scr/format.$j done # # Create LVM formatting scripts(s) # # Somebody more clever than I with bash scripting # could probably factor a lot of this code out. # if [ $dolvm -eq 1 ] ; then echo "Begin making LVM formatting script(s) ..." for i in `cat lvm-vg.bsi | awk '{print $1}'`; do cat >$scr/format.$i </dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formatting $disk -- swap partition\"" >>$scr/format.$i echo "mkswap $check -U $u $disk" >>$scr/format.$i echo "echo \"\"" >>$scr/format.$i done # Find ext2 partitions in mount output k=`grep "^$mapper" mount.ext2.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- ext2 partition\"" >>$scr/format.$i label=`grep "^$disk" mount.ext2.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.ext2 -v \$check $disk" >>$scr/format.$i else echo "mkfs.ext2 -v \$check -L $label -U $u $disk" >>$scr/format.$i fi echo "echo \"\"" >>$scr/format.$i done # Find ext3 partitions in mount output k=`grep "^$mapper" mount.ext3.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- ext3 partition\"" >>$scr/format.$i label=`grep "^$disk" mount.ext3.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.ext3 -v -j \$check -U $u $disk" >>$scr/format.$i else echo "mkfs.ext3 -v -j \$check -L $label -U $u $disk" >>$scr/format.$i fi echo "echo \"\"" >>$scr/format.$i done # Find ext4 partitions in mount output k=`grep "^$mapper" mount.ext4.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- ext4 partition\"" >>$scr/format.$i label=`grep "^$disk" mount.ext4.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.ext4 -v -j \$check -U $u $disk" >>$scr/format.$i else echo "mkfs.ext4 -v -j \$check -L $label -U $u $disk" >>$scr/format.$i fi echo "echo \"\"" >>$scr/format.$i done # Find xfs partitions in mount output k=`grep "^$mapper" mount.xfs.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- xfs partition\"" >>$scr/format.$i label=`grep "^$disk" mount.xfs.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.xfs -f \$check $disk" >>$scr/format.$i else echo "mkfs.xfs -f \$check -L $label $disk" >>$scr/format.$i fi echo "xfs_admin -U $u $disk">>$scr/format.$i echo "echo \"\"" >>$scr/format.$i done # Find jfs partitions in mount output k=`grep "^$mapper" mount.jfs.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- jfs partition\"" >>$scr/format.$i label=`grep "^$disk" mount.jfs.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.jfs -f \$check $disk" >>$scr/format.$i else echo "mkfs.jfs -f \$check -L $label $disk" >>$scr/format.$i fi echo "jfs_tune -U $u $disk " >>$scr/format.$i echo "echo \"\"" >>$scr/format.$i done # Find vfat partitions in mount output k=`grep "^$mapper" mount.vfat.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` u=`echo $u|sed 's/-//g'` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- vfat partition\"" >>$scr/format.$i label=`grep "^$disk" mount.vfat.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.vfat \$check -i $u $disk" >>$scr/format.$i else echo "mkfs.vfat \$check -n $label -i $u $disk" >>$scr/format.$i fi echo "echo \"\"" >>$scr/format.$i done # Find reiserfs partitions in mount output k=`grep "^$mapper" mount.reiser.bsi | cut -d ' ' -f 1` for disk in $k; do fields=`blkid |grep $disk|wc -w` kid=`blkid |grep $disk` while [ $fields -ne 0 ];do echo $kid|awk "{print \$ $fields}"|grep UUID>/dev/null 2>&1 if [ $? = 0 ];then u=`echo $kid|awk "{print \$ $fields}"|cut -d'"' -f2` fi fields=$(( fields - 1 )) done echo "echo \"Formating $disk -- reiser partition\"" >>$scr/format.$i label=`grep "^$disk" mount.reiser.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkreiserfs -u $u $disk" >>$scr/format.$i else echo "mkreiserfs -l $label -u $u $disk" >>$scr/format.$i fi echo "echo \"\"" >>$scr/format.$i done # Find hfs partitions in mount output k=`grep "^$mapper" mount.hfs.bsi | cut -d ' ' -f 1` for disk in $k; do echo "echo \"Formating $disk -- hfs partition\"" >>$scr/format.$i label=`grep "^$disk" mount.hfs.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.hfs \$check $disk" >>$scr/format.$i else echo "mkfs.hfs \$check -v $label $disk" >>$scr/format.$i fi echo "echo \"\"" >>$scr/format.$i done # Find hfsplus partitions in mount output k=`grep "^$mapper" mount.hfsplus.bsi | cut -d ' ' -f 1` for disk in $k; do echo "echo \"Formating $disk -- hfsplus partition\"" >>$scr/format.$i label=`grep "^$disk" mount.hfsplus.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.hfsplus \$check $disk" >>$scr/format.$i else echo "mkfs.hfsplus \$check -v $label $disk" >>$scr/format.$i fi echo "echo \"\"" >>$scr/format.$i done # Find ntfs partitions in mount output k=`grep "^$mapper" mount.ntfs.bsi | cut -d ' ' -f 1` for disk in $k; do echo "echo \"Formating $disk -- ntfs partition\"" >>$scr/format.$i label=`grep "^$disk" mount.ntfs.bsi |awk '{print $7}'|cut -d "]" -f1|cut -d "[" -f2` if [ x$label = x ] ; then echo "mkfs.ntfs \$check $disk" >>$scr/format.$i else echo "mkfs.ntfs \$check -L $label $disk" >>$scr/format.$i fi echo "echo \"\"" >>$scr/format.$i done chmod 755 $scr/format.$i done fi cd $scr # # Create network start script # if [ -f ../../../scripts/nozen ]; then DIALOG=dialog else DIALOG=Xdialog fi howmanyether=`ifconfig |cut -d" " -f1 |grep -v '^$' |grep -v lo|wc -l` if [ $howmanyether -gt 1 ] ; then netline=0 cp ../../../scripts/dialognetworkorig dialognetwork sed -i 's/howmany/'$howmanyether'/g' dialognetwork sed -i 's/DIAL/'$DIALOG'/g' dialognetwork ifconfig |cut -d" " -f1 |grep -v '^$' |grep -v lo | while read LINE ; do confnet=$LINE netline=$(( netline + 1 )) if [ $netline -ne $howmanyether ];then echo $netline $LINE ' off ' >> dialognetwork else echo $netline $LINE ' off 2>ans ' >> dialognetwork fi done dial=`cat dialognetwork` echo $dial > dialognetwork chmod +x dialognetwork . ./dialognetwork if [ $? = 1 ];then exit 1 fi ans=`cat ans` rm ans rm dialognetwork ifconfig |cut -d" " -f1 |grep -v '^$' |grep -v lo > net net=`cat net` netdevice=`echo $net |awk "{print \$ $ans}" ` etherdone=1 rm net fi if [ $etherdone = 0 ] ; then ether=`ifconfig |cut -d" " -f1 |grep -v '^$' |grep -v lo` else ether=`echo $netdevice` fi ifconfig $ether 2>/dev/null >/dev/null if [ $? = 0 ] ; then ip=`ifconfig $ether | grep inet | head -1 | sed -n 's/\ \+inet addr:\([0-9]\+\(\.[0-9]\+\)\{3\}\).*/\1/p'` cat >start_network <start_network fi ip=`route -n | grep UG | head -1 | awk '{print $2}'` dev=`route -n | grep UG | head -1 | awk '{print $8}'` cat >>start_network <$scr/mount_drives <${TMP1} sed -n 's/\(^.*\)\ on\ \(.*\)\ type.*$/\1 \/media\/bs-rescue\/chroot\2/p' $di/mount.ext3.bsi >>${TMP1} sed -n 's/\(^.*\)\ on\ \(.*\)\ type.*$/\1 \/media\/bs-rescue\/chroot\2/p' $di/mount.reiser.bsi >>${TMP1} sed -n 's/\(^.*\)\ on\ \(.*\)\ type.*$/\1 \/media\/bs-rescue\/chroot\2/p' $di/mount.hfs.bsi >>${TMP1} sed -n 's/\(^.*\)\ on\ \(.*\)\ type.*$/\1 \/media\/bs-rescue\/chroot\2/p' $di/mount.xfs.bsi >>${TMP1} sed -n 's/\(^.*\)\ on\ \(.*\)\ type.*$/\1 \/media\/bs-rescue\/chroot\2/p' $di/mount.jfs.bsi >>${TMP1} sed -n 's/\(^.*\)\ on\ \(.*\)\ type.*$/\1 \/media\/bs-rescue\/chroot\2/p' $di/mount.fuseblk.bsi >>${TMP1} sed -n 's/\(^.*\)\ on\ \(.*\)\ type.*$/\1 \/media\/bs-rescue\/chroot\2/p' $di/mount.vfat.bsi >>${TMP1} # sort so that / is first sort -k 2 <${TMP1} >${TMP2} # output mkdir followed by its mount sed -n 's/\(^.*\)\ \(.*$\)/mkdir -p \2 #\1\ mount \1 \2/p' ${TMP2} >>$scr/mount_drives # Now build unmount_drives cat >$scr/umount_drives <${TMP2} sed -n 's/\(^.*\)\ \(.*$\)/umount \2/p' ${TMP2} >>$scr/umount_drives echo "umount /mnt/cdrom 2>/dev/null >/dev/null" >>$scr/umount_drives echo "sync" >>$scr/umount_drives echo "sync" >>$scr/umount_drives rm -f ${TMP1} ${TMP2} chmod 755 $scr/mount_drives $scr/umount_drives #output result of blkid blkid | while read LINE ; do echo $LINE >> $cwd/$host/diskinfo/blkidinfo done #find raid devices . $cwd/scripts/findraidevice/findraid_new if [ ! -f $cwd/$host/scripts/recreate_raid_arrays ];then echo "";echo "";echo "";echo "You do not seem to have any soft raid devices";echo "";echo "";echo "" fi . $cwd/scripts/new_baklient_conf . $cwd/scripts/get_serial rm $cwd/scripts/ans echo "Done building scripts." $DIALOG --title "That's it" --msgbox "We are done gathering info \n you can now restore your machine \n (in case it crashes) \n booting on this usb key \n \n \n P.S. If your computer's bios doesn't support booting off usb, \n insert the provided boot cd as well as this usb key and the magic will happen...." 600 600