summaryrefslogtreecommitdiffstats
path: root/guestfs-actions.pod
blob: 1a57ae2ef4d5e19704a4ec1809c2e5548e238c13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
=head2 guestfs_cat

 char *guestfs_cat (guestfs_h *handle,
		const char *path);

Return the contents of the file named C<path>.

Note that this function cannot correctly handle binary files
(specifically, files containing C<\0> character which is treated
as end of string).  For those you need to use the C<guestfs_read_file>
function which has a more complex interface.

This function returns a string or NULL on error.
I<The caller must free the returned string after use>.

Because of the message protocol, there is a transfer limit 
of somewhere between 2MB and 4MB.  To transfer large files you should use
FTP.

=head2 guestfs_list_devices

 char **guestfs_list_devices (guestfs_h *handle);

List all the block devices.

The full block device names are returned, eg. C</dev/sda>


This function returns a NULL-terminated array of strings
(like L<environ(3)>), or NULL if there was an error.
I<The caller must free the strings and the array after use>.

=head2 guestfs_list_partitions

 char **guestfs_list_partitions (guestfs_h *handle);

List all the partitions detected on all block devices.

The full partition device names are returned, eg. C</dev/sda1>

This does not return logical volumes.  For that you will need to
call C<guestfs_lvs>.

This function returns a NULL-terminated array of strings
(like L<environ(3)>), or NULL if there was an error.
I<The caller must free the strings and the array after use>.

=head2 guestfs_ll

 char *guestfs_ll (guestfs_h *handle,
		const char *directory);

List the files in C<directory> (relative to the root directory,
there is no cwd) in the format of 'ls -la'.

This command is mostly useful for interactive sessions.  It
is I<not> intended that you try to parse the output string.

This function returns a string or NULL on error.
I<The caller must free the returned string after use>.

=head2 guestfs_ls

 char **guestfs_ls (guestfs_h *handle,
		const char *directory);

List the files in C<directory> (relative to the root directory,
there is no cwd).  The '.' and '..' entries are not returned, but
hidden files are shown.

This command is mostly useful for interactive sessions.  Programs
should probably use C<guestfs_readdir> instead.

This function returns a NULL-terminated array of strings
(like L<environ(3)>), or NULL if there was an error.
I<The caller must free the strings and the array after use>.

=head2 guestfs_lvs_full

 struct guestfs_lvm_lv_list *guestfs_lvs_full (guestfs_h *handle);

List all the logical volumes detected.  This is the equivalent
of the L<lvs(8)> command.

This function returns a C<struct guestfs_lvm_lv_list>.
I<The caller must call C<guestfs_free_lvm_lv_list> after use.>.

=head2 guestfs_mount

 int guestfs_mount (guestfs_h *handle,
		const char *device,
		const char *mountpoint);

Mount a guest disk at a position in the filesystem.  Block devices
are named C</dev/sda>, C</dev/sdb> and so on, as they were added to
the guest.  If those block devices contain partitions, they will have
the usual names (eg. C</dev/sda1>).  Also LVM C</dev/VG/LV>-style
names can be used.

The rules are the same as for L<mount(2)>:  A filesystem must
first be mounted on C</> before others can be mounted.  Other
filesystems can only be mounted on directories which already
exist.

The mounted filesystem is writable, if we have sufficient permissions
on the underlying device.

The filesystem options C<sync> and C<noatime> are set with this
call, in order to improve reliability.

This function returns 0 on success or -1 on error.

=head2 guestfs_pvs_full

 struct guestfs_lvm_pv_list *guestfs_pvs_full (guestfs_h *handle);

List all the physical volumes detected.  This is the equivalent
of the L<pvs(8)> command.

This function returns a C<struct guestfs_lvm_pv_list>.
I<The caller must call C<guestfs_free_lvm_pv_list> after use.>.

=head2 guestfs_sync

 int guestfs_sync (guestfs_h *handle);

This syncs the disk, so that any writes are flushed through to the
underlying disk image.

You should always call this if you have modified a disk image, before
calling C<guestfs_close>.

This function returns 0 on success or -1 on error.

=head2 guestfs_touch

 int guestfs_touch (guestfs_h *handle,
		const char *path);

Touch acts like the L<touch(1)> command.  It can be used to
update the timestamps on a file, or, if the file does not exist,
to create a new zero-length file.

This function returns 0 on success or -1 on error.

=head2 guestfs_vgs_full

 struct guestfs_lvm_vg_list *guestfs_vgs_full (guestfs_h *handle);

List all the volumes groups detected.  This is the equivalent
of the L<vgs(8)> command.

This function returns a C<struct guestfs_lvm_vg_list>.
I<The caller must call C<guestfs_free_lvm_vg_list> after use.>.