diff --git a/deploy-vm.sh b/deploy.sh similarity index 87% rename from deploy-vm.sh rename to deploy.sh index 07659d6..bbd5ab7 100755 --- a/deploy-vm.sh +++ b/deploy.sh @@ -13,6 +13,7 @@ execute_script() { # Array of scripts scripts=( + "./scripts/install-prerequisites-on-linux.sh" "./scripts/core-count.sh" "./scripts/system-memory.sh" "./scripts/deploy-distro.sh" diff --git a/scripts/install-prerequisites-on-linux.sh b/scripts/install-prerequisites-on-linux.sh new file mode 100755 index 0000000..a356d99 --- /dev/null +++ b/scripts/install-prerequisites-on-linux.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +# Check if virt-manager is already installed +if command -v virt-manager &> /dev/null; then + exit 0 +fi + +# Detect the Linux distribution +if [[ -f /etc/os-release ]]; then + . /etc/os-release + DISTRO="$ID" +else + echo "Unable to determine Linux distribution. Exiting." + exit 1 +fi + +echo "Detected distribution: $DISTRO" + +# Install prerequisites based on distribution +case "$DISTRO" in + ubuntu|debian) + echo "Installing prerequisites for Debian/Ubuntu..." + apt-get update + apt-get install -y qemu-system libvirt-daemon-system virt-manager + ;; + fedora|rhel|centos) + echo "Installing prerequisites for Fedora/RHEL/CentOS..." + dnf install -y qemu-kvm libvirt virt-manager + ;; + arch) + echo "Installing prerequisites for Arch Linux..." + pacman -S --noconfirm qemu-desktop libvirt virt-manager + ;; + opensuse-tumbleweed) + echo "Installing prerequisites for openSUSE Tumbleweed..." + zypper -n install qemu libvirt virt-manager + ;; + *) + echo "Unsupported distribution: $DISTRO. Manual installation required." + exit 1 + ;; +esac + \ No newline at end of file