1virt-cat(1) Virtualization Support virt-cat(1)
2
3
4
6 virt-cat - Display files in a virtual machine
7
9 virt-cat [--options] -d domname file [file ...]
10
11 virt-cat [--options] -a disk.img [-a disk.img ...] file [file ...]
12
13 Old-style:
14
15 virt-cat domname file
16
17 virt-cat disk.img file
18
20 "virt-cat" is a command line tool to display the contents of "file"
21 where "file" exists in the named virtual machine (or disk image).
22
23 Multiple filenames can be given, in which case they are concatenated
24 together. Each filename must be a full path, starting at the root
25 directory (starting with '/').
26
27 "virt-cat" can be used to quickly view a file. To edit a file, use
28 "virt-edit". For more complex cases you should look at the
29 guestfish(1) tool (see "USING GUESTFISH" below).
30
32 Display /etc/fstab file from inside the libvirt VM called "mydomain":
33
34 virt-cat -d mydomain /etc/fstab
35
36 Find out what packages were recently installed:
37
38 virt-cat -d mydomain /var/log/yum.log | tail
39
40 Find out who is logged on inside a virtual machine:
41
42 virt-cat -d mydomain /var/run/utmp > /tmp/utmp
43 who /tmp/utmp
44
45 or who was logged on:
46
47 virt-cat -d mydomain /var/log/wtmp > /tmp/wtmp
48 last -f /tmp/wtmp
49
51 --help
52 Display brief help.
53
54 -a file
55 --add file
56 Add file which should be a disk image from a virtual machine. If
57 the virtual machine has multiple block devices, you must supply all
58 of them with separate -a options.
59
60 The format of the disk image is auto-detected. To override this
61 and force a particular format use the --format=.. option.
62
63 -a URI
64 --add URI
65 Add a remote disk. See "ADDING REMOTE STORAGE" in guestfish(1).
66
67 --blocksize=512
68 --blocksize=4096
69 --blocksize
70 This parameter sets the sector size of the disk image. It affects
71 all explicitly added subsequent disks after this parameter. Using
72 --blocksize with no argument switches the disk sector size to the
73 default value which is usually 512 bytes. See also
74 "guestfs_add_drive_opts" in guestfs(3).
75
76 -c URI
77 --connect URI
78 If using libvirt, connect to the given URI. If omitted, then we
79 connect to the default libvirt hypervisor.
80
81 If you specify guest block devices directly (-a), then libvirt is
82 not used at all.
83
84 -d guest
85 --domain guest
86 Add all the disks from the named libvirt guest. Domain UUIDs can
87 be used instead of names.
88
89 --echo-keys
90 When prompting for keys and passphrases, virt-cat normally turns
91 echoing off so you cannot see what you are typing. If you are not
92 worried about Tempest attacks and there is no one else in the room
93 you can specify this flag to see what you are typing.
94
95 --format=raw|qcow2|..
96 --format
97 The default for the -a option is to auto-detect the format of the
98 disk image. Using this forces the disk format for -a options which
99 follow on the command line. Using --format with no argument
100 switches back to auto-detection for subsequent -a options.
101
102 For example:
103
104 virt-cat --format=raw -a disk.img file
105
106 forces raw format (no auto-detection) for disk.img.
107
108 virt-cat --format=raw -a disk.img --format -a another.img file
109
110 forces raw format (no auto-detection) for disk.img and reverts to
111 auto-detection for another.img.
112
113 If you have untrusted raw-format guest disk images, you should use
114 this option to specify the disk format. This avoids a possible
115 security problem with malicious guests (CVE-2010-3851).
116
117 --key SELECTOR
118 Specify a key for LUKS, to automatically open a LUKS device when
119 using the inspection. "ID" can be either the libguestfs device
120 name, or the UUID of the LUKS device.
121
122 --key "ID":key:KEY_STRING
123 Use the specified "KEY_STRING" as passphrase.
124
125 --key "ID":file:FILENAME
126 Read the passphrase from FILENAME.
127
128 --keys-from-stdin
129 Read key or passphrase parameters from stdin. The default is to
130 try to read passphrases from the user by opening /dev/tty.
131
132 -m dev[:mountpoint[:options[:fstype]]]
133 --mount dev[:mountpoint[:options[:fstype]]]
134 Mount the named partition or logical volume on the given
135 mountpoint.
136
137 If the mountpoint is omitted, it defaults to /.
138
139 Specifying any mountpoint disables the inspection of the guest and
140 the mount of its root and all of its mountpoints, so make sure to
141 mount all the mountpoints needed to work with the filenames given
142 as arguments.
143
144 If you don’t know what filesystems a disk image contains, you can
145 either run guestfish without this option, then list the partitions,
146 filesystems and LVs available (see "list-partitions", "list-
147 filesystems" and "lvs" commands), or you can use the
148 virt-filesystems(1) program.
149
150 The third (and rarely used) part of the mount parameter is the list
151 of mount options used to mount the underlying filesystem. If this
152 is not given, then the mount options are either the empty string or
153 "ro" (the latter if the --ro flag is used). By specifying the
154 mount options, you override this default choice. Probably the only
155 time you would use this is to enable ACLs and/or extended
156 attributes if the filesystem can support them:
157
158 -m /dev/sda1:/:acl,user_xattr
159
160 Using this flag is equivalent to using the "mount-options" command.
161
162 The fourth part of the parameter is the filesystem driver to use,
163 such as "ext3" or "ntfs". This is rarely needed, but can be useful
164 if multiple drivers are valid for a filesystem (eg: "ext2" and
165 "ext3"), or if libguestfs misidentifies a filesystem.
166
167 -v
168 --verbose
169 Enable verbose messages for debugging.
170
171 -V
172 --version
173 Display version number and exit.
174
175 -x Enable tracing of libguestfs API calls.
176
178 Previous versions of virt-cat allowed you to write either:
179
180 virt-cat disk.img [disk.img ...] file
181
182 or
183
184 virt-cat guestname file
185
186 whereas in this version you should use -a or -d respectively to avoid
187 the confusing case where a disk image might have the same name as a
188 guest.
189
190 For compatibility the old style is still supported.
191
193 To list out the log files from guests, see the related tool
194 virt-log(1). It understands binary log formats such as the systemd
195 journal.
196
197 To follow (tail) text log files, use virt-tail(1).
198
200 "virt-cat" has a limited ability to understand Windows drive letters
201 and paths (eg. E:\foo\bar.txt).
202
203 If and only if the guest is running Windows then:
204
205 · Drive letter prefixes like "C:" are resolved against the Windows
206 Registry to the correct filesystem.
207
208 · Any backslash ("\") characters in the path are replaced with
209 forward slashes so that libguestfs can process it.
210
211 · The path is resolved case insensitively to locate the file that
212 should be displayed.
213
214 There are some known shortcomings:
215
216 · Some NTFS symbolic links may not be followed correctly.
217
218 · NTFS junction points that cross filesystems are not followed.
219
221 guestfish(1) is a more powerful, lower level tool which you can use
222 when "virt-cat" doesn't work.
223
224 Using "virt-cat" is approximately equivalent to doing:
225
226 guestfish --ro -i -d domname download file -
227
228 where "domname" is the name of the libvirt guest, and "file" is the
229 full path to the file. Note the final "-" (meaning "output to
230 stdout").
231
232 The command above uses libguestfs’s guest inspection feature and so
233 does not work on guests that libguestfs cannot inspect, or on things
234 like arbitrary disk images that don't contain guests. To display a
235 file from a disk image directly, use:
236
237 guestfish --ro -a disk.img -m /dev/sda1 download file -
238
239 where disk.img is the disk image, /dev/sda1 is the filesystem within
240 the disk image, and "file" is the full path to the file.
241
243 This program returns 0 if successful, or non-zero if there was an
244 error.
245
247 guestfs(3), guestfish(1), virt-copy-out(1), virt-edit(1), virt-log(1),
248 virt-tail(1), virt-tar-out(1), http://libguestfs.org/.
249
251 Richard W.M. Jones http://people.redhat.com/~rjones/
252
254 Copyright (C) 2010-2012 Red Hat Inc.
255
257 This program is free software; you can redistribute it and/or modify it
258 under the terms of the GNU General Public License as published by the
259 Free Software Foundation; either version 2 of the License, or (at your
260 option) any later version.
261
262 This program is distributed in the hope that it will be useful, but
263 WITHOUT ANY WARRANTY; without even the implied warranty of
264 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
265 General Public License for more details.
266
267 You should have received a copy of the GNU General Public License along
268 with this program; if not, write to the Free Software Foundation, Inc.,
269 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
270
272 To get a list of bugs against libguestfs, use this link:
273 https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
274
275 To report a new bug against libguestfs, use this link:
276 https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
277
278 When reporting a bug, please supply:
279
280 · The version of libguestfs.
281
282 · Where you got libguestfs (eg. which Linux distro, compiled from
283 source, etc)
284
285 · Describe the bug accurately and give a way to reproduce it.
286
287 · Run libguestfs-test-tool(1) and paste the complete, unedited output
288 into the bug report.
289
290
291
292libguestfs-1.42.0 2020-03-09 virt-cat(1)