Translation(s): 한국어(Korean)


This document summarizes the process of setting up a Debian package repository. It does not describe the format of a Debian repository.

Care has been taken to provide the most accurate information at the time of writing. Please fix any identified mistakes.

Debian Repository Types

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

archive style

apt line

apt-pinning

secure APT

status

official archive

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

Yes

Yes

preferred

trivial archive

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

No

Yes

deprecated

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

For the secure APT compatibility, the modern package archive must be signed using OpenPGP.

References:

Repository instructions

The best practices for creating repository usage instructions are available in RepositoryInstructions.

Debian Repository Generation Tools

The full package archive similar to the official archive can be created using:

The Private Package Archive (PPA) can be created on a web server with a shell account using:

people.debian.org is installed with these packages. The PPA archives created on these hosts should only be used for small low-volume experimental archives only.

Do not run high-volume repositories without consulting the host server's maintainer(s).

dak (Debian Archive Kit)

mini-dak

reprepro

mini-dinstall

debarchiver

debpool

DebMarshal

Built by Google for their use.

apt-ftparchive

Quick instructions to create a trivial local archive with apt-ftparchive

We use /var/lib/mydebs as the example location

dpkg-scanpackages and dpkg-scansources

Quick instructions to create a trivial local archive with dpkg-scanpackages

We use /var/lib/mydebs as the example location

aptly

debify

local-apt-repository

dr

laniakea

Pulp

Supports various packaging formats via plugins, including one for Debian.

Debian Repository Mirroring Tools

ftpsync

reprepro for partial mirroring

debmirror

apt-mirror

debpartial-mirror

apt-move

aptly

anonftpsync (deprecated)

See also


CategoryPackageManagement | CategoryDeveloper | CategoryPackaging