On Fri, Jun 12, 2009 at 10:34 AM, Richard W.M. Jones <rjones(a)redhat.com>wrote:
On Fri, Jun 12, 2009 at 01:14:07AM +0200, Emre Erenoglu wrote:
> On Thu, Jun 11, 2009 at 10:24 PM, Daniel P. Berrange<berrange(a)redhat.com>
wrote:
> >
> > that repo. libguestfs uses a febootstrap to install a custom Fedora 11
> > appliance which it boots within QEMU in order to access the
filesystems.
>
> If the sole purpose of febootstrap is to install a custom F11
> appliance to boot in qemu, why don't we prepare this image beforehand,
> put it somewhere on the web, so that libguestfs can just use it
> without needing to build this appliance again in each machine with
> febootstrap or debootstrap?
We want you to be able to build everything from source. Also it
allows you to customize the appliance by editing the script that
builds it (eg. leaving out a feature or adding other kernel modules).
In any case, febootstrap can build the appliance in under 3 minutes
on
my machine, so this is hardly a problem for libguestfs.
OK I see now. I would wish that if the configure script is not able to find
febootstrap, it would fall back into using a pre-cooked generic swiss army
knife image file instead. That would make libguestfs pretty trivial to
package for our distro or others, without needing to package yum and
febootstrap etc.
I read the documentation of libguestfs, but still didn't
understand
> very well why we need to boot an OS within qemu for accessing guest
> file systems. Can't we just use loop devices, kpartx and lvm tools?
Because this would require root, and the point of libguestfs is that
nothing needs to be root. 'libguestfs.so' is a plain library - you
could link it to your webserver running as nobody.nobody, and it still
works. Using loop devices has other disadvantages: it's liable to
leave temporary mounts & devices around if something fails, and it
doesn't work at all if there are conflicting VG names.
OK, thanks a lot for this insight. I would say "why not use policykit when
privilege is needed, or mount images with fuse etc. ", but the possibility
to link to a webserver may not work this way :) Anyway, I'm sure you
considered all these options previously, sorry for taking your time to ask
these again :) You know, my only problem is with febootstrap and I'm
trying to find a way out of this dependency.
Thanks again,
--
Emre