update upgrader

Signed-off-by: shenmo <jifengshenmo@outlook.com>
This commit is contained in:
2024-09-25 07:34:40 +00:00
committed by Gitee
parent 7741a64969
commit e86b381d98

View File

@@ -1,5 +1,5 @@
#!/bin/bash
export LANGUAGE=en_US
@@ -96,7 +96,7 @@ fi
if [ $(which aptss) ];then
if command -v aptss ;then
APT_COMMAND=aptss
/usr/bin/apt update
log.info "Using aptss to operate the upgrade process since we detect it."
@@ -121,18 +121,16 @@ updatetext=`${APT_COMMAND} update 2>&1`
done
isupdate=`echo ${updatetext: -5}`
if [ "$isupdate" = "date." ] ; then
log.info "No need to upgrade. exit"
# 获取可升级包的数量
update_app_number=$(env LANGUAGE=en_US ${APT_COMMAND} list --upgradable 2>/dev/null | grep -c upgradable)
if [ "$update_app_number" -le 0 ] ; then
exit 0
fi
## 从这里开始,只有检测到了更新才会进行
update_app_number=`echo ${updatetext%package*} #从右向左截取第一个 src 后的字符串`
update_app_number=`echo ${update_app_number##*information...}`
# 获取用户选择的要更新的应用
PKG_LIST="$(env LANGUAGE=en_US /usr/bin/apt list --upgradable | awk NR\>1)"
PKG_LIST="$(env LANGUAGE=en_US ${APT_COMMAND} list --upgradable | awk NR\>1)"
# 指定分隔符为 \n
IFS_OLD="$IFS"
IFS=$'\n'
@@ -142,12 +140,12 @@ for line in $PKG_LIST ; do
PKG_NEW_VER=$(echo $line | awk -F ' ' '{print $2}')
PKG_CUR_VER=$(echo $line | awk -F ' ' '{print $3}')
dpkg --compare-versions $PKG_NEW_VER le $PKG_CUR_VER
# dpkg --compare-versions $PKG_NEW_VER le $PKG_CUR_VER
if [ $? -eq 0 ] ; then
let update_app_number=$update_app_number-1
continue
fi
# if [ $? -eq 0 ] ; then
# let update_app_number=$update_app_number-1
# continue
# fi
## 检测是否是 hold 状态
PKG_STA=$(dpkg-query -W -f='${db:Status-Want}' $PKG_NAME)