How To Create A Local Debian/Ubuntu Mirror With apt-mirror - Page 3

9 Configure Your Client Computers To Use The Local Mirror

Now that our local mirror is ready to be used, all we have to do is tell our Debian Sarge and Ubuntu Edgy Eft systems in our local network to use it.


9.1 Debian Sarge

On Debian Sarge systems, you can replace the main contrib non-free repository in /etc/apt/sources.list like this:

vi /etc/apt/sources.list

deb sarge main contrib non-free

Instead of sarge you could also use stable:

deb stable main contrib non-free

Afterwards, run

apt-get update


9.2 Ubuntu Edgy Eft

On Ubuntu Edgy Eft systems, you can replace the main restricted universe repository in /etc/apt/sources.list like this:

vi /etc/apt/sources.list

deb edgy main restricted universe

Afterwards, run

apt-get update


9.3 Fresh Installation

If you install a fresh Debian Sarge or Ubuntu Edgy Eft system, specify your local mirror like this when the installer asks you which repository you'd like to use:

Afterwards the installer will use your local mirror to install the system:


Share this page:

10 Comment(s)

Add comment



Wow. This is extensive. I've only got one question (not asking for help, just clarification).

When downloading, say, for Ubuntu's Gutsy repositories (this one was designed for Edgy, but it's all the same) does apt-sources download all the architectures (i386, amd64, powerpc and sparc) as well?

I don't see any text that just calls for a single one such as just i386.

From: Anonymous

add this to you /etc/apt/mirrors.list

set defaultarch  i386

From: CyberCowboy

How would you do multiple architectures, for me specifically I need x64 and i386

From: AtesComp

You use "deb-i386" and "deb-amd64" instead of just "deb" at the beginning of each mirror line.  Examples:

deb-i386 karmic main restricted universe multiverse
deb-amd64 karmic main restricted universe multiverse

From: Dan

I had a question.  My apt repository is located at


and it contains contrib main and non-free packages

 The thing I cannot figure out is I am working with a pool and not a specific dist.

How would I setup my Debian lenny clients to pull in my needed packages since the examples above seem to be for a specific distro if you understand what I mean?

The pool is confusing me.



From: Anonymous

When you specify a dist, that tells is what packages list to read (arranged by dist and architecture).

 These package list tell it what packages to read from the pool.  Apt-mirror will only download the specified packages, but have a browse around one of the primary mirrors.  It is logically laid out, and explains a lot about the working of apt.

 So, pool/ contains all the packages, and dists/ contains lists of packages.

From: Rebeca

in my case, I mirrored the three last versions of ubuntu. apt-mirror has created the pool but did not create the folder /dists... so my local computers are unable to pull from the mirror in sources.list. what i did wrong? and how fix that? Thanks..and sorry my "google english"!

From: Joe

I have the same question as the previous comment, after running apt-mirror I only have the ubuntu/pool directory, I don't have ubuntu/dists and such.  This causes clients to fail apt-get update when they cannot find files. What would cause that and how do you fix it?

From: Anonymous

Thanks for the write up!

From: Anonymous

i followed the procedure in this doc. 

the apt-get update and apt-get upgrade works fine in the client server.

but the do-release-upgrade always complain there is no new release found.

but i did put the 10.04/10.10/11.04... in the mirror-list file.

and i did edit the /etc/update-manager/meta-release file.