I am trying to use apt on a network that is only intermittently connected to the Internet. The network has a local apt mirror and I have put the ip address of that mirror in all the entries in sources.list.

Unfortunately when disconnected from the Internet there is an annoying delay in running apt commands. Investigating with tcpdump shows.

14:44:52.271437 IP > 180+ SRV? _http._tcp. (39)
14:44:57.277063 IP > 180+ SRV? _http._tcp. (39)
14:44:57.277160 IP > ICMP net unreachable, length 75
14:45:02.286414 IP > 180+ SRV? _http._tcp. (39)
14:45:02.286504 IP > ICMP net unreachable, length 75

Is there any way to stop apt doing this and just make it connect immediately to the local mirror?

  • Please file a bug against the apt package — resolving SRV records for RFC1918 IP addresses certainly is not expected behavior. See debian.org/Bugs/Reporting for instructions. – Michael Aug 3 '17 at 15:40

Ok I found the answer by reading the sourcecode

Add the following to /etc/apt/apt.conf (create it if it doesn't exist)

Acquire::EnableSrvRecords "false";

Try putting the apt mirror in as the apt proxy.

Create the file if it does not exist: /etc/apt/apt.conf

Add the apt proxy info:

Acquire::http::Proxy "http://address:port";

or in your case:

Acquire::http::Proxy "";

Don't forget the ; at the end.

Test by updating:

sudo apt-get update

I am not sure if your mirror will work this way. Perhaps an apt cacher like apt-cacher-ng will help.

If you have a full mirror couldn't you change the domain name part of the source to your mirror ip address?

Example if the source was:

deb http://ftp.ussg.iu.edu/linux/ubuntu xenial main restricted universe multiverse

Change to:

deb xenial main restricted universe multiverse

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.