X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=README;h=272203580ccd9f49e1e774d0dc7f62c935ebd7a2;hp=4ba19bc397613ac968a532a9d24fca2bc4fd787d;hb=c665d14f29dd5d66be315b3042cb562aa0c40edd;hpb=0d267d6cd5cd86c7e5359146ba8745db4a349187 diff --git a/README b/README index 4ba19bc..2722035 100644 --- a/README +++ b/README @@ -1,43 +1,21 @@ -Libguestfs is a library for accessing and modifying guest disk images. -Amongst the things this is good for: making batch configuration -changes to 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. - -Libguestfs provides ways to enumerate guest storage (eg. partitions, -LVs, what filesystem is in each LV, etc.). It can also run commands -in the context of the guest. Also you can access filesystems over -FUSE. - -Libguestfs is a library that can be linked with C and C++ management -programs (or management programs written in OCaml, Perl, Python, Ruby, -Java, PHP, Haskell or C#). You can also use it from shell scripts or the -command line. - -Libguestfs was written by Richard W.M. Jones (rjones@redhat.com) and -hacked on by lots of other people. For discussion, development, -patches, etc. please use the mailing list: - - http://www.redhat.com/mailman/listinfo/libguestfs +Libguestfs is tools and a library for accessing and modifying guest +disk images. For more information see the home page: + http://libguestfs.org/ -Home page ----------------------------------------------------------------------- +For discussion, development, patches, etc. please use the mailing +list: - http://libguestfs.org/ + http://www.redhat.com/mailman/listinfo/libguestfs Requirements ---------------------------------------------------------------------- -- recent QEMU >= 0.12 with virtio-serial support +- recent QEMU >= 0.13 with virtio-serial support + +- kernel >= 2.6.34 with virtio-serial support enabled. virtio-block + support is not required but comes highly recommended. - febootstrap >= 3.0 (recommended >= 3.3) *NB*: febootstrap 2.x WILL NOT WORK @@ -54,13 +32,15 @@ Requirements - libxml2 (optional) +- libconfig (optional, to parse /etc/libguestfs-tools.conf) + - Augeas (http://augeas.net/) (optional) - gperf - squashfs-tools (mksquashfs only) -- genisoimage / mkisofs +- genisoimage (NOT mkisofs any more) - hivex >= 1.2.1 (http://libguestfs.org/download) @@ -79,7 +59,7 @@ Requirements - (Optional) OCaml if you want to rebuild the generated files, and also to build the OCaml bindings -- (Optional) local Fedora mirror +- (Optional) OCaml PCRE bindings (ocaml-pcre). - (Optional) Perl if you want to build the perl bindings @@ -104,10 +84,14 @@ bindings - (Optional, but highly recommended) perl-libintl for translating perl code. -- (Optional) po4a for translating manpages and POD files. +- po4a for translating manpages and POD files. + This is optional when compiling from the tarball, but mandatory + if you compile from git. - (Optional) PHP, phpize if you want to build the PHP bindings +- (Optional, but highly recommended) getfacl, getfattr + Running ./configure will check you have all the requirements installed on your machine. @@ -117,13 +101,9 @@ Building Then make the daemon, library and root filesystem: - ./configure [--with-mirror=URI] + ./configure make -Use the optional --with-mirror parameter to specify the URI of a local -Fedora mirror. See the discussion of the MIRROR parameter in the -febootstrap(8) manpage. - Finally run the tests: make check @@ -133,6 +113,36 @@ this command as root: make install +You can run guestfish, guestmount and the virt tools without needing +to install, using the "run" script in the top directory. This script +sets up some environment variables. For example: + + ./run ./fish/guestfish [usual guestfish args ...] + + ./run ./inspector/virt-inspector [usual virt-inspector args ...] + +If you are already in the fish/ subdirectory, then the following +command will also work: + + ../run ./guestfish [...] + +You can also make a symlink (note: NOT a hard link) from your $PATH to +the run script, eg: + + cd ~/bin + ln -s ~/libguestfs/run libguestfs-run + cd ~/libguestfs + libguestfs-run ./inspector/virt-inspector [...] + +You can also run the C programs under valgrind like this: + + ./run valgrind [valgrind opts...] ./cat/virt-cat [virt-cat opts...] + +This also works with sudo (eg. if you need root access for libvirt or +to access a block device): + + sudo ./run ./cat/virt-cat -d LinuxGuest /etc/passwd + qemu ---------------------------------------------------------------------- @@ -205,7 +215,7 @@ Mirroring tip ---------------------------------------------------------------------- On my machines I can usually rebuild the appliance in around 3 -minutes. If it takes much longer for you, use a local Fedora mirror +minutes. If it takes much longer for you, use a local distro mirror or squid. To use squid to cache yum downloads, read this first: @@ -236,7 +246,7 @@ appliance. You will need to port the febootstrap first Copyright and license information ---------------------------------------------------------------------- -Copyright (C) 2009-2010 Red Hat Inc. +Copyright (C) 2009-2011 Red Hat Inc. The library is distributed under the LGPLv2+. The programs are distributed under the GPLv2+. Please see the files COPYING and