Features/libguestfs

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Created page with '= libguestfs and guestfish = == Summary == Libguestfs is a [http://libguestfs.org/ library for accessing and modifying virtual machine disk images]. == Owner == * Name: [[User...')
 
(User Experience)
 
(6 intermediate revisions by 3 users not shown)
Line 4: Line 4:
  
 
Libguestfs is a [http://libguestfs.org/ library for accessing and modifying virtual machine disk images].
 
Libguestfs is a [http://libguestfs.org/ library for accessing and modifying virtual machine disk images].
 +
 +
guestfish is an [http://libguestfs.org/guestfish.1.html interactive shell tool for editing virtual machine disk images] ([http://libguestfs.org/recipes.html examples here]).
  
 
== Owner ==
 
== Owner ==
Line 10: Line 12:
 
== Current status ==
 
== Current status ==
 
* Targeted release: [[Releases/12|  Fedora 12]]  
 
* Targeted release: [[Releases/12|  Fedora 12]]  
* Last updated: 2009-07-01
+
* Last updated: 2009-07-31
* Percentage of completion: 80%
+
* Percentage of completion: 100%
  
 
== Detailed Description ==
 
== Detailed Description ==
  
 +
libguestfs is a library for accessing and modifying guest disk images. Amongst the things this is good for: making batch configuration changes to guests, viewing and editing files inside guests, getting disk used/free statistics (see also: virt-df), migrating between virtualization systems (see also: virt-p2v), performing partial backups, performing partial guest clones, cloning guests and changing registry/UUID/hostname info, and much else besides.
 +
 +
libguestfs uses Linux kernel and qemu code, and can access any type of guest filesystem that Linux and qemu can, including but not limited to: ext2/3/4, btrfs, FAT and NTFS, LVM, many different disk partition schemes, qcow, qcow2, vmdk.
 +
 +
Typical usage, to edit the password file in a virtual machine called 'F11' ('F11' is the libvirt name):
 +
 +
$ guestfish -i F11
 +
><fs> vi /etc/passwd
 +
 +
Lots more [http://libguestfs.org/recipes.html examples here].
  
 
== Benefit to Fedora ==
 
== Benefit to Fedora ==
  
 +
The previous methods for doing this in Fedora were cumbersome and error-prone, usually involving creating loopback mounts as root, using kpartx, reconfiguring LVM.
  
 +
libguestfs gets rid of all that and makes it easy to access and edit disk images.  You don't even need to be root to do it.
  
 
== Scope ==
 
== Scope ==
  
 
+
* [https://admin.fedoraproject.org/pkgdb/packages/name/libguestfs libguestfs package] in Fedora.
 +
* [https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools List of bugs upstream] and [https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Fedora list of bugs in Fedora package].
  
 
== Test Plan ==
 
== Test Plan ==
  
<i>(Test plan to be written)</i>
+
libguestfs has a very comprehensive test suite and we intend having this test suite executed as part of the package build in koji (i.e. in the <code>%check</code> section). This is currently not enabled because of a variety of bugs in qemu (e.g. [https://bugzilla.redhat.com/503236 bug #503236]) or the kernel (e.g. [https://bugzilla.redhat.com/507066 bug #507066]).
 +
 
 +
We also intend to include libguestfs testing in the F-12 Virtualization Test Day.
  
 
== User Experience ==
 
== User Experience ==
  
 +
The main user experience is the command-line [http://libguestfs.org/guestfish.1.html guestfish tool].
 +
 +
libguestfs also contains [http://libguestfs.org/guestfs.3.html bindings] for numerous programming languages which will be of interest to developers.
  
 
== Dependencies ==
 
== Dependencies ==
  
 
+
None.
  
 
== Contingency Plan ==
 
== Contingency Plan ==
  
 
+
None needed.
  
 
== Documentation ==
 
== Documentation ==
  
<i>(To be written)</i>
+
* [http://libguestfs.org/recipes.html guestfish recipes]
 +
* [http://libguestfs.org/guestfish.1.html guestfish man page]
 +
* [http://libguestfs.org/guestfs.3.html libguestfs C API]
 +
* [http://libguestfs.org/virt-inspector.1.html virt-inspector man page]
  
 
== Release Notes ==
 
== Release Notes ==
  
<i>(To be written)</i>
+
Fedora 12 adds a tool called guestfish for modifying virtual machine disk images. An API called libguestfs is also available for building applications which access disk images.
  
----
+
== Comments and Discussion ==
 +
* See [[Talk:Features/libguestfs]]
  
<!-- Category:FeatureReadyForWrangler -->
+
[[Category:FeatureAcceptedF12]]
[[Category:FeaturePageIncomplete]]
+
[[Category:F12_Virt_Features|libguestfs]]
[[Category:F12_Virt_Features]]
+
[[Category:Virtualization|libguestfs]]

Latest revision as of 15:07, 31 July 2009

Contents

[edit] libguestfs and guestfish

[edit] Summary

Libguestfs is a library for accessing and modifying virtual machine disk images.

guestfish is an interactive shell tool for editing virtual machine disk images (examples here).

[edit] Owner

[edit] Current status

  • Targeted release: Fedora 12
  • Last updated: 2009-07-31
  • Percentage of completion: 100%

[edit] Detailed Description

libguestfs is a library for accessing and modifying guest disk images. Amongst the things this is good for: making batch configuration changes to guests, viewing and editing files inside guests, getting disk used/free statistics (see also: virt-df), migrating between virtualization systems (see also: virt-p2v), performing partial backups, performing partial guest clones, cloning guests and changing registry/UUID/hostname info, and much else besides.

libguestfs uses Linux kernel and qemu code, and can access any type of guest filesystem that Linux and qemu can, including but not limited to: ext2/3/4, btrfs, FAT and NTFS, LVM, many different disk partition schemes, qcow, qcow2, vmdk.

Typical usage, to edit the password file in a virtual machine called 'F11' ('F11' is the libvirt name):

$ guestfish -i F11
><fs> vi /etc/passwd

Lots more examples here.

[edit] Benefit to Fedora

The previous methods for doing this in Fedora were cumbersome and error-prone, usually involving creating loopback mounts as root, using kpartx, reconfiguring LVM.

libguestfs gets rid of all that and makes it easy to access and edit disk images. You don't even need to be root to do it.

[edit] Scope

[edit] Test Plan

libguestfs has a very comprehensive test suite and we intend having this test suite executed as part of the package build in koji (i.e. in the %check section). This is currently not enabled because of a variety of bugs in qemu (e.g. bug #503236) or the kernel (e.g. bug #507066).

We also intend to include libguestfs testing in the F-12 Virtualization Test Day.

[edit] User Experience

The main user experience is the command-line guestfish tool.

libguestfs also contains bindings for numerous programming languages which will be of interest to developers.

[edit] Dependencies

None.

[edit] Contingency Plan

None needed.

[edit] Documentation

[edit] Release Notes

Fedora 12 adds a tool called guestfish for modifying virtual machine disk images. An API called libguestfs is also available for building applications which access disk images.

[edit] Comments and Discussion