Cuando se instala un paquete tipo Apple, es posible generar un recibo en la máquina. Los metapaquetes generan varios recibos. La herramienta VMware AirWatch Admin Assistant agrega los nombres y las versiones de los recibos a una matriz de recibos en el pkginfo para un paquete.

A continuación se incluye una matriz de recibos para los códecs Avid LE QuickTime, versión 2.3.4.

        <key>receipts</key>
        <array>
        
          <dict>
           <key>filename</key> <string>AvidCodecsLE.pkg</string> <key>installed_size</key> <integer>1188</integer> <key>name</key> <string>AvidCodecsLE</string> <key>packageid</key> <string>com.avid.avidcodecsle</string> <key>version</key> <string>2.3.4</string> 
          </dict>
        
        </array>
      

Si Munki utiliza la matriz de recibos para determinar el estado de la instalación, comprueba la existencia y la versión de cada recibo de la matriz. Si falta algún recibo o tiene un número de versión anterior a la versión especificada para ese recibo en la matriz de recibos, el elemento se considera no instalado. Solo si cada recibo está presente y todas las versiones son iguales a las del pkginfo (o posteriores), se considerará que el elemento está instalado. Para solucionar problemas, utilice la herramienta pkgutil para examinar los recibos instalados.

        # pkgutil --pkg-info com.avid.avidcodecsle
        No receipt for 'com.avid.avidcodecsle' found at '/'.
      

En este caso, no se ha encontrado el recibo para los códecs Avid LE QuickTime en esta máquina. Una complicación común con los recibos es que, con muchos metapaquetes, la lógica de instalación solo produce un subconjunto de los subpaquetes que se instalan. Por lo general, la lista de recibos contiene un recibo por cada subpaquete de un metapaquete (y necesita esta información si se solicita a Munki que elimine el elemento de software en función de los recibos de paquetes). Sin embargo, si es normal y se espera que no se instalen todos los subpaquetes, Munki marcará el elemento como no instalado actualmente y le ofrecerá volver a instalarlo. Una solución para este problema es agregar una clave opcional con el valor "verdadero" a los recibos que se instalan de forma opcional. En ese caso, Munki no tendrá en cuenta estos recibos al determinar el estado de la instalación.

        <key>receipts</key>
        <array>
        
          <dict>
           <key>filename</key> <string>mandatory.pkg</string> <key>installed_size</key> <integer>1188</integer> <key>name</key> <string>Mandatory</string> <key>packageid</key> <string>com.foo.mandatory</string> <key>version</key> <string>1.0</string> 
          </dict>
          <dict>
           <key>filename</key> <string>optional.pkg</string> <key>installed_size</key> <integer>1188</integer> <key>name</key> <string>Optional</string> <key>optional</key> <true/> <key>packageid</key> <string>com.foo.optional</string> <key>version</key> <string>1.0</string> 
          </dict>
        
        </array>
      

Otra solución para esta situación es proporcionar una matriz de instalaciones que enumere los elementos instalados por el paquete. Munki puede utilizar la información de la matriz de instalaciones en lugar de los recibos para determinar el estado de la instalación.