Browse Source

adding old code back in

pull/3568/head
Daniel Gibbs 4 years ago
parent
commit
61ba4411c5
  1. 3
      lgsm/data/ubuntu-20.04.csv
  2. 449
      lgsm/functions/check_deps.sh
  3. 8
      lgsm/functions/info_distro.sh

3
lgsm/data/ubuntu-20.04.csv

@ -1,4 +1,5 @@
all,bc,binutils,bsdmainutils,bzip2,ca-certificates,cpio,curl,file,gzip,jq,python3,tar,tmux,util-linux,netcat,unzip,xz-utils,lib32gcc1,lib32stdc++6
install,apt install
all,bc,binutils,bsdmainutils,bzip2,ca-certificates,cpio,curl,file,gzip,jq,python3,tar,tmux,util-linux,netcat,unzip,xz-utils,lib32gcc1,lib32stdc++6,hostname
ac
ahl
ahl2

Can't render this file because it has a wrong number of fields in line 2.

449
lgsm/functions/check_deps.sh

@ -102,131 +102,6 @@ fn_install_mono_repo(){
fi
}
fn_install_universe_repo(){
# Defensive coding - As this is an ubuntu only issue then check to make sure this fix is needed, and we are using ubuntu.
if [ "${jquniversemissing}" != "0" ]&&[ "${distroid}" == "ubuntu" ]; then
fn_print_warning_nl "Ubuntu 18.04.1 contains a bug which means the sources.list file does not populate with the Ubuntu universe repository."
fn_print_information_nl "Attempting to add universe repository."
if [ "${autoinstall}" == "1" ]; then
sudo -n true > /dev/null 2>&1
else
sudo -v > /dev/null 2>&1
fi
if [ $? -eq 0 ]; then
echo -en ".\r"
sleep 1
echo -en "..\r"
sleep 1
echo -en "...\r"
sleep 1
echo -en " \r"
cmd="sudo apt-add-repository universe"
eval "${cmd}"
if [ $? -eq 0 ]; then
fn_print_complete_nl "Installing universe repository completed."
fn_script_log_pass "Installing universe repository completed."
else
fn_print_failure_nl "Unable to install universe repository."
fn_script_log_fatal "Unable to install universe repository."
fi
else
fn_print_warning_nl "$(whoami) does not have sudo access. Manually add Universe repository."
fn_script_log_warn "$(whoami) does not have sudo access. Manually add Universe repository."
echo -e "* Please run the following command as a user with sudo access, and re-run the installation"
echo -e ""
echo -e " sudo apt-add-repository universe"
fi
fi
}
fn_deps_detector(){
# Checks if dependency is missing.
if [ "${javacheck}" == "1" ]; then
# Added for users using Oracle JRE to bypass check.
depstatus=0
deptocheck="${javaversion}"
unset javacheck
elif [ "${deptocheck}" == "jq" ]&&[ "${distroid}" == "ubuntu" ]&&[ "${distroversion}" == "18.04" ]&& ! grep -qE "^deb .*universe" /etc/apt/sources.list; then
# #1985 ubuntu 18.04.1 bug does not set sources.list correctly which means universe is not active by default
# If the universe repo does not exist, mark as dependency missing and universe missing.
depstatus=1
jquniversemissing=1
elif [ "${deptocheck}" == "mono-complete" ]; then
if [ "$(command -v mono 2>/dev/null)" ]&&[ "$(mono --version 2>&1 | grep -Po '(?<=version )\d')" -ge 5 ]; then
# Mono >= 5.0.0 already installed.
depstatus=0
else
# Mono not installed or installed Mono < 5.0.0.
depstatus=1
monostatus=1
fi
elif [ "$(command -v dpkg-query 2>/dev/null)" ]; then
dpkg-query -W -f='${Status}' "${deptocheck}" 2>/dev/null | grep -q -P '^install ok installed'
depstatus=$?
elif [ "$(command -v rpm 2>/dev/null)" ]; then
rpm -q "${deptocheck}" > /dev/null 2>&1
depstatus=$?
fi
if [ "${depstatus}" == "0" ]; then
# If dependency is found.
missingdep=0
if [ "${commandname}" == "INSTALL" ]; then
echo -e "${green}${deptocheck}${default}"
fn_sleep_time
fi
else
# If dependency is not found.
missingdep=1
if [ "${commandname}" == "INSTALL" ]; then
echo -e "${red}${deptocheck}${default}"
fn_sleep_time
fi
# Define required dependencies for SteamCMD.
if [ "${appid}" ]; then
# lib32gcc1 is now called lib32gcc-s1 in debian 11
if { [ "${distroid}" == "debian" ]&&[ "${distroversion}" == "11" ]; }||{ [ "${distroid}" == "ubuntu" ]&&[ "${distroversion}" == "20.10" ]; } || { [ "${distroid}" == "pop" ]&&[ "${distroversion}" == "20.10" ]; }; then
if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc-s1" ]||[ "${deptocheck}" == "lib32stdc++6" ]; then
steamcmdfail=1
fi
else
if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc1" ]||[ "${deptocheck}" == "lib32stdc++6" ]; then
steamcmdfail=1
fi
fi
fi
fi
# Missing dependencies are added to array_deps_missing.
if [ "${missingdep}" == "1" ]; then
array_deps_missing+=("${deptocheck}")
fi
}
fn_deps_email(){
# Adds postfix to required dependencies if email alert is enabled.
if [ "${emailalert}" == "on" ]; then
if [ -f /usr/bin/mailx ]; then
if [ -d /etc/exim4 ]; then
array_deps_required+=( exim4 )
elif [ -d /etc/sendmail ]; then
array_deps_required+=( sendmail )
elif [ "$(command -v dpkg-query 2>/dev/null)" ]; then
array_deps_required+=( mailutils postfix )
elif [ "$(command -v rpm 2>/dev/null)" ]; then
array_deps_required+=( mailx postfix )
fi
else
if [ "$(command -v dpkg-query 2>/dev/null)" ]; then
array_deps_required+=( mailutils postfix )
elif [ "$(command -v rpm 2>/dev/null)" ]; then
array_deps_required+=( mailx postfix )
fi
fi
fi
}
fn_found_missing_deps(){
if [ "${#array_deps_missing[*]}" != "0" ]; then
@ -338,280 +213,86 @@ fn_check_loop(){
fn_found_missing_deps
}
# Generate require dependencies for debian based systems.
fn_deps_build_debian(){
# Generate array of missing deps.
array_deps_missing=()
# LinuxGSM requirements.
array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python3 tar bzip2 gzip unzip binutils bc jq tmux netcat cpio )
fn_deps_detector(){
# Checks if dependency is missing.
# All servers except ts3, mumble, GTA and minecraft servers require lib32stdc++6 and lib32gcc1.
if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "mumble" ]&&[ "${shortname}" != "mc" ]&&[ "${shortname}" != "pmc" ]&&[ "${shortname}" != "wmc" ]&&[ "${engine}" != "renderware" ]; then
if [ "${arch}" == "x86_64" ]; then
# lib32gcc1 is now called lib32gcc-s1 in debian 11
if { [ "${distroid}" == "debian" ]&&[ "${distroversion}" == "11" ]; }||{ [ "${distroid}" == "ubuntu" ]&&[ "${distroversion}" == "20.10" ]; }||{ [ "${distroid}" == "pop" ]&&[ "${distroversion}" == "20.10" ]; }; then
array_deps_required+=( lib32gcc-s1 lib32stdc++6 )
else
array_deps_required+=( lib32gcc1 lib32stdc++6 )
fi
else
array_deps_required+=( lib32stdc++6 )
fi
fi
# If requires steamcmd.
if [ "${appid}" ]; then
# Will not use apt if non-free repo is missing or Ubuntu 14.04
if [ "${distroversion}" == "14.04" ]||[ "${distroid}" == "debian" ]&& ! grep -qE "^deb .*non-free" /etc/apt/sources.list; then
:
# Java: Added for users using Oracle JRE to bypass check.
if [ ${deptocheck} == "openjdk-16-jre" ]; then
javaversion=$(java -version 2>&1 | grep "version")
if [ "${javaversion}" ]; then
javacheck=1
fi
fi
if [ "${javacheck}" == "1" ]; then
# Added for users using Oracle JRE to bypass check.
depstatus=0
deptocheck="${javaversion}"
unset javacheck
# Mono
elif [ "${deptocheck}" == "mono-complete" ]; then
if [ "$(command -v mono 2>/dev/null)" ]&&[ "$(mono --version 2>&1 | grep -Po '(?<=version )\d')" -ge 5 ]; then
# Mono >= 5.0.0 already installed.
depstatus=0
else
array_deps_required+=( steamcmd libsdl2-2.0-0:i386 )
# Mono not installed or installed Mono < 5.0.0.
depstatus=1
monostatus=1
fi
elif [ "$(command -v dpkg-query 2>/dev/null)" ]; then
dpkg-query -W -f='${Status}' "${deptocheck}" 2>/dev/null | grep -q -P '^install ok installed'
depstatus=$?
elif [ "$(command -v rpm 2>/dev/null)" ]; then
rpm -q "${deptocheck}" > /dev/null 2>&1
depstatus=$?
fi
# Game Specific requirements.
# Natural Selection 2 (x64 only)
if [ "${shortname}" == "ns2" ]; then
array_deps_required+=( speex libtbb2 )
# NS2: Combat
elif [ "${shortname}" == "ns2c" ]; then
array_deps_required+=( speex:i386 libtbb2 )
# 7 Days to Die
elif [ "${shortname}" == "sdtd" ]; then
array_deps_required+=( telnet expect )
# Battlefield: Vietnam
elif [ "${shortname}" == "bfv" ]; then
array_deps_required+=( libncurses5:i386 libstdc++5:i386 )
# Battlefield 1942
elif [ "${shortname}" == "bf1942" ]; then
array_deps_required+=( libncurses5:i386 libtinfo5:i386 )
# Black Mesa: Death Match
elif [ "${shortname}" == "bmdm" ]; then
array_deps_required+=( libncurses5:i386 )
# Counter-Strike: Source, Garry's Mod, No More Room in Hell, Source Forts Classic, Zombie Master Reborn and Zombie Panic: Source
elif [ "${shortname}" == "css" ]||[ "${shortname}" == "gmod" ]||[ "${shortname}" == "nmrih" ]||[ "${shortname}" == "sfc" ]||[ "${shortname}" == "zmr" ]||[ "${shortname}" == "zps" ]; then
if [ "${arch}" == "x86_64" ]; then
array_deps_required+=( libtinfo5:i386 )
else
array_deps_required+=( libtinfo5 )
if [ "${depstatus}" == "0" ]; then
# If dependency is found.
missingdep=0
if [ "${commandname}" == "INSTALL" ]; then
echo -e "${green}${deptocheck}${default}"
fn_sleep_time
fi
# Brainbread 2, Don't Starve Together & Team Fortress 2
elif [ "${shortname}" == "bb2" ]||[ "${shortname}" == "dst" ]||[ "${shortname}" == "tf2" ]; then
array_deps_required+=( libcurl4-gnutls-dev:i386 )
# Call of Duty & Medal of Honor: Allied Assault
elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]||[ "${shortname}" == "mohaa" ]; then
array_deps_required+=( libstdc++5:i386 )
# Barotrauma
elif [ "${shortname}" == "bt" ]; then
array_deps_required+=( libicu-dev )
# Ecoserver
elif [ "${shortname}" == "eco" ]; then
array_deps_required+=( libgdiplus )
# Factorio
elif [ "${shortname}" == "fctr" ]; then
array_deps_required+=( xz-utils )
# Hurtword/Rust
elif [ "${shortname}" == "hw" ]||[ "${shortname}" == "rust" ]; then
array_deps_required+=( lib32z1 )
# Minecraft, Rising World
elif [ "${shortname}" == "mc" ]||[ "${shortname}" == "pmc" ]||[ "${shortname}" == "wmc" ]; then
javaversion=$(java -version 2>&1 | grep "version")
if [ "${javaversion}" ]; then
# Added for users using Oracle JRE to bypass the check.
javacheck=1
else
if { [ "${distroid}" == "ubuntu" ]&&[ "${distroversion}" == "20.04" ]; }||{ [ "${distroid}" == "ubuntu" ]&&[ "${distroversion}" == "20.10" ]; }||{ [ "${distroid}" == "ubuntu" ]&&[ "${distroversion}" == "21.04" ]; }||{ [ "${distroid}" == "pop" ]&&[ "${distroversion}" == "20.04" ]; }||{ [ "${distroid}" == "pop" ]&&[ "${distroversion}" == "20.10" ]; }||{ [ "${distroid}" == "pop" ]&&[ "${distroversion}" == "21.04" ]; }; then
array_deps_required+=( openjdk-16-jre )
else
# If dependency is not found.
missingdep=1
if [ "${commandname}" == "INSTALL" ]; then
echo -e "${red}${deptocheck}${default}"
fn_sleep_time
fi
# Define required dependencies for SteamCMD.
if [ "${appid}" ]; then
# lib32gcc1 is now called lib32gcc-s1 in debian 11
if { [ "${distroid}" == "debian" ]&&[ "${distroversion}" == "11" ]; }||{ [ "${distroid}" == "ubuntu" ]&&[ "${distroversion}" == "20.10" ]; } || { [ "${distroid}" == "pop" ]&&[ "${distroversion}" == "20.10" ]; }; then
if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc-s1" ]||[ "${deptocheck}" == "lib32stdc++6" ]; then
steamcmdfail=1
fi
else
array_deps_required+=( default-jre )
if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc1" ]||[ "${deptocheck}" == "lib32stdc++6" ]; then
steamcmdfail=1
fi
fi
fi
elif [ "${shortname}" == "rw" ]; then
javaversion=$(java -version 2>&1 | grep "version")
if [ "${javaversion}" ]; then
# Added for users using Oracle JRE to bypass the check.
javacheck=1
else
array_deps_required+=( default-jre )
fi
# Onset
elif [ "${shortname}" == "onset" ]; then
array_deps_required+=( libmariadbclient-dev )
# Project Zomboid
elif [ "${shortname}" == "pz" ]; then
if java -version 2>&1 | grep "version"; then
# Added for users using Oracle JRE to bypass the check.
javacheck=1
array_deps_required+=( rng-tools )
else
array_deps_required+=( default-jre rng-tools )
fi
# SCP: Secret Laboratory, SCP: Secret Laboratory ServerMod
elif [ "${shortname}" == "scpsl" ]||[ "${shortname}" == "scpslsm" ]; then
array_deps_required+=( mono-complete )
# Sven Co-op
elif [ "${shortname}" == "sven" ]; then
array_deps_required+=( libssl1.1:i386 zlib1g:i386 )
# Vintage Story
elif [ "${shortname}" == "vints" ]; then
array_deps_required+=( mono-complete )
# Wurm: Unlimited
elif [ "${shortname}" == "wurm" ]; then
array_deps_required+=( xvfb )
# Post Scriptum
elif [ "${shortname}" == "pstbs" ]; then
array_deps_required+=( libgconf-2-4 )
# Pavlov VR
elif [ "${shortname}" == "pvr" ]; then
array_deps_required+=( libc++1 )
fi
# check if system is a lxc container and the hostname dependency.
if command -v systemd-detect-virt &> /dev/null; then
systemd_virt=$(systemd-detect-virt)
if [ "${systemd_virt}" == "lxc" ]||[ "${systemd_virt}" == "lxc-libvirt" ]; then
array_deps_required+=( hostname )
fi
# Missing dependencies are added to array_deps_missing.
if [ "${missingdep}" == "1" ]; then
array_deps_missing+=("${deptocheck}")
fi
fn_deps_email
fn_check_loop
}
fn_deps_build_redhat(){
# Generate array of missing deps.
array_deps_missing=()
# LinuxGSM requirements.
# CentOS
if [ "${distroversion}" == "7" ]; then
array_deps_required=( epel-release curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq tmux nmap-ncat cpio )
elif [ "${distroversion}" == "8" ]; then
array_deps_required=( epel-release curl wget util-linux python36 file tar gzip bzip2 unzip binutils bc jq tmux nmap-ncat cpio )
elif [ "${distroid}" == "fedora" ]; then
array_deps_required=( curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq tmux nmap-ncat cpio )
elif [[ "${distroname}" == *"Amazon Linux AMI"* ]]; then
array_deps_required=( curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq tmux nmap-ncat cpio )
else
array_deps_required=( curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq tmux nmap-ncat cpio )
fi
# All servers except ts3, mumble, multi theft auto and minecraft servers require glibc.i686 and libstdc++.i686.
if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "mumble" ]&&[ "${shortname}" != "mc" ]&&[ "${engine}" != "renderware" ]; then
if [[ "${distroname}" == *"Amazon Linux AMI"* ]]; then
array_deps_required+=( glibc.i686 libstdc++64.i686 )
else
array_deps_required+=( glibc.i686 libstdc++.i686 )
fi
fi
# Game Specific requirements.
# Natural Selection 2 (x64 only)
if [ "${shortname}" == "ns2" ]; then
array_deps_required+=( speex tbb )
# NS2: Combat
elif [ "${shortname}" == "ns2c" ]; then
array_deps_required+=( speex.i686 tbb.i686 )
# 7 Days to Die
elif [ "${shortname}" == "sdtd" ]; then
array_deps_required+=( telnet expect )
# Barotrauma
elif [ "${shortname}" == "bt" ]; then
array_deps_required+=( libicu )
# Battlefield: Vietnam
elif [ "${shortname}" == "bfv" ]; then
array_deps_required+=( compat-libstdc++-33.i686 glibc.i686 )
# Battlefield 1942, Black Mesa: Deathmatch, Counter-Strike: Source, Garry's Mod, No More Room in Hell, Source Forts Classic, Zombie Master Reborn and Zombie Panic: Source
elif [ "${shortname}" == "bf1942" ]||[ "${shortname}" == "bmdm" ]||[ "${shortname}" == "css" ]||[ "${shortname}" == "gmod" ]||[ "${shortname}" == "nmrih" ]||[ "${shortname}" == "sfc" ]||[ "${shortname}" == "zmr" ]||[ "${shortname}" == "zps" ]; then
array_deps_required+=( ncurses-libs.i686 )
# Brainbread 2, Don't Starve Together & Team Fortress 2
elif [ "${shortname}" == "bb2" ]||[ "${shortname}" == "dst" ]||[ "${shortname}" == "tf2" ]; then
array_deps_required+=( libcurl.i686 )
# Call of Duty & Medal of Honor: Allied Assault
elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]||[ "${shortname}" == "mohaa" ]; then
array_deps_required+=( compat-libstdc++-33.i686 )
# Ecoserver
elif [ "${shortname}" == "eco" ]; then
array_deps_required+=( libgdiplus )
# Factorio
elif [ "${shortname}" == "fctr" ]; then
array_deps_required+=( xz )
# Hurtword/Rust
elif [ "${shortname}" == "hw" ]||[ "${shortname}" == "rust" ]; then
array_deps_required+=( zlib-devel )
# Minecraft, Rising World, Wurm
elif [ "${shortname}" == "mc" ]||[ "${shortname}" == "pmc" ]||[ "${shortname}" == "wmc" ]||[ "${shortname}" == "rw" ]; then
javaversion=$(java -version 2>&1 | grep "version")
if [ "${javaversion}" ]; then
# Added for users using Oracle JRE to bypass the check.
javacheck=1
else
array_deps_required+=( java-11-openjdk )
fi
# Onset
elif [ "${shortname}" == "onset" ]; then
array_deps_required+=( mariadb-connector-c )
# Project Zomboid
elif [ "${shortname}" == "pz" ]; then
if java -version 2>&1 | grep "version"; then
# Added for users using Oracle JRE to bypass the check.
javacheck=1
array_deps_required+=( rng-tools )
else
array_deps_required+=( java-11-openjdk rng-tools )
fi
# Sven Co-op
elif [ "${shortname}" == "sven" ]; then
: # not compatible
# Vintage Story
elif [ "${shortname}" == "vints" ]; then
array_deps_required+=( mono-complete )
# Wurm: Unlimited
elif [ "${shortname}" == "wurm" ]; then
array_deps_required+=( xorg-x11-server-Xvfb )
# Post Scriptum
elif [ "${shortname}" == "pstbs" ]; then
array_deps_required+=( GConf2 )
# Pavlov VR
elif [ "${shortname}" == "pvr" ]; then
array_deps_required+=( libcxx )
fi
info_distro.sh
# check if system is a lxc container and the hostname dependency.
if command -v systemd-detect-virt &> /dev/null; then
systemd_virt=$(systemd-detect-virt)
if [ "${systemd_virt}" == "lxc" ]||[ "${systemd_virt}" == "lxc-libvirt" ]; then
array_deps_required+=( hostname )
fi
fi
# Select Distro
dependencyinstall=$(awk -F, '$1=="install" {$1=""; print $0}' "${datadir}/${distroid}-${distroversion}.csv")
dependencyall=$(awk -F, '$1=="all" {$1=""; print $0}' "${datadir}/${distroid}-${distroversion}.csv")
dependencyshortname=$(awk -v shortname="$shortname" -F, '$1==shortname {$1=""; print $0}' "${datadir}/${distroid}-${distroversion}.csv")
fn_deps_email
fn_check_loop
}
# dev code
echo "${dependencyinstall}${dependencyall}${dependencyshortname}"
if [ "${commandname}" == "INSTALL" ]; then
if [ "$(whoami)" == "root" ]; then
echo -e ""
echo -e "${lightyellow}Checking Dependencies as root${default}"
echo -e "================================="
fn_print_information_nl "Checking any missing dependencies for ${gamename} server only."
fn_print_information_nl "This will NOT install a ${gamename} server."
fn_sleep_time
else
echo -e ""
echo -e "${lightyellow}Checking Dependencies${default}"
echo -e "================================="
fi
fi
# Generate array of missing deps.
array_deps_missing=()
# Filter checking in to Debian or Red Hat Based.
info_distro.sh
if [ -f "/etc/debian_version" ]; then
fn_deps_build_debian
elif [ -f "/etc/redhat-release" ]; then
fn_deps_build_redhat
else
fn_print_warning_nl "${distroname} dependency checking unavailable."
fi
array_deps_required=(${dependencyall} ${dependencyshortname})
fn_check_loop

8
lgsm/functions/info_distro.sh

@ -28,10 +28,10 @@ kernel=$(uname -r)
distro_info_array=( os-release lsb_release hostnamectl debian_version redhat-release )
for distro_info in "${distro_info_array[@]}"; do
if [ -f "/etc/os-release" ]&&[ "${distro_info}" == "os-release" ]; then
distroname=$(grep PRETTY_NAME /etc/os-release | sed 's/PRETTY_NAME=//g' | tr -d '="' | sed 's/\"//g')
distroversion=$(grep VERSION_ID /etc/os-release | sed 's/VERSION_ID=//g' | sed 's/\"//g')
distroid=$(grep ID /etc/os-release | grep -v _ID | grep -v ID_ | sed 's/ID=//g' | sed 's/\"//g')
distrocodename=$(grep VERSION_CODENAME /etc/os-release | sed 's/VERSION_CODENAME=//g' | sed 's/\"//g')
distroname=$(grep "PRETTY_NAME" /etc/os-release | awk -F\= '{gsub(/"/,"",$2);print $2}')
distroversion=$(grep "VERSION_ID" /etc/os-release | awk -F\= '{gsub(/"/,"",$2);print $2}')
distroid=$(grep "ID=" /etc/os-release | grep -v VERSION | awk -F\= '{gsub(/"/,"",$2);print $2}')
distrocodename=$(grep "VERSION_CODENAME" /etc/os-release | awk -F\= '{gsub(/"/,"",$2);print $2}')
elif [ "$(command -v lsb_release 2>/dev/null)" ]&&[ "${distro_info}" == "lsb_release" ]; then
if [ -z "${distroname}" ];then
distroname=$(lsb_release -sd)

Loading…
Cancel
Save