This document summarises what I have found about setting up a Debian package repository.

I have taken care of providing the most correct information at the time of writing but if you find any inaccuracy, please, fix it.

There are 2 kinds of repositories from user's view:

archive style

apt line

apt-pinning

secure APT

trivial archive

"deb http://example.org/debian ./"

No

Yes

official archive

"deb http://example.org/debian unstable main"

Yes

Yes

These have different meta-data structure, but both store actual package files. Many repository HOWTOs address creation of a "trivial archive". These are problematic since the "trivial archive" lacks support for apt-pinning and modern secure APT due to the collision of 2 types of Release files. (e.g., old "Debian Reference (sarge)" and "APT HOWTO (sarge)")

Even with an "official archive", you can create a much simpler archive than the real official one. This is explained in Debian Reference (lenny) using apt-ftparchive in apt-utils and dupload. All uploaded packages are located in a directory and no database server is needed. This may be good enough for people hosting a few packages.

For creating something similar to the official archive, there are some good packages to help you but they tend to require a database server.

The following sections contain more info about these applications.

dak (Debian Archive Kit)

reprepro (formerly known as mirrorer)

debpool

debarchiver

mini-dinstall

apt-ftparchive

dpkg-scanpackages and dpkg-scansources

mini-dak


Related software


CategoryPackageManagement

HowToSetupADebianRepository (last edited 2009-06-04 19:58:23 by AndrewBezella)