[Bug Report] 更新失败
Tofloor
poster avatar
songyc
deepin
3 hours ago
Author

求修复!!!sob

日志:

[2026-06-25 21:03:03] === Job backup running: /usr/sbin/deepin-immutable-ctl admin deploy --backup -j -w ===
[2026-06-25 21:03:03] {"progress":0,"description":"Starting backup process"}
[2026-06-25 21:03:04] {"progress":100,"description":"Backup completed"}
[2026-06-25 21:03:04] === Job backup end: /usr/sbin/deepin-immutable-ctl admin deploy --backup -j -w [Status: SUCCESS] ===
[2026-06-25 21:03:05] === CheckPkg cmd running: [apt-get check -o Debug::NoLocking=1] ===
[2026-06-25 21:03:05] === CheckPkg [apt-get check -o Debug::NoLocking=1] end ===
[2026-06-25 21:03:05] === CheckPkg cmd running: [apt-get check] ===
[2026-06-25 21:03:05] === CheckPkg [apt-get check] end ===
[2026-06-25 21:03:05] === Job dist_upgrade running: /usr/sbin/deepin-immutable-ctl upgrade --status-fd 3 ===
[2026-06-25 21:03:07] dlstatus:1:1.0000:
[2026-06-25 21:03:09] pmstatus:dpkg-exec:0.0000:Running dpkg
[2026-06-25 21:03:09] pmstatus:criu:0.0000:Preparing criu (amd64)
[2026-06-25 21:03:09] pmstatus:criu:20.0000:Unpacking criu (amd64)
[2026-06-25 21:03:09] pmerror:/persistent/ostree/debtree/local-repo/criu_4.2-1_amd64.deb:20.0000:trying to overwrite '/usr/bin/crit', which is also in package python3-pycriu 4.1-1
[2026-06-25 21:03:09] pmstatus:criu:40.0000:Installing criu (amd64)
[2026-06-25 21:03:09] === Job dist_upgrade end: /usr/sbin/deepin-immutable-ctl upgrade --status-fd 3 [Status: FAILED] ===
[2026-06-25 21:03:09] 2026/06/25 21:03:07 Sync: /sysroot/ostree/debtree/packages
2026/06/25 21:03:07 Sync: /persistent/ostree/debtree/packages
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

E: Sub-process /usr/bin/dpkg returned an error code (1)
Error: failed to install packages: failed to execute local apt dist-upgrade: exit status 100
[2026-06-25 21:03:09] === CheckPkg cmd running: [apt-get check -o Debug::NoLocking=1] ===
[2026-06-25 21:03:10] === CheckPkg [apt-get check -o Debug::NoLocking=1] end ===
[2026-06-25 21:03:10] === CheckPkg cmd running: [apt-get check] ===
[2026-06-25 21:03:10] === CheckPkg [apt-get check] end ===
[2026-06-25 21:03:10] === Job dist_upgrade running: /usr/sbin/deepin-immutable-ctl upgrade --status-fd 3 ===
[2026-06-25 21:03:12] dlstatus:1:1.0000:
[2026-06-25 21:03:13] pmstatus:dpkg-exec:0.0000:Running dpkg
[2026-06-25 21:03:13] pmstatus:criu:0.0000:Preparing criu (amd64)
[2026-06-25 21:03:14] pmstatus:criu:20.0000:Unpacking criu (amd64)
[2026-06-25 21:03:14] pmerror:/persistent/ostree/debtree/local-repo/criu_4.2-1_amd64.deb:20.0000:trying to overwrite '/usr/bin/crit', which is also in package python3-pycriu 4.1-1
[2026-06-25 21:03:14] pmstatus:criu:40.0000:Installing criu (amd64)
[2026-06-25 21:03:14] === Job dist_upgrade end: /usr/sbin/deepin-immutable-ctl upgrade --status-fd 3 [Status: FAILED] ===
[2026-06-25 21:03:14] 2026/06/25 21:03:12 Sync: /sysroot/ostree/debtree/packages
2026/06/25 21:03:12 Sync: /persistent/ostree/debtree/packages
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

E: Sub-process /usr/bin/dpkg returned an error code (1)
Error: failed to install packages: failed to execute local apt dist-upgrade: exit status 100

元宝ai解释:

这是一次 Deepin 不可变系统(Immutable OS)升级失败 的日志,核心原因非常明确:


一句话结论

软件包冲突导致升级中断

新版 criu 4.2-1试图覆盖 /usr/bin/crit,但这个文件已经被旧版 python3-pycriu 4.1-1占用,dpkg 拒绝覆盖,升级直接失败。

关键错误在这一行(出现了两次):

trying to overwrite '/usr/bin/crit', which is also in package python3-pycriu 4.1-1

随后触发:

E: Sub-process /usr/bin/dpkg returned an error code (1)
Error: failed to install packages: failed to execute local apt dist-upgrade: exit status 100

背景解释(为什么会在 deepin-immutable-ctl 里出现)

你用的是 Deepin 不可变系统,升级流程大致是:

  1. ✅ 先做系统备份(deepin-immutable-ctl admin deploy --backup)→ 成功
  2. ✅ 检查包状态(apt-get check)→ 成功
  3. ❌ 执行系统级升级(deepin-immutable-ctl upgrade
  4. apt dist-upgrade过程中安装 criu
  5. ❌ 文件冲突 → dpkg 报错 → 整个升级回滚/失败

criu(Checkpoint/Restore In Userspace)和 python3-pycriu都是系统底层工具,在不可变系统中由系统统一管理,不应该手动混装


这不是你操作错了,而是仓库/打包问题

这是典型的 Debian/Ubuntu/Deepin 仓库打包 Bug

  • criu 4.2-1没有声明 它取代了 python3-pycriu
  • 或者 python3-pycriu没有被正确移除/升级
  • 导致两个包“抢同一个文件”

在普通 Deepin 里可以用 dpkg -i --force-overwrite强行解决,但在 不可变系统里不建议手动强制,否则可能破坏 OSTree 一致性。


你现在系统状态如何?

系统是安全的

  • 备份已完成
  • 升级失败后会回退
  • 不会导致无法启动

系统目前处于“未升级成功”的状态

  • criu没装上
  • 后续依赖它的更新也无法继续

建议解决方案(按推荐顺序)

✅ 方案 1:等待官方修复(最稳妥,推荐)

这是 Deepin 不可变系统的已知问题,官方仓库需要调整包关系

你可以:

  • 关注 Deepin 社区 / 论坛 / GitHub issue

  • criupython3-pycriu的新版本

  • 之后再次运行:

    sudo deepin-immutable-ctl upgrade
    

✅ 方案 2:临时移除冲突包(较安全)

如果你确认不需要 python3-pycriu(大多数桌面用户都不需要):

sudo apt remove python3-pycriu
sudo deepin-immutable-ctl upgrade

⚠️ 前提:

  • 不要删除 criu本身
  • 不要手动 dpkg --force-overwrite

✅ 方案 3:仅用于排查(不要长期用)

查看冲突详情:

dpkg -S /usr/bin/crit
apt show criu python3-pycriu

❌ 不推荐的做法

操作 原因
dpkg --force-overwrite 破坏不可变系统一致性
手动删 /usr/bin/crit OSTree 会检测到异常
反复强制升级 可能进入不可恢复状态

总结

这是一次由 criupython3-pycriu文件冲突引起的 Deepin 不可变系统升级失败,不是你操作问题,也不是系统损坏,等待官方修复或移除冲突包即可。

如果你愿意,我可以帮你:

  • 判断 python3-pycriu是否可以安全删除
  • 帮你写一条给 Deepin 官方的 bug 报告
  • 分析你当前系统是否真的处于“干净回滚状态”

你可以直接贴一下:

apt policy criu python3-pycriu
Reply Favorite View the author
All Replies
avatar
mozixun
Moderator
2 hours ago
#1

你是加了第三方源嘛

[2026-06-25 21:03:14] pmerror:/persistent/ostree/debtree/local-repo/criu_4.2-1_amd64.deb:20.0000:trying to overwrite '/usr/bin/crit', which is also in package python3-pycriu 4.1-1

Reply View the author