跳到主要内容
常见问题 aptholdDebian

Debian 包被 hold 不升级?

`apt list | grep hold` 能看到 hold 标记的包不参与升级。本文给出查 hold、解除、验证升级的固定顺序,以及为何不该长期留 hold。

发布于 2026/11/11 所属频道 Ubuntu 与 Debian

简短答案

被 hold 的包在 apt upgrade/apt full-upgrade 中会整体跳过,现象是「其它包在动、它就纹丝不动」。处理三步:apt list | grep hold 找全 → sudo apt-mark unhold <包> 逐个解除 → 重跑 sudo apt full-upgrade。解除前记得为什么当初 hold 的——多半是为了钉住某版本,解除前先评估下游影响。

现象对照

现象 判断
单包不动 该包被 hold
一片包被 hold 人为批量钉版或升级中途中断
解除后仍不动 该包已是最新版或依赖被另一个 hold 包卡住

排查步骤

apt list --installed 2>/dev/null | grep hold
sudo apt-mark unhold <包名>
sudo apt update
sudo apt full-upgrade

批量场景把 unhold 包名拼一行执行;解除后仍有卡住的包,多半是依赖它的包还在 hold,按 apt-cache depends 查依赖关系逐个解开。hold 机制在 Debian 13.7 DVD 与 网络安装版 上完全一致,Debian 发行条目 有说明。

操作小结

  1. 先 apt list | grep hold 找全所有 hold 包
  2. 解除前评估当初为何钉版
  3. 批量解除一次拼完,别逐个点
  4. full-upgrade 验证,看是否还有连带 hold

相关链接

本文内容基于公开资料整理,仅供参考;涉及授权与合规的操作请以厂商官方文档为准。

相关推荐下载

按本文主题匹配的官方原版镜像条目

配套 PE 工具

制作启动盘、备份数据、修复引导

其他常见问题

同一集合内的相近主题,按标签与关键词匹配