Files
scripts/bin/system-update
2025-11-18 12:49:48 +01:00

47 lines
963 B
Bash
Executable File

#!/usr/bin/env bash
set -e
set -u
set -o pipefail
# Ensure running as root
if [ $EUID != 0 ]; then
sudo "$0" "$@"
exit $?
fi
# Determining the current OS
if [ -f /etc/os-release ]; then
# freedesktop.org and systemd
. /etc/os-release
OS=$NAME
VER=$VERSION_ID
elif type lsb_release >/dev/null 2>&1; then
# linuxbase.org
OS=$(lsb_release -si)
VER=$(lsb_release -sr)
elif [ -f /etc/lsb-release ]; then
# For some versions of Debian/Ubuntu without lsb_release command
. /etc/lsb-release
OS=$DISTRIB_ID
VER=$DISTRIB_RELEASE
elif [ -f /etc/debian_version ]; then
# Older Debian/Ubuntu/etc.
OS=Debian
VER=$(cat /etc/debian_version)
else
# Fall back to uname, e.g. "Linux <version>", also works for BSD, etc.
OS=$(uname -s)
VER=$(uname -r)
fi
# Update commands per OS
case $OS in
Fedora\ Linux)
dnf upgrade --refresh;
flatpak update --assumeyes;
;;
*)
echo "Cannot update system with OS: " $OS
;;
esac