OpenVZ: własna templatka z Debianem

Jak obiecałem rok temu, opisuję.

Najpierw instalujemy pakiet debootstrap

aptitude install debootstrap

Pobieramy system do katalogu, w moim przypadku nazwanego “debian”

debootstrap wheezy debian http://ftp.pl.debian.org/debian

Po zakończeniu pobierania montujemy /proc i /sys

mount -t proc proc debian/proc

mount -t sysfs sysfs debian/sys

i chrootujemy/logujemy się

chroot debian

Teraz możemy instalację przerobić zgodnie z naszymi potrzebami, zainstalować ssh (dość potrzebne) i inne pakiety etc

aptitude update

aptitude upgrade

aptitude install ssh locales htop

Czas na magiowanie.

sed -i -e ‘/getty/d’ /etc/inittab
sed -i -e ‘s@\([[:space:]]\)\(/var/log/\)@\1-\2@’ /etc/*syslog.conf
rm -f /etc/mtab
ln -s /proc/mounts /etc/mtab

Jeszcze więcej magiowania z kluczami ssh

rm -f /etc/ssh/ssh_host_*

cat << EOF > /etc/init.d/ssh_gen_host_keys
#!/bin/sh
### BEGIN INIT INFO
# Provides: Generates new ssh host keys on first boot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Generates new ssh host keys on first boot
# Description: Generates new ssh host keys on first boot
### END INIT INFO
ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N “”
ssh-keygen -f /etc/ssh/ssh_host_dsa_key -t dsa -N “”

ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -t ecdsa -N “”
insserv -r /etc/init.d/ssh_gen_host_keys
rm -f \$0
EOF
chmod a+x /etc/init.d/ssh_gen_host_keys
insserv /etc/init.d/ssh_gen_host_keys

Zmieniamy strefę czasową

dpkg-reconfigure tzdata

Czyścimy śmieci apta i wychodzimy z chroota

aptitude clean

exit

Czyścimy resztę śmieci

rm debian/var/lib/apt/lists/ftp.pl.debian.org*

rm -rf debian/var/cache/apt/*

rm debian/root/.bash_history

echo -n > debian/etc/resolv.conf

rm debian/etc/hostname

umount debian/proc

umount debian/sys

Teraz możemy spakować naszą templatkę:

cd debian

tar –numeric-owner -zcf /var/lib/vz/template/cache/debian-7-i386.tar.gz .

I… już.

1 comment

Leave a comment

Your email address will not be published. Required fields are marked *