Skip to content

Instantly share code, notes, and snippets.

@nibalizer
Created May 12, 2012 11:49
Show Gist options
  • Save nibalizer/2666117 to your computer and use it in GitHub Desktop.
Save nibalizer/2666117 to your computer and use it in GitHub Desktop.
LXC Script
#!/bin/bash
NAME=$1
echo Name of container is ${NAME}
MAC=$2
echo Part of mac is ${MAC}
IP=$3
echo Ip of container is ${IP}
echo Making configz
mkdir $NAME
cat template/config |\
sed "s/NAME/${NAME}/g" |\
sed "s/MAC/${MAC}/g" > ${NAME}/config
cat template/fstab |\
sed "s/NAME/${NAME}/g" > ${NAME}/fstab
echo Making filesystem
mkdir /media/buttery/${NAME}
rsync -PHa /media/buttery/template/ /media/buttery/${NAME}/
echo Fixing Ip addr
echo cat /media/buttery/template/etc/rc.sysinit |\
sed "s/IP/${IP}/g" > /media/buttery/${NAME}/etc/rc.sysinit
cat /media/buttery/template/etc/rc.sysinit |\
sed "s/IP/${IP}/g" > /media/buttery/${NAME}/etc/rc.sysinit
cat /etc/pubkeys/donkey\@ruby >>\
/media/buttery/${NAME}/root/.ssh/authorized_keys
cat /etc/pubkeys/root\@observatory >>\
/media/buttery/${NAME}/root/.ssh/authorized_keys
lxc-create -f ${NAME}/config -n ${NAME}
/usr/bin/screen -dmS init-${NAME} /usr/bin/lxc-start -n ${NAME}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment