#!/bin/bash # Author Carsten Jenner # Licensed under the GPL # 2016-07-30 syncope/cj CentOS 7.2 DHCP, Kickstart per HTTP, DHCP ### CONFIG HERE ########################################################## PASSWORD=`cat /dev/urandom | tr -cd a-kp-tw-z2-9 | head -c 8` BOOTOPTIONS="noipv6 selinux=0 inst.resolution=800x600 inst.lang=de_DE inst.keymap=de" KS_FILE="ks.cfg" ### CONFIG HERE ########################################################## USAGE="Usage: sh Hetzner.Kickstarter []" NUMARGS=$# if [ $NUMARGS -lt 1 ]; then echo "$USAGE"; exit 1; fi if [ $NUMARGS -gt 1 ]; then PASSWORD=$2; fi case "$1" in http*) KS_URL=$1 ;; *) echo "$USAGE"; exit 1 ;; esac echo "### Downloading Kickstart Configuration from $KS_URL ..." wget -q $KS_URL -O $KS_FILE MIRROR=`grep -- '--url' ks.cfg |perl -p -e 's/.*--url.(.*)$/\1/'` IP=`ifconfig eth0 |grep 'Bcast' |tr ':' ' ' |awk '//{print $3}'` MASK=`ifconfig eth0 |grep 'Bcast' |tr ':' ' ' |awk '//{print $7}'` GATE=`netstat -rn |grep '^0.0.0.0' |awk '//{print $2}'` DNS=`grep nameserver /etc/resolv.conf |head -1 |awk '//{print $2}'` REMOTE=`last -i |grep pts |grep 'logged in' |awk '{print $3}'` #SERVER_NAME=`host $IP |perl -pi -e 's/.* (.*)\.$/\1/'` #SHORT_NAME=`echo $SERVER_NAME |cut -d '.' -f 1` cat </dev/null| awk '{print "lvremove -f "$2}' |sh vgremove 2>/dev/null mdadm --stop --scan umount /dev/sda[1-9] 2>/dev/null echo "" echo "### Partitionstabelle von /dev/sda loeschen und Boot-Partitionen neu anlegen... " sgdisk --zap-all /dev/sda >/dev/null sgdisk --new 1:2048:4095 -c 1:"BIOS Boot Partition" -t 1:ef02 /dev/sda >/dev/null sgdisk --new 2:4096:500M -c 2:"Linux Boot Partition" /dev/sda >/dev/null echo "" echo "### Filesystem auf /dev/sda2 erzeugen..." mkfs.ext2 -F -q /dev/sda2 || exit echo "### Partition /dev/sda2 als /boot mounten..." mount -t ext2 /dev/sda2 /boot || exit echo "" echo "### Installation von Kernel und Ram-Disk" cd /boot wget -nv $MIRROR/isolinux/vmlinuz || exit wget -nv $MIRROR/isolinux/initrd.img || exit echo "" echo "### Grub2 Installation..." grub-install --no-floppy /dev/sda echo "" echo "### Grub Konfiguration nach /boot/grub/grub.cfg schreiben..." cat >/boot/grub/grub.cfg <