diff --git a/usr/local/bin/snigdhaos-virtual-machine-check b/usr/local/bin/snigdhaos-virtual-machine-check index fea678b..c99936c 100755 --- a/usr/local/bin/snigdhaos-virtual-machine-check +++ b/usr/local/bin/snigdhaos-virtual-machine-check @@ -1,5 +1,4 @@ #!/bin/bash -# set -e # Author : Eshan Roy # Author URL : https://eshanized.github.io/ @@ -8,163 +7,60 @@ echo echo "--->> Start snigdhaos-virtual-machine-check <<---" echo +# Detect virtualization platform result=$(systemd-detect-virt) -# First remove the db.lck - -while [ -e "/var/lib/pacman/db.lck" ]; -do - echo 'Pacman is not ready yet. Trying in 10 Seconds.' - # shellcheck disable=SC2004 - seconds=$(($seconds + 5)) - sleep 5 - if [[ "$seconds" == "30" ]]; then - echo "Snigdha OS Removing Pacman db.lck!" - rm /var/lib/pacman/db.lck - fi +# Remove db.lck if it exists +while [ -e "/var/lib/pacman/db.lck" ]; do + echo 'Pacman is not ready yet. Trying in 10 Seconds.' + sleep 5 + if [ -e "/var/lib/pacman/db.lck" ]; then + echo "Snigdha OS Removing Pacman db.lck!" + rm /var/lib/pacman/db.lck + fi done echo -# shellcheck disable=SC2086 -echo "You Are On : "$result +echo "You Are On : $result" echo -if [[ $result == "oracle" ]]; then - # removing pre-installed vmware - if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then - rm /etc/xdg/autostart/vmware-user.desktop - echo "[REMOVED] vmware-user.desktop" - fi +# Define packages to remove for each virtualization platform +declare -A packages_to_remove +packages_to_remove[oracle]="open-vm-tools xf86-video-vmware qemu-guest-agent" +packages_to_remove[kvm]="open-vm-tools xf86-video-vmware virtualbox-guest-utils virtualbox-guest-utils-nox" +packages_to_remove[vmware]="virtualbox-guest-utils virtualbox-guest-utils-nox qemu-guest-agent" +packages_to_remove[none]="virtualbox-guest-utils virtualbox-guest-utils-nox qemu-guest-agent open-vm-tools xf86-video-vmware" - if pacman -Qi open-vm-tools &> /dev/null; then - systemctl disable vmware-vmblock-fuse.service - systemctl disable vmtoolsd.service - echo "[DISABLE] vmtoolsd.service" - pacman -Rns open-vm-tools --noconfirm - echo "[REMOVED] open-vm-tools" - fi +# Remove packages and disable services +for package in ${packages_to_remove[$result]}; do + if pacman -Qi $package &> /dev/null; then + systemctl disable $package.service + pacman -Rns $package --noconfirm + echo "[REMOVED] $package" + fi +done - if pacman -Qi xf86-video-vmware &> /dev/null; then - pacman -Rns xf86-video-vmware --noconfirm - echo "[REMOVED] xf86-video-vmware" - fi - - if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then - rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service - echo "[REMOVED] vmtoolsd.service" - fi - - if pacman -Qi qemu-guest-agent &> /dev/null; then - systemctl disable qemu-guest-agent.service - pacman -Rns qemu-guest-agent --noconfirm - echo "[REMOVED] qemu-guest-agent" - fi +# Remove additional files +if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then + rm /etc/xdg/autostart/vmware-user.desktop + echo "[REMOVED] vmware-user.desktop" fi -if [ $result == "kvm" ]; then - if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then - rm /etc/xdg/autostart/vmware-user.desktop - echo "[REMOVED] vmware-user.desktop" - fi - - if pacman -Qi open-vm-tools &> /dev/null; then - systemctl disable vmware-vmblock-fuse.service - systemctl disable vmtoolsd.service - echo "[DISABLE] vmtoolsd.service" - pacman -Rns open-vm-tools --noconfirm - echo "[REMOVED] open-vm-tools" - fi - - if pacman -Qi xf86-video-vmware &> /dev/null; then - pacman -Rns xf86-video-vmware --noconfirm - echo "[REMOVED] xf86-video-vmware" - fi - - if pacman -Qi virtualbox-guest-utils &> /dev/null; then - systemctl disable vboxservice.service - pacman -Rns virtualbox-guest-utils --noconfirm - echo "[REMOVED] virtualbox-guest-utils" - fi - - if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then - systemctl disable vboxservice.service - pacman -Rns virtualbox-guest-utils-nox --noconfirm - echo "[REMOVED] virtualbox-guest-utils-nox" - fi +if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then + rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service + echo "[REMOVED] vmtoolsd.service" fi -if [ $result == "vmware" ]; then - if pacman -Qi virtualbox-guest-utils &> /dev/null; then - systemctl disable vboxservice.service - pacman -Rns virtualbox-guest-utils --noconfirm - echo "[REMOVED] virtualbox-guest-utils" - fi - - if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then - systemctl disable vboxservice.service - pacman -Rns virtualbox-guest-utils-nox --noconfirm - echo "[REMOVED] virtualbox-guest-utils-nox" - fi - - if pacman -Qi qemu-guest-agent &> /dev/null; then - systemctl disable qemu-guest-agent.service - pacman -Rns qemu-guest-agent --noconfirm - echo "[REMOVED] qemu-guest-agent" - fi +if [ -f /usr/local/bin/snigdhaos-virtual-machine-check ]; then + rm /usr/local/bin/snigdhaos-virtual-machine-check + echo "[REMOVED] /usr/local/bin/snigdhaos-virtual-machine-check" fi -if [ $result == "none" ]; then - if pacman -Qi virtualbox-guest-utils &> /dev/null; then - systemctl disable vboxservice.service - pacman -Rns virtualbox-guest-utils --noconfirm - echo "[REMOVED] virtualbox-guest-utils" - fi - - if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then - systemctl disable vboxservice.service - pacman -Rns virtualbox-guest-utils-nox --noconfirm - echo "[REMOVED] virtualbox-guest-utils-nox" - fi - - if pacman -Qi qemu-guest-agent &> /dev/null; then - systemctl disable qemu-guest-agent.service - pacman -Rns qemu-guest-agent --noconfirm - echo "[REMOVED] qemu-guest-agent" - fi - - if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then - rm /etc/xdg/autostart/vmware-user.desktop - echo "[REMOVED] vmware-user.desktop" - fi - - if pacman -Qi open-vm-tools &> /dev/null; then - systemctl disable vmware-vmblock-fuse.service - systemctl disable vmtoolsd.service - echo "[DISABLE] vmtoolsd.service" - pacman -Rns open-vm-tools --noconfirm - echo "[REMOVED] open-vm-tools" - fi - - if pacman -Qi xf86-video-vmware &> /dev/null; then - pacman -Rns xf86-video-vmware --noconfirm - echo "[REMOVED] xf86-video-vmware" - fi - - if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then - rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service - echo "[REMOVED] vmtoolsd.service" - fi - - if [ -f /usr/local/bin/snigdhaos-virtual-machine-check ]; then - rm /usr/local/bin/snigdhaos-virtual-machine-check - echo "[REMOVED] /usr/local/bin/snigdhaos-virtual-machine-check" - fi - - if [ -f /etc/systemd/system/multi-user.target.wants/virtual-machine-check.service ]; then - rm /etc/systemd/system/multi-user.target.wants/virtual-machine-check.service - echo "[REMOVED] AVM-Check Script" - fi +if [ -f /etc/systemd/system/multi-user.target.wants/virtual-machine-check.service ]; then + rm /etc/systemd/system/multi-user.target.wants/virtual-machine-check.service + echo "[REMOVED] AVM-Check Script" fi + echo echo "--->> End snigdhaos-virtual-machine-check <<---" echo \ No newline at end of file