[Users] More on making an OpenVZ template

Sam Trenholme strenholme.usenet at gmail.com
Sat Aug 20 13:12:08 EDT 2011

The actual deed of concatenating the Bash-only script with the
distribution-specific script run by vzctl is done by the read_script()
function in src/lib/script.c.  read_script() is, in turn, called by
vps_exec_script() in src/lib/exec.c; vps_exec_script() is called from
several places.

The offending script has the name DIST_FUNC whenever it is used to
specify the offending function in vps_exec_script().  DIST_FUNC is
specified in include/dist.h.

Yes, the code is spaghetti code; it took me hours to unravel all of this.

The best solution to this issue would be to replace DIST_FUNC with a
parameter that can be controlled by the /etc/vz/dists/${distname}.func
configuration file.

- Sam

2011/8/20 Benjamin Henrion <bh at udev.org>:
> On Fri, Aug 19, 2011 at 10:18 PM, Sam Trenholme
> <strenholme.usenet at gmail.com> wrote:
>> I am continuing the work of making a tiny OpenVZ template.  One
>> discovery I have is that, for the OpenVZ tools to work, not only is it
>> mandatory for the system to have the Bash shell, but also that /bin/sh
>> has to be a symlink to Bash.  This is because the "vzctl" program
>> prepends the contents of the Bash-only
>> "/etc/vz/dists/scripts/functions" script to any script used by the
>> container to configure the system, and there does not appear to be any
>> way to configure a container to not use this Bash-only script.
>> In other words, any OpenVZ template without /bin/sh being an alias for
>> Bash can not be configured via the "vzctl" tools (nor the
>> corresponding Proxmox/SolusVM/whataever tools that call "vzctl").
>> This in mind, the next release of TinyVZ will include the Bash shell.
>> I actually prefer Bash over Busybox's "ash" shell; I *really* miss the
>> "!$" and "!*" shortcuts, as well as the "history" command, when using
>> this minimal shell.
>> Since this is an open source project I am not getting paid for, I have
>> no timeline of when I will make another TinyVZ release, nor do I
>> guarantee I will even make such a release.  Working on TinyVZ has
>> taught me a lot about OpenVZ and hopefully is something that is
>> useful.
> This is a very useful for me, I was about to spend time on an openwrt
> container, which does not use bash at all.
> Where in the source code of vzctl do you see this requirement?
> --
> Benjamin Henrion <bhenrion at ffii.org>
> FFII Brussels - +32-484-566109 - +32-2-4148403
> "In July 2005, after several failed attempts to legalise software
> patents in Europe, the patent establishment changed its strategy.
> Instead of explicitly seeking to sanction the patentability of
> software, they are now seeking to create a central European patent
> court, which would establish and enforce patentability rules in their
> favor, without any possibility of correction by competing courts or
> democratically elected legislators."
> _______________________________________________
> Users mailing list
> Users at openvz.org
> https://openvz.org/mailman/listinfo/users

More information about the Users mailing list