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 --key "ID":clevis
129 Attempt passphrase-less unlocking for "ID" with Clevis, over
130 the network. Please refer to "ENCRYPTED DISKS" in guestfs(3)
131 for more information on network-bound disk encryption (NBDE).
132
133 Note that if any such option is present on the command line,
134 QEMU user networking will be automatically enabled for the
135 libguestfs appliance.
136
137 --keys-from-stdin
138 Read key or passphrase parameters from stdin. The default is to
139 try to read passphrases from the user by opening /dev/tty.
140
141 If there are multiple encrypted devices then you may need to supply
142 multiple keys on stdin, one per line.
143
144 -m dev[:mountpoint[:options[:fstype]]]
145 --mount dev[:mountpoint[:options[:fstype]]]
146 Mount the named partition or logical volume on the given
147 mountpoint.
148
149 If the mountpoint is omitted, it defaults to /.
150
151 Specifying any mountpoint disables the inspection of the guest and
152 the mount of its root and all of its mountpoints, so make sure to
153 mount all the mountpoints needed to work with the filenames given
154 as arguments.
155
156 If you don’t know what filesystems a disk image contains, you can
157 either run guestfish without this option, then list the partitions,
158 filesystems and LVs available (see "list-partitions", "list-
159 filesystems" and "lvs" commands), or you can use the
160 virt-filesystems(1) program.
161
162 The third (and rarely used) part of the mount parameter is the list
163 of mount options used to mount the underlying filesystem. If this
164 is not given, then the mount options are either the empty string or
165 "ro" (the latter if the --ro flag is used). By specifying the
166 mount options, you override this default choice. Probably the only
167 time you would use this is to enable ACLs and/or extended
168 attributes if the filesystem can support them:
169
170 -m /dev/sda1:/:acl,user_xattr
171
172 Using this flag is equivalent to using the "mount-options" command.
173
174 The fourth part of the parameter is the filesystem driver to use,
175 such as "ext3" or "ntfs". This is rarely needed, but can be useful
176 if multiple drivers are valid for a filesystem (eg: "ext2" and
177 "ext3"), or if libguestfs misidentifies a filesystem.
178
179 -v
180 --verbose
181 Enable verbose messages for debugging.
182
183 -V
184 --version
185 Display version number and exit.
186
187 -x Enable tracing of libguestfs API calls.
188
190 Previous versions of virt-cat allowed you to write either:
191
192 virt-cat disk.img [disk.img ...] file
193
194 or
195
196 virt-cat guestname file
197
198 whereas in this version you should use -a or -d respectively to avoid
199 the confusing case where a disk image might have the same name as a
200 guest.
201
202 For compatibility the old style is still supported.
203
205 To list out the log files from guests, see the related tool
206 virt-log(1). It understands binary log formats such as the systemd
207 journal.
208
209 To follow (tail) text log files, use virt-tail(1).
210
212 "virt-cat" has a limited ability to understand Windows drive letters
213 and paths (eg. E:\foo\bar.txt).
214
215 If and only if the guest is running Windows then:
216
217 • Drive letter prefixes like "C:" are resolved against the Windows
218 Registry to the correct filesystem.
219
220 • Any backslash ("\") characters in the path are replaced with
221 forward slashes so that libguestfs can process it.
222
223 • The path is resolved case insensitively to locate the file that
224 should be displayed.
225
226 There are some known shortcomings:
227
228 • Some NTFS symbolic links may not be followed correctly.
229
230 • NTFS junction points that cross filesystems are not followed.
231
233 guestfish(1) is a more powerful, lower level tool which you can use
234 when "virt-cat" doesn't work.
235
236 Using "virt-cat" is approximately equivalent to doing:
237
238 guestfish --ro -i -d domname download file -
239
240 where "domname" is the name of the libvirt guest, and "file" is the
241 full path to the file. Note the final "-" (meaning "output to
242 stdout").
243
244 The command above uses libguestfs’s guest inspection feature and so
245 does not work on guests that libguestfs cannot inspect, or on things
246 like arbitrary disk images that don't contain guests. To display a
247 file from a disk image directly, use:
248
249 guestfish --ro -a disk.img -m /dev/sda1 download file -
250
251 where disk.img is the disk image, /dev/sda1 is the filesystem within
252 the disk image, and "file" is the full path to the file.
253
255 This program returns 0 if successful, or non-zero if there was an
256 error.
257
259 guestfs(3), guestfish(1), virt-copy-out(1), virt-edit(1), virt-log(1),
260 virt-tail(1), virt-tar-out(1), http://libguestfs.org/.
261
263 Richard W.M. Jones http://people.redhat.com/~rjones/
264
266 Copyright (C) 2010-2023 Red Hat Inc.
267
269 This program is free software; you can redistribute it and/or modify it
270 under the terms of the GNU General Public License as published by the
271 Free Software Foundation; either version 2 of the License, or (at your
272 option) any later version.
273
274 This program is distributed in the hope that it will be useful, but
275 WITHOUT ANY WARRANTY; without even the implied warranty of
276 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
277 General Public License for more details.
278
279 You should have received a copy of the GNU General Public License along
280 with this program; if not, write to the Free Software Foundation, Inc.,
281 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
282
284 To get a list of bugs against libguestfs, use this link:
285 https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
286
287 To report a new bug against libguestfs, use this link:
288 https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
289
290 When reporting a bug, please supply:
291
292 • The version of libguestfs.
293
294 • Where you got libguestfs (eg. which Linux distro, compiled from
295 source, etc)
296
297 • Describe the bug accurately and give a way to reproduce it.
298
299 • Run libguestfs-test-tool(1) and paste the complete, unedited output
300 into the bug report.
301
302
303
304guestfs-tools-1.50.1 2023-04-06 virt-cat(1)