mirror of
https://github.com/Snigdha-OS/snigdhaos-system-installation.git
synced 2025-09-20 21:44:55 +02:00
⚡️ perf(_blank): more enhancement with logging
This commit is contained in:
@@ -3,26 +3,41 @@
|
|||||||
# Author : Eshan Roy <eshan@snigdhaos.or>
|
# Author : Eshan Roy <eshan@snigdhaos.or>
|
||||||
# Author URL : https://eshanized.github.io/
|
# Author URL : https://eshanized.github.io/
|
||||||
|
|
||||||
echo
|
LOG_FILE="/var/log/snigdhaos_vm_check.log"
|
||||||
echo "--->> Start snigdhaos-virtual-machine-check <<---"
|
ERROR_LOG="/var/log/snigdhaos_vm_check_error.log"
|
||||||
echo
|
|
||||||
|
# Log a message to the log file
|
||||||
|
log_message() {
|
||||||
|
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Log an error message and exit
|
||||||
|
log_error() {
|
||||||
|
echo "$(date '+%Y-%m-%d %H:%M:%S') - ERROR: $1" | tee -a "$ERROR_LOG"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Start of the process
|
||||||
|
log_message "Starting Snigdha OS Virtual Machine Check..."
|
||||||
|
|
||||||
# Detect virtualization platform
|
# Detect virtualization platform
|
||||||
result=$(systemd-detect-virt)
|
result=$(systemd-detect-virt)
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
log_error "Failed to detect virtualization platform."
|
||||||
|
fi
|
||||||
|
|
||||||
# Remove db.lck if it exists
|
# Remove db.lck if it exists
|
||||||
|
log_message "Checking for Pacman lock (db.lck)..."
|
||||||
while [ -e "/var/lib/pacman/db.lck" ]; do
|
while [ -e "/var/lib/pacman/db.lck" ]; do
|
||||||
echo 'Pacman is not ready yet. Trying in 10 Seconds.'
|
log_message "Pacman is not ready yet. Trying in 10 seconds."
|
||||||
sleep 5
|
sleep 10
|
||||||
if [ -e "/var/lib/pacman/db.lck" ]; then
|
if [ -e "/var/lib/pacman/db.lck" ]; then
|
||||||
echo "Snigdha OS Removing Pacman db.lck!"
|
log_message "Removing Pacman db.lck!"
|
||||||
rm /var/lib/pacman/db.lck
|
rm /var/lib/pacman/db.lck || log_error "Failed to remove Pacman db.lck"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo
|
log_message "You are on: $result"
|
||||||
echo "You Are On : $result"
|
|
||||||
echo
|
|
||||||
|
|
||||||
# Define packages to remove for each virtualization platform
|
# Define packages to remove for each virtualization platform
|
||||||
declare -A packages_to_remove
|
declare -A packages_to_remove
|
||||||
@@ -32,34 +47,34 @@ packages_to_remove[vmware]="virtualbox-guest-utils virtualbox-guest-utils-nox qe
|
|||||||
packages_to_remove[none]="virtualbox-guest-utils virtualbox-guest-utils-nox qemu-guest-agent open-vm-tools xf86-video-vmware"
|
packages_to_remove[none]="virtualbox-guest-utils virtualbox-guest-utils-nox qemu-guest-agent open-vm-tools xf86-video-vmware"
|
||||||
|
|
||||||
# Remove packages and disable services
|
# Remove packages and disable services
|
||||||
|
log_message "Removing platform-specific packages and services..."
|
||||||
for package in ${packages_to_remove[$result]}; do
|
for package in ${packages_to_remove[$result]}; do
|
||||||
if pacman -Qi $package &> /dev/null; then
|
if pacman -Qi $package &> /dev/null; then
|
||||||
systemctl disable $package.service
|
systemctl disable $package.service || log_error "Failed to disable service $package.service"
|
||||||
pacman -Rns $package --noconfirm
|
pacman -Rns $package --noconfirm || log_error "Failed to remove package $package"
|
||||||
echo "[REMOVED] $package"
|
log_message "[REMOVED] $package"
|
||||||
|
else
|
||||||
|
log_message "[SKIPPED] $package is not installed."
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Remove additional files
|
# Remove additional files specific to VMware or other platforms
|
||||||
if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then
|
remove_file() {
|
||||||
rm /etc/xdg/autostart/vmware-user.desktop
|
local file=$1
|
||||||
echo "[REMOVED] vmware-user.desktop"
|
if [ -f "$file" ]; then
|
||||||
|
rm -v "$file" || log_error "Failed to remove $file"
|
||||||
|
log_message "[REMOVED] $file"
|
||||||
|
else
|
||||||
|
log_message "[SKIPPED] $file does not exist."
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then
|
remove_file "/etc/xdg/autostart/vmware-user.desktop"
|
||||||
rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service
|
remove_file "/etc/systemd/system/multi-user.target.wants/vmtoolsd.service"
|
||||||
echo "[REMOVED] vmtoolsd.service"
|
remove_file "/usr/local/bin/snigdhaos-virtual-machine-check"
|
||||||
fi
|
remove_file "/etc/systemd/system/multi-user.target.wants/virtual-machine-check.service"
|
||||||
|
|
||||||
if [ -f /usr/local/bin/snigdhaos-virtual-machine-check ]; then
|
log_message "Virtual machine check completed successfully."
|
||||||
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
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "--->> End snigdhaos-virtual-machine-check <<---"
|
echo "--->> End snigdhaos-virtual-machine-check <<---"
|
||||||
|
Reference in New Issue
Block a user