virt-sysprep
Reset, unconfigure, or customize a virtual machine image. tldr-pages
On Linux
Linux
Reset, unconfigure, or customize a virtual machine image. This command can be used on a virtual machine or directly on a virtual machine disk image. Note: You may need to pass --connect URI to the commands or set up the URI in $XDG_CONFIG_HOME/libvirt/libvirt.conf.
List all supported operations (default enabled operations are indicated with asterisks)
virt-sysprep --list-operationsIdentifyRun only the specified operations
sudo virt-sysprep --domain vm_name --operations operation1,operation2,...IdentifyRemove sensitive system data from a virtual machine image (operations marked as default)
sudo virt-sysprep --add path/to/image.qcow2IdentifySimulate running all enabled operations on a virtual machine specified by its name
sudo virt-sysprep --domain vm_name --dry-runIdentifyReset NetworkManager network configurations, persistent MAC mappings, and the hostname to avoid network conflicts
sudo virt-sysprep --domain vm_name --operations machine-id,net-hwaddr,net-hostname,net-nmconn,customize --hostname new_hostnameIdentifySet the root password for a disk image
sudo virt-sysprep --add path/to/image.qcow2 --operations customize --root-password password:new_passwordIdentifyInject a new user with a defined password and add them to the sudo group
sudo virt-sysprep --add path/to/image.qcow2 --run-command 'useradd -m username && echo username:password | chpasswd && usermod -aG sudo username'IdentifyInstall specific package(s) on a disk image (use --update to upgrade all installed packages to latest)
sudo virt-sysprep --add path/to/image.qcow2 --operations customize --network --install package_name1,package_name2,...Identify