Install Reposado with Margarita on CentOS / Red Hat Enterprise Linux


  1. Introduction (this page)
  2. CentOS / Red Hat installation
  3. – Setup network on CentOS / Red Hat
  4. – Reposado installation
  5. – Margarita installation
  6. – Getting Started with Margarita
  7. – Configure clients


Apple provides a way to host its own update server‘s for Mac OS X patches. This server will keep a local copy of all updates from the official servers, this is a quick method to control the deployment of patches inside a large network.

The first problem with this tool is that if a patch is removed by Apple, it will also be deleted from your server. In a few cases it can be a problem. Recently Apple has removed the update iPhoto 9.1 (by accident probably) and system administrators were unable to update iPhoto from the retail DVD to the last version without this update. The second problem is that Apple is no longer providing a server to host conveniently this kind of service (Xserve is dead and that’s fine), so it’s necessary to use alternate methods without using Mac OS X Server if possible.

A project hosted on github and owned by Gred Neagle replicates the functions of the Apple Software Update Server with Python scripts and allows to use any kind of servers (CentOS or Red Hat Enterprise Linux in our case). This software, named Reposado, goes a little further than the Apple solution. It can be used to manage the updates and to keep old version that Apple has removed. One of the greatest advantages is the ability to create different branches where you can publish your patches. You can create a lab group where you push patches for testing purpose and and second branch for all final clients. With this system you can test the impact of new patches on your environment and refuse problematic updates.

The problem of Reposado is that needs to be managed by the command line and sometimes we’re too lazy to remember the commands (or our support team will not be faced with a terminal). So a second project was published by Jesse Peterson to add a web interface to manage Reposado : Margarita. This tool is written in Python and use Flask as a fast web publishing tool.

This post will help you to setup a CentOS or Red Hat Enterprise Linux from scratch and to install Reposado and Margarita. CentOS and Red Hat are globally the same OS with the same sources, the difference is the kind of support given to users (CentOS is based on community support and Red Hat on paying enterprise support). The method described will help you to prepare a minimal appliance that can be used with VMware ESXi or with VMware Fusion. The minimal installation will be used to minimize the security risks and the size of the installation.

12 Replies to “Install Reposado with Margarita on CentOS / Red Hat Enterprise Linux”

  1. absolutely beautiful howto guide – worked perfectly

    also, per the instructions here, i added a .htaccess file to the directory /var/local/reposado/html

    with instructions found here:

    so as i only needed to put the catalogURL as on client machines and the apache2 mod_rewrite engine on the reposado box figured out which index to send it to regardless of version of the macosx client

    again, thank you for this wonderful page.

  2. I was curious if you have found a way to secure this with .htaccess? I have so far been unsuccessful. Margarita doesn’t respect the the file.

  3. Thanks for this tutorial.

    The standard command to configure the client is:
    sudo defaults write /Library/Preferences/ CatalogURL

  4. failure: repodata/c7c64887b23d8a76ac7d8b0b4a2673a3e832963c948a8700c8647f4fa8bbd339-primary.sqlite.bz2 from updates: [Errno 256] No more mirrors to try.

    problem connecting to softer sources

    plz help me in this regards

    thank u

  5. Brilliant work here…a single run through the setup process on Centos 6.5 resulted in a fully working reposado + margarita configuration.

    Thank you for providing such a detailed walkthrough.

  6. I am not familiar with reposado but we have working outdated reposado and just wonder how can I update so the yosemette and elcapitan clients can update from?

Leave a Reply to Florent B. Cancel reply

Your email address will not be published. Required fields are marked *