VIRTLXCD(8)
π VIRTLXCD(8) β libvirt LXC management daemon π
okay so this one lives in section 8 of the manual (the Virtualization Support corner of the world), and bestie, it's the LXC one. let's get into it π«Ά
β¨ NAME β¨
virtlxcd β the libvirt LXC management daemon, aka your girl for container wrangling π³
β¨ SYNOPSIS β¨
virtlxcd [OPTION]...
literally that's it. flags go in, daemon goes brrr β¨
π DESCRIPTION π
okay so virtlxcd is a server side daemon component of the libvirt virtualization management system. it's part of the whole libvirt situation, not off doing its own thing π
it's one of a collection of modular daemons that replace functionality previously provided by the monolithic libvirtd daemon. so like... libvirtd used to do everything and now it's a group project and everyone has their own job. iconic division of labor honestly π
this daemon runs on virtualization hosts to provide management for LXC containers. that's the whole gig π
the virtlxcd daemon only listens for requests on a local Unix domain socket. only local. it does not do remote. if you need remote access via TLS/TCP, plus backwards compatibility with legacy clients expecting libvirtd, that's provided by the virtproxyd daemon. different girl, different job πΈ
now, important bit: restarting virtlxcd does not interrupt running guests. the guests continue to operate and changes in their state will generally be picked up automatically during startup. so your containers keep vibing β¨ none the less it is recommended to avoid restarting with running guests whenever practical. so like, it's fine, but also don't make a habit of it, iykyk π
π¦ DAEMON STARTUP MODES π¦
the virtlxcd daemon is capable of starting in two modes, bestie. two whole modes. pick your fighter β
π Socket activation mode
on hosts with systemd it is started in socket activation mode, and it will rely on systemd to create and listen on the UNIX sockets and pass them as pre-opened file descriptors.
in this mode most of the socket related config options in /etc/libvirt/virtlxcd.conf will no longer have any effect. yeah. they just sit there. decorative. π systemd is doing the socket work now, not you.
π―οΈ Traditional service mode
on hosts without systemd, it will create and listen on UNIX sockets itself. self-sufficient queen energy π no systemd, no problem.
π OPTIONS π
-h,--helpβ display command line help usage then exit. the "i'm lost" button π«Ά-d,--daemonβ run as a daemon & write PID file. background mode, main character energy β¨-f,--configFILE β use this configuration file, overriding the default value. custom config, your rules π-p,--pid-fileFILE β use this name for the PID file, overriding the default value. name your pid file whatever you want, slay π-t,--timeoutSECONDS β exit after timeout period (in seconds), provided there are neither any client connections nor any running domains. so it dips out ONLY if nobody's talking to it and nothing's running. no cap π¦-v,--verboseβ enable output of verbose messages. it's giving "tell me everything" π£οΈ--versionβ display version information then exit. the quick vibe check π
πΈ SIGNALS πΈ
on receipt of SIGHUP, virtlxcd will reload its configuration. that's the whole section. one signal. one job. periodt π
π FILES π
the virtlxcd program must be ran as root. trying to start the program under a different user results in error. no root, no daemon. that's the rule π₯
/etc/libvirt/virtlxcd.conf
the default configuration file used by virtlxcd, unless overridden on the command line using the -f | --config option. π
in addition to the default configuration file, virtlxcd reads configuration for the LXC driver from:
/etc/libvirt/lxc.conf
this file contains various knobs and default values for virtual machines created within the LXC driver, and offers a way to override the built in defaults. also: the location of this file can't be overridden by any command line switch. nope. not happening. it stays put π
/run/libvirt/virtlxcd-sock/run/libvirt/virtlxcd-sock-ro/run/libvirt/virtlxcd-admin-sock
the sockets virtlxcd will use. all three of them, each one iconic in its own way β¨
the TLS Server private key virtlxcd will use. (yep, that's the whole line, that's how it's written, i don't make the rules π)
/run/virtlxcd.pid
the PID file to use, unless overridden by the -p | --pid-file option. π
β EXAMPLES β
to retrieve the version of virtlxcd:
# virtlxcd --version
virtlxcd (libvirt) 12.3.0
to start virtlxcd, instructing it to daemonize and create a PID file:
# virtlxcd -d
# ls -la /run/virtlxcd.pid
-rw-r--r-- 1 root root 6 Jul 9 02:40 /run/virtlxcd.pid
look at that pid file. six whole bytes. living its best life π
π¦ BUGS π¦
please report all bugs you discover. and like, actually report them, don't just complain in the group chat π this should be done via either:
- the mailing list
<https://libvirt.org/contact.html>
- the bug tracker
<https://libvirt.org/bugs.html>
alternatively, you may report bugs to your software distributor / vendor. they're right there π
π AUTHORS π
please refer to the AUTHORS file distributed with libvirt. the whole squad's in there π«Ά
π COPYRIGHT π
Copyright (C) 2006-2020 Red Hat, Inc., and the authors listed in the libvirt AUTHORS file.
π LICENSE π
virtlxcd is distributed under the terms of the GNU LGPL v2.1+. this is free software; see the source for copying conditions. there is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. like, zero warranty. none. don't come for her if it breaks π
πΈ SEE ALSO πΈ
virsh(1), libvirtd(8), <https://libvirt.org/daemons.html>, <https://libvirt.org/drvlxc.html>
and that's the page bestie, you ate that π mwah π
VIRTLXCD(8) β Virtualization Support β go be root, run your containers, and stan responsibly π¦π
π¦ where this page comes from
- alpine 3.24: libvirt-doc 12.3.0-r0 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms