added README.md

This commit is contained in:
Jesse Gardner 2021-04-13 17:27:52 -07:00
parent 2151c8c365
commit 2b2994db9f
1 changed files with 36 additions and 0 deletions

36
README.md Normal file
View File

@ -0,0 +1,36 @@
# 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