37 lines
1.7 KiB
Markdown
37 lines
1.7 KiB
Markdown
|
# 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. For much more information, there is a markdown version of the manual page you can read above (man.md).
|
||
|
|
||
|
qq2clone has these dependences:
|
||
|
* virsh (qq2clone has started the transition 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
|
||
|
|
||
|
Eventually I will write an install script, but for now the process is manual.
|
||
|
|
||
|
First, download the main script (qq2clone) and place it somewhere in your path. Make it executable.
|
||
|
|
||
|
Second, qq2clone requires a directory it will use to store its sqlite database, helper application, template XML and default storage pool. The default value for this directory is ~/storage-qq2clone. If you want to use a different location, create the file ~/.config/qq2clone and place the absolute path to the directory of your choice in that file. Then create the directory ~/storage-qq2clone (or whatever you chose), and download lv\_api\_do into that directory. Make it executable.
|
||
|
|
||
|
Lastly, there is a bash completion file (qq2clone.completion) and a man page (qq2clone.1) above.
|
||
|
|
||
|
That's it!
|
||
|
|
||
|
# FAQ
|
||
|
|
||
|
## Is this really 3000 lines of Bash? In 2021?
|
||
|
|
||
|
Yep! I am aware that more popular, modern scripting languages like python exist, but I figured it was worth my while to cement my Bash skills with one non-trivial Bash project.
|
||
|
|
||
|
# EXAMPLES
|
||
|
|
||
|
TODO: I will flesh out this section later, for now check out the examples section in man.md
|