Openwrt 批量更新软件包并忽略特定软件包

创建更新脚本文件,入upgrade.sh:

#!/bin/sh
opkg update
#opkg list-upgradable | cut -f1 -d ' ' | xargs opkg upgrade

for pkg in `opkg list-upgradable | awk '{print $1}'`; do
    if [ "$pkg" = "openssl-util" ]||[ "$pkg" = "libopenssl-devcrypto" ]||[ "$pkg" = "libopenssl1.1" ]||[ "$pkg" = "libopenssl-conf" ]; then
        echo "Skip package:" $pkg
    else
        echo "Upgrade..." $pkg
        opkg upgrade $pkg
    fi
done

给创建的文件赋予执行权限:

chmod +x upgrade.sh

以上命令忽略了如下4个软件包:

openssl-util
libopenssl-devcrypto
libopenssl1.1
libopenssl-conf