You are on page 1of 3

Munki Building a Server Repository: Objective: Create a directory in: /Users/Shared Configure Apache2 to serve it with !!

": ch#od $% a&r' #unki(repo )e*ow are configurations on creating your basic repo: Cata*ogs: Can dep*oy certain software insta**ations and updates to one group of users+ whi*e denying those sa#e insta**s and updates to another group Manifests: "kgs: !his where the ,d#g down*oad is *ocated "kginfo: -ata for non$Munki c*ients
cd /Users/Shared/ mkdir munki_repo mkdir munki_repo/catalogs mkdir munki_repo/manifests mkdir munki_repo/pkgs mkdir munki_repo/pkgsinfo

Configure Apache2 to serve it with !!":


chmod -R a+rX munki_repo

Linking munki_repo via HTTP Edit the file: /etc/apache /httpd!conf


"udo ln -" /#"er"/$hared/munki_repo /Li%rar&/'e%$erver/(ocument"/

So#e Apache references:


"udo apachetl "tart "udo apachetl "top

Setting Munki .ive: /, 0nsta** the Munki too*: Managed Software Update /, !he too*s are insta** on the C.0: /usr/*oca*/#unki 2, Create a path for Munki repo /, !his is where you push the ,d#g fi*e fro# your end to the web
bash-3.2$ /usr/local/munki/munkiimport --configure Path to munki repo (e ample! /"olumes/repo#! /Users/Shared/munki_repo $epo fileshare U$% (e ample! afp!//munki.e ample.com/repo#! &'ust hit return( pkginfo e tension () ample! .plist#! &'ust hit return( pkginfo editor (e amples! /usr/bin/*i or +e t,ate.app#! +e t,ate.app &substitute -our fa*orite te t editor( .efault catalog to use (e ample! testing#! testing

"ath to Munki repo: the defau*t is usua**y: /Users/Shared fo*der %epo fi*eshare U%.: if this is being re#ote in using: atf or s#b pkginfo e1tension: sets the origina* ,p*ist pkginfo editor: you can use 20M or !e1tMate this is for editing your fi*e -efau*t cata*og to use: !his is where the user can find the specific ,d#g their *ooking for 3ow since we have #ost of the repo set up both on the user end and server end ti#e for testing4

%a"h-)! * /u"r/local/munki/munkiimport +/(o,nload"/-irefo./ 2tem name 3-irefo.4: (i"pla& name 34: 5o6illa -irefo.

0!1!dmg

(e"cription 34: 'e% %ro,"er from 5o6illa 7er"ion 3 0!14: 8atalog" 3te"ting4: 2tem name: -irefo. (i"pla& name: 5o6illa -irefo. (e"cription: 'e% %ro,"er from 5o6illa 7er"ion: 0!1 8atalog": te"ting 2mport thi" item9 3&/n4 & #pload item to "u%director& path 34: app"/mo6illa Path /#"er"/$hared/munki_repo/pkg"/app"/mo6illa doe"n:t e.i"t! 8reate it9 3&/n4 & 8op&ing -irefo. 0!1!dmg to /#"er"/$hared/munki_repo/pkg"/app"/mo6illa/-irefo. 0!1!dmg!!! $aving pkginfo to /#"er"/$hared/munki_repo/pkg"info/app"/mo6illa/-irefo.- 0!1!!!

!his is to confir# changes #ade on the repo and http access:


$ebuild catalogs/ 0-/n1 $ebuild catalogs/ 0-/n1 2dding apps/mo3illa/4irefo -25.6 to testing...

Creating C*ient #anifest


7 /usr/local/munki/manifestutil )ntering interacti*e mode... (t-pe 8help8 for commands# ( ne9-manifest test_munki_client ( add-catalog testing --manifest test_munki_client 2dded testing to catalogs of manifest test_munki_client. ( add-pkg 4irefo --manifest test_munki_client 2dded 4irefo to section managed_installs of manifest test_munki_client. ( e it

2iewing the %epo: /#anifests/test(#unki(c*ient:

&/ ml *ersion:8;.68 encoding:8U+4-58/( &<.=>+?P) plist PU@%A> 8-//2pple//.+. P%AS+ ;.6//)B8 8http!//999.apple.com/.+.s/Propert-%ist-;.6.dtd8( &plist *ersion:8;.68( &dict( &ke-(catalogs&/ke-( &arra-( &string(testing&/string( &/arra-( &ke-(included_manifests&/ke-( &arra-( &/arra-( &ke-(managed_installs&/ke-( &arra-( &string(4irefo &/string( &/arra-( &ke-(managed_uninstalls&/ke-( &arra-( &/arra-( &/dict( &/plist(

Munki C*ient Configuration .ink the Munki c*ient to the server, 0t wi** be stored in: /.ibrary/"references/Managed0nsta**s,p*ist Creating this:

sudo defaults 9rite /%ibrar-/Preferences/,anagedAnstalls Soft9are$epoU$% 8http!//localhost/munki_repo8 sudo defaults 9rite /%ibrar-/Preferences/,anagedAnstalls >lientAdentifier 8test_munki_client8

!he app is now reading where to get the updates:

defaults read /%ibrar-/Preferences/,anagedAnstalls

Using Munki c*ient software %un this in the C.0:

sudo /usr/local/munki/managedsoft9areupdate ,anaged Soft9are Update +ool >op-right 26;6-26;C +he ,unki Pro'ect http!//code.google.com/p/munki .o9nloading 4irefo 25.6.dmg... 6..26..C6..D6..56..;66 "erif-ing package integrit-... +he follo9ing items 9ill be installed or upgraded! E 4irefo -25.6 Feb bro9ser from ,o3illa $un managedsoft9areupdate --installonl- to install the do9nloaded updates.

ManagedSoftware Update app found 5irefo1 6o*der version or not at a**7 it doesn8t insta** the update9 but finds 5irefo1, Check the update and down*oad it, 0t #ight then ask to restart your #achine to finish, :hat if,,, !his happens,,: "robab*y #eans you do have the *atest update on a specific app
sudo /usr/local/munki/managedsoft9areupdate ,anaged Soft9are Update +ool >op-right 26;6-26;2 +he ,unki Pro'ect http!//code.google.com/p/munki Bo changes to managed soft9are are a*ailable.

0f you want to hard$test it+ uninsta** 5irefo1:


sudo rm Gr /2pplications/4irefo .app

!hen run:
/usr/local/munki/managedsoft9areupdate