Quickemu is a free and open source project which allows us to quickly launch Linux, macOS, and Windows optimized virtual machines. The project is hosted on GitHub, and is basically a wrapper around QEMU and some other tools.
Restic is a cross-platform, free and open source program written in Go. We can use it to create compressed, encrypted and space efficient backups, since it is smart enough to archive only changed fragments of files. Restic can use many storage services as targets, such as Google Drive or AWS (Amazon Web Services) S3 buckets, but works also locally and over plain SFTP connections.
KVM (Kernel-based Virtual Machine) is the virtualization solution (type 1 hypervisor) included in the Linux kernel, which, by default, is used together with QEMU, the userspace software which actually performs the guest systems emulation (type 2 hypervisor). In a previous tutorial we saw how to create and manage KVM virtual machines from the command line; in this article, instead, we will learn how to create and manage guest systems snapshots using tools like virsh and virt-manager.
Linux-based operating systems, if well configured, are really stable; however, since bad things can always happen, it is a good idea to regularly create backups. As we saw in previous articles, there are many types of backup, and many possible backup strategies which can be implemented on Linux, using free and open source software. In this article we focus on Timeshift, an application which allows us to create incremental backups of our Linux system. The tool is similar to the Apple Time Machine, and can work as a frontend for rsync or use the BTRFS filesystem snapshot feature under the hood.
Tar (Tape ARchiver) is one the most useful utilities in the toolbox of every Linux system administrator out there. With tar we can create archives which can be used for various purposes: to package applications source code, for example, or to create and store data backups.