X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=fish%2Fguestfish.pod;h=c52b773cfda7a0fc71a2c81443e9fbf799c0a600;hp=7319bd72ee782a27fa171791a5471c5908f64754;hb=61cfe13ec49f1d1e9d6124f0ee98520aab720087;hpb=74f7c9e4b7e27787e2052166eeedfbac5814200b diff --git a/fish/guestfish.pod b/fish/guestfish.pod index 7319bd7..c52b773 100644 --- a/fish/guestfish.pod +++ b/fish/guestfish.pod @@ -10,13 +10,13 @@ guestfish - the libguestfs Filesystem Interactive SHell guestfish - guestfish -a disk.img + guestfish [--ro|--rw] -a disk.img - guestfish -a disk.img -m dev[:mountpoint] + guestfish [--ro|--rw] -a disk.img -m dev[:mountpoint] guestfish -d libvirt-domain - guestfish -a disk.img -i + guestfish [--ro|--rw] -a disk.img -i guestfish -d libvirt-domain -i @@ -99,7 +99,7 @@ Update C in a guest: Edit C interactively: - guestfish --add disk.img \ + guestfish --rw --add disk.img \ --mount /dev/vg_guest/lv_root \ --mount /dev/sda1:/boot \ edit /boot/grub/grub.conf @@ -115,7 +115,7 @@ disks from a virtual machine: Another way to edit C interactively is: - guestfish -a disk.img -i edit /boot/grub/grub.conf + guestfish --rw -a disk.img -i edit /boot/grub/grub.conf =head2 As a script interpreter @@ -140,7 +140,7 @@ To list what is available do: =head2 Remote control - eval `guestfish --listen` + eval "`guestfish --listen`" guestfish --remote add-ro disk.img guestfish --remote run guestfish --remote lvs @@ -174,6 +174,11 @@ When used in conjunction with the I<-d> option, this specifies the libvirt URI to use. The default is to use the default libvirt connection. +=item B<--csh> + +If using the I<--listen> option and a csh-like shell, use this option. +See section L below. + =item B<-d libvirt-domain> | B<--domain libvirt-domain> Add disks from the named libvirt domain. If the I<--ro> option is @@ -240,7 +245,7 @@ Typical usage is either: (for active domains, readonly), or specify the block device directly: - guestfish -a /dev/Guests/MyGuest -i + guestfish --rw -a /dev/Guests/MyGuest -i Note that the command line syntax changed slightly over older versions of guestfish. You can still use the old syntax: @@ -315,6 +320,8 @@ don't need write access to the disk. Note that prepared disk images created with I<-N> are not affected by the I<--ro> option. +See also L below. + =item B<--selinux> Enable SELinux support for the guest. See L. @@ -328,6 +335,11 @@ a bug. Display the guestfish / libguestfs version number and exit. +=item B<-w> | B<--rw> + +This option does nothing at the moment. +See L below. + =item B<-x> Echo each command before executing it. @@ -387,6 +399,33 @@ I<-N> or I<--new> options were given then C is done automatically, simply because guestfish can't perform the action you asked for without doing this. +=head1 OPENING DISKS FOR READ AND WRITE + +The guestfish (and L) options I<--ro> and I<--rw> +affect whether the other command line options I<-a>, I<-c>, I<-d>, +I<-i> and I<-m> open disk images read-only or for writing. + +In libguestfs E 1.6.2, guestfish and guestmount defaulted to +opening disk images supplied on the command line for write. To open a +disk image read-only you have to do I<-a image --ro>. + +This matters: If you accidentally open a live VM disk image writable +then you will cause irreversible disk corruption. + +By libguestfs 1.8 we intend to change the default the other way. Disk +images will be opened read-only. You will have to either specify +I or change a configuration file in order to get write +access for disk images specified by those other command line options. + +This version of guestfish has a I<--rw> option which does nothing (it +is already the default). However it is highly recommended that you +use this option to indicate that guestfish needs write access, and to +prepare your scripts for the day when this option will be required for +write access. + +B This does I affect commands like L and L, +or any other libguestfs program apart from guestfish and guestmount. + =head1 QUOTING You can quote ordinary parameters using either single or double @@ -730,7 +769,7 @@ up a guestfish process each time. Start a guestfish server process using: - eval `guestfish --listen` + eval "`guestfish --listen`" and then send it commands by doing: @@ -750,14 +789,21 @@ The C statement sets the environment variable C<$GUESTFISH_PID>, which is how the I<--remote> option knows where to send the commands. You can have several guestfish listener processes running using: - eval `guestfish --listen` + eval "`guestfish --listen`" pid1=$GUESTFISH_PID - eval `guestfish --listen` + eval "`guestfish --listen`" pid2=$GUESTFISH_PID ... guestfish --remote=$pid1 cmd guestfish --remote=$pid2 cmd +=head2 REMOTE CONTROL AND CSH + +When using csh-like shells (csh, tcsh etc) you have to add the +I<--csh> option: + + eval "`guestfish --listen --csh`" + =head2 REMOTE CONTROL DETAILS Remote control happens over a Unix domain socket called