Skip to content
Snippets Groups Projects
installer.sh 1.76 KiB
Newer Older
Iblis Lin's avatar
Iblis Lin committed
#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
Iblis Lin's avatar
Iblis Lin committed
SSH_DIR=/etc/ssh
RC_SCRIPT_FILE='/etc/rc.local'
RC_BACKUP_FILE='/etc/rc.local.bak'
RC_CONF='/etc/rc.conf'
Iblis Lin's avatar
Iblis Lin committed
BSDINIT_URL="https://github.com/pellaeon/bsd-cloudinit/archive/master.tar.gz"

BSD_VERSION=`uname -r | cut -d. -f 1`
Iblis Lin's avatar
Iblis Lin committed
INSTALL_PKGS='
	lang/python27
Pellaeon Lin's avatar
Pellaeon Lin committed
	security/sudo
Iblis Lin's avatar
Iblis Lin committed
VERIFY_PEER=''
Iblis Lin's avatar
Iblis Lin committed
# For FreeBSD10 get root certs and use them
if [ "$BSD_VERSION" -ge 10 ];then
	INSTALL_PKGS="$INSTALL_PKGS ca_root_nss"
	VERIFY_PEER="--ca-cert=/usr/local/share/certs/ca-root-nss.crt"
fi
# Install our prerequisites
Iblis Lin's avatar
Iblis Lin committed
export ASSUME_ALWAYS_YES=yes
Iblis Lin's avatar
Iblis Lin committed

[ ! `which python2.7` ] && {
Iblis Lin's avatar
Iblis Lin committed
	echo 'python2.7 Not Found !' 
	exit 1
	}
PYTHON=`which python2.7`
Iblis Lin's avatar
Iblis Lin committed

fetch $VERIFY_PEER -o - $BSDINIT_URL | tar -xzvf - -C '/root'
Iblis Lin's avatar
Iblis Lin committed

pip install -r "/root/bsd-cloudinit-master/requirements.txt"

Iblis Lin's avatar
Iblis Lin committed
rm -vf $SSH_DIR/ssh_host*

touch $RC_SCRIPT_FILE
cp -pf $RC_SCRIPT_FILE $RC_BACKUP_FILE
Pellaeon Lin's avatar
Pellaeon Lin committed
echo "$PYTHON /root/bsd-cloudinit-master/cloudinit --log-file /tmp/cloudinit.log" >> $RC_SCRIPT_FILE
echo "cp -pf $RC_BACKUP_FILE $RC_SCRIPT_FILE " >> $RC_SCRIPT_FILE

# Get the active NIC and set it to use dhcp.
for i in `ifconfig -u -l`
do
	case $i in
		'lo0')
			;;
		'plip0')
			;;
		'pflog0')
			;;
		*)
			echo '# Generated by bsd-cloudinit-install '`date +'%Y/%m/%d %T'` >> $RC_CONF
			echo 'ifconfig_'${i}'="DHCP"' >> $RC_CONF
			break;
			;;
	esac
done
Pellaeon Lin's avatar
Pellaeon Lin committed

Pellaeon Lin's avatar
Pellaeon Lin committed
# Allow %wheel to become root with no password
sed -i 's/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL' /usr/local/etc/sudoers

# Readme - clean history
echo "==================================================="
echo "If you want to clean the tcsh history, please issue"
echo "    # set history = 0"
echo "==================================================="