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 -c URI
68 --connect URI
69 If using libvirt, connect to the given URI. If omitted, then we
70 connect to the default libvirt hypervisor.
71
72 If you specify guest block devices directly (-a), then libvirt is
73 not used at all.
74
75 -d guest
76 --domain guest
77 Add all the disks from the named libvirt guest. Domain UUIDs can
78 be used instead of names.
79
80 --echo-keys
81 When prompting for keys and passphrases, virt-cat normally turns
82 echoing off so you cannot see what you are typing. If you are not
83 worried about Tempest attacks and there is no one else in the room
84 you can specify this flag to see what you are typing.
85
86 --format=raw|qcow2|..
87 --format
88 The default for the -a option is to auto-detect the format of the
89 disk image. Using this forces the disk format for -a options which
90 follow on the command line. Using --format with no argument
91 switches back to auto-detection for subsequent -a options.
92
93 For example:
94
95 virt-cat --format=raw -a disk.img file
96
97 forces raw format (no auto-detection) for disk.img.
98
99 virt-cat --format=raw -a disk.img --format -a another.img file
100
101 forces raw format (no auto-detection) for disk.img and reverts to
102 auto-detection for another.img.
103
104 If you have untrusted raw-format guest disk images, you should use
105 this option to specify the disk format. This avoids a possible
106 security problem with malicious guests (CVE-2010-3851).
107
108 --keys-from-stdin
109 Read key or passphrase parameters from stdin. The default is to
110 try to read passphrases from the user by opening /dev/tty.
111
112 -m dev[:mountpoint[:options[:fstype]]]
113 --mount dev[:mountpoint[:options[:fstype]]]
114 Mount the named partition or logical volume on the given
115 mountpoint.
116
117 If the mountpoint is omitted, it defaults to /.
118
119 Specifying any mountpoint disables the inspection of the guest and
120 the mount of its root and all of its mountpoints, so make sure to
121 mount all the mountpoints needed to work with the filenames given
122 as arguments.
123
124 If you don’t know what filesystems a disk image contains, you can
125 either run guestfish without this option, then list the partitions,
126 filesystems and LVs available (see "list-partitions", "list-
127 filesystems" and "lvs" commands), or you can use the
128 virt-filesystems(1) program.
129
130 The third (and rarely used) part of the mount parameter is the list
131 of mount options used to mount the underlying filesystem. If this
132 is not given, then the mount options are either the empty string or
133 "ro" (the latter if the --ro flag is used). By specifying the
134 mount options, you override this default choice. Probably the only
135 time you would use this is to enable ACLs and/or extended
136 attributes if the filesystem can support them:
137
138 -m /dev/sda1:/:acl,user_xattr
139
140 Using this flag is equivalent to using the "mount-options" command.
141
142 The fourth part of the parameter is the filesystem driver to use,
143 such as "ext3" or "ntfs". This is rarely needed, but can be useful
144 if multiple drivers are valid for a filesystem (eg: "ext2" and
145 "ext3"), or if libguestfs misidentifies a filesystem.
146
147 -v
148 --verbose
149 Enable verbose messages for debugging.
150
151 -V
152 --version
153 Display version number and exit.
154
155 -x Enable tracing of libguestfs API calls.
156
158 Previous versions of virt-cat allowed you to write either:
159
160 virt-cat disk.img [disk.img ...] file
161
162 or
163
164 virt-cat guestname file
165
166 whereas in this version you should use -a or -d respectively to avoid
167 the confusing case where a disk image might have the same name as a
168 guest.
169
170 For compatibility the old style is still supported.
171
173 To list out the log files from guests, see the related tool
174 virt-log(1). It understands binary log formats such as the systemd
175 journal.
176
177 To follow (tail) text log files, use virt-tail(1).
178
180 "virt-cat" has a limited ability to understand Windows drive letters
181 and paths (eg. E:\foo\bar.txt).
182
183 If and only if the guest is running Windows then:
184
185 · Drive letter prefixes like "C:" are resolved against the Windows
186 Registry to the correct filesystem.
187
188 · Any backslash ("\") characters in the path are replaced with
189 forward slashes so that libguestfs can process it.
190
191 · The path is resolved case insensitively to locate the file that
192 should be displayed.
193
194 There are some known shortcomings:
195
196 · Some NTFS symbolic links may not be followed correctly.
197
198 · NTFS junction points that cross filesystems are not followed.
199
201 guestfish(1) is a more powerful, lower level tool which you can use
202 when "virt-cat" doesn't work.
203
204 Using "virt-cat" is approximately equivalent to doing:
205
206 guestfish --ro -i -d domname download file -
207
208 where "domname" is the name of the libvirt guest, and "file" is the
209 full path to the file. Note the final "-" (meaning "output to
210 stdout").
211
212 The command above uses libguestfs’s guest inspection feature and so
213 does not work on guests that libguestfs cannot inspect, or on things
214 like arbitrary disk images that don't contain guests. To display a
215 file from a disk image directly, use:
216
217 guestfish --ro -a disk.img -m /dev/sda1 download file -
218
219 where disk.img is the disk image, /dev/sda1 is the filesystem within
220 the disk image, and "file" is the full path to the file.
221
223 This program returns 0 if successful, or non-zero if there was an
224 error.
225
227 guestfs(3), guestfish(1), virt-copy-out(1), virt-edit(1), virt-log(1),
228 virt-tail(1), virt-tar-out(1), http://libguestfs.org/.
229
231 Richard W.M. Jones http://people.redhat.com/~rjones/
232
234 Copyright (C) 2010-2012 Red Hat Inc.
235
237 This program is free software; you can redistribute it and/or modify it
238 under the terms of the GNU General Public License as published by the
239 Free Software Foundation; either version 2 of the License, or (at your
240 option) any later version.
241
242 This program is distributed in the hope that it will be useful, but
243 WITHOUT ANY WARRANTY; without even the implied warranty of
244 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
245 General Public License for more details.
246
247 You should have received a copy of the GNU General Public License along
248 with this program; if not, write to the Free Software Foundation, Inc.,
249 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
250
252 To get a list of bugs against libguestfs, use this link:
253 https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
254
255 To report a new bug against libguestfs, use this link:
256 https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
257
258 When reporting a bug, please supply:
259
260 · The version of libguestfs.
261
262 · Where you got libguestfs (eg. which Linux distro, compiled from
263 source, etc)
264
265 · Describe the bug accurately and give a way to reproduce it.
266
267 · Run libguestfs-test-tool(1) and paste the complete, unedited output
268 into the bug report.
269
270
271
272libguestfs-1.38.2 2018-05-15 virt-cat(1)