/aptly

aptly - Debian repository management tool

Primary LanguageGoMIT LicenseMIT

aptly

https://api.travis-ci.org/aptly-dev/aptly.svg?branch=master http://goreportcard.com/badge/aptly-dev/aptly

Aptly is a swiss army knife for Debian repository management.

http://www.aptly.info/img/aptly_logo.png

Documentation is available at http://www.aptly.info/. For support please use mailing list aptly-discuss.

Aptly features: ("+" means planned features)

  • make mirrors of remote Debian/Ubuntu repositories, limiting by components/architectures
  • take snapshots of mirrors at any point in time, fixing state of repository at some moment of time
  • publish snapshot as Debian repository, ready to be consumed by apt
  • controlled update of one or more packages in snapshot from upstream mirror, tracking dependencies
  • merge two or more snapshots into one
  • filter repository by search query, pulling dependencies when required
  • publish self-made packages as Debian repositories
  • REST API for remote access
  • mirror repositories "as-is" (without resigning with user's key) (+)
  • support for yum repositories (+)

Current limitations:

  • translations are not supported yet

Download

To install aptly on Debian/Ubuntu, add new repository to /etc/apt/sources.list:

deb http://repo.aptly.info/ squeeze main

And import key that is used to sign the release:

$ apt-key adv --keyserver pool.sks-keyservers.net --recv-keys ED75B5A4483DA07C

After that you can install aptly as any other software package:

$ apt-get update
$ apt-get install aptly

Don't worry about squeeze part in repo name: aptly package should work on Debian squeeze+, Ubuntu 10.0+. Package contains aptly binary, man page and bash completion.

If you would like to use nightly builds (unstable), please use following repository:

deb http://repo.aptly.info/ nightly main

Binary executables (depends almost only on libc) are available for download from Bintray.

If you have Go environment set up, you can build aptly from source by running (go 1.8+ required):

mkdir -p $GOPATH/src/github.com/aptly-dev/aptly
git clone https://github.com/aptly-dev/aptly $GOPATH/src/github.com/aptly-dev/aptly
cd $GOPATH/src/github.com/aptly-dev/aptly
make install

Binary would be installed to $GOPATH/bin/aptly.

Contributing

Please follow detailed documentation in CONTRIBUTING.md.

Integrations

Vagrant:

  • Vagrant configuration by Zane Williamson, allowing to bring two virtual servers, one with aptly installed and another one set up to install packages from repository published by aptly

Docker:

With configuration management systems:

CLI for aptly API:

GUI for aptly API:

Scala sbt: