Update restore_installed_packages
This commit is contained in:
20
cattools.sh
20
cattools.sh
@@ -945,28 +945,32 @@ catwrt_opkg_list_installed(){
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
backup_installed_packages() {
|
backup_installed_packages() {
|
||||||
echo "[INFO] 备份白名单中的已安装软件包列表..."
|
echo "备份白名单中的已安装软件包列表..."
|
||||||
> "$BACKUP_FILE"
|
> "$BACKUP_FILE"
|
||||||
for package in "${PACKAGES[@]}"; do
|
for package in "${PACKAGES[@]}"; do
|
||||||
if opkg list_installed | grep -q "^$package "; then
|
if opkg list_installed | grep -q "^$package "; then
|
||||||
echo "$package" >> "$BACKUP_FILE"
|
echo "$package" >> "$BACKUP_FILE"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo "[INFO] 备份完成"
|
echo "备份完成"
|
||||||
}
|
}
|
||||||
|
|
||||||
restore_installed_packages() {
|
restore_installed_packages() {
|
||||||
echo "[INFO] 还原备份的软件包列表..."
|
opkg list_installed | awk '{print \$1}' > /tmp/default_installed_packages
|
||||||
if [ -f "$BACKUP_FILE" ]; then
|
if [ -f "$BACKUP_FILE" ]; then
|
||||||
while IFS= read -r package; do
|
while IFS= read -r package; do
|
||||||
|
if grep -q "^$package$" "$DEFAULT_PACKAGES_FILE"; then
|
||||||
|
echo "跳过固件默认包含的软件包: $package"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
if ! opkg list_installed | grep -q "^$package "; then
|
if ! opkg list_installed | grep -q "^$package "; then
|
||||||
echo "安装缺失的软件包: $package"
|
echo "安装固件默认缺失的软件包: $package"
|
||||||
opkg update && opkg install "$package"
|
opkg install "$package"
|
||||||
fi
|
fi
|
||||||
done < "$BACKUP_FILE"
|
done < "$BACKUP_FILE"
|
||||||
echo "还原完成"
|
echo "安装完成"
|
||||||
else
|
else
|
||||||
echo "未检测到备份文件,跳过还原步骤..."
|
echo "未检测到备份文件!寄了!"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -984,6 +988,8 @@ catwrt_opkg_list_installed(){
|
|||||||
else
|
else
|
||||||
backup_installed_packages
|
backup_installed_packages
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
rm -f /tmp/default_installed_packages
|
||||||
}
|
}
|
||||||
main
|
main
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user