Install requirements for both CentOS and Ubuntu, requires testing
This commit is contained in:
parent
bdc5423a6c
commit
0254d7678c
79
Scripts/install-requirements.bash
Normal file
79
Scripts/install-requirements.bash
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
INSTALLER=""
|
||||||
|
INSTALL_PACKAGES=(tmux pv)
|
||||||
|
|
||||||
|
echo_install_method() {
|
||||||
|
echo "Found ${1}, using ${1} to install packages"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_method_centos() {
|
||||||
|
|
||||||
|
# Steamcmd requirements
|
||||||
|
INSTALL_PACKAGES+=(glibc.i686 libstdc++.i686)
|
||||||
|
|
||||||
|
if which dnf >/dev/null 2>&1; then
|
||||||
|
INSTALLER="dnf -y install"
|
||||||
|
echo_install_method "dnf"
|
||||||
|
elif which yum >/dev/null 2>&1; then
|
||||||
|
INSTALLER="yum -y install"
|
||||||
|
echo_install_method "yum"
|
||||||
|
else
|
||||||
|
echo "Unable to determine installer!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
echo "Installing epel-release, NOT fully configured..., see: https://docs.fedoraproject.org/en-US/epel/"
|
||||||
|
sleep 3
|
||||||
|
"$("${INSTALLER}" epel-release)"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_method_ubuntu() {
|
||||||
|
|
||||||
|
# Steamcmd requirements
|
||||||
|
INSTALL_PACKAGES+=(lib32gcc1)
|
||||||
|
|
||||||
|
if which apt >/dev/null 2>&1; then
|
||||||
|
INSTALLER="apt install -y"
|
||||||
|
echo_install_method "apt"
|
||||||
|
elif which apt-get >/dev/null 2>&1; then
|
||||||
|
INSTALLER="apt-get install -y"
|
||||||
|
echo_install_method "apt-get"
|
||||||
|
else
|
||||||
|
echo "Unable to determine installer!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
# Auto exit is /etc/os-release does not exist, we depend upon this to determine os name
|
||||||
|
if [[ ! -f "/etc/os-release" ]]; then
|
||||||
|
echo "Unable to continue, cannot determine os release as /etc/os-release does not exist"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This gets the unquoted os-release name
|
||||||
|
OS_RELEASE="$(grep ^NAME= /etc/os-release | cut -d "=" -f2 | tr -d '"')"
|
||||||
|
|
||||||
|
if [[ "${OS_RELEASE}" = "CentOS Linux" ]]; then
|
||||||
|
install_method_centos || exit
|
||||||
|
elif [[ "${OS_RELEASE}" = "Ubuntu" ]]; then
|
||||||
|
install_method_ubuntu || exit
|
||||||
|
else
|
||||||
|
echo "${OS_RELEASE} is not a supported distribution, attempt a manual installation."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${INSTALLER}" ]]; then
|
||||||
|
echo "No installer found, exiting..."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for pkg in "${INSTALL_PACKAGES[@]}"; do
|
||||||
|
echo "Installing ${pkg}"
|
||||||
|
"$("${INSTALLER}" "${pkg}")"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Finished installing general module items"
|
||||||
|
}
|
||||||
|
|
||||||
|
main "${@}"
|
Loading…
Reference in New Issue
Block a user