[Share Experiences] apt autoremove 为何成为普通用户的「高危操作」?
Tofloor
poster avatar
deepin-流云
Moderator
2025-06-12 16:38
Author

以用为本.png

亲爱的deepin社区用户:

大家好!

近期我们收到多起社区用户反馈:在执行命令进行系统更新或安装软件后,因误用 sudo apt autoremove 命令导致DDE核心组件被卸载、系统无法启动等严重故障。为保障用户系统安全,小助手联合 deepin 研发团队,基于真实故障案例梳理出本安全指南。无论您是普通用户还是技术爱好者,均可按场景快速获取解决方案。

⚠️ 一、sudo apt autoremove 为何对普通用户高风险?

根本原因: 当用户混用软件源(如同时开启 deepin 官方源、第三方仓库、应用更新源等),使用命令卸载系统预装应用如深度之家/国际化翻译征集等,亦或是通过 dpkg/make install 等方式安装软件时,都有可能会破坏 APT 的依赖关系树,导致 autoremove将系统关键包误判为“可卸载”(如DDE关键组件、任务栏、系统壁纸等,严重时甚至可能包含内核驱动)。

🛡️ 二、普通用户替代方案:用图形化工具避免命令风险

deepin 内置的安全维护方式

  1. 卸载软件 → deepin应用商店——应用管理 或 启动器-应用图标右键-卸载
    • 通过应用商店或启动器卸载软件,后台自动处理依赖关系,不会触发系统组件误删
  2. 系统更新控制中心-更新
    • 定期检查官方更新,系统级更新包含安全依赖修正。
  3. 清理缓存(非依赖包) → 终端安全命令
sudo apt clean          # 清理下载的.deb安装包缓存(安全)
sudo apt autoclean      # 清理旧版本.deb缓存(安全)

🔧 三、建议使用 autoremove 时的操作规范(进阶用户参考)

关键原则:先模拟 → 人工审查 → 再执行

# 1. 模拟运行并输出待删列表(不实际执行)
apt -s autoremove  > ~/autoremove-list.txt

# 2. 人工审查列表(重点排查以下敏感包):
cat ~/autoremove-list.txt

必须排除的包类型:

deepin-desktop-*    # 深度桌面环境组件
dde-*               # 深度桌面环境核心模块
linux-image-*       # 系统内核
systemd*            # 系统服务管理
xserver-*           # 显示服务
nvidia-*, mesa-*    # 显卡驱动

如果出现列表内的包,请放弃执行apt autoremove,强行执行会导致系统异常。

确认列表安全后执行:

sudo apt autoremove

🚑 四、已发生误删的紧急修复方案

场景1:桌面异常但能打开终端

# 重装深度桌面核心组件
sudo apt install deepin-desktop-environment-*

场景2:系统无法启动 → LiveCD救援流程

  1. 用 deepin 安装 U 盘启动 → 选择第一项“试用模式”
  2. 挂载原系统分区并进入 Chroot 环境:
sudo mkdir -p /tmp/chroot/
sudo mount /dev/nvme0n1pX /tmp/chroot/        # X替换为实际根分区号
sudo mount --bind /dev /tmp/chroot/dev
sudo mount --bind /proc /tmp/chroot/proc
sudo mount --bind /sys /tmp/chroot/sys
sudo chroot /tmp/chroot/
  1. 重装受损组件:
apt update
apt install --reinstall deepin-desktop-environment-* systemd

请注意:Live CD模式下操作有风险,请谨慎操作并提前备份好数据。


💎 最终建议总结(致所有 deepin 用户)

用户类型 推荐操作
普通用户 建议不要主动使用 sudo apt autoremove• 卸载软件 → 深度应用商店或启动器右键卸载• 清理 →sudo apt clean
进阶用户 严格遵循「模拟-审查-执行」流程后执行

♥️ 温馨提示: deepin 系统的依赖树针对DDE桌面高度定制,任何第三方源的引入都有可能会破坏依赖完整性。若需安装外部软件,建议优先选择deepin应用商店上架应用 或 如意玲珑FlatpakAppimage等方案,总之不论您通过何种途径来安装三方应用,在通过终端命令操作时请慎用 autoremove

Reply Favorite View the author
All Replies
2 / 2
To page
enforcee
deepin
2025-06-13 21:08
#21
liujy126

既然如此,你终端命令执行中就不要提示中就不要有“建议apt autoremove”之类的话,

莫非这话是linux里原生带的你们改不了?

如果不这样做的话删除软件是删不干净的

blush

Reply View the author
W2J
deepin
2025-06-14 09:26
#22

Deepin应该学习mozilla路数,

作好两个样板(gimp,firefox)之后,把精力放在聚合中间件部分,

又先后进化出gtk和rustc,成为行业基线和发展的里程碑。

高聚合低耦合。生态领域,夫善战者无赫赫之功!

Reply View the author
neko
deepin
Ecological co-builder
Resources Team Moderator
21 hours ago
#23

说个我昨天autoremove发生的事情。

昨天在给小米平板5里的deepin更新,更新后提示一堆可以autoremove的组件。

之后我重启发现无法登录到桌面,就是输入密码后加载然后重新返回登录界面。

最后看日志发现是因为卸载了linglong-bin导致Xseesion找不到玲珑的脚本导致的。

重新安装linglong-bin后可以正常登入进桌面了。

PS:就是下面最后那行。

mmexport1749889908522.jpg

Reply View the author
134******40
deepin
18 hours ago
#24

学习了。

Reply View the author
fslong
deepin beta test group
15 hours ago
#25
buyike

image.png

根本原因根本不成立,以我自己为例,前两天又重装了系统,重装完系统后就发现有了升级提示,所以就用终端进行了升级,升级完成后系统提示有用不上的程序,建议使用apt autoremove进行删除。结果是执行后再次将主题系统删除了。

必须说明,前面我这就发生过这事,所以我心里明白可能会发生什么,但又希望官方已经修复,只是没想到再交中招。

必须强调,全新安装,第一时间去内测升级的,没有去混用软件源,如果硬说内测更新源也是混源就没办法了。

对了,我用的终端安装命令是 sudo apt update sudo apt dist-upgrade。这个命令也会导致APT 的依赖关系树断裂???

明说就是dde的依赖写的烂。

Reply View the author
181******22
deepin
2 hours ago
#26

https://bbs.deepin.org/post/288215?id=288215&limit=20&offset=0&postId=1723424

Reply View the author
2 / 2
To page