Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We have two offices full of Ubuntu desktop machines. Because our net connection is slow, we'd like to have our own internal package server for each machine to grab and install its updates from on a daily basis, rather than having each machine separately download all of the same files.

So we'd like to have one machine that pulls any package updates from http://us.archive.ubuntu.com/ubuntu/, etc. every day, and acts as a package server for the other machines in the network.

Has anyone done this? Do you know of a good howto on the process? I have looked and found generally nothing, though maybe my search terms are bad.

share|improve this question

4 Answers 4

up vote 3 down vote accepted

Look at Apt-Proxy.

apt-proxy is a program that caches the packages you download from the Internet, to your hard disk. Because apt-proxy behaves as if it were a HTTP server with a full copy of the repositories you select, you can access the packages from other computers on your network. If a package is not in the cache, apt-proxy automatically downloads and caches it. This can significantly decrease download bandwidth and installation time when you have to install the same packages repeatedly (i.e. an upgrade of multiple machines).

Update: Found another similar question, on Apt-cacher and Apt-proxy, that suggests using approx.

Also see eHow article on Alternatives to Apt-proxy for a quick summary.

share|improve this answer
    
Apt-proxy looks good and well documented. Thanks very much to all for your answers. There's a lot to go through and try now, but I think we're headed in the right direction. –  Jim N Apr 27 '11 at 14:53

You want to search for Debian, not Ubuntu. Ubuntu uses Debian's packaging systems so techniques to mirror Debian repositories work for Ubuntu also.

I did a quick web search and this looks pretty useful.

share|improve this answer

What you seem to be looking for is a local mirror of a package repository. Here is a small guide on how to do this with Apt-mirror. It's a few years old, but still relevant. After you set up the mirror, you can point all your other servers/desktops to the local mirroring host for updates (Explained at the bottom of the guide).

share|improve this answer

I used to use apt-cacher, but I've since replaced it with apt-cacher-ng. What you need to do is

  1. On the server, apt-get install apt-cacher-ng
  2. On the server and the clients echo 'Acquire::http { Proxy "http://server:3142"; };' > /etc/apt/apt.conf.d/99apt-cacher-ng, replacing server with the domain name or IP address of the machine running apt-cacher-ng
  3. Optionally, enable automatic upgrades
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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