X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=python%2Fguestfs.py;h=ad44df7f29442d8eeac3bca0b561e3a148423a41;hp=23aef9c280a0cb62fc05e5f2e456cb5829d04d82;hb=896079e29b4d49c6c18ac3316a94bfbe2f307648;hpb=da947eadcfa1367c2d634667068db813a87a6dd1 diff --git a/python/guestfs.py b/python/guestfs.py index 23aef9c..ad44df7 100644 --- a/python/guestfs.py +++ b/python/guestfs.py @@ -197,7 +197,7 @@ class GuestFS: to modify the image). This is equivalent to the qemu parameter "-drive - file=filename,cache=off". + file=filename,cache=off,if=virtio". Note that this call checks for the existence of "filename". This stops you from specifying other types @@ -234,7 +234,7 @@ class GuestFS: although qemu can support this. This is equivalent to the qemu parameter "-drive - file=filename,snapshot=on". + file=filename,snapshot=on,if=virtio". Note that this call checks for the existence of "filename". This stops you from specifying other types @@ -415,6 +415,33 @@ class GuestFS: """ return libguestfsmod.end_busy (self._o) + def set_memsize (self, memsize): + u"""This sets the memory size in megabytes allocated to the + qemu subprocess. This only has any effect if called + before "g.launch". + + You can also change this by setting the environment + variable "LIBGUESTFS_MEMSIZE" before the handle is + created. + + For more information on the architecture of libguestfs, + see guestfs(3). + """ + return libguestfsmod.set_memsize (self._o, memsize) + + def get_memsize (self): + u"""This gets the memory size in megabytes allocated to the + qemu subprocess. + + If "g.set_memsize" was not called on this handle, and if + "LIBGUESTFS_MEMSIZE" was not set, then this returns the + compiled-in default value for memsize. + + For more information on the architecture of libguestfs, + see guestfs(3). + """ + return libguestfsmod.get_memsize (self._o) + def mount (self, device, mountpoint): u"""Mount a guest disk at a position in the filesystem. Block devices are named "/dev/sda", "/dev/sdb" and so @@ -1478,7 +1505,7 @@ class GuestFS: """ return libguestfsmod.pvresize (self._o, device) - def sfdisk_N (self, device, n, cyls, heads, sectors, line): + def sfdisk_N (self, device, partnum, cyls, heads, sectors, line): u"""This runs sfdisk(8) option to modify just the single partition "n" (note: "n" counts from 1). @@ -1488,7 +1515,7 @@ class GuestFS: This command is dangerous. Without careful use you can easily destroy all your data. """ - return libguestfsmod.sfdisk_N (self._o, device, n, cyls, heads, sectors, line) + return libguestfsmod.sfdisk_N (self._o, device, partnum, cyls, heads, sectors, line) def sfdisk_l (self, device): u"""This displays the partition table on "device", in the @@ -1727,3 +1754,207 @@ class GuestFS: """ return libguestfsmod.mkdtemp (self._o, template) + def wc_l (self, path): + u"""This command counts the lines in a file, using the "wc + -l" external command. + """ + return libguestfsmod.wc_l (self._o, path) + + def wc_w (self, path): + u"""This command counts the words in a file, using the "wc + -w" external command. + """ + return libguestfsmod.wc_w (self._o, path) + + def wc_c (self, path): + u"""This command counts the characters in a file, using the + "wc -c" external command. + """ + return libguestfsmod.wc_c (self._o, path) + + def head (self, path): + u"""This command returns up to the first 10 lines of a file + as a list of strings. + + This function returns a list of strings. + + Because of the message protocol, there is a transfer + limit of somewhere between 2MB and 4MB. To transfer + large files you should use FTP. + """ + return libguestfsmod.head (self._o, path) + + def head_n (self, nrlines, path): + u"""If the parameter "nrlines" is a positive number, this + returns the first "nrlines" lines of the file "path". + + If the parameter "nrlines" is a negative number, this + returns lines from the file "path", excluding the last + "nrlines" lines. + + If the parameter "nrlines" is zero, this returns an + empty list. + + This function returns a list of strings. + + Because of the message protocol, there is a transfer + limit of somewhere between 2MB and 4MB. To transfer + large files you should use FTP. + """ + return libguestfsmod.head_n (self._o, nrlines, path) + + def tail (self, path): + u"""This command returns up to the last 10 lines of a file + as a list of strings. + + This function returns a list of strings. + + Because of the message protocol, there is a transfer + limit of somewhere between 2MB and 4MB. To transfer + large files you should use FTP. + """ + return libguestfsmod.tail (self._o, path) + + def tail_n (self, nrlines, path): + u"""If the parameter "nrlines" is a positive number, this + returns the last "nrlines" lines of the file "path". + + If the parameter "nrlines" is a negative number, this + returns lines from the file "path", starting with the + "-nrlines"th line. + + If the parameter "nrlines" is zero, this returns an + empty list. + + This function returns a list of strings. + + Because of the message protocol, there is a transfer + limit of somewhere between 2MB and 4MB. To transfer + large files you should use FTP. + """ + return libguestfsmod.tail_n (self._o, nrlines, path) + + def df (self): + u"""This command runs the "df" command to report disk space + used. + + This command is mostly useful for interactive sessions. + It is *not* intended that you try to parse the output + string. Use "statvfs" from programs. + """ + return libguestfsmod.df (self._o) + + def df_h (self): + u"""This command runs the "df -h" command to report disk + space used in human-readable format. + + This command is mostly useful for interactive sessions. + It is *not* intended that you try to parse the output + string. Use "statvfs" from programs. + """ + return libguestfsmod.df_h (self._o) + + def du (self, path): + u"""This command runs the "du -s" command to estimate file + space usage for "path". + + "path" can be a file or a directory. If "path" is a + directory then the estimate includes the contents of the + directory and all subdirectories (recursively). + + The result is the estimated size in *kilobytes* (ie. + units of 1024 bytes). + """ + return libguestfsmod.du (self._o, path) + + def initrd_list (self, path): + u"""This command lists out files contained in an initrd. + + The files are listed without any initial "/" character. + The files are listed in the order they appear (not + necessarily alphabetical). Directory names are listed as + separate items. + + Old Linux kernels (2.4 and earlier) used a compressed + ext2 filesystem as initrd. We *only* support the newer + initramfs format (compressed cpio files). + + This function returns a list of strings. + """ + return libguestfsmod.initrd_list (self._o, path) + + def mount_loop (self, file, mountpoint): + u"""This command lets you mount "file" (a filesystem image + in a file) on a mount point. It is entirely equivalent + to the command "mount -o loop file mountpoint". + """ + return libguestfsmod.mount_loop (self._o, file, mountpoint) + + def mkswap (self, device): + u"""Create a swap partition on "device". + """ + return libguestfsmod.mkswap (self._o, device) + + def mkswap_L (self, label, device): + u"""Create a swap partition on "device" with label "label". + """ + return libguestfsmod.mkswap_L (self._o, label, device) + + def mkswap_U (self, uuid, device): + u"""Create a swap partition on "device" with UUID "uuid". + """ + return libguestfsmod.mkswap_U (self._o, uuid, device) + + def mknod (self, mode, devmajor, devminor, path): + u"""This call creates block or character special devices, or + named pipes (FIFOs). + + The "mode" parameter should be the mode, using the + standard constants. "devmajor" and "devminor" are the + device major and minor numbers, only used when creating + block and character special devices. + """ + return libguestfsmod.mknod (self._o, mode, devmajor, devminor, path) + + def mkfifo (self, mode, path): + u"""This call creates a FIFO (named pipe) called "path" with + mode "mode". It is just a convenient wrapper around + "g.mknod". + """ + return libguestfsmod.mkfifo (self._o, mode, path) + + def mknod_b (self, mode, devmajor, devminor, path): + u"""This call creates a block device node called "path" with + mode "mode" and device major/minor "devmajor" and + "devminor". It is just a convenient wrapper around + "g.mknod". + """ + return libguestfsmod.mknod_b (self._o, mode, devmajor, devminor, path) + + def mknod_c (self, mode, devmajor, devminor, path): + u"""This call creates a char device node called "path" with + mode "mode" and device major/minor "devmajor" and + "devminor". It is just a convenient wrapper around + "g.mknod". + """ + return libguestfsmod.mknod_c (self._o, mode, devmajor, devminor, path) + + def umask (self, mask): + u"""This function sets the mask used for creating new files + and device nodes to "mask & 0777". + + Typical umask values would be 022 which creates new + files with permissions like "-rw-r--r--" or + "-rwxr-xr-x", and 002 which creates new files with + permissions like "-rw-rw-r--" or "-rwxrwxr-x". + + The default umask is 022. This is important because it + means that directories and device nodes will be created + with 0644 or 0755 mode even if you specify 0777. + + See also umask(2), "g.mknod", "g.mkdir". + + This call returns the previous umask. + """ + return libguestfsmod.umask (self._o, mask) +