The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

repositor.io - Linux Repository Management

repositor.io is a tool to create and manage linux repositories. You can mirror online repositories so that you don't need to download the package every time you set up a new server. You can also secure your servers behind a firewall and disable outgoing http traffic.

With repositor.io it is easy to create custom repositories for your own packages. With the integration of a configuration management tool you can create consistant installations of your server.

GETTING HELP

COMMAND LINE

--mirror mirror a configured repository (needs --repo)
--tag=tagname tag a repository (needs --repo)
--repo=reponame the name of the repository to use
--update-metadata update the metadata of a repository
--update-files download files even if they are already downloaded
--init initialize an empty repository
--add-file=file add a file to a repository (needs --repo)
--remove-file=file remove a file from a repository (needs --repo)
--list list known repositories
--help display this help message

CONFIGURATION

To configure repositor.io create a configuration file /etc/rex/repositorio.conf. RepositoryRoot = /srv/html/repo/

 # log4perl configuration file
 <Log4perl>
   config = /etc/rex/io/log4perl.conf
 </Log4perl>

 # create a mirror of the nightly rex repository
 # the files will be stored in
 # /srv/html/repo/head/rex-centos-6-x86-64/CentOS/6/rex/x86_64/
 <Repository rex-centos-6-x86-64>
   url   = http://nightly.rex.linux-files.org/CentOS/6/rex/x86_64/
   local = rex-centos-6-x86-64/CentOS/6/rex/x86_64/
   type  = Yum
 </Repository>

 # create a mirror of centos 6
 # and download the pxe boot files, too.
 <Repository centos-6-x86-64>
   url    = http://ftp.hosteurope.de/mirror/centos.org/6/os/x86_64/
   local  = centos-6-x86-64/CentOS/6/os/x86_64/
   type   = Yum
   images = true
 </Repository>

 # create a custom repository
 <Repository centos-6-x86-64-mixed>
   local = centos-6-x86-64-mixed/mixed/6/x86_64/
   type  = Yum
 </Repository>

An example log4perl.conf file:

 log4perl.rootLogger                    = DEBUG, FileAppndr1

 log4perl.appender.FileAppndr1          = Log::Log4perl::Appender::File
 log4perl.appender.FileAppndr1.filename = /var/log/repositorio.log
 log4perl.appender.FileAppndr1.layout   = Log::Log4perl::Layout::SimpleLayout