mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
The guestfs_write call can be used to create small files with arbitrary 8 bit content, including \0 bytes. This replaces and deprecates write-file, which cannot be modified to use BufferIn because of an unfortunate choice in the ABI: the size parameter to write-file, if zero, means that the daemon tries to calculate the length of the buffer using strlen. However this fails if we pass a zero-length buffer using BufferIn because then the daemon tries to do strlen on a (really) zero length buffer, not even containing a terminating \0 character, thus segfaulting.
This directory contains guestfish-based shell which give some useful recipes to follow. These also get copied to the website here: http://libguestfs.org/recipes.html The format for each recipe is: foo.sh Shell script, using guestfish. foo.title The title of the recipe. foo.html HTML snippet describing the recipe. foo.example Plain text snippet showing example output. Everything in the recipes/ directory may be used and distributed without restrictions. To run a script before libguestfs has been installed, you can do something like this: LIBGUESTFS_PATH=../appliance PATH=../fish:$PATH ./show-devices.sh disk.img You can apply these recipes in your own programs by translating the guestfish commands into API calls in the language of your choice. The translation is a simple 1-1 mapping. Got a useful tip or recipe? Please contribute ...