From 2b2994db9f3aeb60e021d0c2ec8a871ff8c9def3 Mon Sep 17 00:00:00 2001 From: Jesse Gardner Date: Tue, 13 Apr 2021 17:27:52 -0700 Subject: [PATCH] added README.md --- README.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..edb117c --- /dev/null +++ b/README.md @@ -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