virt-install is a command-line tool used to provision new virtual machines (VMs) using the libvirt hypervisor management library. It supports creating KVM, Xen, or Linux container guests and can configure various aspects such as virtual disks, network interfaces, audio devices, and physical USB or PCI devices. The installation media can be held locally or remotely on NFS, HTTP, or FTP servers.
Continue reading “Install and Remove KVM Guests With virt-install”Author: Tom's IT Cafe
Learn Ansible Automation & Podman Containerization for Free | Jumpstart DevOps Career
You can start your DevOps career with these free (as free beer) training courses:
- Ansible Basics – free automation training using Ansible.
- Podman Basics – free containerization and container management course using Podman.
More to come! Happy learning!
Migrate Virtual Machines to KVM Using qemu-img
Migrating just a couple of virtual machines from other virtualization platforms to KVM is easy. Virtualbox uses the Virtual Disk Image (.vdi) format. You can clone the vdi image to a RAW image format using vboxmanage. This way you will not alter your original virtual image file. Then QEMU provides the necessary tools to convert the RAW image to the qcow2 format. Qcow2 is QEMU’s Copy On Write image format.
I Migrated to KVM+QEMU on Debian 12
KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko.
QEMU’s system emulation provides a virtual model of a machine (CPU, memory and emulated devices) to run a guest OS. It supports a number of hypervisors (known as accelerators) as well as a JIT known as the Tiny Code Generator (TCG) capable of emulating many CPUs.
libvirt is a toolkit to manage virtualization platforms.
Continue reading “I Migrated to KVM+QEMU on Debian 12”Podman Basics 09: Kubernetes Compatibility
Podman’s integration with Kubernetes through the podman kube play command allows users to create pods, containers, and volumes from Kubernetes YAML files. This command reads the structured file and recreates the described resources, starting the containers within a pod and outputting the ID of the new pod or the name of the new volume.
Podman Basics 08: Building Your Own Images
Sometimes you must create your own Podman images. Building your own Podman images allows for greater customization, control, consistency, and organizational efficiency compared to using only public images. The investment upfront can pay dividends in the long run through improved security, consistency, and maintainability of your container infrastructure.
Continue reading “Podman Basics 08: Building Your Own Images”Podman Basics 07: Using Multi-Container Applications
Podman-compose is a script that simplifies the use of Podman to manage multi-container setups. It interprets the docker-compose.yml file and creates a Podman-compatible setup. This means you can use your existing Docker Compose files with Podman, making the transition smoother if you’re moving from Docker to Podman.
Privacy vs Anonymity
In our always connected world where data flows freely and digital footprints accumulate, the concepts of privacy and anonymity have become increasingly relevant. While they share common ground in protecting personal information, they diverge in their underlying principles and implications.
Continue reading “Privacy vs Anonymity”Podman Basics 06: Podman Volumes
Podman volumes allow you to persist data outside of the container’s file system. This is particularly important when you need to ensure that your application data is not lost when a container is stopped, restarted, or removed. In this lesson you will learn the basics of managing Podman volumes in the command line.
Continue reading “Podman Basics 06: Podman Volumes”Podman Basics 05: Podman Networks
Podman offers a robust network management system that allows for seamless communication between containers. This feature is particularly useful in modern software development, where multiple services often need to interact with each other.
Continue reading “Podman Basics 05: Podman Networks”Podman Basics 04: Running Your First Container
After installing Podman you have to know and understand some of the terminology. Understanding the basic jargon of containerization will help you start with this lesson, and it will be beneficial later on too. You will learn about the image registries, images and containers in this lesson. You will take a look at how to pull, run and manage them.
Continue reading “Podman Basics 04: Running Your First Container”Podman Basics 03: Installing Podman
Containerization has changed the way we deploy and manage applications. Podman is a powerful container management tool that provides a seamless experience for running containers in production, development, and testing environments. We will walk through the steps to install Podman on three popular Linux distributions: Debian, Ubuntu, and Rocky Linux. This lesson will equip you with the knowledge to enjoy the power of Podman on your preferred platform.
Continue reading “Podman Basics 03: Installing Podman”Podman Basics 02: Introduction to Podman
Podman, also known as the POD manager, is an open-source tool for developing, managing, and running containers on Linux systems. It was originally developed by Red Hat engineers along with the open-source community. Podman is designed to make it easy to find, run, build, share, and deploy applications using Open Containers Initiative (OCI) Containers and Container Images.
Continue reading “Podman Basics 02: Introduction to Podman”Podman Basics 01: Introduction to Containerization
In today’s fast-paced world of IT, there’s this game-changing idea called containerization that’s shaking things up. It’s basically transforming how we build, launch, and handle applications. Two key players in this field are Docker and Podman, each offering unique benefits to developers and system administrators alike. In this beginner level course you will get an insight into working with Podman.
Continue reading “Podman Basics 01: Introduction to Containerization”Ansible Basics 11: Blocks
In Ansible, blocks are a powerful feature that allows users to group tasks logically within a playbook, enabling the execution of multiple tasks as a single unit. This functionality significantly enhances the manageability of complex playbooks by breaking them down into smaller, more manageable parts. Blocks not only create logical groups of tasks but also provide a structured approach to handle errors, similar to exception handling in programming languages.
Continue reading “Ansible Basics 11: Blocks”


