Быстрое создание lxc контейнера в libvirt с root в отдельной директории


ramok аватар

ramok - Posted on 07 Август 2015

Мой темплейт для создания очередной vm под lxc в libvirt.
Обычно меняется только MAC. Его прописываю в dhcpd перед этим.

HOSTNAME=vpn
MAC=02:42:42:42:42:09
USER=komar
REL=stable
DIR=/usr/local/vm/$HOSTNAME/root
#BR_NAME=br-$HOSTNAME
 
mkdir -p $DIR
cd $DIR
 
sudo cdebootstrap --flavour=minimal --include=rsyslog,dbus,ifupdown,isc-dhcp-client,net-tools,iputils-ping,less,mtr-tiny,localepurge,iptables,vim,zsh,screen,tmux,openssh-server,netcat,socat,sudo,htop,dialog,python $REL $DIR
# cdebootstrap быстрее
#sudo debootstrap --variant=minbase --include=rsyslog,dbus,ifupdown,isc-dhcp-client,net-tools,iputils-ping,less,mtr-tiny,localepurge,iptables,vim,zsh,screen,tmux,openssh-server,netcat,socat,sudo,dialog,python --verbose $REL $DIR http://ftp.de.debian.org/debian
#sudo rm var/cache/apt/archives/*.deb
 
echo $HOSTNAME | sudo tee etc/hostname
echo 127.0.0.1 localhost $HOSTNAME | sudo tee etc/hosts
printf "auto eth0\niface eth0 inet dhcp\n" | sudo tee -a etc/network/interfaces
echo "pts/0" | sudo tee -a etc/securetty
sudo sed -i 's/^# \(\(en_US\|ru_RU\).*\)/\1/' etc/locale.gen
sudo chroot . locale-gen
sudo chroot . passwd
 
cat << END | sudo tee etc/apt/sources.list
deb     http://ftp.de.debian.org/debian $REL main contrib non-free
deb-src http://ftp.de.debian.org/debian $REL main contrib non-free
 
deb http://security.debian.org/ $REL/updates main contrib non-free
#deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /
END
 
cat << END | sudo tee etc/apt/apt.conf.d/000main
APT::Default-Release "$REL";
APT::Install-Recommends "0";
APT::Install-Suggests "0";
END
 
sudo chroot . adduser --shell /bin/zsh $USER
cat << END | sudo tee etc/sudoers.d/$USER
Defaults env_keep += HOME
Defaults env_keep += MAIL
 
root   ALL=(ALL) ALL
$USER  ALL=NOPASSWD: ALL
$USER  ALL=(nobody,backup)NOPASSWD:ALL  
 
END
sudo chmod o= etc/sudoers.d/$USER
 
# не нужено, если бридж уже отконфигурирован
#sudo virsh iface-bridge eth0 $BR_NAME; sudo /etc/init.d/networking restart; sudo ifconfig eth0 0.0.0.0
 
sudo virt-install --connect=lxc:/// --name $HOSTNAME --ram 128 --filesystem $DIR,/ -d --network bridge=br0 -m $MAC --autostart
 
# копируем свои настройки в домашний каталог
ssh-copy-id -i ~/.ssh/id_rsa.pub $HOSTNAME
tar -c .tmux.conf .vimrc .vim .terminfo .zshrc .zshenv .zsh_prompt .zsh | \ssh $HOSTNAME tar -xv
0
Ваша оценка: Ничего

Отправить комментарий

Google Friend Connect (leave a quick comment)
loading...
Содержание этого поля является приватным и не предназначено к показу.