A virtual machine manager to make life with qemu more comfortable

User Tools

Site Tools

Basic configuration (rc-file)        Advanced configuration (cfg-file)        man page of qemu-init(5)


qemu-init uses several config files which could be classified into groups:

  1. config files: required by the qemu-init for general operation(s)
  2. status files: belongs to a dedicated virtual machine but required by qemu-init
  3. guest files: dedicated config files for each registered virtual machine

Refer to the man page qemu-init(5) too. Before we go into details it is important to understand the directory structure and its naming conventions.


The directory layout will be set by  configure  at build time. By default qemu-init uses the APPDIR1) concept. However, more traditional layouts are available. The following table shows the relationship between the APPDIR layout and a more common layout (in column FHS). The Alias will be used further to specify and refer to a directory.

   APPDIR            Alias       Mode       FHS                        
   $HOME             home        1775       /home/SUFFIX             home directory of SYSUSR
     │ (home)        BINDIR      -          PREFIX/bin               user tools
     ├─ etc          ETCDIR      3775       PREFIX/etc/SUFFIX        config files of qemu-init
     ├─ dat          DATDIR      2775       /home/SUFFIX/dat         place for virtual machine data
     ├─ lib          LIBDIR     (2775)      PREFIX/lib               executable libraries
     └─ var          VARDIR      2775       PREFIX/var/SUFFIX        status and log files
         └─ run      RUNDIR      3775       PREFIX/run/SUFFIX        status files (delete protected)

    The \ APPDIR \ layout doesn't have a separate \ BINDIR. The Mode of \ LIBDIR \ applies to the \ APPDIR \ layout only. PREFIX \ and \ SUFFIX \ will be defined at build time.    

Config files

These config files are required by qemu-init and MUST exist in ETCDIR. Thus they are all owned by the root user and the ETCDIR has the sticky bit set.

File Description
 autostart  listed virtual machines in this file will be started by qemud
 registered  contains all registered virtual machines include the absolute path
 template-qemu.cfg  a template to create  <name>-qemu.cfg  virtual machine user config file
 template-qemud.rc  a template to create  <name>-qemud.rc  virtual machine config file
 vncoffset  defines an offset to start vnc ports (default: 50000)
 vncstatus  delete protected backup of  VARDIR/vncstatus  (hardlink)

Other files

File Directory Description
 qemud-sudo   /etc/sudoers.d 2) Grant strict limited root privileges for absolute necessarily tasks
 qemud.conf  home not implemented yet: overwrite build-in config parameters

Status files

Status files are located in VARDIR and RUNDIR. Files in VARDIR could be deleted by members of the SYSGRP3). Against RUNDIR has the sticky bit set and all files are owned by the root user.

File Directory Description
 <name>-error.log  VARDIR start up error log created by qemud-init
 vncstatus  VARDIR status of all running virtual machines with vnc enabled
 <name>-qemu.pid  RUNDIR pidfile created by qemu's  -pidfile  option
 <name>-sock.mon  RUNDIR monitor unix socket redirection for interactive connections
 <name>-sock.ctl  RUNDIR monitor unix socket redirection for the command (control) channel

Guest files

All files which belongs to a dedicated virtual machine <name> have to be in the same directory altogether. Multiple virtual machines can share one directory. The default directory is DATDIR, sub directories and symlinks in DATDIR could be used. Symlinked files and directories have to have the appropriate permissions. In conjunction with <name> DATDIR refers to the path of <name> from  registered .

File Alias Description
 <name>-qemud-rc  rc-file default configuration file (required by qemu-init)
 <name>-user.cfg  cfg-file user configuration file (optional) for qemu parameters
short: all files of a package are located in one directory
directory/location depends on  sudo 's build configuration
that's the reason to have  vncstatus  as hardlink in ETCDIR delete protected