40 lines
1.3 KiB
Bash
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."
|