怕刺 - apt
type: channel
link: https://pa.ci/tag/apt/
items: Ubuntu 24.04 APT SRV 查询导致的卡顿问题

Ubuntu 24.04 APT SRV 查询导致的卡顿问题
type: item
date: 2025-09-05T12:30:05+00:00
description: 在 Ubuntu 24.04 上运行 apt update 时，可能会遇到长时间的卡顿。通过抓包（tcpdump）可以发现，APT 在访问镜像站之前，会发送一些 SRV 记录查询：SRV? _https._tcp.esm.ubuntu.com. SRV? _https._tcp.mirrors.tuna.tsinghua.edu.cn. SRV? _https._tcp.developer.download.nvidia.com.但是大多数镜像站/CDN 并不会提供 SRV 记录，只支持常规的 A / AAAA。这会导致 DNS 请求超时或 fallback，从而拖慢 apt update 的整体速度。解决方案：禁用 APT 的 SRV 查询APT 支持通过配置文件禁用 SRV 查询。只需要在 /etc/apt/apt.conf.d/ 目录下添加一个配置文件，例如：echo 'Acquire::EnableSrvRecords "false";' | sudo tee /etc/apt/apt.conf.d/99-disable-srv这样，APT 在解析镜像站地址时就只会做标准的 A/AAAA 查询，不再尝试 SRV，从而避免卡顿。验证方法开启抓包：sudo tcpdump -i any port 53 -vvv执行：sudo apt update如果配置生效，你会看到只有 A? 和 AAAA? 查询，不再有 _https._tcp.* 的 SRV 查询。恢复方法如果需要恢复默认行为，只需删除配置文件即可：sudo rm /etc/apt/apt.conf.d/99-disable-srv总结原因：APT 默认会尝试 SRV 查询，但绝大多数镜像站并不支持，导致卡顿。解决办法：在 /etc/apt/apt.conf.d/ 下添加Acquire::EnableSrvRecords "false";即可永久禁用 SRV 查询，提升 apt update 的速度。