大家可以先用WorkBuddy检查一下自己电脑里有没有双份应用。
All Replies
BigFish
deepin
2026-10-09 00:59 Reply Like 0 View the author
𰻞𰻝面
deepin
2026-10-09 01:34 商店版应用和官方版下载的总有一点不一样。你这是一个,以前微信会生成两个图标,还会互相更新。商店的Steam打开用也没什么问题,但退出后总有个报错窗口烦人,下了官方的啥事没有……
Reply Like 0 View the author
chmod700
deepin
2026-10-09 01:38 二次打包改包名改安装路径,也是我不用deepin的一个重大原因。软件联网会校验,你可以很简单的验证。随便在apt源里下载一个包,然后给他解包了修改control文件,哪怕你没有实际修改任何内容,只是先把它改动一个字节保存,再把那个改过的字节改回来,仅仅改变了control文件的检验值,再打包安装,再apt update,你就会发现这个包需要更新。包名和安装目录官方是啥就是啥,deepin总是要自己二次打包一遍,还美其名曰“打包规范”,我都不知道规范在哪里。
Reply Like 1 View the author
deepin-superuser
deepin
2026-10-09 08:29 商店版很多都是修改了包名的 所以我一般都不用商店
Reply Like 1 View the author
锵锵枪ᯤ
deepin
2026-10-09 09:36 这个估计是商店自己打包改了包名。
workbuddy这个腾讯也是恶心。两个版本,换了安装目录。如果不换包名,新版本会自动清理。
Reply Like 0 View the author
晚秋(lateautumn)
2026-10-09 10:03 Moderator
这确实是个问题。
Reply Like 0 View the author
青山断处是泷州
deepin
2026-10-09 14:20 chmod700:
二次打包改包名改安装路径,也是我不用deepin的一个重大原因。软件联网会校验,你可以很简单的验证。随便在apt源里下载一个包,然后给他解包了修改control文件,哪怕你没有实际修改任何内容,只是先把它改动一个字节保存,再把那个改过的字节改回来,仅仅改变了control文件的检验值,再打包安装,再apt update,你就会发现这个包需要更新。包名和安装目录官方是啥就是啥,deepin总是要自己二次打包一遍,还美其名曰“打包规范”,我都不知道规范在哪里。
不用说什么了,就服了他们的骚操作
Reply Like 1 View the author
BigFish
deepin
2026-10-09 20:14 我现在主要是用appimage ,用WorkBuddy写desktop文件方便的很。
Reply Like 0 View the author
Please sign in first
Popular Ranking
ChangePopular Events
More

中文 


发帖人:Deepin 25 用户(截至 2026-10-09)
系统:Deepin 25 / DDE
涉及应用:应用商店版 WorkBuddy、应用商店版百度网盘
一、两次踩坑,同一件事
案例 A — WorkBuddy:商店里装的版本,每次启动都弹提示:
照做 → 去官网下 deb 装上 → 启动器里出现两个 WorkBuddy,磁盘上两份完整安装目录。
案例 B — 百度网盘(这个更隐蔽):早年商店里的版本旧,商店又迟迟不更新,我就自己去官网下了 deb 装上。
后来商店终于出新版并提示升级,点了升级——商店只升级了它自己那一份,我手动装的那份原封不动留在硬盘上。
两份一直并存,用了很久毫无察觉。
这两个案例的账,都是我后来做磁盘占用体检时才翻出来的 —— 光靠日常使用,大概永远发现不了。
二、案例 A:为什么"跳官网"会装出第二份
1. 两个版本来自两条互不相干的安装通道
com.tencent.workbuddy/opt/apps/com.tencent.workbuddy/workbuddy/opt/WorkBuddy/包名不同、落地目录不同、
/usr/bin入口不同 —— 在 apt 眼里这就是两个毫不相干的软件,既不互相覆盖,也不互相感知,启动器自然冒出两个同名图标。
2. 提示语是应用自己按"更新渠道"拼出来的
拆开商店版应用的资源文件可以看到,它启动时强制检查更新(
updates.startupForceAutoUpdate: true),并且按官网 deb 渠道去问、不判断自己是不是商店装的。把接口直接拉出来问,服务端行为完全对得上:
返回体里有个
destination字段决定弹哪句话:是uos-store就说"请到应用商店更新",是
kylin-store就说"麒麟软件商店",其他/缺省就 fallback 成"请前往官网下载并安装"。我看到的正是这个兜底文案。
3. 最讽刺的一点
两边互相踢皮球。用户夹在中间,照着弹窗做就装出双份。
4. 顺带说清:
/opt/apps/<应用ID>/files这一层属主是nobody:nogroup、权限755(商店的安全加固),应用自身无法原地自更新,装 deb 又必须 root —— 所以问题不在应用"偷偷升级",而在
它不识别自己的安装来源,拿着商店版去比官网渠道的版本号。
三、案例 B:百度网盘 —— 无声无息的双份
这个案例的成因和 A 不同,而且更阴。
我当时的情况:商店版落后 → 自己去官网下 deb 装上 → 过段时间商店出新版提示升级 → 点升级。
结果商店只动了它自己那一个包,我手动装的那个包纹丝不动。
体检时抓到的证据:
baidunetdisk8.6.0com.baidu.baidunetdisk8.6.0/opt/baidunetdisk/opt/apps/com.baidu.baidunetdisk/usr/share/applications/下两条 desktop 分别指向两处 → 启动器里两个「百度网盘」。为什么我用着完全没感觉:
一条 646 MB 的"影子程序",就这样在我机器上躺了几个月。这种双份不靠磁盘体检,根本不可能发现。
四、两条路径,一个根因
根因只有一条:同一款软件在两条分发渠道使用了不同的包名。
只要包名统一(都用
com.xxx.yyy或都用短名),apt 就会视为同一个包覆盖安装,上表两种情况都不会发生。给官方的三条建议
1(最重要)商店应能识别"同一软件存在其它安装来源"。
技术上不难:按 desktop 条目的
Name=显示名去重,或按Exec=指向的安装前缀(/opt/apps/vs/opt/)比对,就能列出可疑的重复项。建议在升级前后提示用户"检测到还有另一个安装来源,是否一并清理",
或者在商店里提供一个"清理重复安装"的入口。这一条能一次覆盖 A、B 两种路径。
2. 应用内更新检查要识别"我是商店装的"。
商店版应用里已经存在商店标记文件(例如
.workbuddy-store-managed-update,内容uos-app-store),说明这条路是通的。建议:安装来源为商店时,绝不要把提示 fallback 成"请前往官网下载并安装" —— 这句话是双版本的直接诱因。
3. 统一包名;退一步,至少给冲突警告。
若确实要用不同包名,请在官网下载页与安装环节明确警告会与商店版并存。
五、给其他用户的避坑提示
sudo apt purge <商店包名>再装。六、附:另一类同源现象(不算商店的锅,但表现一样)
我手边还有一款下载工具:商店装的
motrix-next升级后改名叫 Rayburst,而我之前自己装过一个 Motrix 2.0 的 AppImage。升级后桌面图标指向被改成了 AppImage,
启动器里又出现同名/近名条目互相遮蔽。
建议商店在应用更名时同步清理旧条目并通知用户,否则用户很难判断自己点开的到底是哪一个。
发帖目的是提一条具体的改进建议,不是抱怨。商店生态是 Deepin 的优势,把"安装来源识别"这一环补上,
这类"影子程序"问题基本可以根治。也欢迎其他朋友补充自己遇到的同类案例 —— 尤其是那些"用着正常、其实装了两份"的情况。