62 lines
1.6 KiB
Bash
62 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
os_detect() {
|
|
if [ -f /etc/os-release ]; then
|
|
. /etc/os-release
|
|
OS_ID=$ID
|
|
OS_VERSION_ID=$VERSION_ID
|
|
else
|
|
OS_ID="unknown"
|
|
OS_VERSION_ID="unknown"
|
|
fi
|
|
|
|
export LC_ALL=C.UTF-8
|
|
export LANG=C.UTF-8
|
|
|
|
case "$OS_ID" in
|
|
debian|ubuntu)
|
|
PKG_MANAGER="apt-get"
|
|
PKG_UPDATE="$PKG_MANAGER update"
|
|
PKG_INSTALL="$PKG_MANAGER install -y"
|
|
PKG_CLEAN="$PKG_MANAGER autoremove -y && $PKG_MANAGER clean"
|
|
BUILD_TOOLS="build-essential"
|
|
PYTHON_PKG="python3 python3-pip"
|
|
;;
|
|
fedora|centos|rhel)
|
|
PKG_MANAGER="dnf"
|
|
PKG_UPDATE="$PKG_MANAGER check-update"
|
|
PKG_INSTALL="$PKG_MANAGER install -y"
|
|
PKG_CLEAN="$PKG_MANAGER autoremove -y && $PKG_MANAGER clean all"
|
|
BUILD_TOOLS="@development-tools"
|
|
PYTHON_PKG="python3 python3-pip"
|
|
;;
|
|
alpine)
|
|
PKG_MANAGER="apk"
|
|
PKG_UPDATE="$PKG_MANAGER update"
|
|
PKG_INSTALL="$PKG_MANAGER add"
|
|
PKG_CLEAN="rm -rf /var/cache/apk/*"
|
|
BUILD_TOOLS="build-base"
|
|
PYTHON_PKG="python3 py3-pip"
|
|
;;
|
|
*)
|
|
msg_error "Unsupported OS: $OS_ID"
|
|
exit 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
dynr_initialize_node() {
|
|
msg_info "Synchronizing $OS_ID Environment..."
|
|
$PKG_UPDATE >/dev/null 2>&1
|
|
|
|
if [[ "$OS_ID" == "debian" || "$OS_ID" == "ubuntu" ]]; then
|
|
$PKG_INSTALL locales >/dev/null 2>&1
|
|
sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen >/dev/null 2>&1
|
|
locale-gen en_US.UTF-8 >/dev/null 2>&1
|
|
fi
|
|
|
|
$PKG_INSTALL curl wget git sudo tzdata >/dev/null 2>&1
|
|
msg_ok "Universal OS Established."
|
|
}
|
|
|
|
os_detect |