Editing Archlinux Template creation
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | + | Instructions manually create a minimal Archlinux (0.8) "Voodoo" OS Template. | |
− | + | == Prerequisites == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
I used a modified archbootstrap script which can be found at http://forzza.systs.org/openvz-misc/ | I used a modified archbootstrap script which can be found at http://forzza.systs.org/openvz-misc/ | ||
{{Note | This link is currently broken}} | {{Note | This link is currently broken}} | ||
− | {{Note | One can use mkarchroot (provided by devtools) in place of archbootstrap if building the template on Archlinux. See | + | {{Note | One can use mkarchroot (provided by devtools) in place of archbootstrap if building the template on Archlinux. See Disussion.}} |
− | |||
Edit settings of script "archbootstrap" : | Edit settings of script "archbootstrap" : | ||
Line 121: | Line 29: | ||
|} | |} | ||
− | + | == bootstrapping Archlinux == | |
Syntax: | Syntax: | ||
Line 129: | Line 37: | ||
{{Note|Please use mirrors! A full list of Archlinux mirrors: http://wiki.archlinux.org/index.php/Mirror}} | {{Note|Please use mirrors! A full list of Archlinux mirrors: http://wiki.archlinux.org/index.php/Mirror}} | ||
− | + | == enter the Build with chroot == | |
All the commands below are executed from the root shell. I this howto "chroot" is used to enter as NEWROOT, a BUILD-VE must not be created! | All the commands below are executed from the root shell. I this howto "chroot" is used to enter as NEWROOT, a BUILD-VE must not be created! | ||
Line 135: | Line 43: | ||
CT0_# chroot /vz/template/$DIST/$VERSION/$ARCH/ | CT0_# chroot /vz/template/$DIST/$VERSION/$ARCH/ | ||
− | + | === setting DNS server === | |
For the chroot BUILD we also need to specify a DNS for it: | For the chroot BUILD we also need to specify a DNS for it: | ||
Line 141: | Line 49: | ||
BUILD_# mv /etc/resolv.conf.pacorig /etc/resolv.conf | BUILD_# mv /etc/resolv.conf.pacorig /etc/resolv.conf | ||
− | + | === update and install packages === | |
Update (sync) pacman cache and update installed packages | Update (sync) pacman cache and update installed packages | ||
Line 151: | Line 59: | ||
BUILD_# pacman -S openssh quota-tools iproute | BUILD_# pacman -S openssh quota-tools iproute | ||
− | + | === fix /etc/mtab === | |
Add symlink /proc/mount /etc/mtab | Add symlink /proc/mount /etc/mtab | ||
Line 157: | Line 65: | ||
BUILD_# ln -s /proc/mounts /etc/mtab | BUILD_# ln -s /proc/mounts /etc/mtab | ||
− | + | === fix /etc/inittab === | |
Remove getty lines from inittab: | Remove getty lines from inittab: | ||
Line 163: | Line 71: | ||
BUILD_# sed -i -e '/getty/d' /etc/inittab | BUILD_# sed -i -e '/getty/d' /etc/inittab | ||
− | + | === create device nodes === | |
Create device nodes at /dev, like console, full, null, zero, urandom, ptmx and fifo of initctl | Create device nodes at /dev, like console, full, null, zero, urandom, ptmx and fifo of initctl | ||
Line 178: | Line 86: | ||
BUILD_# mknod -m 666 /dev/zero c 1 5 | BUILD_# mknod -m 666 /dev/zero c 1 5 | ||
− | + | === sysinit script modification === | |
Remove deleting of /etc/mtab in /etc/rc.sysinit and add mounting of /dev/pts | Remove deleting of /etc/mtab in /etc/rc.sysinit and add mounting of /dev/pts | ||
Line 195: | Line 103: | ||
[...] | [...] | ||
− | + | === modify the main configuration file === | |
BUILD_# nano /etc/rc.conf | BUILD_# nano /etc/rc.conf | ||
Line 219: | Line 127: | ||
DAEMONS=(syslog-ng network netfs crond ssh) | DAEMONS=(syslog-ng network netfs crond ssh) | ||
− | + | === enable ssh connections === | |
{{Note|All connection are disabled to VE, see /etc/hosts.deny, only affected server built-in with libwrap}} | {{Note|All connection are disabled to VE, see /etc/hosts.deny, only affected server built-in with libwrap}} | ||
Line 227: | Line 135: | ||
BUILD_# echo "ssh: ALL : ALLOW" >> /etc/hosts.allow | BUILD_# echo "ssh: ALL : ALLOW" >> /etc/hosts.allow | ||
− | + | === lock (disable) the root account === | |
BUILD_# passwd -l root | BUILD_# passwd -l root | ||
− | + | === exit the chroot to CT0 === | |
BUILD_# exit | BUILD_# exit | ||
− | + | == build a exclude list == | |
Shrink the OS-Template, so not all files needed in a VE - OS - TEMPLATE | Shrink the OS-Template, so not all files needed in a VE - OS - TEMPLATE | ||
Line 256: | Line 164: | ||
CT0_# find ./root/.bash_history >> ../exclude.list-$ARCH | CT0_# find ./root/.bash_history >> ../exclude.list-$ARCH | ||
− | + | == create OS template == | |
CT0_# tar --numeric-owner -X ../exclude.list-$ARCH -czf /vz/template/cache/arch-0.8-$ARCH-minimal.tar.gz ./ | CT0_# tar --numeric-owner -X ../exclude.list-$ARCH -czf /vz/template/cache/arch-0.8-$ARCH-minimal.tar.gz ./ | ||
− | + | == use the OS template == | |
CT0_# vzctl create <VEID> --ostemplate arch-0.8-$ARCH-minimal ... | CT0_# vzctl create <VEID> --ostemplate arch-0.8-$ARCH-minimal ... | ||
− | + | == update the OS template == | |
To update a template is really easy, enter the build with chroot, performing upgrade task | To update a template is really easy, enter the build with chroot, performing upgrade task | ||
Line 272: | Line 180: | ||
Update the exclude list, and pack upgraded OS - Template | Update the exclude list, and pack upgraded OS - Template | ||
− | + | == Links == | |
− | * [http://wiki.archlinux.org/index.php/Main_Page | + | * [http://wiki.archlinux.org/index.php/Main_Page Archlinux wiki] |
[[Category: HOWTO]] | [[Category: HOWTO]] | ||
[[Category: Templates]] | [[Category: Templates]] |