[Users] More on making an OpenVZ template
strenholme.usenet at gmail.com
Sun Aug 21 17:30:02 EDT 2011
Thank you very much for fixing this bug. I can't think of an active
Linux distribution that doesn't have a POSIX-compatible /bin/sh out
there  , so it's reasonable to expect a container to have
/bin/sh (which can be dash, busybox, pdksh, whatever).
 There are projects which use Plan 9's userspace instead of a
POSIX-compatible one, but none of them are a full non-POSIX-compatible
Linux distro. Plan 9 from User Space is an addition to a
POSIX-compatible Linux distribution. The Glendix project, which would
have been a non-POSIX-like distro, hasn't been updated since 2009.
 There is csh and tcsh, and maybe some BSD systems in the 1980s had
csh but no /bin/sh, but the only recent system to use a csh as a
default shell was Mac OS X up until 10.3 (tcsh). There is also fish,
but there doesn't appear to be any full fledged distro that replaced
/bin/sh with fish. Ksh is POSIX compatible; all the other UNIX
command shell projects (except possibly kes) appear moribund or dead.
2011/8/21 Kir Kolyshkin <kir at openvz.org>:
> On 08/20/2011 12:18 AM, Sam Trenholme 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.
> This is one way of doing things. The other way would be to rectify the
> '/etc/dists/scripts/functions' to not be dependent on bash.
> I am currently looking at it, so far I only found that it uses the
> 'function' keyword
> which is bashism. With that removed, it looks like it is working fine in
> either dash
> or busybox sh.
> I have committed the patch:
> And then a few more (to check it works in Debian without /bin/bash):
>> 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
>> - Sam
>> Users mailing list
>> Users at openvz.org
> Users mailing list
> Users at openvz.org
More information about the Users