![停止 apt 寻找 srv 记录](https://linux22.com/image/10676/%E5%81%9C%E6%AD%A2%20apt%20%E5%AF%BB%E6%89%BE%20srv%20%E8%AE%B0%E5%BD%95.png)
我正在尝试在仅间歇性连接到 Internet 的网络上使用 apt。该网络有一个本地 apt 镜像,我已将该镜像的 IP 地址放入 resources.list 的所有条目中。
不幸的是,当与互联网断开连接时,运行 apt 命令会出现令人烦恼的延迟。使用 tcpdump 进行调查显示。
14:44:52.271437 IP 172.19.0.2.42208 > 8.8.8.8.domain: 180+ SRV? _http._tcp.172.19.0.1. (39)
14:44:57.277063 IP 172.19.0.2.42208 > 8.8.8.8.domain: 180+ SRV? _http._tcp.172.19.0.1. (39)
14:44:57.277160 IP 172.19.0.1 > 172.19.0.2: ICMP net 8.8.8.8 unreachable, length 75
14:45:02.286414 IP 172.19.0.2.42208 > 8.8.8.8.domain: 180+ SRV? _http._tcp.172.19.0.1. (39)
14:45:02.286504 IP 172.19.0.1 > 172.19.0.2: ICMP net 8.8.8.8 unreachable, length 75
有什么方法可以阻止 apt 执行此操作并使其立即连接到本地镜像吗?
答案1
好吧,我通过阅读源代码找到了答案
将以下内容添加到/etc/apt/apt.conf(如果不存在则创建它)
Acquire::EnableSrvRecords "false";
答案2
尝试将 apt 镜像作为 apt 代理。
如果文件不存在则创建:
/etc/apt/apt.conf
添加 apt 代理信息:
Acquire::http::Proxy "http://address:port";
或者在你的情况下:
Acquire::http::Proxy "http://172.19.0.2.42208";
别忘了;
最后的。
通过更新测试:
sudo apt-get update
我不确定你的镜子是否会这样工作。也许像apt这样的缓存器apt-cacher-ng
会有所帮助。
如果你有一个完整的镜像,你不能将源的域名部分更改为你的镜像IP地址吗?
例如,如果来源是:
deb http://ftp.ussg.iu.edu/linux/ubuntu xenial main restricted universe multiverse
改成:
deb http://172.19.0.2.42208/linux/ubuntu xenial main restricted universe multiverse