Make and manage copy-on-write KVM clones from template VMs
Go to file
Jesse Gardner cc72e7ab80 GNU GPL copyright notices/license notices added 2021-07-15 18:57:43 -07:00
LICENSE qq2clone V 0.1.0 2021-04-12 19:20:38 -07:00
README.md GNU GPL copyright notices/license notices added 2021-07-15 18:57:43 -07:00
gen_all.bash GNU GPL copyright notices/license notices added 2021-07-15 18:57:43 -07:00
inst_fragment.bash GNU GPL copyright notices/license notices added 2021-07-15 18:57:43 -07:00
lv_api_do Minor changes to lv_api_do.c 2021-04-25 09:48:08 -07:00
lv_api_do.c GNU GPL copyright notices/license notices added 2021-07-15 18:57:43 -07:00
man.md GNU GPL copyright notices/license notices added 2021-07-15 18:57:43 -07:00
man.pandoc GNU GPL copyright notices/license notices added 2021-07-15 18:57:43 -07:00
qq2clone GNU GPL copyright notices/license notices added 2021-07-15 18:57:43 -07:00
qq2clone.1 GNU GPL copyright notices/license notices added 2021-07-15 18:57:43 -07:00
qq2clone_completion.bash GNU GPL copyright notices/license notices added 2021-07-15 18:57:43 -07:00
qq2clone_installer.bash GNU GPL copyright notices/license notices added 2021-07-15 18:57:43 -07:00
qq2clone_noarchive GNU GPL copyright notices/license notices added 2021-07-15 18:57:43 -07:00

README.md

README

qq2clone is a linux tool to simplify creating and managing copy-on-write clones of template QEMU/KVM virtual machines. It can perform batch operations in case you are working with multiple clones. There is a version of the manual page you can read online above (man.md).

qq2clone has these dependences:

  • virsh (qq2clone has started transitioning to use the libvirt API directly, this will not remain a dependency forever)
  • Bash 4.0+
  • sqlite3
  • xmllint (from libxml2)
  • qemu-img
  • libvirt tools:
    • virt-clone
    • virt-xml
    • virt-xml-validate

INSTALL

The file qq2clone_installer.bash is a setup script containing a self-extracting archive. If you copy and paste the following into a terminal, it will download and run.

curl  https://git.j-g-web.com/jesse/qq2clone/raw/branch/master/qq2clone_installer.bash > .qq2clone_installer.bash 2> /dev/null &&
chmod +x .qq2clone_installer.bash &&
./.qq2clone_installer.bash

FAQ

How do I use this thing?

The manual is quite detailed, and there is an examples section that may be helpful.

Why use Bash and C when this could all be written in Python?

Just to improve my Bash skills and gain a tiny bit of familiarity with C. Writing this in Python would certainly have been easier.

Copyright 2021, Jesse Gardner

All files present in the qq2clone git repository are released under the the GNU GPL v2 license, made available in the license file above. All files contained in the qq2clone git repository, beginning from the first commit and continuing to the present, are offered solely under the terms of the GNU GPL v2 license.