Files
the_information_nexus/tech_docs/linux/virt-manager.sh
2024-05-01 12:28:44 -06:00

40 lines
1.3 KiB
Bash

#!/bin/bash
# This script installs KVM, Virt-Manager, and sets up necessary configurations on Debian.
# It checks for doas or sudo for privilege escalation, installs required packages,
# enables and starts necessary services, and configures user permissions.
# Check for privilege escalation tool
[ -x "$(command -v doas)" ] && [ -e /etc/doas.conf ] && ld="doas"
[ -x "$(command -v sudo)" ] && ld="sudo"
# Exit if neither doas nor sudo is found
if [ -z "$ld" ]; then
echo "Neither doas nor sudo is installed. Exiting."
exit 1
fi
# Update package list
$ld apt update
# Install virt-manager, kvm and dependencies
$ld apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager -yy
# Optionally install ssh-askpass for graphical sudo prompt, useful when using X11 forwarding
$ld apt install ssh-askpass -yy
# Verify KVM installation (optional step for troubleshooting)
# kvm-ok
# Enable and start the libvirt daemon
$ld systemctl enable --now libvirtd
# Add current user to libvirt and libvirt-qemu groups for permissions
user="$(id -un)"
$ld adduser $user libvirt
$ld adduser $user libvirt-qemu
# Configure X11 Forwarding (ensure sshd_config on server has X11Forwarding yes)
echo "Installation and basic configuration complete."
echo "Remember to configure your SSH client and server for X11 forwarding."