69 lines
1.7 KiB
Bash
69 lines
1.7 KiB
Bash
#!/bin/sh
|
|
# This script uninstalls llama-swap on Linux.
|
|
# It removes the binary, systemd service, config.yaml (optional), and llama-swap user and group.
|
|
|
|
set -eu
|
|
|
|
red="$( (/usr/bin/tput bold || :; /usr/bin/tput setaf 1 || :) 2>&-)"
|
|
plain="$( (/usr/bin/tput sgr0 || :) 2>&-)"
|
|
|
|
status() { echo ">>> $*" >&2; }
|
|
error() { echo "${red}ERROR:${plain} $*"; exit 1; }
|
|
warning() { echo "${red}WARNING:${plain} $*"; }
|
|
|
|
available() { command -v $1 >/dev/null; }
|
|
|
|
SUDO=
|
|
if [ "$(id -u)" -ne 0 ]; then
|
|
if ! available sudo; then
|
|
error "This script requires superuser permissions. Please re-run as root."
|
|
fi
|
|
|
|
SUDO="sudo"
|
|
fi
|
|
|
|
configure_systemd() {
|
|
status "Stopping llama-swap service..."
|
|
$SUDO systemctl stop llama-swap
|
|
|
|
status "Disabling llama-swap service..."
|
|
$SUDO systemctl disable llama-swap
|
|
}
|
|
if available systemctl; then
|
|
configure_systemd
|
|
fi
|
|
|
|
if available llama-swap; then
|
|
status "Removing llama-swap binary..."
|
|
$SUDO rm $(which llama-swap)
|
|
fi
|
|
|
|
if [ -f "/usr/share/llama-swap/config.yaml" ]; then
|
|
while true; do
|
|
printf "Delete config.yaml (/usr/share/llama-swap/config.yaml)? [y/N] " >&2
|
|
read answer
|
|
case "$answer" in
|
|
[Yy]* )
|
|
$SUDO rm -r /usr/share/llama-swap
|
|
break
|
|
;;
|
|
[Nn]* | "" )
|
|
break
|
|
;;
|
|
* )
|
|
echo "Invalid input. Please enter y or n."
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
if id llama-swap >/dev/null 2>&1; then
|
|
status "Removing llama-swap user..."
|
|
$SUDO userdel llama-swap
|
|
fi
|
|
|
|
if getent group llama-swap >/dev/null 2>&1; then
|
|
status "Removing llama-swap group..."
|
|
$SUDO groupdel llama-swap
|
|
fi
|