Ubuntu apt 下载/升级卡住不动?
apt 卡住总是卡在某一步:下载阶段多为网络问题,unpackage/lock 阶段多为别的进程占锁。本文给出按阶段定位 + 调试参数观察的排查路径。
简短答案
apt 卡住一定卡在某一步,先 Ctrl+C 停下看停在哪:停在 Downloading → 网络/镜像慢或被限流;停在 waiting for lock → snapd 自动更新等后台进程占着 dpkg 锁;停在依赖解析 → 包多时本来就慢,不是死机。定位比盲等有效。
现象对照
| 卡的位置 | 常见原因 |
|---|---|
| Downloading 某文件 0B 不动 | 镜像该文件缺失/网络断 |
| Waiting for cache/lock | 别的 apt/snapd 进程在跑 |
| 长时间无输出 | 依赖解析/数据库统计,非死机 |
排查步骤
sudo lsof /var/lib/dpkg/lock-frontend # 谁占着锁
ps -ef | grep -E 'apt|dpkg|snapd' | grep -v grep
sudo apt-get update -o Debug::pkgAcq=1 # 观察下载连接真实卡在哪条
sudo apt-get -f install # 有残留半装包时修复
网络类卡顿:换个源再 sudo apt update(源配置见 Ubuntu 发行条目 相关说明);锁类卡顿:确认后台进程结束后重跑即可,别删锁文件。Debian 基于同一套 apt/dpkg,机制与 Ubuntu 26.04 桌面版 通用。
操作小结
- 先看清卡在哪个阶段,再对症下药
- 占锁用
lsof找到 pid,等它结束或确认无主再处理 - 下载卡死用 Debug 参数定位具体坏文件
- 别随手删 lock 文件,那是另一类事故的开端