mirror of
https://github.com/nxtrace/NTrace-core.git
synced 2025-08-12 06:26:39 +00:00
安装脚本增加checkVersion为之后增加自动更新功能做准备;优化了部分逻辑结构;在部分软件包管理器增加了安装依赖包之前更新软件源的步骤
This commit is contained in:
@@ -52,64 +52,78 @@ installWgetPackage() {
|
||||
# macOS should install wget originally. Nothing to do
|
||||
echo "wget 正在安装中..."
|
||||
# try apt
|
||||
apt -h >/dev/null
|
||||
apt-get -h >/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
# 先更新一下数据源,有些机器数据源比较老可能会404
|
||||
apt update -y >/dev/null
|
||||
apt install wget -y >/dev/null
|
||||
apt-get update -y >/dev/null
|
||||
apt-get install wget -y >/dev/null
|
||||
fi
|
||||
|
||||
# try yum
|
||||
yum -h >/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
yum -y update >/dev/null
|
||||
yum install wget -y >/dev/null
|
||||
fi
|
||||
|
||||
# try dnf
|
||||
dnf -h >/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
dnf check-update >/dev/null
|
||||
dnf install wget -y >/dev/null
|
||||
fi
|
||||
|
||||
# try pacman
|
||||
pacman -h >/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
pacman -Sy
|
||||
pacman -S wget
|
||||
pacman -Sy >/dev/null
|
||||
pacman -S wget >/dev/null
|
||||
fi
|
||||
|
||||
wget -h >/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "wget 安装失败"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
installJqPackage() {
|
||||
# macOS should install wget originally. Nothing to do
|
||||
echo "jq 正在安装中..."
|
||||
# try apt
|
||||
apt -h >/dev/null
|
||||
apt-get -h >/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
# 先更新一下数据源,有些机器数据源比较老可能会404
|
||||
apt update -y >/dev/null
|
||||
apt install jq -y >/dev/null
|
||||
apt-get update -y >/dev/null
|
||||
apt-get install jq -y >/dev/null
|
||||
fi
|
||||
|
||||
# try yum
|
||||
yum -h >/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
yum -y update >/dev/null
|
||||
yum install jq -y >/dev/null
|
||||
fi
|
||||
|
||||
# try dnf
|
||||
dnf -h >/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
dnf check-update >/dev/null
|
||||
dnf install jq -y >/dev/null
|
||||
fi
|
||||
|
||||
# try pacman
|
||||
pacman -h >/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
pacman -Sy
|
||||
pacman -S jq
|
||||
pacman -Sy >/dev/null
|
||||
pacman -S jq >/dev/null
|
||||
fi
|
||||
|
||||
jq -h >/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "jq 安装失败"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
checkWgetPackage() {
|
||||
@@ -134,6 +148,29 @@ checkWgetPackage() {
|
||||
fi
|
||||
}
|
||||
|
||||
checkVersion() {
|
||||
echo "正在检查版本..."
|
||||
version=$(curl -sL https://api.github.com/repos/xgadget-lab/nexttrace/releases/latest | jq -r '.tag_name')
|
||||
if [[ $version == "" ]]; then
|
||||
echo "获取版本失败,请检查网络连接"
|
||||
exit 1
|
||||
fi
|
||||
echo 当前最新release版本:${version}
|
||||
read -r -p "是否安装/更新软件? (y/n)" input
|
||||
case $input in
|
||||
[yY][eE][sS] | [yY])
|
||||
break
|
||||
;;
|
||||
[nN][oO] | [nN])
|
||||
echo "您选择了取消安装/更新,脚本即将退出"
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
checkJqPackage() {
|
||||
jq -h >/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
@@ -218,6 +255,7 @@ checkRootPermit
|
||||
checkSystemDistribution
|
||||
checkSystemArch
|
||||
checkWgetPackage
|
||||
checkVersion
|
||||
|
||||
# Download Procedure
|
||||
getLocation
|
||||
|
||||
Reference in New Issue
Block a user