Differences between revisions 87 and 88
Revision 87 as of 2015-02-21 08:29:15
Size: 440
Editor: ?Faye53Xiw
Comment:
Revision 88 as of 2015-02-21 08:42:22
Size: 16449
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Sean Ginsberg is definitely how I'm called yet it's not the most masculine title. Production and preparing is what she does within her day job. My family lives in Delaware but now I'm considering other available choices. The things i love doing is to dancing but I can't make it our profession really. Go to my website for more information: [[http://www.rosalux.org.ec/?option=com_k2&view=itemlist&task=user&id=2497|super maio all-stars]] #language en
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[ko/HowToSetupADebianRepository|한국어(Korean)]]-~
----
This document summarizes the process of setting up a [[DebianRepository|Debian package repository]]. It does not describe the [[RepositoryFormat|format of a Debian repository]].

{{{#!wiki important
Care has been taken to provide the most accurate information at the time of writing. Please fix any identified mistakes.
}}}

<<TableOfContents>>

== APT Archive 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 [[AptPreferences|APT Preferences]] due to the collision of 2 types of Release files.

For the [[SecureApt|secure APT]] compatibility, the modern package archive must be signed by the GPG.

References:
 * [[http://www.debian.org/doc/manuals/securing-debian-howto/ch7.en.html#s-deb-pack-sign|Package signing in Debian]] (DDP: Securing Debian Manual)
 * [[http://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_debian_package_management_internals|Debian package management internals]] (DDP: Debian Reference)

== APT Archive Generation Tools ==

The full package archive similar to the official archive can be created using:
 * dak
 * mini-dak

The Private Package Archive (PPA) can be created on a web server with a shell account using:
 * reprepro
 * mini-dinstall

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

{{{#!wiki important
Do not run high-volume repositories without consulting the host server's maintainer(s).
}}}

=== dak (Debian Archive Kit) ===
 * Goals: Hosting the official Debian repositories.
 * Pros:
   * It's the official solution
 * Cons:
   * Depends on python and PostgreSQL
   * Lack of documentation
   * Designed for large repositories.
 * Download: [[http://ftp-master.debian.org/git/dak.git/|git repository]].
 * Distributions: not in Debian
 * Dependencies:
   * python
   * postgresql (optional)
 * Automatic repositories: Yes
 * Incoming mechanism: Yes
 * Pools: Yes
 * GPG signing: Yes
 * Wiki Page: [[dak]]

=== mini-dak ===
 * Goals: Hosting new Debian architectures (Partial and lightweight reimplementation of dak in shell script and with no database dependencies)
 * Pros:
   * Easy to setup: edit a config file and run a script to generate the whole structure
   * No database (the pool is the database)
   * All .changes files kept for later possible importing into the master repository
   * Supports mail notifications and does extensive logging
   * Auto package obsoleting
   * Repository snapshotting
   * Supports multiple suites from the Distribution field on the .changes file
   * Additionally supports multipool (splitting each arch into its own pool, to ease partial mirroring)
   * Supports upload ACLs based on gpg public keys
   * Mirror push via ssh
 * Cons:
   * Slow on huge repositories (due to not using a real db mainly)
   * Has been written and tested mainly as a slave archive, so might have some hardcoded stuff which should be fixed to make it work as a master server
   * Still has some quirks to be fixed
 * Download: http://www.hadrons.org/~guillem/debian/mini-dak/
 * Distributions: not in Debian
 * Dependencies: ('grep Requires: *' on the source tree)
   * apt-utils
   * procmail
   * gnupg
   * wget
   * ssh (optional)
   * bzip2 (optional)
   * quinn-diff (optional)
 * Automatic repositories: Yes
 * Incoming mechanism: Yes
 * Pools: Yes
 * GPG signing: Yes
 * Sites using it:
   * [[http://ftp.debian-ports.org/|debian-ports]]
   * [[http://ftp-avr32.debian.net/|debian-avr32]]
   * [[http://apt.nexenta.org/mini-dak/|nexenta]]

=== reprepro for new packages ===
 * (formerly known as mirrorer)
 * Goals: Local Debian package repository storing files in a pool/ directory.
 * Pros:
   * Strict checking of what comes in, no database server needed.
 * Cons:
   * Only one version of each package can exist in repository at the time
 * Package: DebianPts:reprepro
 * Distributions: [[DebianPkg:stable/utils/reprepro|stable]], [[DebianPkg:testing/utils/reprepro|testing]], [[DebianPkg:unstable/utils/reprepro|unstable]] and [[DebianPkg:/squeeze-backports/reprepro|squeeze-backports]]
 * Dependencies: DebianPkg:unstable/utils/reprepro
 * Automatic repositories: Yes
 * Incoming mechanism: Yes
 * Pools: Yes
 * GPG signing: Yes
 * Manual: [[http://anonscm.debian.org/gitweb/?p=mirrorer/reprepro.git;a=blob_plain;f=docs/manual.html|Yes]]
 * HOWTOs:
  * [[http://anonscm.debian.org/gitweb/?p=mirrorer/reprepro.git;a=blob_plain;f=docs/short-howto;hb=HEAD|Short HOWTO]] (official)
  * [[SettingUpSignedAptRepositoryWithReprepro|Setting up signed apt repository with reprepro]]
  * Setting up your own automatic Debian repository see [[http://www.debian-administration.org/articles/286|this article on reprepro]]. The link is rather outdated, but still contains some useful information.
  * Setting up reprepro with apache2 and sign key (in italian language) [[http://www.fabreg.it/reprepro-repository-debian-43/]]
  * [[http://scotbofh.wordpress.com/2011/04/26/creating-your-own-signed-apt-repository-and-debian-packages/|Creating your own Signed APT Repository and Debian Packages]] by Jon Cowie

=== mini-dinstall ===
 * Goals: Miniature version of dak.
 * Pros:
   * Doesn't require a PostgreSQL database.
   * Small footprint
 * Cons:
   * ?
 * Package: DebianPts:mini-dinstall
 * Distributions: [[DebianPkg:stable/devel/mini-dinstall|stable]], [[DebianPkg:testing/devel/mini-dinstall|testing]], [[DebianPkg:unstable/devel/mini-dinstall|unstable]]
 * Dependencies: DebianPkg:unstable/devel/mini-dinstall
  * apt-utils
  * python
  * python-apt
 * Automatic repositories: Yes (?)
 * Incoming mechanism: Yes
 * Pools: No
 * GPG signing: Yes (external script and setup example provided in documentation)
 * HOWTO:
  * [[http://upsilon.cc/~zack/blog/posts/2009/04/howto:_uploading_to_people.d.o_using_dput/|dput + mini-dinstall to ease people.d.o uploads]] by Stefano Zacchiroli.
   * This guides you to setup mini-dinstall on [[http://people.debian.org|people.debian.org]]. It supports [[SecureApt|secure apt]] and remote signing.

=== debarchiver ===
 * Goals: Make a simpler version of dak.
 * Pros:
   * Easy to use incoming mechanism - even on remote systems - by using a cron-job
   * Packages can be moved into a distribution by
     1. reading the Distribution value from .changes file or
     1. directly putting the whole package into a distributions-incoming directory.
  * Standard repository (can be pinned)
 * Cons:
   * No Pool-architecture at the moment
   * Some useful checks are missing
   * Cleaning needs to be done manually
 * Package: DebianPts:debarchiver
 * Distributions: [[DebianPkg:oldstable/devel/debarchiver|oldstable]], [[DebianPkg:stable/devel/debarchiver|stable]], [[DebianPkg:testing/devel/debarchiver|testing]], [[DebianPkg:unstable/devel/debarchiver|unstable]]
 * Dependencies: DebianPkg:unstable/devel/debarchiver
  * adduser
  * apt-utils (recommended) | dpkg-dev
  * opalmod (Perl modules)
  * gnupg (optional)
 * Automatic repositories: Yes
 * Incoming mechanism: Yes
 * Pools: No (but suggested somewhere at [[DebianBug:debarchiver|BTS]]).
 * GPG signing: Yes (with gnupg, post-Sarge feature).
 * HOWTOs:
  * [[http://web.archive.org/web/20050410000129/http://vipie.studentenweb.org/dev/debarchiver/|debarchiver how-to]].
  * [[http://debian.wgdd.de/debhowtos/howto-aptrep.de.html|debarchiver how-to (in German)]].
  * [[http://foss.stat.unipd.it/mediawiki/index.php/Debian_Mirror_Setup|Italian howto]] for local Debian package mirroring (similar to apt-proxy).
 * An [[http://debian.wgdd.de/debian/|example of a repository]] [[http://debian.wgdd.de/repository|produced with debarchiver]].

=== debpool ===
 * Goals: Lightweight replacement for dak using a pool layout.
 * Pros:
   * No external dependencies
   * Easy to use incoming mechanism
   * Standard repository (can be pinned)
 * Cons:
   * Not actively maintained since 2008-10-30 (see [[http://git.debian.org/?p=debpool/debpool.git|latest development]])
   * no checking of older packages being replaced with new ones
   * no notification of what is going on (no mails when new packages are added)
 * Package: DebianPts:debpool (REMOVED)
 * Distributions: [[DebianBug:585390|experimental]]
 * Dependencies:
  * perl
  * gnupg (optional)
 * Automatic repositories: Yes
 * Incoming mechanism: Yes
 * Pools: Yes
 * GPG signing: Yes (with gnupg).
 * Wiki page: [[debpool]]

=== DebMarshal ===
 * Goals: Maintain multiple snapshots from upstream distros, to permit staging.
 * Pros:
   * Fast
   * No database server needed (BerkeleyDB)
 * Cons:
   * Lack of documentation
   * Hasn't been released (No version available, SVN repo has only trunk).
 * Download: http://code.google.com/p/debmarshal/
 * Distributions: not in Debian
 * Automatic repositories: Yes
 * Incoming mechanism: Yes
 * Pools: Yes
 * GPG signing: Yes
 * Wiki page: [[http://code.google.com/p/debmarshal/w/list|debmartial]]
 * Presentation: [[http://code.google.com/p/debmarshal/downloads/list|ODP and PDF files]]


Built by Google for their use.

=== apt-ftparchive ===
 * Goals: Superset of dpkg-scanpackages and dpkg-scansources.
 * Pros:
   * Does not rely on any external programs aside from gzip.
   * Creates Release and Contents files without providing *.changes
 * Cons:
   * Can be slow on large repositories, unless the input file (FileList) is sorted first (the sort command works).
   * ?
 * Package: DebianPts:apt
 * Distributions: [[DebianPkg:oldstable/admin/apt-utils|oldstable]], [[DebianPkg:stable/admin/apt-utils|stable]], [[DebianPkg:testing/admin/apt-utils|testing]], [[DebianPkg:unstable/admin/apt-utils|unstable]], [[DebianPkg:experimental/admin/apt-utils|experimental]]
 * Dependencies: DebianPkg:unstable/admin/apt-utils
 * Automatic repositories: No (Yes with dupload)
 * Incoming mechanism: No (Yes with custom move cron script with dupload)
 * Pools: Yes
 * GPG signing: No (Yes with dupload with script)
 * HOWTOs:
  * [[http://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_small_public_package_archive|Debian Reference (lenny)]] -- SecureAPT in combination with dupload (aimed at someone who has shell access to a web server)
  * apt-ftparchive generate [[http://familiasanchez.net/~roberto/howtos/debrepository|Roberto Sanchez how-to]] -- he now recommends to use '''reprepro'''

=== dpkg-scanpackages and dpkg-scansources ===
 * Goals: Generate Packages index files
 * Pros:
   * Use only bare bone tool provided by dpkg
   * Creates Release and Contents files without providing *.changes with additional scripts.
 * Cons:
   * Cannot create Release or Contents files by themselves
 * Package: DebianPts:dpkg
 * Distributions: [[DebianPkg:oldstable/utils/dpkg-dev|oldstable]], [[DebianPkg:stable/utils/dpkg-dev|stable]], [[DebianPkg:testing/utils/dpkg-dev|testing]], [[DebianPkg:unstable/utils/dpkg-dev|unstable]]
 * Dependencies: DebianPkg:unstable/utils/dpkg-dev
 * Automatic repositories: No
 * Incoming mechanism: No
 * Pools: No
 * GPG signing: No
 * HOWTO: [[http://www.debian.org/doc/manuals/repository-howto/repository-howto.en.html|Aaron Isotton how-to]]
 * [[https://www.mirbsd.org/cvs.cgi/contrib/hosted/tg/deb/mkdebidx.sh|mkdebidx]] is a shell (DebianPkg:mksh) script wrapping dpkg-scanpackages, dpkg-scansources, generating Release and Release.gpg files, and producing a nice XHTML/1.1 [[https://www.freewrt.org/~tg/debs/debidx.htm|index]] (currently only package-centric view, but dist-/suite-centric views planned) of packages in a full, pinnable, repository with multiple dists and suites (only scales up to a hundred or two packages though; with 904 packages in a repository at the employer, 900 of them in one dist+suite, it takes a while to finish but still works). There may be plans to write a [[DebianPkg:fusionforge|FusionForge]] plugin for repository handling based on this.

=== aptly ===
 * Goals: manage local repositories, snapshot them and publish
 * Pros:
    * supports multiple versions of package in one repo
    * has supported for mirroring in the same tool
 * Download & Documentation: http://www.aptly.info/
 * Distributions: [[DebianPkg:testing/utils/aptly|testing]], [[DebianPkg:unstable/utils/aptly|unstable]]
 * Source: [[https://github.com/smira/aptly|GitHub]]

== APT Archive Mirroring Tools ==

=== ftpsync ===
 * This is '''THE RECOMMENDED MIRRORING TOOL''' for public mirror sites.
 * Goals: The official archive mirroring tool
  * Intruction: [[http://www.debian.org/mirror/ftpmirror|Setting up a Debian archive mirror]]
  * tarball: http://ftp-master.debian.org/ftpsync.tar.gz
  * git repository: git clone https://ftp-master.debian.org/git/archvsync.git
 * Mirroring with the rsync protocol is strongly recommend.

=== reprepro for partial mirroring ===
 * Description: Debian package repository producer
 * Package: DebianPts:reprepro
 * HOWTOs:
  * [[http://www.infrastructureanywhere.com/documentation/additional/mirrors.html|Creating a Debian/Ubuntu mirror]]
  * [[PartialBackportMirrorWithPackageApproval|Partial backport mirror with package approval with reprepro]]

=== debmirror ===
 * Description: Debian partial mirror script, with ftp and package pool support
 * Package: DebianPts:debmirror

=== apt-mirror ===
 * Description: APT sources mirroring tool
 * Package: DebianPts:apt-mirror

=== debpartial-mirror ===
 * Description: tools to create partial Debian mirrors
 * Package: DebianPts:debpartial-mirror

=== apt-move ===
 * Description: Maintain Debian packages in a package pool
 * Package: DebianPts:apt-move

=== aptly ===
 * Description: Mirror remote repositories and manage local repositories, take snapshots, merge them, pull packages from one snapshot to another, publish snapshots as repositories
 * Download & Documentation: http://www.aptly.info/
 * Distributions: [[DebianPkg:testing/utils/aptly|testing]], [[DebianPkg:unstable/utils/aptly|unstable]]
 * Source: [[https://github.com/smira/aptly|GitHub]]
 * Presentation: [[http://smira.ru/aptly_devops_meetup_eng.pdf|PDF]]

=== anonftpsync (deprecated) ===
 * Description: The previous official mirroring tool
 * Pros:
   * Ease of use and few dependencies,
   * Bash script
 * Cons:
   * Lacks flexibility
   * Does not implement latest (2012 A.D.) mirror features (deprecated)
 * Download: [[http://www.debian.org/mirror/anonftpsync|anonftpsync]]
 * Package: not in Debian
 * Dependencies: bash, rsync

== Related software ==
 * [[DebianPkg:netselect]] selects the fastest mirrors from a list you give, and [[DebianPkg:netselect-apt]] does the same from all existing mirrors.
 * [[DebianPkg:apt-spy]] does something similar with a different method.
 * [[DebianPkg:dput]] and [[DebianPkg:dupload]]: uploads one or more Debian packages into a repository.
 * [[http://elonen.iki.fi/code/parse-apt-files.inc|parse-apt-files.inc]] PHP-script by Jarno Elonen produces a nice [[http://elonen.iki.fi/code/unofficial-debs/|XHTML-summary]] of available packages in a repository - [[http://debian.wgdd.de/debian/parse-apt-files.inc|enhanced version]] for special usage with (but not limited to) [[#debarchiver|debarchiver]]. There seems to be some [[http://potatosalad.gotdns.com/2005/08/01/repository/|efforts]] to develop a wordpress-plugin based on these scripts.

== See also ==

 * DebianPkg:software-properties-gtk

----
CategoryPackageManagement

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.

APT Archive 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 by the GPG.

References:

APT Archive Generation Tools

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

  • dak
  • mini-dak

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

  • reprepro
  • mini-dinstall

Both people.debian.org and alioth.debian.org are 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)

  • Goals: Hosting the official Debian repositories.
  • Pros:
    • It's the official solution
  • Cons:
    • Depends on python and PostgreSQL
    • Lack of documentation
    • Designed for large repositories.
  • Download: git repository.

  • Distributions: not in Debian
  • Dependencies:
    • python
    • postgresql (optional)
  • Automatic repositories: Yes
  • Incoming mechanism: Yes
  • Pools: Yes
  • GPG signing: Yes
  • Wiki Page: dak

mini-dak

  • Goals: Hosting new Debian architectures (Partial and lightweight reimplementation of dak in shell script and with no database dependencies)
  • Pros:
    • Easy to setup: edit a config file and run a script to generate the whole structure
    • No database (the pool is the database)
    • All .changes files kept for later possible importing into the master repository
    • Supports mail notifications and does extensive logging
    • Auto package obsoleting
    • Repository snapshotting
    • Supports multiple suites from the Distribution field on the .changes file
    • Additionally supports multipool (splitting each arch into its own pool, to ease partial mirroring)
    • Supports upload ACLs based on gpg public keys
    • Mirror push via ssh
  • Cons:
    • Slow on huge repositories (due to not using a real db mainly)
    • Has been written and tested mainly as a slave archive, so might have some hardcoded stuff which should be fixed to make it work as a master server
    • Still has some quirks to be fixed
  • Download: http://www.hadrons.org/~guillem/debian/mini-dak/

  • Distributions: not in Debian
  • Dependencies: ('grep Requires: *' on the source tree)
    • apt-utils
    • procmail
    • gnupg
    • wget
    • ssh (optional)
    • bzip2 (optional)
    • quinn-diff (optional)
  • Automatic repositories: Yes
  • Incoming mechanism: Yes
  • Pools: Yes
  • GPG signing: Yes
  • Sites using it:

reprepro for new packages

mini-dinstall

debarchiver

  • Goals: Make a simpler version of dak.
  • Pros:
    • Easy to use incoming mechanism - even on remote systems - by using a cron-job
    • Packages can be moved into a distribution by
      1. reading the Distribution value from .changes file or
      2. directly putting the whole package into a distributions-incoming directory.
    • Standard repository (can be pinned)
  • Cons:
    • No Pool-architecture at the moment
    • Some useful checks are missing
    • Cleaning needs to be done manually
  • Package: debarchiver

  • Distributions: oldstable, stable, testing, unstable

  • Dependencies: unstable/devel/debarchiver

    • adduser
    • apt-utils (recommended) | dpkg-dev
    • opalmod (Perl modules)
    • gnupg (optional)
  • Automatic repositories: Yes
  • Incoming mechanism: Yes
  • Pools: No (but suggested somewhere at BTS).

  • GPG signing: Yes (with gnupg, post-Sarge feature).
  • HOWTOs:
  • An example of a repository produced with debarchiver.

debpool

  • Goals: Lightweight replacement for dak using a pool layout.
  • Pros:
    • No external dependencies
    • Easy to use incoming mechanism
    • Standard repository (can be pinned)
  • Cons:
    • Not actively maintained since 2008-10-30 (see latest development)

    • no checking of older packages being replaced with new ones
    • no notification of what is going on (no mails when new packages are added)
  • Package: debpool (REMOVED)

  • Distributions: experimental

  • Dependencies:
    • perl
    • gnupg (optional)
  • Automatic repositories: Yes
  • Incoming mechanism: Yes
  • Pools: Yes
  • GPG signing: Yes (with gnupg).
  • Wiki page: debpool

DebMarshal

  • Goals: Maintain multiple snapshots from upstream distros, to permit staging.
  • Pros:
    • Fast
    • No database server needed (BerkeleyDB)
  • Cons:
    • Lack of documentation
    • Hasn't been released (No version available, SVN repo has only trunk).
  • Download: http://code.google.com/p/debmarshal/

  • Distributions: not in Debian
  • Automatic repositories: Yes
  • Incoming mechanism: Yes
  • Pools: Yes
  • GPG signing: Yes
  • Wiki page: debmartial

  • Presentation: ODP and PDF files

Built by Google for their use.

apt-ftparchive

  • Goals: Superset of dpkg-scanpackages and dpkg-scansources.
  • Pros:
    • Does not rely on any external programs aside from gzip.
    • Creates Release and Contents files without providing *.changes
  • Cons:
    • Can be slow on large repositories, unless the input file (?FileList) is sorted first (the sort command works).

    • ?
  • Package: apt

  • Distributions: oldstable, stable, testing, unstable, experimental

  • Dependencies: unstable/admin/apt-utils

  • Automatic repositories: No (Yes with dupload)
  • Incoming mechanism: No (Yes with custom move cron script with dupload)
  • Pools: Yes
  • GPG signing: No (Yes with dupload with script)
  • HOWTOs:

dpkg-scanpackages and dpkg-scansources

  • Goals: Generate Packages index files
  • Pros:
    • Use only bare bone tool provided by dpkg
    • Creates Release and Contents files without providing *.changes with additional scripts.
  • Cons:
    • Cannot create Release or Contents files by themselves
  • Package: dpkg

  • Distributions: oldstable, stable, testing, unstable

  • Dependencies: unstable/utils/dpkg-dev

  • Automatic repositories: No
  • Incoming mechanism: No
  • Pools: No
  • GPG signing: No
  • HOWTO: Aaron Isotton how-to

  • mkdebidx is a shell (mksh) script wrapping dpkg-scanpackages, dpkg-scansources, generating Release and Release.gpg files, and producing a nice XHTML/1.1 index (currently only package-centric view, but dist-/suite-centric views planned) of packages in a full, pinnable, repository with multiple dists and suites (only scales up to a hundred or two packages though; with 904 packages in a repository at the employer, 900 of them in one dist+suite, it takes a while to finish but still works). There may be plans to write a FusionForge plugin for repository handling based on this.

aptly

  • Goals: manage local repositories, snapshot them and publish
  • Pros:
    • supports multiple versions of package in one repo
    • has supported for mirroring in the same tool
  • Download & Documentation: http://www.aptly.info/

  • Distributions: testing, unstable

  • Source: GitHub

APT Archive Mirroring Tools

ftpsync

reprepro for partial mirroring

debmirror

  • Description: Debian partial mirror script, with ftp and package pool support
  • Package: debmirror

apt-mirror

  • Description: APT sources mirroring tool
  • Package: apt-mirror

debpartial-mirror

apt-move

  • Description: Maintain Debian packages in a package pool
  • Package: apt-move

aptly

  • Description: Mirror remote repositories and manage local repositories, take snapshots, merge them, pull packages from one snapshot to another, publish snapshots as repositories
  • Download & Documentation: http://www.aptly.info/

  • Distributions: testing, unstable

  • Source: GitHub

  • Presentation: PDF

anonftpsync (deprecated)

  • Description: The previous official mirroring tool
  • Pros:
    • Ease of use and few dependencies,
    • Bash script
  • Cons:
    • Lacks flexibility
    • Does not implement latest (2012 A.D.) mirror features (deprecated)
  • Download: anonftpsync

  • Package: not in Debian
  • Dependencies: bash, rsync

See also


CategoryPackageManagement