.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Podwrapper::Man 1.52.0 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "guestfsd 8" .TH guestfsd 8 2024-01-05 libguestfs-1.52.0 "Virtualization Support" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME guestfsd \- guestfs daemon .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& guestfsd [\-r] [\-v|\-\-verbose] .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" \&\f(CW\*(C`guestfsd\*(C'\fR is the libguestfs daemon. Normal users never need to run this program explicitly. This man page discusses what \f(CW\*(C`guestfsd\*(C'\fR does in both the libguestfs appliance and when using libguestfs live. .SS "LIBGUESTFS APPLIANCE" .IX Subsection "LIBGUESTFS APPLIANCE" For the architecture of the libguestfs appliance, see "ARCHITECTURE" in \fBguestfs\fR\|(3). .PP After the appliance boots, the \fI/init\fR script in the appliance starts \&\f(CW\*(C`guestfsd\*(C'\fR with no arguments. \f(CW\*(C`guestfsd\*(C'\fR opens the virtio-serial port on a known path (see "FILES"). It initiates the protocol (see "COMMUNICATION PROTOCOL" in \fBguestfs\fR\|(3)) and processes requests one at a time from the library until the appliance is destroyed. .PP Filesystems are mounted under \fI/sysroot\fR and all filesystem operations happen relative to this directory. .SS "LIBGUESTFS LIVE" .IX Subsection "LIBGUESTFS LIVE" In the libguestfs live case, \f(CW\*(C`guestfsd \-r\*(C'\fR is started from the rc-scripts, systemd, etc. .PP The \f(CW\*(C`\-r\*(C'\fR option causes the daemon to operate on the root filesystem instead of \fI/sysroot\fR. .PP Currently (because of limitations in virtio-serial) only one client can connect at a time, and \f(CW\*(C`guestfsd\*(C'\fR must be restarted after each client disconnects. If libguestfs live were changed to use a different transport such as TCP/IP then this limitation could be removed. .SH OPTIONS .IX Header "OPTIONS" .IP \fB\-?\fR 4 .IX Item "-?" .PD 0 .IP \fB\-\-help\fR 4 .IX Item "--help" .PD Display brief help. .IP "\fB\-c\fR CHANNEL" 4 .IX Item "-c CHANNEL" .PD 0 .IP "\fB\-\-channel\fR CHANNEL" 4 .IX Item "--channel CHANNEL" .IP "\fB\-\-channel\fR fd:N" 4 .IX Item "--channel fd:N" .PD Pass the name of the virtio-serial channel, serial port, etc. over which guestfsd will communicate with the library. If this parameter is not given, then an internal default port is used. .Sp The \f(CW\*(C`fd:N\*(C'\fR form causes guestfsd to use the file descriptor \f(CW\*(C`N\*(C'\fR directly. .IP \fB\-l\fR 4 .IX Item "-l" .PD 0 .IP \fB\-\-listen\fR 4 .IX Item "--listen" .PD Instead of opening the \f(CW\*(C`guestfs_channel\*(C'\fR and thus expecting that it already exists, create the channel as a Unix domain socket, listen on it, and accept a single connection. This is mainly used for testing the daemon. .IP \fB\-n\fR 4 .IX Item "-n" .PD 0 .IP \fB\-\-network\fR 4 .IX Item "--network" .PD Enable network features in the daemon. .IP \fB\-r\fR 4 .IX Item "-r" Set the root filesystem to be \fI/\fR (instead of the default which is \&\fI/sysroot\fR). Also do not unmount filesystems when the daemon exits. .Sp This option is used to enable libguestfs live. .IP \fB\-v\fR 4 .IX Item "-v" .PD 0 .IP \fB\-\-verbose\fR 4 .IX Item "--verbose" .PD Enable verbose messages for debugging. .Sp The verbose flag is also set if the Linux command line contains the substring \f(CW\*(C`guestfs_verbose=1\*(C'\fR. .SH "EXIT STATUS" .IX Header "EXIT STATUS" This program returns 0 if successful, or non-zero if there was an error. .SH FILES .IX Header "FILES" .IP \fI/dev/virtio\-ports/org.libguestfs.channel.0\fR 4 .IX Item "/dev/virtio-ports/org.libguestfs.channel.0" The virtio serial port which \f(CW\*(C`guestfsd\*(C'\fR connects to. .IP \fI/proc/cmdline\fR 4 .IX Item "/proc/cmdline" The Linux command line is parsed to discover \f(CW\*(C`guestfs_*\*(C'\fR flags. The following flags are understood: .RS 4 .IP \fBguestfs_verbose=1\fR 4 .IX Item "guestfs_verbose=1" Enable verbose messages. This flag is passed by the libguestfs library to the appliance to make the daemon more verbose (it acts like the \fI\-v\fR flag on the command line). Unrelated to the daemon, it also causes the appliance init script to print out a lot more debugging information. .IP \fBguestfs_channel=PATH\fR 4 .IX Item "guestfs_channel=PATH" Set the path to the virtio-serial channel to something other than the default (which is \fI/dev/virtio\-ports/org.libguestfs.channel.0\fR). This is used by the User-Mode Linux backend to use a regular emulated serial port instead of virtio-serial. .IP \fBguestfs_network=1\fR 4 .IX Item "guestfs_network=1" This is set if the appliance network is enabled (see \&\f(CW\*(C`guestfs_set_network\*(C'\fR). .RE .RS 4 .RE .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBguestfs\fR\|(3), http://libguestfs.org/. .SH AUTHOR .IX Header "AUTHOR" Richard W.M. Jones http://people.redhat.com/~rjones/ .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright (C) 2009\-2023 Red Hat Inc. .SH LICENSE .IX Header "LICENSE" This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA. .SH BUGS .IX Header "BUGS" To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools .PP To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools .PP When reporting a bug, please supply: .IP \(bu 4 The version of libguestfs. .IP \(bu 4 Where you got libguestfs (eg. which Linux distro, compiled from source, etc) .IP \(bu 4 Describe the bug accurately and give a way to reproduce it. .IP \(bu 4 Run \fBlibguestfs\-test\-tool\fR\|(1) and paste the \fBcomplete, unedited\fR output into the bug report.