Thursday, October 16, 2014

Yosemite SUCatalog Size

When I noticed repo_sync downloading all the OS X voices again I got mildly concerned about storage space.

Luckily, I learned that lesson once already and /var is mounted on top of an LVM storage pool in the Ubuntu VM that runs reposado. After a quick 'df -h' I switched over to ##osx-server and asked about the yoyo's storage requirements. gneagle suggested I do some investigation on my own and publish what I discovered.

I decided to stop the repo_sync run for the time being and disable the cronjob.

Later, I got curious and whipped this up in an iPython notebook after briefly taking a look at the catalog itself.

#!/usr/bin/python

import plistlib
import urllib2

catalog_url = 'http://swscan.apple.com/content/catalogs/others/index-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog'
total_size = 0.0

yoyo_sucatalog = urllib2.urlopen(catalog_url).read()
yoyo_plist = plistlib.readPlistFromString(yoyo_sucatalog)
yoyo_prod = yoyo_plist['Products']

for k in yoyo_prod:
    for item in yoyo_prod[k]['Packages']:
        total_size += item['Size']

print str(total_size / 1073741824) + ' GiB'
print str(total_size / 1000000000) + ' GB'

And the output?

128.361939469 GiB
137.827583018 GB

So there you have it. Approximately 130-140 Gigs (for varying definitions of Gig).

There is probably some insignificant amount of overhead in everything that comes down from the server too. *shrug*

Looks like I need to add a drive to the VM and expand the pool. :)

Thursday, October 9, 2014

munki is so damn cool

This post only exists because twitter's character count is too small…

but FYI munki is so damn cool.

The following items will be installed or upgraded:
        + duti-1.5.2
            set default applications for doc types
        + duti_launchagent-1.0
            runs duti at login on dir /Library/Glenbrook225/duti
        + AcrobatXProCS6-10.1.1
        + AcrobatUpd-10.1.10
        + duti_acrobatpro-1.1
            sets Acrobat Pro as editor for pdf at login via duti and duti launchagent

Only one of those things was actually in the manifest.

NICE.