必须先开启应用商店“下载后应用包不删除”设置并重启商店,再通过符号链接重定向缓存目录(如/var/cache/lastore/archives→/data/appstore-offline)或使用apt install -d命令下载至/var/cache/apt/archives/,方可可靠提取离线.deb包。

在统信UOS中,应用商店下载的安装包默认存放在系统缓存目录,但内网部署、离线安装或磁盘空间管理时,必须将这些.deb包保存到自定义路径,否则下载完成即被自动清理,无法提取离线包。
开启商店“下载后保留安装包”开关
这是所有后续操作的前提,不开启则无论怎么改路径,包都会被删。
打开应用商店 → 右上角点击“三”图标 → 选择【设置】 → 找到【下载后应用包不删除】选项并勾选。
【必须重启应用商店才能生效】:关闭窗口后,从启动器重新打开商店,否则设置不触发缓存保留逻辑。
确认并进入当前安装包缓存目录
统信UOS不同版本商店使用的缓存路径不一致,需先验证实际路径:
终端执行:ls -d /var/cache/lastore/archives 2>/dev/null || ls -d /var/cache/deepin/deepin-home-appstore-daemon/archives 2>/dev/null
若返回第一个路径,则说明是较新版本(如V23+);若返回第二个,则为旧版(如V20/V21)。两者均需sudo权限访问。
执行:sudo nautilus /var/cache/lastore/archives(新路径)或sudo nautilus /var/cache/deepin/deepin-home-appstore-daemon/archives(旧路径),以管理员身份打开文件管理器。
方法一:用符号链接重定向缓存目录(推荐用于长期多软件归档)
该方式不修改任何配置文件,避免因商店升级导致路径失效,且支持跨分区存储。
第一步:创建目标目录,例如:mkdir -p /data/appstore-offline
第二步:清空原缓存目录(防止残留旧包干扰识别):sudo rm -f /var/cache/lastore/archives/*.deb
第三步:备份现有包(如有):sudo mv /var/cache/lastore/archives/* /data/appstore-offline/ 2>/dev/null
第四步:删除原目录并重建为符号链接:sudo rmdir /var/cache/lastore/archives && sudo ln -s /data/appstore-offline /var/cache/lastore/archives
注意:此操作会覆盖原目录结构,但仅影响缓存,不影响商店功能。重启商店后,所有新下载的包将直接落进/data/appstore-offline。
方法二:临时切换apt缓存路径配合商店使用(适合单次批量导出)
当只需导出某几个特定软件及其全部依赖时,可绕过商店缓存机制,直接用apt命令拉取。
方法一:先查软件包名——在已安装机器上运行dpkg -l | grep 关键词,或在商店页面URL中提取如com.qq.weixin类标识。
方法二:清空apt缓存避免混入无关包:sudo rm -f /var/cache/apt/archives/*.deb
方法三:执行下载命令:sudo apt install -d com.qq.weixin(-d参数只下载不安装)→ 此时包会进入/var/cache/apt/archives/,而非商店缓存目录。
最后把整个/var/cache/apt/archives/目录打包带走即可,无需额外配置商店。
方法三:修改商店后台服务配置(高级用户适用)
部分深度定制环境需强制统一所有商店行为,此时可编辑其daemon配置。
执行:sudo nano /usr/share/deepin-home-appstore-daemon/config.json
查找"archive_path"字段,将其值改为绝对路径,例如:"/data/appstore-archives"。
【修改前务必备份原文件】:执行sudo cp /usr/share/deepin-home-appstore-daemon/config.json{,.bak},否则配置错误会导致商店无法启动。
保存后,重启服务:sudo systemctl restart deepin-home-appstore-daemon。

















