Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

Ubuntu without templates

2,475 bytes added, 14:41, 6 May 2009
this is a page for newer ubuntus (8 and 9)
This tutorial will teach how to install the newest Ubuntu versions through chroot (no templates required).

==Initial steps==

* Choose a number for your machine (example: 101)
* Choose an ubuntu version (this howto was tested with hardy, intrepid and jaunty)
* Go to the directory where the images will be placed:
cd /vz/private/
* Create a directory for the new machine:
mkdir 101
* Run debootstrap:
debootstrap --arch=i386 jaunty 101/ http://br.archive.ubuntu.com/ubuntu
(you can change the mirror if you want)
* Edit the machine configuration in /etc/vz/conf/101.conf. Configure its name, IP, memory and everything else
* Start the machine
vzctl start 101

==Fixing bugs==

===udev===
If you try to enter the machine you'll see an error:

eva:/vz/private# vzctl enter 101
enter into VE 101 failed
Unable to open pty: No such file or directory

To solve this, you'll have to remove udev from the boot:

eva:/vz/private# vzctl exec 101 'update-rc.d -f udev remove'
Removing any system startup links for /etc/init.d/udev ...
/etc/rcS.d/S10udev

Then you'll be able to enter the machine after restarting it:

vzctl restart 101
vzctl enter 101

Note: when you update the udev package you'll probably have to run the "update-rc.d -f udev remove" command again.

===klogd===

Type this command:
ps aux

You'll see that "init" didn't finish because the "klogd" process is still being run. You'll have to fix this:

update-rc.d -f klogd remove

Restart the machine and see the results:
exit
vzctl restart 101
vzctl enter 101
ps aux

===network===

For newer ubuntu versions, you'll notice that the network is not working. To fix this problem, you'll have to edit the /etc/init.d/networking script. You'll have to make it create the "/var/run/network" directory just after its "start":

case "$1" in
start)
mkdir -p /var/run/network # -> this is the new line
process_options

Then, start the networking:

/etc/init.d/networking start

(important: use start, not restart)

===gettty===

If you look at the running processes, you'll see that there are a lot of "/sbin/getty" processes. You can also remove these.

===Other init stuff===

Feel free to use 'update-rc.d' to remove any other unneded stuff =)

==Finish==

Now you're free to use your machine =)

You'll still probably want to add the "security" and "updates" repositories, install openssh-server, change the root password, update the system, change locales and other stuff. Enjoy =)
2
edits