Configuring local storage for Apple updates using Reposado

1 users found this article helpful

Information

The simplest solution to maintain local storage for Apple updates is Reposado (free open-source tool). This article describes configuring this tool.

Requirements

Prepare Environment

  1. Download and install Python:

    • Download Python-2.7.9 and install it.
    • In Control Panel > System and Security > System applet click on Advanced system settings > Advanced > Environment Variables > in System variables locate Path variable > double-click it and add directory where Python is located in the end of Variable value using semicolon separator:

    • Download and install py2exe in the Python directory.
  2. Download and install cURL:

    • Download cURL.

    • Run the installer and click on Advanced button:

    • Configure installation options and note installation directory.

    • Restart the server.

    • Open Command Prompt and execute the following

      curl www.google.com -o %userprofile%\Desktop\test.txt
      
    • Make sure that non-empty test.txt has been created on the Desktop and there were no errors in the output

    Note: If The program can not start because api-ms-win-crt-runtime-l1-1-0.dll is missing from your computer error appears during command execution, install Visual C++ Redistributable on the server.

  3. Create directories that will contain Updates, Catalogs, and Reposado Metadata, e.g. create the following folders:

    C:\reposado\html
    
    C:\reposado\metadata 
    
  4. Configure IIS:

    • Open Internet Information Services (IIS) Manager

    • Right click on Default Web Site and click Add Virtual Directory...

    • Type any name in Alias field (e.g. repo) and specify the path to folder with Reposado downloaded updates (e.g. C:\reposado\html) in Physical path field:

    • Click on Connect as... > choose Specific user > click Set... and specify user name and password (e.g. use domain admin credentials).

    • Click on just created virtual directory in Default Web Site > find Directory Browsing (IIS section in the center pane) and double click on it.

    • Click Enable in the right pane.

    • Click on Default Web Site -> and click Browse:80 (http) in the right pane: page must be opened in the Internet browser without any errors.

    • Double click on MIME Types for (IIS section in the center pane) > click Add... button in the right pane and add the following MIME types (extension - MIME type):

      .dist - text/xml
      
      .sucatalog - text/xml
      
      .pkg - application/x-newton-compatible-pkg
      
      .pkm - application/x-newton-compatible-pkg
      
  5. Install Reposado:

    • Download Reposado.
    • Unzip downloaded archive e.g.into C:\reposado-master

    • Do the following to setup Reposado:

      • Open command prompt and change directory to folder with reposado e.g.

        cd C:\reposado-master
        
      • Executing the following commands:

        setup.py build
        setup.py install 
        
  6. Configure Reposado:

    • Run the following command line to configure Reposado: python <path-to-reposado>\build\scripts-2.7\repoutil --configure e.g.

      python "C:\reposado-master\build\scripts-2.7\repoutil" --configure
      
    • Specify the following when asking:

      • Filesystem path to store replicated catalogs and updates (e.g. C:\reposado\html)

      • Filesystem path to store Reposado metadata (e.g. C:\reposado\metadata)

      • URL (base URL) to virtual directory created in IIS (looks like http://<server-FQDN>/repo - without "/" symbol at the end of the URL), e.g.

        http://win-bs2.ras.lab/repo
        
      • Path to cURL binary file (e.g. C:\Program Files (x86)\cURL\bin\curl.exe). Note: do not use quote marks when specifying the path.
  7. Replicate Update Catalogs and Packages with Reposado:

    • Run synchronization by executing the following command - python <path-to-reposado>\build\scripts-2.7\repo_sync e.g.

      python "C:\reposado-master\build\scripts-2.7\repo_sync"
      

    After synchronization is finished, there must be *.sucatalog (in the folder for storing catalogs which was specified during Reposado configuration). This catalog contains links (with specified base URL during Reposado configuration) to downloaded updates.

    We recommend running Reposado synchronization once a day in order to have the latest updates downloaded.

Was this article helpful?

Tell us how we can improve it.