Sam Trenholme's webpage
Support this website or listen to my music

Tiny OpenVZ template

Please do not confuse this OpenVZ template with RamHost’s TinyVZ low cost hosting

January 30, 2015

TinyOVZ updated to 0.8.01-rc1 (MaraDNS updated to 2.0.10; Deadwood updated to 3.2.07; Bash removed)


One issue I have had with OpenVZ is that there is not a small template based on Busybox out there. So, in the spirit of open source, I solved this problem by making my own tiny OpenVZ template based on Busybox and uClibc.

TinyOVZ is a tiny OpenVZ template. This allows OpenVZ users to have a container that uses far fewer resources than a container built from a traditional Linux distribution. The goals are to have a system that uses less memory and disk space than other OpenVZ templates.

This is a self-hosting template with all source code; it is possible to compile the entire system inside of the template. Look in the build/ directory (inside the template) for source code.

The system includes the following packages:

  • binutils
  • busybox
  • gcc
  • make
  • maradns (including Deadwood 3.2.07)
  • uClibc
  • sthttpd (work in progress)
This Linux distribution is based on some work I did back in 2007 making a miniature Linux system that fits on a business card CD. Since this is based on work from a few years ago, the programs and libraries are older releases (this is also why a lot of files refer to this system as "Moam CD"). Updating the system's toolchain is left as an exercise to the reader. Yes, I did check, and there does not appear to be any glaring security holes with this setup. And, yes, the version of uClibc is recent enough to support the changes made to daylight savings time in 2005.

The system is for hard core UNIX/Linux gurus: The only editor is a miniature version of vi included with Busybox (actually, I also compiled in Busybox's version of the "ed" editor, for those who feel vi pampers the user too much); all configuration is done by editing text files.

It is now possible to use the relevant vzctl commands to set the IP, username/password, hostname, and DNS nameservers used. Note that vzctl 3.0.28 or higher is required to run this template.

The only unpaid support I supply for TinyOVZ at this time is to fix security problems with a CVE vulnerability number that affect compiled programs outside of the /build tree. CVE 2010-0001 has been patched; other CVE issues have not been patched because they do not appear to be serious security issues that affect TinyOVZ. Details are in the file build/CVE inside of the container.

It can be downloaded here: GPG sig