summaryrefslogtreecommitdiffstats
path: root/fish/guestfish.pod
Commit message (Collapse)AuthorAgeFilesLines
* fish: Add --pipe-error flag to allow detection of errors in pipe commands ↵Richard W.M. Jones2012-05-021-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (RHBZ#803533). For a test case, see: https://bugzilla.redhat.com/show_bug.cgi?id=803533 In guestfish, we use the gnulib closeout module which sets up an atexit handler to detect if there were any errors on stdout when the program exits. This is so we can fail correctly in out of disk space cases like: guestfish [...] > output However the atexit handler just checks that there was any error on stdout (using ferror). If a pipe command such as: ><fs> command_with_lots_of_output | head ran at any time during the session, the error flag would be set (because the underlying writes failed with EPIPE errors). So the commit first adds a test for ferror (stdout) after each command that we issue. This brings error handling closer to the point of failure, and so is generally a good thing. Secondly we reset the error flag after detecting and dealing with the error, so that avoids the redundant 'guestfish: write error' message produced by gnulib closeout. Thirdly we add a --pipe-error flag which causes guestfish commands to fail on pipe commands line the one above. The default is off for backwards compatibility reasons.
* maint: fix doc typosJim Meyering2012-04-181-3/+3
| | | | | | | Fix typos spotted by http://github.com/lyda/misspell-check. * configure.ac: As above. * ocaml/examples/guestfs-ocaml.pod: Likewise. * fish/guestfish.pod: Likewise.
* Tempus fugit.Richard W.M. Jones2012-01-181-1/+1
| | | | Update all copyright dates to 2012.
* fish: Fix --format parameter in man page.Richard W.M. Jones2011-12-231-1/+1
|
* Update FSF address.Matthew Booth2011-11-081-1/+1
|
* fish: docs: note how to clean up the remote process properly.Richard W.M. Jones2011-10-131-5/+6
| | | | | | | Killing it is always a bad idea, because the qemu subprocess will be left hanging around. The best thing is to send the exit command. This also makes the change to virt-sysprep.
* New tool: virt-sysprep: system preparation for guests.Richard W.M. Jones2011-10-081-0/+1
|
* fish: Add man page section on calling guestfish remote robustly from bash.Richard W.M. Jones2011-10-071-0/+32
|
* New tool: virt-alignment-scan to check alignment of partitions.Richard W.M. Jones2011-10-051-0/+1
|
* New tool: virt-sparsify to make disk images sparse.Richard W.M. Jones2011-10-041-0/+1
|
* man pages: Add a standard EXIT STATUS section to most pages.Richard W.M. Jones2011-08-271-1/+1
|
* fish: Document that remote run in cmd substitution context hangs.Richard W.M. Jones2011-08-121-0/+11
| | | | This documents bug 592910.
* docs: Document FEBOOTSTRAP_KERNEL, FEBOOTSTRAP_MODULES (RHBZ#671082).Richard W.M. Jones2011-07-221-1/+12
|
* fish: Don't make --ro the default yet.Richard W.M. Jones2011-07-161-1/+1
| | | | Defer this decision to a future version of libguestfs.
* fish: Handle backslash escapes in guestfish double-quoted strings.Richard W.M. Jones2011-07-141-0/+58
|
* fish: Add 'display' command for displaying graphical files.Richard W.M. Jones2011-06-281-0/+6
|
* fish: Allow -d UUID (specify libvirt domains by UUID).Richard W.M. Jones2011-05-061-0/+2
| | | | | | | | | | | | | | This applies in all the commands which use the common C option parsing code, ie: * guestfish * guestmount * virt-cat * virt-df * virt-filesystems * virt-inspector * virt-ls * virt-rescue
* doc: Use I<-...> for cross-references to command line options.Richard W.M. Jones2011-05-011-2/+2
| | | | This is now used consistently across all the documentation.
* fish: --rw option will be mandatory in 1.12 not 1.10.Richard W.M. Jones2011-04-161-2/+2
|
* fish: Fix typo in guestfish man page (--format option).Richard W.M. Jones2011-04-161-1/+1
|
* fish: Allows win:... paths to work with drives mounted anywhere.Richard W.M. Jones2011-04-121-7/+12
| | | | | | This allows you to mount disks on (eg) /c and /e and have the guestfish win:... path mechanism map drive letters to the right places.
* Add /etc/libguestfs-tools.conf configuration file.Richard W.M. Jones2011-03-311-17/+31
| | | | | This allows the default for --ro or --rw to be controlled for the three tools guestfish, guestmount and virt-rescue.
* fish: fuse: Add -m dev:mnt:opts to allow mount options to be specified.Richard W.M. Jones2011-03-281-4/+13
| | | | | | | | | | | | | This lets you turn on ACLs and xattrs by doing: -m /dev/sda1:/:acl,user_xattr The extra parameter is passed through to mount_options: libguestfs: trace: mount_options "acl,user_xattr" "/dev/sda1" "/" Notes: Labels: feature
* fish: Add guestfish --live, guestmount --live options.Richard W.M. Jones2011-02-031-0/+5
| | | | | | The other programs have the variable, but the flag is not enabled either because it doesn't make sense or because the implications are not well understood.
* Use /var/tmp for the cached appliance (for FHS compliance).Richard W.M. Jones2011-01-191-2/+3
| | | | | | | | | | | | | | | | The FHS advises large files not to be stored in the root filesystem[1], and that /var/tmp is persistent across reboots[2] (whereas /tmp is possibly not[3]). Therefore we should store the large cached supermin appliance in /var/tmp instead of /tmp. /tmp is still used for all other temporary files and directories. In either case you can override this by setting $TMPDIR. [1] http://www.pathname.com/fhs/pub/fhs-2.3.html#THEROOTFILESYSTEM [2] http://www.pathname.com/fhs/pub/fhs-2.3.html#VARTMPTEMPORARYFILESPRESERVEDBETWEE [3] http://www.pathname.com/fhs/pub/fhs-2.3.html#TMPTEMPORARYFILES
* fish: <! cmd executes a shell command and inlines the resulting commands.Richard W.M. Jones2011-01-181-0/+26
| | | | | | | | The new guestfish construct "<! cmd" executes the shell command "cmd", and then anything printed to stdout by "cmd" is parsed and executed as a guestfish command. This allows some very hairy shell scripting with guestfish.
* New tools: virt-copy-in, virt-copy-out, virt-tar-in, virt-tar-out.Richard W.M. Jones2011-01-031-0/+4
| | | | | Relatively trivial wrappers around the equivalent guestfish commands. Change also includes new man pages.
* fish: --ro will be default in 1.10, not 1.8.Richard W.M. Jones2010-12-201-1/+1
|
* fish: Clarify documentation for --ro option.Richard W.M. Jones2010-12-121-3/+4
|
* fish: Document equivalence of -a/add etc. in man page.Richard W.M. Jones2010-12-121-0/+15
|
* fish: Split ..|.. options into separate items in man page.Richard W.M. Jones2010-12-121-16/+50
|
* fish: Link to virt-inspector from guestfish man page.Richard W.M. Jones2010-11-231-0/+1
|
* New tool: virt-filesystemsRichard W.M. Jones2010-11-231-4/+6
| | | | | | | | This tool replaces virt-list-filesystems and virt-list-partitions with a new tool written in C with a more uniform command line structure and output. This existing Perl tools are deprecated but remain indefinitely.
* fish: Add --rw option (does nothing yet).Richard W.M. Jones2010-11-081-6/+40
| | | | | | | | | | This adds the guestfish --rw option, intended in future to be required for writing to disk images. At the moment this does not change the default and so does nothing. This patch is intended for backporting to the stable branches so that we can start to introduce scripts which use 'guestfish --rw'.
* fish: Add --listen --csh to for csh, tcsh compatibility.Richard W.M. Jones2010-11-051-0/+12
| | | | (Thanks Eric Blake).
* fish: Suggest safer form of eval.Richard W.M. Jones2010-11-051-4/+4
| | | | | | | | eval "$(guestfish --listen)" instead of various other forms. (Thanks Eric Blake).
* fish: Make the 'help' command more helpful.Richard W.M. Jones2010-11-041-2/+3
|
* fish: Specify format of disks (RHBZ#642934,CVE-2010-3851).Richard W.M. Jones2010-10-221-0/+26
| | | | | | | | For libvirt guests, the disk format is copied from libvirt (if libvirt knows it). For command line disk images, you can use --format to override format auto-detection.
* generator: Optional arguments, add-drive-opts (RHBZ#642934,CVE-2010-3851).Richard W.M. Jones2010-10-221-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This large commit changes the generator so that optional arguments can be supported for functions. The model for arguments (known as the "style") is changed from (ret, args) to (ret, args, optargs) where optargs is a more limited list of arguments. One function has been added which takes optional arguments, it is "add-drive-opts", modelled as: (RErr, [String "filename"], #required [Bool "readonly"; String "format"; String "iface"]) #optional Note that this function is processed in the library (does not go over the RPC protocol to the daemon). This has allowed us to simplify the current implementation by omitting changes related to RPC or the daemon, although we plan to add these at some point in the future. From C this function can be called in 3 different ways as in these examples: guestfs_add_drive_opts (g, filename, GUESTFS_ADD_DRIVE_OPTS_READONLY, 1, GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", -1); (the argument(s) between 'filename' and '-1' are the optional ones). guestfs_add_drive_opts_va (g, filename, args); where 'args' is a va_list. This works like the first version. struct guestfs_add_drive_opts_argv optargs = { .bitmask = GUESTFS_ADD_DRIVE_OPTS_READONLY_BITMASK, .readonly = 1, } guestfs_add_drive_opts_argv (g, filename, &optargs); This last form lets you construct lists of optional arguments, and is used by guestfish and the language bindings. In guestfish optional arguments are used like this: add-drive-opts filename readonly:true In OCaml these are mapped naturally to OCaml optional arguments, eg: g#add_drive_opts ~readonly:true filename; In Perl these are mapped to extra arguments, eg: $g->add_drive_opts ($filename, readonly => 1); In Python these are mapped to optional arguments, eg: g.add_drive_opts ("file", readonly = 1, format = "qcow2") In Ruby these are mapped to a final hash argument, eg: g.add_drive_opts("file", {}) g.add_drive_opts("file", :readonly => 1) g.add_drive_opts("file", :readonly => 1, :iface => "virtio") In PHP these are mapped to extra parameters. This is not quite accurate since you cannot omit arbitrary optional parameters, but there's not much than can be done within the limitations of PHP as a language. Unimplemented in: Haskell, C#, Java.
* fish: Refresh guestfish documentation.Richard W.M. Jones2010-09-261-25/+48
|
* Document accurately how supermin appliance uses /tmp as a cache.Richard W.M. Jones2010-09-241-3/+3
|
* fish: Implement 'hexedit' command.Richard W.M. Jones2010-09-211-1/+8
|
* fish: Add --echo-keys option to allow passphrases/keys to be echoed.Richard W.M. Jones2010-09-211-0/+7
| | | | | See also: http://catless.ncl.ac.uk/Risks/26.17.html#subj13.3
* generator: Generate guestfish-only commands.Richard W.M. Jones2010-09-181-138/+1
| | | | | | The guestfish-only commands such as 'alloc' and 'edit' are now generated from one place in the generator instead of being spread around ad-hoc in the C code.
* fish: Fix typo in documentation of copy-out.Richard Jones2010-09-101-1/+1
|
* fish: Implement copy-in and copy-out commands.Richard Jones2010-09-091-0/+34
|
* fish: Fix 'more' command to work with any file.Richard Jones2010-09-091-3/+0
|
* fish: Fix 'edit' command to work with any file.Richard Jones2010-09-091-3/+0
|
* fish: Allow guestfish -N help for listing prepared disk image help.Richard Jones2010-09-081-3/+3
|
* fish: Implement progress bars in guestfish.Richard Jones2010-09-011-0/+36
| | | | | | | | | | | | | | | | | The progress bar is updated 3 times per second, and is not displayed at all for operations which take less than two seconds. You can disable progress bars by using the flag --no-progress-bars, and you can enable progress bars in non-interactive sessions with the flag --progress-bars. A good way to test this is to use the following command: guestfish --progress-bars \ -N disk:10G \ zero-device /dev/sda (adjust "10G" to get different lengths of time).