Querying errata information

If you want to do proper patch management you always need to know which packages are on your servers and which updates are available for them. repositor.io has currently a database that can be queried to get information about package updates.

This database can be used together with a configuration management tool like (R)?ex to manage package updates on your servers.

Configuration

To configure an errata database for a repository you have to define the errata type repositor.io should use. The following example configuration is a CentOS 6 mirror and will expose the errata database for CentOS 6.

<Repository centos-6-x86-64>
  url    = http://ftp.hosteurope.de/mirror/centos.org/6/os/x86_64/
  local  = centos-6-x86-64/CentOS/6/rex/x86_64/
  type   = Yum
  errata = CentOS-6
</Repository>

Currently we are maintaining errata databases for CentOS (5, 6, 7), EPEL (5, 6, 7), Debian (squeeze, wheezy, jessie) and Ubuntu (10.04, 12.04, 14.04). If you want to provide errata databases for other distributions feel free to contact us on Github or irc.freenode.net channel #rex.

Valid errata types are:

  • CentOS-5
  • CentOS-6
  • CentOS-7
  • epel-5
  • epel-6
  • epel-7
  • debian-squeeze
  • debian-wheezy
  • debian-jessie
  • ubuntu-10.04
  • ubuntu-12.04
  • ubuntu-14.04

Update Errata Database

To update your errata database you can use the --update-errata option. We are updating errata information every day.

$ repositorio --repo=centos-6-x86-64 --update-errata

Query Errata Database

There are 2 types how you can query the errata database. You can use the command line tool repositorio or a webservice.

To use the CLI run the following command.

$ repositorio --repo=centos-6-x86-64 --errata --package=openssl --arch=x86_64 --version=1.0.1e-16.el6_5.4

To use the webservice you first need to start an integrated webserver. This webserver can serve the contents of a repository and is used to query the errata database.

$ repositorio --repo=centos-6-x86-64 --server prefork

This will start a preforking webserver on port 3000. If you want to use another port you can get help for all the parameters with the following command.

$ repositorio --repo=centos-6-x86-64 --server prefork -- --help

Now you can query the database with - for example - curl.

$ curl -XGET \
   http://yourrepo:3000/head/centos-6-x86-64/errata?package=openssl&arch=x86_64&version=1.0.1e-16.el6_5.4