Bruce Boyes wrote:
>
> I would be very interested if someone who deeply understands
> virtualization would talk about that some meeting.
>
> In particular, when you use 'python-virtualenv', what exactly is
> happening? it seems to add no processing overhead to use this, is it
> just some encapsulation, sort of a fork of the usual executable paths
> so that you can merge the root install plus this isolated temporary
> 'sandbox'? I'll google on that. If so, that's kind of a cool thing to
> be able to do, for development anyway, so that you don't muck up your
> base installation with new binaries and libraries which you might not
> want to use forever. Can you control what binaries (gcc, say) get used
> from the virtual and which from the base install?
virtualenv is essentially path and environment tricks. It copies (or
symlinks) the python binary in ENVHOME/bin/python and sets up a
directory for modules to be installed
(ENVHOME/lib/pythonX.X/site-packages). When you `activate` it, your
environment is set up to use these locations. It is fast because it's
not actually virtualizing anything so you are correct calling it an
'isolated sandbox'. Anything you put in this ENVHOME/bin directory will
be used while your virtualenv is active (gcc for example). This is
similar to the `mkdir ~/bin; export PATH=~/bin:$PATH` trick many people use.
>
> When else would you use virtualization?
>
> I've heard of virtualizing an OS so you can attack or infect it and
> then flush the whole thing, safely.
Researchers do use virtualization for this, though it seems its largest
application is deploying it on server hardware to 'get the most' out of
it. I've used virtualization to test my applications with the
software/os that it will actually run on. If you want to play around
with it give VirtualBox a try. (v5 was released yesterday)
https://www.virtualbox.org/
>
> There must be different gradations of virtualization: running one
> whole OS on top of another sounds like the most extreme.
There are different abstractions of hardware when virtualizing. Here is
a decent writeup explaining these different methods:
http://www.vmware.com/files/pdf/VMware_paravirtualization.pdf
>
> Well you get some sense of my questions.
>
> Maybe there is a good online reference or book which covers this. So
> much to learn...
>
> Thanks
>
> Bruce
Hope this helps!
-Jason