
Lead Image © binkski, 123RF.com
Creating a private apt repository with reprepro
Package Hub
The seemingly simple and practical task of distributing software you develop yourself can turn out to be time consuming and complex. On Debian and Ubuntu, keeping packages in a repository facilitates installations and upgrades for the user. The reprepro
tool [1] helps administrators establish and manage a repository. It provides an easy option for setting up a repository and installing packages. A web server uses the HTTP protocol to distribute the packages to the users. The authenticity of the packages is ensured by GPG signatures.
An Ubuntu server can be transformed into a repository in a few steps. All the required software components are in the official Ubuntu repositories, and no third-party software is needed. Simply type
sudo apt-get install reprepro
to set up Ubuntu 12.04 LTS for the install. Afterward, useful information on the reprepro package can be found in the default documentation path, /usr/share/doc/reprepro/
, such as short-howto.gz
, which provides a brief introduction to the configuration.
The following example uses a separate repository
user account for the configuration. The conf
folder serves as a central location for the configuration files. The most important file, distributions
, specifies the distribution, architecture, and so on for which the repository is used (Listing 1).
Listing 1
distributions
$ pwd /home/repository $ mkdir -p packages/conf $ vi packages/conf/distributions Origin: TKmon Label: tkmon Codename: precise Suite: stable Architectures: i386 amd64 source Components: main optional SignWith: 0B8738CA $ vi
Buy ADMIN Magazine
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Most Popular
Support Our Work
ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.
