summaryrefslogtreecommitdiffstats
path: root/fish/guestfish.pod
Commit message (Collapse)AuthorAgeFilesLines
* 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).
* fish: Reimplement -i option using new C-based inspection.Richard Jones2010-08-171-18/+19
| | | | | | | | | | | | | | Don't shell out to virt-inspector. Instead, use the new C-based inspection APIs. This is much faster. The new syntax is slightly different: guestfish -a disk.img -i guestfish -d guest -i However, the old syntax still works.
* fish: Add -c/--connect and -d/--domain options.Richard Jones2010-08-171-0/+14
| | | | | | | | The -d option lets you specify libvirt domains. The disks from these domains are found and added, as if you'd named them with -a. The -c option lets you specify a libvirt URI, which is needed when we consult libvirt to implement the above.
* New APIs: Support for opening LUKS-encrypted disks.Richard Jones2010-07-211-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for opening LUKS-encrypted disks, via three new APIs: luks_open: Create a mapping for an encrypted disk. luks_open_ro: Same, but read-only mapping. luks_close: Close a mapping. A typical guestfish session using this functionality looks like this: $ guestfish --ro -a encrypted.img ><fs> run ><fs> list-devices /dev/vda ><fs> list-partitions /dev/vda1 /dev/vda2 ><fs> vfs-type /dev/vda2 crypto_LUKS ><fs> luks-open /dev/vda2 luksdev Enter key or passphrase ("key"): ><fs> vgscan ><fs> vg-activate-all true ><fs> pvs /dev/dm-0 ><fs> vgs vg_f13x64encrypted ><fs> lvs /dev/vg_f13x64encrypted/lv_root /dev/vg_f13x64encrypted/lv_swap ><fs> mount /dev/vg_f13x64encrypted/lv_root / ><fs> ll / total 132 dr-xr-xr-x. 24 root root 4096 Jul 21 12:01 . dr-xr-xr-x 20 root root 0 Jul 21 20:06 .. drwx------. 3 root root 4096 Jul 21 11:59 .dbus drwx------. 2 root root 4096 Jul 21 12:00 .pulse -rw-------. 1 root root 256 Jul 21 12:00 .pulse-cookie dr-xr-xr-x. 2 root root 4096 May 13 03:03 bin NOT included in this patch: - An easier way to use this from guestfish. - Ability to create LUKS devices. - Ability to change LUKS keys on existing devices. - Direct access to the /dev/mapper device (eg. if it contains anything apart from VGs).
* generator: Add 'Key' parameter type.Richard Jones2010-07-211-0/+5
| | | | | | | | | | | | | Add a 'Key' parameter type, used for passing sensitive key material into libguestfs. Eventually the plan is to mlock() key material into memory. However this is very difficult to achieve because the encoded XDR strings end up in many places. Therefore users should note that key material passed to libguestfs might end up in swap. The only difference between 'Key' and 'String' currently is that guestfish requests the key from /dev/tty with echoing turned off.
* fish: Don't eat words when completing case-insensitive paths (RHBZ#582993).Richard Jones2010-05-251-0/+16
|
* fish: Document test1.img, test2.img etc used by -N option in FILES section.Richard Jones2010-05-251-0/+9
|
* fish: Create a separate FILES section in the manpage.Richard Jones2010-05-251-2/+27
|
* fish: Move 'EXIT CODE' section to a more logical place in the documentation.Richard Jones2010-05-251-5/+5
|
* fish: Make the read/write warning more prominent.Richard Jones2010-05-251-5/+7
| | | | | Follow the example on other manual pages by making the warning more prominent.
* fish: New command: 'supported'Richard Jones2010-05-251-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | This checks all available optional groups and prints out which ones are supported by the daemon. Note you must launch the appliance first. Example: ><fs> supported augeas yes inotify yes linuxfsuuid yes linuxmodules yes linuxxattrs yes lvm2 yes mknod yes ntfs3g yes ntfsprogs yes realpath yes scrub yes selinux yes xz yes zerofree yes
* fish: Allow suffixes on number parameters (eg. 1M)Richard Jones2010-05-211-69/+93
| | | | | | | | | | | | | | | | This small change uses the gnulib xstrtoll functionality to enable suffixes on integer parameters in guestfish. For example: truncate-size /file 1G (previously you would have had to given the full number). This also applies to the 'alloc' and 'sparse' commands (and indirectly to the -N option). The specification for these commands has changed slightly, in that 'alloc foo 1MB' would now use SI units, allocating 1000000 bytes instead of a true megabyte. All existing uses would use 'alloc foo 1M' which still allocates true megabytes.
* New API: write for creating files with fixed content (RHBZ#501889).Richard Jones2010-05-201-2/+2
| | | | | | | | | | | | | 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.
* fish -N option unconditionally overwrites test*.img files.Richard Jones2010-05-081-1/+1
| | | | | This is more convenient and makes it consistent with the 'alloc' and 'sparse' commands.
* fish: Add 'man' command which opens the manual.Richard Jones2010-04-241-2/+9
|
* docs: Routine refresh of the documentation for guestfs(3) and guestfish(1).Richard Jones2010-04-241-36/+36
|
* fish: Add -N option for making prepared disk images.Richard Jones2010-04-221-5/+71
| | | | | | | | | | | | | | | | | Previously you might have typed: $ guestfish ><fs> alloc test1.img 100M ><fs> run ><fs> part-disk /dev/sda mbr ><fs> mkfs ext4 /dev/sda1 now you can do the same with: $ guestfish -N fs:ext4 Some tests have also been updated to use this new functionality.
* fish docs: Be consistent about using I<-..> for options.Richard Jones2010-04-221-4/+4
|
* fish docs: Use L</...> for internal links in the man page.Richard Jones2010-04-221-6/+6
|
* fish: Allow -<<END as a syntax for uploading "heredocs".Richard Jones2010-04-191-0/+33
| | | | | | | | | | | | For example: ><fs> upload -<<END /foo some data some more data END ><fs> cat /foo some data some more data
* docs: Add virt-resize(1) link to guestfish(1) manpage.Richard Jones2010-04-191-0/+1
|
* fish: Print output from some commands in octal/hex as approp. (RHBZ#583242).Richard Jones2010-04-171-1/+3
|
* fish: Update documentation: Add another pipe example.Richard Jones2010-04-131-0/+1
|
* fish: Update documentation: Using 'lcd' command to change local directory.Richard Jones2010-04-131-0/+3
|
* Documentation updates.Richard Jones2010-04-111-2/+6
| | | | | | | Fix copyright years. Fix URLs to point to new PRC site. Make sure guestfish(1) and guestfs(3) manpages reference the current list of tools.
* guestfish: Use xstrtol to parse integers (RHBZ#557655).Richard Jones2010-01-251-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current code uses atoi to parse the generator Int type and atoll to parse the generator Int64 type. The problem with the ato* functions is that they don't cope with errors very well, and they cannot parse numbers that begin with 0.. or 0x.. for octal and hexadecimal respectively. This replaces the atoi call with a call to Gnulib xstrtol and the atoll call with a call to Gnulib xstrtoll. The generated code looks like this for all Int arguments: { strtol_error xerr; long r; xerr = xstrtol (argv[0], NULL, 0, &r, ""); if (xerr != LONGINT_OK) { fprintf (stderr, _("%s: %s: invalid integer parameter (%s returned %d)\n"), cmd, "memsize", "xstrtol", xerr); return -1; } /* The Int type in the generator is a signed 31 bit int. */ if (r < (-(2LL<<30)) || r > ((2LL<<30)-1)) { fprintf (stderr, _("%s: %s: integer out of range\n"), cmd, "memsize"); return -1; } /* The check above should ensure this assignment does not overflow. */ memsize = r; } and like this for all Int64 arguments (note we don't need the range check for these): { strtol_error xerr; long long r; xerr = xstrtoll (argv[1], NULL, 0, &r, ""); if (xerr != LONGINT_OK) { fprintf (stderr, _("%s: %s: invalid integer parameter (%s returned %d)\n"), cmd, "size", "xstrtoll", xerr); return -1; } size = r; } Note this also fixes an unrelated bug in guestfish handling of RBufferOut. We were using 'fwrite' without checking the return value, and this could have caused silent failures, eg. in the case where there was not enough disk space to store the resulting file, or even if the program was interrupted (but continued) during the write. Replace this with Gnulib 'full-write', and check the return value and report errors.
* Move guestfs(3) and guestfish(1) man pages into subdirectories.Richard Jones2009-12-311-0/+749
These manual pages have for a very long time 'lived' in the top source directory. Clean up this situation by moving those manual pages (plus associated generated files) into the src/ and fish/ subdirectories respectively.