mirror of
https://github.com/Snigdha-OS/snigdhaos-system-installation.git
synced 2025-09-21 13:54:56 +02:00
🛠️ build(map): add array to package removal process
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# set -e
|
|
||||||
|
|
||||||
# Author : Eshan Roy <eshan@snigdhaos.or>
|
# Author : Eshan Roy <eshan@snigdhaos.or>
|
||||||
# Author URL : https://eshanized.github.io/
|
# Author URL : https://eshanized.github.io/
|
||||||
@@ -8,163 +7,60 @@ echo
|
|||||||
echo "--->> Start snigdhaos-virtual-machine-check <<---"
|
echo "--->> Start snigdhaos-virtual-machine-check <<---"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
# Detect virtualization platform
|
||||||
result=$(systemd-detect-virt)
|
result=$(systemd-detect-virt)
|
||||||
|
|
||||||
# First remove the db.lck
|
# Remove db.lck if it exists
|
||||||
|
while [ -e "/var/lib/pacman/db.lck" ]; do
|
||||||
while [ -e "/var/lib/pacman/db.lck" ];
|
echo 'Pacman is not ready yet. Trying in 10 Seconds.'
|
||||||
do
|
sleep 5
|
||||||
echo 'Pacman is not ready yet. Trying in 10 Seconds.'
|
if [ -e "/var/lib/pacman/db.lck" ]; then
|
||||||
# shellcheck disable=SC2004
|
echo "Snigdha OS Removing Pacman db.lck!"
|
||||||
seconds=$(($seconds + 5))
|
rm /var/lib/pacman/db.lck
|
||||||
sleep 5
|
fi
|
||||||
if [[ "$seconds" == "30" ]]; then
|
|
||||||
echo "Snigdha OS Removing Pacman db.lck!"
|
|
||||||
rm /var/lib/pacman/db.lck
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
|
|
||||||
echo
|
echo
|
||||||
# shellcheck disable=SC2086
|
echo "You Are On : $result"
|
||||||
echo "You Are On : "$result
|
|
||||||
echo
|
echo
|
||||||
|
|
||||||
if [[ $result == "oracle" ]]; then
|
# Define packages to remove for each virtualization platform
|
||||||
# removing pre-installed vmware
|
declare -A packages_to_remove
|
||||||
if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then
|
packages_to_remove[oracle]="open-vm-tools xf86-video-vmware qemu-guest-agent"
|
||||||
rm /etc/xdg/autostart/vmware-user.desktop
|
packages_to_remove[kvm]="open-vm-tools xf86-video-vmware virtualbox-guest-utils virtualbox-guest-utils-nox"
|
||||||
echo "[REMOVED] vmware-user.desktop"
|
packages_to_remove[vmware]="virtualbox-guest-utils virtualbox-guest-utils-nox qemu-guest-agent"
|
||||||
fi
|
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
|
# Remove packages and disable services
|
||||||
systemctl disable vmware-vmblock-fuse.service
|
for package in ${packages_to_remove[$result]}; do
|
||||||
systemctl disable vmtoolsd.service
|
if pacman -Qi $package &> /dev/null; then
|
||||||
echo "[DISABLE] vmtoolsd.service"
|
systemctl disable $package.service
|
||||||
pacman -Rns open-vm-tools --noconfirm
|
pacman -Rns $package --noconfirm
|
||||||
echo "[REMOVED] open-vm-tools"
|
echo "[REMOVED] $package"
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
if pacman -Qi xf86-video-vmware &> /dev/null; then
|
# Remove additional files
|
||||||
pacman -Rns xf86-video-vmware --noconfirm
|
if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then
|
||||||
echo "[REMOVED] xf86-video-vmware"
|
rm /etc/xdg/autostart/vmware-user.desktop
|
||||||
fi
|
echo "[REMOVED] vmware-user.desktop"
|
||||||
|
|
||||||
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
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $result == "kvm" ]; then
|
if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then
|
||||||
if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then
|
rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service
|
||||||
rm /etc/xdg/autostart/vmware-user.desktop
|
echo "[REMOVED] vmtoolsd.service"
|
||||||
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
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $result == "vmware" ]; then
|
if [ -f /usr/local/bin/snigdhaos-virtual-machine-check ]; then
|
||||||
if pacman -Qi virtualbox-guest-utils &> /dev/null; then
|
rm /usr/local/bin/snigdhaos-virtual-machine-check
|
||||||
systemctl disable vboxservice.service
|
echo "[REMOVED] /usr/local/bin/snigdhaos-virtual-machine-check"
|
||||||
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
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $result == "none" ]; then
|
if [ -f /etc/systemd/system/multi-user.target.wants/virtual-machine-check.service ]; then
|
||||||
if pacman -Qi virtualbox-guest-utils &> /dev/null; then
|
rm /etc/systemd/system/multi-user.target.wants/virtual-machine-check.service
|
||||||
systemctl disable vboxservice.service
|
echo "[REMOVED] AVM-Check Script"
|
||||||
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
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "--->> End snigdhaos-virtual-machine-check <<---"
|
echo "--->> End snigdhaos-virtual-machine-check <<---"
|
||||||
echo
|
echo
|
Reference in New Issue
Block a user