[Libguestfs] [PATCH supermin v3] Supermin 5 rewrite.

Richard W.M. Jones rjones at redhat.com
Tue Feb 25 14:23:09 UTC 2014


This is the first really working version of supermin 5.

This version can prepare a supermin appliance, and build a full
appliance from a supermin appliance.  See examples/build-basic-vm.sh
for example usage.  Read the updated supermin(1) man page for the
details.

Among the improvements:

 - Package names are used instead of hostfiles.  This should improve
   robustness, since adding a new file to a package or moving files
   around won't break the appliance.

   From the libguestfs point of view this will also allow us to split
   libguestfs dependencies into subpackges (libguestfs-xfs,
   libguestfs-ntfs, etc).

 - It uses the current package database to do dependency resolution,
   (instead of yum/apt).  This is considerably faster.

 - It only needs to download packages that contain configuration
   files, which results in much less network bandwidth used.
   (--use-installed is supported as before to completely eliminate
   network usage)

 - --if-newer and --lock options move the locking into supermin
   (previously it was done in libguestfs).  This makes supermin much
   easier to consume from other programs.

 - The --if-newer option checks the RPM database instead of iterating
   over the filesystem, making it much faster (a single stat versus
   1000s of stats across the filesystem).

 - You can create a chroot filesystem from a supermin appliance.

Currently missing:

 - support for Debian / dpkg

 - support for other distros (that were supported by v4)

I intend to add at least Debian support before pushing anything.

Some dropped features:

 - -f cpio is no longer supported.  We didn't use this in libguestfs
   since 2010.  It would not be hard to add this back.

 - --user/--group options.  We added these for the benefit of virt-v2v
   but it's not clear if they are needed.  Easy to add back if
   required.

 - You can no longer create a supermin from package files.  This was
   never used by callers, as far as I know.

 - You can no longer exclude packages after depsolving.  However you
   can still exclude files, which is nearly the same thing in
   practice.

Rich.





More information about the Libguestfs mailing list