<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Cat Convention &#187; Bart</title>
	<atom:link href="http://www.catconventionshow.com/author/bart/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.catconventionshow.com</link>
	<description>Everything about Apple in the enterprise</description>
	<lastBuildDate>Tue, 21 Feb 2012 15:04:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Mac OS X Server &#8211; Client Update Solutions</title>
		<link>http://www.catconventionshow.com/2011/01/03/mac-os-x-server-client-update-solutions/</link>
		<comments>http://www.catconventionshow.com/2011/01/03/mac-os-x-server-client-update-solutions/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 12:04:43 +0000</pubDate>
		<dc:creator>Bart</dc:creator>
				<category><![CDATA[OS X Server]]></category>
		<category><![CDATA[Munki]]></category>
		<category><![CDATA[software update]]></category>
		<category><![CDATA[stardeploy]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.catconventionshow.com/?p=213</guid>
		<description><![CDATA[When you have your own Apple environment you&#8217;ll also want to keep your clients up to date. But, since it&#8217;s a managed environment a normal user doesn&#8217;t have the correct permissions and you&#8217;ll want to manage what they get as well. Having the latest and greatest update for each application without testing isn&#8217;t exactly a [...]]]></description>
			<content:encoded><![CDATA[<p>When you have your own Apple environment you&#8217;ll also want to keep your clients up to date. But, since it&#8217;s a managed environment a normal user doesn&#8217;t have the correct permissions and you&#8217;ll want to manage what they get as well. Having the latest and greatest update for each application without testing isn&#8217;t exactly a good thing.</p>
<p>For that purpose I&#8217;ll write down the two solutions that I know of, one easy solution and a more complex solution.</p>
<p><span id="more-213"></span></p>
<h2>Overview</h2>
<p>The tools we&#8217;re going to be discussing here are:</p>
<ul>
<li>StarDeploy: <a title="StarDeploy" href="http://www.stardeploy.com" target="_blank">http://www.stardeploy.com</a></li>
<li>Munki: <a title="Munki" href="http://code.google.com/p/munki/" target="_blank">http://code.google.com/p/munki/</a></li>
</ul>
<p>Both are good tools, but I&#8217;ll go ahead and say that Munki is far better for enterprise environments.</p>
<p>After reading this article I hope you&#8217;ll agree ^_~</p>
<h2>StarDeploy</h2>
<p>Let us start with the easy one, StarDeploy.</p>
<p>This product is fairly new but already does a nice job in updating third party software.</p>
<h3>How StarDeploy works</h3>
<p>StarDeploy is very easy to setup, it works with just two components:</p>
<ul>
<li>On the server you need an AFP share for StarDeploy. This share contains all the applications or packages, etc.</li>
<li>On the client side you need the actual StarDeploy application, this application runs as root and connects to the AFP share. It uses rsync to update .app files and download packages. That way it knows when something is new.</li>
</ul>
<p>You can read about the details in <a title="StarDeploy Setup Manual" href="http://www.stardeploy.com/StarDeploy/Setup/Setup.html" target="_blank">the StarDeploy manual</a>, it&#8217;s a well written document (ignore the grammar) and with it you can easily learn all about how StarDeploy works and what all the files and folders mean.</p>
<p>So when reading this you can imagine it&#8217;s very easy to setup and maintain. The downside though of this concept is that it updates immediately, even if a user has an application opened it will (forcefully) update the files using rsync which may cause some &#8220;inconvenience&#8221; for the users.</p>
<p>Though if that&#8217;s acceptable in your setup then this solution is perfectly fine.</p>
<h3>Pros &amp; Cons of StarDeploy</h3>
<p>StarDeploy comes with many advantages, especially if you compare it to relying on e.g. ARD. But it also has a few disadvantages which might not be acceptable in every situation.</p>
<p><strong>Pros</strong></p>
<ul>
<li>Easy to use and easy to setup, anyone can do it.</li>
<li>Easy to maintain, again anyone can do this.</li>
<li>It can update/install .app files.</li>
<li>It can run package installers (.pkg, mpkg).</li>
<li>It can set system wide library settings or files (e.g. managed fonts, etc.).</li>
</ul>
<p><strong>Cons</strong></p>
<ul>
<li>It updates even when applications are opened.</li>
<li>It can&#8217;t do Apple software updates. Meaning you&#8217;ll need to find another solution for this. I&#8217;ll give you my idea on this topic.</li>
</ul>
<p>As I mentioned before, if the cons are acceptable in your situation then this tool will be perfectly fine.</p>
<h3>Configure StarDeploy on the server</h3>
<p>The first thing you&#8217;ll need to do is setup the server side, which basically means that you&#8217;ll need to setup an AFP share.</p>
<p>What I did was create an AFP share called &#8220;deploy&#8221; and inside the share I created the directories required by StarDeploy:</p>
<ul>
<li>Applications</li>
<li>Library</li>
<li>Packages</li>
<li>Users</li>
</ul>
<p>Your all done on the server side when the AFP share and required directories have been created.</p>
<p>For testing purposes I&#8217;ve uploaded a few applications to the Applications directory inside the deploy share (Firefox, OpenOffice.org, Opera, etc.), all .app files that will get synced to the client.</p>
<h3>Install StarDeploy on the client</h3>
<p>And the second part is installing the client application, which is as simple as installing the application package on a client Mac. (can be done with ARD)</p>
<p>Once the application is set you can setup the application from your system preferences, the main part here is entering the AFP share (afp://&lt;yourserver&gt;/deploy/) and maybe tinker with the other settings a bit. This part is really easy to understand so I&#8217;m not going to bore you with screenshots.</p>
<p>From the StarDeploy preferences you can force the sync right away, and here for testing purposes I&#8217;ve made sure that the above applications don&#8217;t exist on the client Mac.</p>
<p>If you follow the logs you&#8217;ll see that it rsyncs just about everything, in case of .app files it syncs them directly to the /Applications directory. Which is the same for Library files. Package files are first rsynced towards a local StarDeploy directory from where it runs the package.</p>
<p>Another thing for the client side is that you can install Growl to give notifications when StarDeploy is doing it&#8217;s job, I never got that to work but this could give a user the heads up that something is changing. It tells the user when StarDeploy starts it&#8217;s run and when it&#8217;s done.</p>
<h3>Update plan with StarDeploy</h3>
<p>As I mentioned, this tool can update all third party applications (with some work even Adobe) but it won&#8217;t do the Apple updates for you.</p>
<p>In our case I came with the following solution for that part:</p>
<ul>
<li>StarDeploy:
<ul>
<li>Does hourly updates. In my testing I found that StarDeploy is launched with Launchd, it uses a .plist file (obviously) but it has an interval time in that .plist. So it calculates the daily interval based on the moment it&#8217;s first launched, not very accurate. An hourly update in my eyes is safer and lets face it, it won&#8217;t do something every hour but only once a day (first time it runs).</li>
</ul>
</li>
<li>Workgroup Manager:
<ul>
<li>Using WGM you can setup a computer policy telling the computer when to shutdown and when to turn itself on (this works). What I did was set the policy to turn off all computers on a friday evening (22:00) and turn them back on on a monday morning (05:00).</li>
</ul>
</li>
<li>Apple Remote Desktop:
<ul>
<li>Knowing that all Macs are turned on on 05:00 I can create an ARD flow that does the updates. Basically one Unix command that you send to all the computers and once the Unix command is done you send a shutdown command to all computers. You can schedule these commands one minute apart, thus:
<ul>
<li>Unix command on 05:15.</li>
<li>Shutdown command on 05:16.</li>
</ul>
</li>
<li>This will queue the two commands, so when the Unix command is done it will shutdown all computers at the same time. The shutdown is necessary, it will simulate the reboot which usually is required.</li>
</ul>
</li>
</ul>
<p>For the record, this is the Unix command I&#8217;m sending:</p>
<blockquote><p># Install all Apple software updates<br />
softwareupdate -i -a</p>
<p># Fix disk permissions<br />
diskutil repairPermissions /</p></blockquote>
<p>I figured it would be a good thing to regularly fix the disk permissions, but you could leave that one out of the script. The softwareupdate -i -a is the only thing you need for installing all Apple updates.</p>
<p>This gives you a nice &#8220;green&#8221; solution for keeping all Macs up to date without bothering the users too much.</p>
<h3>StarDeploy verdict</h3>
<p>StarDeploy does what you&#8217;d expect it to do but not with allot of tact, it will forcefully install applications or run package installers for you and overwrite Library or user preferences. On the other hand, it&#8217;s very easy to maintain. Just upload an application to the share and all Macs get the update, which is something anyone can do.</p>
<p>So if you need something easy, quick and simple then this is the tool for you. But if you feel your missing something then I&#8217;d advise you to read the next part about Munki.</p>
<h2>Munki</h2>
<p>Munki is a lesser known tool, at least to me it wasn&#8217;t known until after I learned about StarDeploy in an article on <a title="AFP548.com" href="AFP548.com" target="_blank">AFP548.com</a>.</p>
<p>Munki, to me, is the best solution for updating an enterprise environment. I was stunned that the consultants we hired when first migrated from Microsoft to Apple didn&#8217;t tell us about this tool for updating the Macs (real shame). If they had done so then we&#8217;d have used this tool from the beginning but instead it took us some time to discover these things ourselves. Our background is Linux and BSD, not Mac so we needed to learn how to do things the Apple way which simply takes some time.</p>
<p>This is what Munki writes about their own product:</p>
<p style="padding-left: 30px"><em>munki is a set of tools that, used together with a webserver-based  repository of packages and package metadata, can be used by OS X  administrators to manage software installs (and in many cases removals)  on OS X client machines.</em></p>
<p style="padding-left: 30px"><em>munki can install software packaged in  the Apple package format, and also supports Adobe CS3/CS4/CS5 Enterprise  Deployment &#8220;packages&#8221;, and drag-and-drop disk images as installer  sources.</em></p>
<p style="padding-left: 30px"><em>Additionally, munki can be configured to install Apple Software Updates, either from Apple&#8217;s server, or yours.</em></p>
<p style="padding-left: 30px"><em>munki is currently in use at organizations all over the world, managing software for thousands of Macs.</em></p>
<p style="padding-left: 30px"><em>Check  out the Wiki for some notes and documentation, and browse and/or check  out the source. There&#8217;s also an installer package in the Downloads  section.</em></p>
<p>I couldn&#8217;t write it better myself, so let&#8217;s continue with how Munki works.</p>
<h3>How Munki works</h3>
<p>Munki is also separated in two parts, a server and client part, but it&#8217;s a little more complex compared to StarDeploy:</p>
<ul>
<li>Server side:
<ul>
<li>Web service: Similar to how the Apple updates are handled.</li>
<li>Munki tools &amp; settings.</li>
</ul>
</li>
<li>Client side:
<ul>
<li>Munki tools.</li>
<li>A plist that contains the client settings. (can be managed using WGM)</li>
</ul>
</li>
</ul>
<p>Not very complex but you need to do a few more things compared to StarDeploy.</p>
<p>The following pages are the ones that helped me the most when learning how Munki works, I was all set after understanding those documents and experimenting in a test environment:</p>
<ul>
<li>Info on what it can do and what clients experience: <a title="http://code.google.com/p/munki/wiki/FAQ" href="http://code.google.com/p/munki/wiki/FAQ" target="_blank">http://code.google.com/p/munki/wiki/FAQ</a></li>
<li>Manual on how to install Munki on a standalone machine: <a title="http://code.google.com/p/munki/wiki/InstallingOnStandaloneMachine" href="http://code.google.com/p/munki/wiki/InstallingOnStandaloneMachine" target="_blank">http://code.google.com/p/munki/wiki/InstallingOnStandaloneMachine</a></li>
<li>Information on Manifest files: <a title="http://code.google.com/p/munki/wiki/Manifests" href="http://code.google.com/p/munki/wiki/Manifests" target="_blank">http://code.google.com/p/munki/wiki/Manifests</a></li>
<li>Information on how to configure the client plist: <a title="http://code.google.com/p/munki/wiki/configuration" href="http://code.google.com/p/munki/wiki/configuration" target="_blank">http://code.google.com/p/munki/wiki/configuration</a></li>
<li>Info on how to manage Apple Software Updates with Munki, this is done inside the client plist file: <a title="http://code.google.com/p/munki/wiki/AppleSoftwareUpdatesWithMunki" href="http://code.google.com/p/munki/wiki/AppleSoftwareUpdatesWithMunki" target="_blank">http://code.google.com/p/munki/wiki/AppleSoftwareUpdatesWithMunki</a></li>
<li>Info on Blocking Applications, this feature protects users and notifies them to quit an application before updating it: <a title="http://code.google.com/p/munki/wiki/BlockingApplications" href="http://code.google.com/p/munki/wiki/BlockingApplications" target="_blank">http://code.google.com/p/munki/wiki/BlockingApplications</a></li>
</ul>
<h3>Pros &amp; Cons of Munki</h3>
<p>Munki is a great tool, but not perfect (nothing is perfect).</p>
<p><strong>Pros</strong></p>
<ul>
<li>Munki can install different types of packages:
<ul>
<li>Apple-flat packages (.pkg)</li>
<li>Apple-flat meta-packages (.mpkg)</li>
<li>Apple-non-flat packages (.pkg)<tt>*</tt></li>
<li>Apple-non-flat meta-packages (.mpkg)<tt>*</tt></li>
<li>Drag-and-drop disk images</li>
<li>Adobe CS3/CS4/CS5 Deployment &#8220;packages&#8221; created with Adobe&#8217;s Enterprise Deployment tools &#8211; <a rel="nofollow" href="http://www.adobe.com/support/deployment/cs3_deployment.pdf">CS3 Info</a> <a rel="nofollow" href="http://www.adobe.com/devnet/creativesuite/">CS4 Info</a> <a rel="nofollow" href="http://www.adobe.com/devnet/creativesuite/enterprisedeployment.html">CS5 Info</a></li>
<li>Many Adobe CS3/CS4/CS5 product updaters</li>
<li>Adobe Acrobat Pro 9.x updater disk images as <a rel="nofollow" href="http://www.adobe.com/support/downloads/product.jsp?product=1&amp;platform=Macintosh">downloaded from Adobe</a></li>
</ul>
</li>
<li>Munki notifies users that updates are available and gives the user the choice of updating. Visually this looks almost the same as the Apple Software Update window.</li>
<li>Munki can handle the Apple Software Updates.</li>
<li>Munki can provide a client with optional installs. e.g. programs that not every Mac needs, but users are free to install them when they require such a program. (self service)</li>
<li>Munki can notify users that they need to close a certain application before updating, this is a safe guard since some applications can behave oddly if they are updated while running.</li>
<li>Munki is highly configurable, which means you can do just about anything with it.</li>
<li>The client side can be managed via WGM, because of this the client side is very easy to manage.</li>
</ul>
<p><strong>Cons</strong></p>
<ul>
<li>The server side is harder to manage compared to StarDeploy.</li>
</ul>
<p>Munki basically takes more effort to manage and to get it working, but that&#8217;s limited to the server side since the client side is very easy to manage. So the admins need to do a little more but in return you get something very slick from a users point of view.</p>
<h3>Install Munki on the server</h3>
<p>Installing Munki on a server is very easy to do, I&#8217;ll explain what I did for my testing environment.</p>
<ul>
<li>Install the Munki tools.</li>
<li>Use your Apple web server and add a virtual host to it, this virtual host will point to a directory which will become your Munki repository. I named my virtual host munki. Disable all features for this virtual host, it only needs to enable access to the repository.
<ul>
<li>I&#8217;m assuming you know how to enable the web service and add a virtual host to it, I&#8217;ll also assume that you know that a virtual host is tied to the DNS name ^_~ The exact details are outside the scope of this article, but feel free to ask if you have some issues with this part.</li>
</ul>
</li>
</ul>
<p>Lets say your repository is on an external disk:</p>
<ul>
<li>/Volumes/DATA/munki</li>
</ul>
<p>Inside this directory you need to create the following directories/files:</p>
<ul>
<li>catalogs: This directory contains the index catalog files, similar to the catalog files used by the apple update service. These index files are manually made, they are based upon the information in the manifest files and the info found under the pkgsinfo directory.</li>
<li>manifest: Manifest files are plist files that contain configurations that clients get, you can create several for different groups of clients.</li>
<li>pkgs: Contains package files, this can be .pkg, .dmg, etc. files.</li>
<li>pkgsinfo: Contains package info files, each time you add an application or update to the pkgs you need to create a pkginfo file (manually) inside this directory.</li>
</ul>
<p>Also, using the terminal create an empty index.html file inside the munki directory:</p>
<blockquote><p>touch /Volumes/DATA/munki/index.html</p></blockquote>
<p>Now that the core files and directories are there we can start by adding a few applications in there as reference.</p>
<p><strong>Creating a manifest file</strong></p>
<p>We will first create a manifest file, this file will be called &#8220;testing&#8221;, the contents of that file will look like this:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;!DOCTYPE plist PUBLIC &#8220;-//Apple Computer//DTD PLIST 1.0//EN&#8221; &#8220;http://www.apple.com/DTDs/PropertyList-1.0.dtd&#8221;&gt;<br />
&lt;plist version=&#8221;1.0&#8243;&gt;<br />
&lt;dict&gt;<br />
&lt;key&gt;catalogs&lt;/key&gt;<br />
&lt;array&gt;<br />
&lt;string&gt;testing&lt;/string&gt;<br />
&lt;/array&gt;<br />
&lt;key&gt;managed_installs&lt;/key&gt;<br />
&lt;array&gt;<br />
&lt;string&gt;Firefox&lt;/string&gt;<br />
&lt;string&gt;Camino&lt;/string&gt;<br />
&lt;string&gt;OpenOffice.org&lt;/string&gt;<br />
&lt;/array&gt;<br />
&lt;key&gt;managed_updates&lt;/key&gt;<br />
&lt;array&gt;<br />
&lt;string&gt;Firefox&lt;/string&gt;<br />
&lt;string&gt;Camino&lt;/string&gt;<br />
&lt;string&gt;OpenOffice.org&lt;/string&gt;<br />
&lt;/array&gt;<br />
&lt;key&gt;optional_installs&lt;/key&gt;<br />
&lt;array&gt;<br />
&lt;string&gt;Gimp&lt;/string&gt;<br />
&lt;/array&gt;<br />
&lt;/dict&gt;<br />
&lt;/plist&gt;</p></blockquote>
<p>This covers a few parts of what Munki can do, hopefully it will give you some insight in what Munki can do for you.</p>
<p><strong>Add the applications</strong></p>
<p>As you can see there are 4 applications in this list:</p>
<ul>
<li>Firefox</li>
<li>Camino</li>
<li>OpenOffice.org</li>
<li>The Gimp</li>
</ul>
<p>Download the latest versions of these applications and upload the .dmg files to the pkgs directory (yup the entire dmg file).</p>
<p>When the files are there open up a terminal and execute the following commands, these will create pkginfo files:</p>
<blockquote><p># We first go to the munki directory<br />
cd /Volumes/DATA/munki</p>
<p># Now we execute the command for creating packages<br />
# The syntax looks like this: /usr/local/munki/makepkginfo pkgs/&#8221;package&#8221; &gt; pkgsinfo/&#8221;package&#8221;.pkginfo</p>
<p>/usr/local/munki/makepkginfo pkgs/Firefox 3.6.13.dmg &gt; pkgsinfo/Firefox 3.6.13.pkginfo<br />
/usr/local/munki/makepkginfo pkgs/GIMP-2.6.11-Snow-Leopard.dmg &gt; pkgsinfo/GIMP-2.6.11-Snow-Leopard.pkginfo<br />
/usr/local/munki/makepkginfo pkgs/Camino-2.0.6.dmg &gt; pkgsinfo/Camino-2.0.6.pkginfo<br />
/usr/local/munki/makepkginfo pkgs/OOo_3.2.1_MacOS_x86_install_nl.dmg &gt; pkgsinfo/OOo_3.2.1_MacOS_x86_install_nl.pkginfo</p></blockquote>
<p>Now we&#8217;re almost done, all that&#8217;s left is creating the catalog file:</p>
<blockquote><p>/usr/local/munki/makecatalogs /Volumes/DATA/munki</p></blockquote>
<p>Once the catalog file is created your done on the server side. These last two parts, creating pkginfo files and creating the catalog file is something you&#8217;ll have to do whenever you add new versions of software.</p>
<p>Since the server side is now done we can continue with the client.</p>
<h3>Install Munki on the client</h3>
<p>On the client side the installation is rather easy:</p>
<ul>
<li>Install the Munki tools.</li>
<li>Edit the /Library/Preferences/ManagedInstalls.plist, this plist can be pushed via WGM.</li>
</ul>
<p>In my case the ManagedInstalls.plist looks like this. It&#8217;s still very basic, I might update it in the future:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;!DOCTYPE plist PUBLIC &#8220;-//Apple//DTD PLIST 1.0//EN&#8221; &#8220;http://www.apple.com/DTDs/PropertyList-1.0.dtd&#8221;&gt;<br />
&lt;plist version=&#8221;1.0&#8243;&gt;<br />
&lt;dict&gt;<br />
&lt;key&gt;ClientIdentifier&lt;/key&gt;               &lt;string&gt;testing&lt;/string&gt;<br />
&lt;key&gt;SoftwareRepoURL&lt;/key&gt;                &lt;string&gt;http://&lt;munki repository url&gt;&lt;/string&gt;<br />
&lt;key&gt;InstallAppleSoftwareUpdates&lt;/key&gt;    &lt;true/&gt;<br />
&lt;key&gt;SoftwareUpdateServerURL&lt;/key&gt;        &lt;string&gt;http://&lt;apple update server hostname&gt;:8888/index-leopard-snowleopard.merged-1.sucatalog&lt;/string&gt;<br />
&lt;/dict&gt;<br />
&lt;/plist&gt;</p></blockquote>
<div>Once the above is set you can test Munki using the Managed Update application, this application is located under:</div>
<blockquote>
<div>/Applucations/Utilities/Managed Software Update.app</div>
</blockquote>
<div>This application should show you updates for both Apple and the third party applications we&#8217;ve set (if available) and allow you to install them. For testing purposes just make sure there are some updates still required on the client side, otherwise it&#8217;s kinda hard to see if it works or not.</div>
<h3>Update plan with Munki</h3>
<p>To illustrate the big difference between Munki and StarDeploy I&#8217;ll write the situation in Munki&#8217;s case:</p>
<ul>
<li>Munki periodically checks for updates on the client Mac, if updates are available they are either forcefully installed or managed which means that the user will be asked to click the install button for the updates.</li>
</ul>
<p>And your done since Munki does all third party updates including the Apple updates. So I&#8217;ll say it again, it takes more effort but in the end you&#8217;ll have an update flow which is far easier compared to StarDeploy.</p>
<h3>Munki verdict</h3>
<p>Munki really is a one stop shop for all your update needs, it can do anything and can even force updates, installs or removals if needed.</p>
<p>The downside is that it takes some effort to learn, and a little more effort to configure and manage. But once Munki is running you have a very solid system which can be configured anyway you want.</p>
<h2>Conclusion</h2>
<p>Both tools can do allot of good things, where one is very easy to manage and the other is a little harder to manage.</p>
<p>In my opinion, if you have the expertise then you should go with Munki. It does everything for you and simplifies your update process immensely, on top of that it can be configured anyway you&#8217;d want.</p>
<p>But in the end it all depends on what you need, so before making your choice you should compare both products and weight out which one fits your needs the most.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Social Links</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.catconventionshow.com%2F2011%2F01%2F03%2Fmac-os-x-server-client-update-solutions%2F&amp;submitHeadline=Mac+OS+X+Server+%26%238211%3B+Client+Update+Solutions&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.catconventionshow.com%2F2011%2F01%2F03%2Fmac-os-x-server-client-update-solutions%2F&amp;title=Mac+OS+X+Server+%26%238211%3B+Client+Update+Solutions" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.catconventionshow.com%2F2011%2F01%2F03%2Fmac-os-x-server-client-update-solutions%2F&amp;title=Mac+OS+X+Server+%26%238211%3B+Client+Update+Solutions" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.catconventionshow.com%2F2011%2F01%2F03%2Fmac-os-x-server-client-update-solutions%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.catconventionshow.com%2F2011%2F01%2F03%2Fmac-os-x-server-client-update-solutions%2F&amp;title=Mac+OS+X+Server+%26%238211%3B+Client+Update+Solutions" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.catconventionshow.com%2F2011%2F01%2F03%2Fmac-os-x-server-client-update-solutions%2F&amp;title=Mac+OS+X+Server+%26%238211%3B+Client+Update+Solutions" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.catconventionshow.com%2F2011%2F01%2F03%2Fmac-os-x-server-client-update-solutions%2F&amp;title=Mac+OS+X+Server+%26%238211%3B+Client+Update+Solutions" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Mac+OS+X+Server+%26%238211%3B+Client+Update+Solutions+@+http%3A%2F%2Fwww.catconventionshow.com%2F2011%2F01%2F03%2Fmac-os-x-server-client-update-solutions%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.catconventionshow.com/2011/01/03/mac-os-x-server-client-update-solutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>StarDeploy &#8211; New package deployment software for OSX</title>
		<link>http://www.catconventionshow.com/2010/12/23/stardeploy-new-package-deployment-software-for-osx/</link>
		<comments>http://www.catconventionshow.com/2010/12/23/stardeploy-new-package-deployment-software-for-osx/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 11:23:46 +0000</pubDate>
		<dc:creator>Bart</dc:creator>
				<category><![CDATA[OS X Client]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[stardeploy]]></category>

		<guid isPermaLink="false">http://www.catconventionshow.com/?p=207</guid>
		<description><![CDATA[On AFP548.com I stumbled on a new (free) solution for deploying software on OSX. ( link ) The tool is called StarDeploy, you can find more information on their website: http://www.stardeploy.com If you manage several Macs and want to keep their software up to date then this tool might just make that task allot easier, [...]]]></description>
			<content:encoded><![CDATA[<p>On AFP548.com I stumbled on a new (free) solution for deploying software on OSX. ( <a title="New Package Deployment Software StarDeploy for Mac OS X" href="http://www.afp548.com/article.php?story=20101210114754480" target="_blank">link</a> )</p>
<p>The tool is called StarDeploy, you can find more information on their website:</p>
<ul>
<li><a href="http://www.stardeploy.com" target="_blank">http://www.stardeploy.com</a></li>
</ul>
<p>If you manage several Macs and want to keep their software up to date then this tool might just make that task allot easier, be sure to check it out.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Social Links</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F23%2Fstardeploy-new-package-deployment-software-for-osx%2F&amp;submitHeadline=StarDeploy+%26%238211%3B+New+package+deployment+software+for+OSX&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F23%2Fstardeploy-new-package-deployment-software-for-osx%2F&amp;title=StarDeploy+%26%238211%3B+New+package+deployment+software+for+OSX" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F23%2Fstardeploy-new-package-deployment-software-for-osx%2F&amp;title=StarDeploy+%26%238211%3B+New+package+deployment+software+for+OSX" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F23%2Fstardeploy-new-package-deployment-software-for-osx%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F23%2Fstardeploy-new-package-deployment-software-for-osx%2F&amp;title=StarDeploy+%26%238211%3B+New+package+deployment+software+for+OSX" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F23%2Fstardeploy-new-package-deployment-software-for-osx%2F&amp;title=StarDeploy+%26%238211%3B+New+package+deployment+software+for+OSX" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F23%2Fstardeploy-new-package-deployment-software-for-osx%2F&amp;title=StarDeploy+%26%238211%3B+New+package+deployment+software+for+OSX" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+StarDeploy+%26%238211%3B+New+package+deployment+software+for+OSX+@+http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F23%2Fstardeploy-new-package-deployment-software-for-osx%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.catconventionshow.com/2010/12/23/stardeploy-new-package-deployment-software-for-osx/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mac OS X Server – Enterprise Backup Solutions</title>
		<link>http://www.catconventionshow.com/2010/12/13/enterprise-backup-solutions/</link>
		<comments>http://www.catconventionshow.com/2010/12/13/enterprise-backup-solutions/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 08:09:45 +0000</pubDate>
		<dc:creator>Bart</dc:creator>
				<category><![CDATA[OS X Server]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Server Admin]]></category>

		<guid isPermaLink="false">http://www.catconventionshow.com/?p=204</guid>
		<description><![CDATA[If you run your own Apple server then you&#8217;ll also (obviously) need to think about backing up whatever is on that server (user home directories, shares, mail data, websites, databases, etc.). For that purpose you could use Time Machine, but from my personal experience I&#8217;d have to say that Time Machine really won&#8217;t scale that [...]]]></description>
			<content:encoded><![CDATA[<p>If you run your own Apple server then you&#8217;ll also (obviously) need to think about backing up whatever is on that server (user home directories, shares, mail data, websites, databases, etc.). For that purpose you could use Time Machine, but from my personal experience I&#8217;d have to say that Time Machine really won&#8217;t scale that well when your environment grows.</p>
<p>So, when that happens you have to look at the big toys out there and the &#8220;real&#8221; backup software. But which one?</p>
<p><span id="more-204"></span></p>
<h2>Enterprise Backup Solutions</h2>
<p>The people at <a title="District13 Computing" href="http://www.district13computing.com/" target="_blank">District13 Computing</a> have made a very solid PDF file showing you what&#8217;s out there and explaining the difference between all the tools.</p>
<p>You can download the PDF <a title="Enterprise Backup Solutions" href="http://www.district13computing.com/docs/backup6.pdf" target="_blank">here</a>.</p>
<p>The software they did mention but didn&#8217;t explain in their document is Retrospect, mainly because it&#8217;s already widely used and known. You can find more information on their website. Personally I think Retrospect might be good for big organizations where you need a helpdesk to be able to restore data for users, but I don&#8217;t think it&#8217;s the best solution.</p>
<p>I like my tools to be accessible via command-line, so my personal favorite in this entire list is <a title="BRU Server" href="http://www.tolisgroup.com/products/software/bruserver/" target="_blank">BRU Server</a>. It&#8217;s pretty much everything you need, can even backup other Unix systems (cross platform) and the graphical tools are pretty good + you can do everything via command-line (thus via SSH). The downside would be that you can&#8217;t really delegate access to e.g. a helpdesk, you either have all admin access or no access at all. In allot of situations though that&#8217;s not a bad thing, you don&#8217;t have to restore backups everyday.</p>
<p>But in addition to just backup software you also need to manually backup a few other items that are otherwise not that easy to restore, namely the MySQL databases that you might have, the Open Directory database and something everyone forgets the Server Admin settings. In the following parts I&#8217;ll give you those scripts and a plist example on how to automate that process using Launchd.</p>
<h2>Backup Open Directory</h2>
<p>The ideal way to backup your OD is to simply use Server Admin every now and then, this will create a sparseimage that you can easily restore using the Server Admin as well. If your OD gets corrupted, or if you need to restore it because of any other reason then those sparseimages really are a life safer!</p>
<p>Because of that you&#8217;ll want to automate the backup process, and I&#8217;d suggest doing daily backups. The sparseimages really aren&#8217;t that big and storage is cheap so that really isn&#8217;t an argument.</p>
<p>The following script will allow you to backup the Open Directory to a sparseimage.</p>
<p><strong>Script location:</strong> /opt/local/sbin/od_backup.sh</p>
<blockquote><p>#!/bin/bash</p>
<p># &#8212;<br />
# Open Directory Back-up Script<br />
# &#8212;</p>
<p>date=`date &#8220;+%Y-%m-%d&#8221;`<br />
archive_path=/Volumes/DATA/Back-up/LDAP<br />
archive_name=opendirectory_backup</p>
<p>/usr/sbin/slapconfig -backupdb -noEncrypt $archive_path/$archive_name-$date</p></blockquote>
<p>This script will make a sparseimage file on my DATA volume in the directory Back-up/LDAP, the file isn&#8217;t password protected (I found that the script fails allot if you password protect it) so you&#8217;ll have to make sure that this specific backup directory is only readable by the root user and nobody else! The files also have a date time stamp by Year, month and then day (when you then list it will show everything in the correct order).</p>
<p>One thing you should know, this script restarts the OD. Running this script during production hours isn&#8217;t really a smart thing to do ^_~</p>
<p>Like you should do with all your personal scripts, this script is stored in the directory /opt/local/sbin (you can also use /opt/local/etc and /opt/local/bin, create them it they don&#8217;t yet exist).</p>
<p>I already hinted it but restoring the OD can be done using the Server Admin, but you can also restore using the command-line. The command-line option looks something like this:</p>
<blockquote><p>/usr/sbin/slapconfig -restoredb &#8220;filename&#8221;</p></blockquote>
<h2>Backup MySQL</h2>
<p>Backing up your MySQL database is just as important, like the OD MySQL isn&#8217;t that easy to restore if you don&#8217;t create dump files.</p>
<p>The following script will backup your MySQL databases.</p>
<p><strong>Script location:</strong> /opt/local/sbin/mysql_backup.sh</p>
<blockquote><p>#!/bin/bash</p>
<p># &#8212;<br />
# MySQL Back-up Script<br />
# &#8212;</p>
<p># Variables<br />
date=`date &#8220;+%Y-%m-%d&#8221;`<br />
archive_path=/Volumes/DATA/Back-up/MySQL</p>
<p># Back-up All Databases<br />
mysqldump &#8211;all-databases &#8211;user=root &#8211;password=**** &gt; $archive_path/mysql_full-backup-$date.sql<br />
sleep 5</p>
<p># Back-up RoundCube<br />
mysqldump roundcube &#8211;user=root &#8211;password=**** &gt; $archive_path/mysql_roundcube-backup-$date.sql<br />
sleep 5</p></blockquote>
<p>This script will backup your MySQL database as a whole + backup a separate database that I have for <a title="Roundcube" href="http://roundcube.net/" target="_blank">Roundcube</a> (so much better then the default webmail client). I think it&#8217;s best to do it this way, both have a backup of the entire DB and all separate DB&#8217;s, you&#8217;ll be able to do specific restores and full restores if needed.</p>
<p>Similar to the OD backup this script will write the files to the directory /Volumes/DATA/Back-up/MySQL and create file names with the same date time stamp.</p>
<p>Restoring the databases can be done by using the following command:</p>
<blockquote><p>mysql &#8211;verbose &#8211;user=XXXXXXXX &#8211;password=XXXXXXXX DB_NAME &lt; /PATH/TO/DUMPFILE.SQL</p></blockquote>
<h2>Backing up Server Admin settings</h2>
<p>All the parameters you&#8217;ve set in the Server Admin are also pretty important, though allot of them end up in service specific config files. Backing up those settings is pretty easy so I&#8217;d recommend this for everyone, and again storage is cheap so just do it ^_~ Backing up these settings makes restoring them a bit easier.</p>
<p><strong>Script location:</strong> /usr/local/sbin/serveradmin_backup.sh</p>
<blockquote><p>#!/bin/bash</p>
<p># &#8212;<br />
# Back-up All Server Admin Settings<br />
# &#8212;</p>
<p># Variables<br />
date=`date &#8220;+%Y-%m-%d&#8221;`<br />
archive_path=/Volumes/DATA/Back-up/ServerAdmin</p>
<p># Back-up Server Admin Settings<br />
for s in $(serveradmin list); do serveradmin settings $s &gt; $archive_path/$s-backup-$date; done</p></blockquote>
<p>This script will store the settings in /Volumes/DATA/Back-up/ServerAdmin directory. It&#8217;s actually very simple, it does a list of all the services and simply dumps the config in a file.</p>
<p>Restoring these config files can be done with the following command:</p>
<blockquote><p>serveradmin settings &lt; &#8220;settings file&#8221;</p></blockquote>
<p>This is is the same for all services.</p>
<h2>Scheduling via Launchd</h2>
<p>As I mentioned it&#8217;s best to schedule these backups outside of production times, the best way of doing that is to use Launchd (Apples cron replacement).</p>
<p>In this example I&#8217;ll run both backup scripts at the same time, for that purpose I&#8217;ve created a third shell script that will do one simple task which is simply run the two scripts od_backup.sh and mysql_backup.sh.</p>
<p><strong>Script location:</strong> /opt/local/sbin/backup.sh</p>
<blockquote><p>#!/bin/bash</p>
<p># Back-up &amp; Restart Open Directory<br />
/opt/local/sbin/od_backup.sh</p>
<p># Back-up Server Admin Settings<br />
/opt/local/sbin/serveradmin_backup.sh</p>
<p># Back-up &amp; Restart MySQL<br />
/opt/local/sbin/mysql_backup.sh</p></blockquote>
<p>It&#8217;s very simple, just one wrapper script that runes the others in sequence. Simplifies the next step which is making the launchd plist.</p>
<p>Launchd is actually very easy once you get the hang of it, the first step is to create a .plist file.</p>
<p><strong>Location:</strong> /Library/LaunchDaemons/com.example.backup.plist</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;!DOCTYPE plist PUBLIC &#8220;-//Apple Computer//DTD PLIST 1.0//EN&#8221; &#8220;http://www.apple.com/DTDs/PropertyList-1.0.dtd&#8221;&gt;<br />
&lt;plist version=&#8221;1.0&#8243;&gt;<br />
&lt;dict&gt;<br />
&lt;key&gt;Label&lt;/key&gt;&lt;string&gt;com.example.backup&lt;/string&gt;<br />
&lt;key&gt;Program&lt;/key&gt;&lt;string&gt;/opt/local/sbin/backup.sh&lt;/string&gt;<br />
&lt;key&gt;StartCalendarInterval&lt;/key&gt;<br />
&lt;dict&gt;<br />
&lt;key&gt;Hour&lt;/key&gt;&lt;integer&gt;0&lt;/integer&gt;<br />
&lt;key&gt;Minute&lt;/key&gt;&lt;integer&gt;0&lt;/integer&gt;<br />
&lt;/dict&gt;<br />
&lt;/dict&gt;<br />
&lt;/plist&gt;</p></blockquote>
<p>Your own plist files should always go to /Library/LaunchDaemons/ that&#8217;s where custom plists go. The above plist is something you would usually do with cron, it runs a command at midnight (time notation is the same as in cron). The naming is important, label and file name need to match (without .plist obviously).</p>
<p>Once the plist is made you need to tell Launchd to govern your script, this can be done with the following command:</p>
<blockquote><p>launchd load /Library/LaunchDaemons/com.example.backup.plist</p></blockquote>
<p>Now you can check if Launchd accepted the job:</p>
<blockquote><p>launchd list | grep com.example</p></blockquote>
<p>It should show you your plist, if it doesn&#8217;t then something in the syntax went wrong (usually during loading a plist it already gives you an error).</p>
<h2>Conclusion</h2>
<p>Choosing the right tools for the job is very important, Time Machine is nice for very small environments and for use at your homes. But when you run an office environment then you really need to look into &#8220;real&#8221; backup software that can handle the sheer load of tons of small e-mail files, shares, home directories, etc.</p>
<p>You also need to create separate backups for those parts of your system that are difficult to restore otherwise, e.g. restoring your Open Directory using file restore is very tricky (which one?). Making daily copies of those parts of your system are just as important, so using the above scripts to do those tasks is just as important.</p>
<p>Which tool you should use is entirely up to you, I noted that BRU Server is my personal favorite but this could be different for everyone else. In that respect I&#8217;d advice you to first look at what you want, what are the specific requirements in your case, and then look at all the options out there and see which tool does the job for you.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Social Links</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F13%2Fenterprise-backup-solutions%2F&amp;submitHeadline=Mac+OS+X+Server+%E2%80%93+Enterprise+Backup+Solutions&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F13%2Fenterprise-backup-solutions%2F&amp;title=Mac+OS+X+Server+%E2%80%93+Enterprise+Backup+Solutions" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F13%2Fenterprise-backup-solutions%2F&amp;title=Mac+OS+X+Server+%E2%80%93+Enterprise+Backup+Solutions" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F13%2Fenterprise-backup-solutions%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F13%2Fenterprise-backup-solutions%2F&amp;title=Mac+OS+X+Server+%E2%80%93+Enterprise+Backup+Solutions" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F13%2Fenterprise-backup-solutions%2F&amp;title=Mac+OS+X+Server+%E2%80%93+Enterprise+Backup+Solutions" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F13%2Fenterprise-backup-solutions%2F&amp;title=Mac+OS+X+Server+%E2%80%93+Enterprise+Backup+Solutions" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Mac+OS+X+Server+%E2%80%93+Enterprise+Backup+Solutions+@+http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F13%2Fenterprise-backup-solutions%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.catconventionshow.com/2010/12/13/enterprise-backup-solutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customize Your Login Screen</title>
		<link>http://www.catconventionshow.com/2010/12/06/customize-your-login-screen/</link>
		<comments>http://www.catconventionshow.com/2010/12/06/customize-your-login-screen/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 04:15:15 +0000</pubDate>
		<dc:creator>Bart</dc:creator>
				<category><![CDATA[OS X Client]]></category>
		<category><![CDATA[loginWindow]]></category>

		<guid isPermaLink="false">http://www.catconventionshow.com/?p=200</guid>
		<description><![CDATA[This item has been written in some places and there are some simple apps that could do this for you but I figured it would be better to just show you how you can edit and customize your login screen without those apps. For companies this is actually very useful (if not required). You can [...]]]></description>
			<content:encoded><![CDATA[<p>This item has been written in some places and there are some simple apps that could do this for you but I figured it would be better to just show you how you can edit and customize your <a class="zem_slink" title="Login" rel="wikipedia" href="http://en.wikipedia.org/wiki/Login">login screen</a> without those apps.</p>
<p>For companies this is actually very useful (if not required). You can add your company logo to the login screen and personalize everything making it look far more professional then before (default spacy background + <a class="zem_slink" title="Apple" rel="homepage" href="http://www.apple.com">Apple logo</a>, it just oozes professionalism. . .)</p>
<p><span id="more-200"></span>
<p> </p>
<h2>Overview</h2>
<p>In general the things we will be doing is the following:</p>
<ul>
<li>Change the systems default background image.</li>
<li>Replace the login window logo. (the Apple logo)</li>
<li>Replace the login window logo text. (the <a class="zem_slink" title="Emphasis (typography)" rel="wikipedia" href="http://en.wikipedia.org/wiki/Emphasis_%28typography%29">bold text</a> saying <a class="zem_slink" title="Mac OS X" rel="homepage" href="http://www.apple.com/macosx/">Mac OS X</a>, or Mac OS X Server)</li>
</ul>
<p>Once those are replaced your already done, but I&#8217;ll go a bit further then just telling you where those files are and how to do it. I&#8217;ll also explain the limitations of the logo and logo text, not everything will fit in there.</p>
<h2>Change the background image</h2>
<p>Let&#8217;s first start with changing the default background image towards something more appropriate, I chose to go with one of the other default backgrounds delivered with Mac OS X. But, if you have a default OS image which you install on all your Macs with e.g. DeployStudio then you can also create your own background image and make it default in your image.</p>
<p> </p>
<p>From the terminal with your admin user (or as root via <a class="zem_slink" title="Apple Remote Desktop" rel="homepage" href="http://www.apple.com/remotedesktop/">Apple Remote Desktop</a>, without the <a class="zem_slink" title="Sudo" rel="homepage" href="http://www.sudo.ws/">sudo</a> of course):</p>
<blockquote><p>sudo defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture /Library/Desktop Pictures/Aqua Blue.jpg</p></blockquote>
<p>This will change the default background image for the entire system to the fresh and clean Aqua Blue image (a.k.a. the old Apple default).</p>
<p> </p>
<p>Now when you go to your login window you&#8217;ll have a nice background image, something that will help you create a far more professional look and feel.</p>
<h2>Change the login window</h2>
<p>This is the more advanced part, it will help you change your login window logo which actually consists out of two images:</p>
<blockquote><p>/System/Library/CoreServices/SecurityAgentPlugins/loginwindow.bundle/Contents/Resources/applelogo.tif</p>
<p> </p>
<p>/System/Library/CoreServices/SecurityAgentPlugins/loginwindow.bundle/Contents/Resources/MacOSX.tif</p>
</blockquote>
<p>You&#8217;ll have to look at these files using the terminal, the Finder miraculously hides half of these files and even after replacing it shows the wrong content (go figure). But, the terminal never lies (it&#8217;s your friend ^_~).</p>
<p> </p>
<p>The only thing you now have to do is create your own logo as a .<a class="zem_slink" title="Tagged Image File Format" rel="wikipedia" href="http://en.wikipedia.org/wiki/Tagged_Image_File_Format">tif file</a> (transparent), I used <a title="The Gimp" href="http://www.gimp.org/" target="_blank">The Gimp</a> for that. These images have the following requirements:</p>
<ul>
<li><strong>applelogo.tif</strong>
<ul>
<li>Dimension: Maximum width and height is 90&#215;90 pixels.</li>
<li>File type: .tif</li>
</ul>
</li>
<li><strong>MacOSX.tif</strong>
<ul>
<li>Dimension: Height is limited to 36 pixels. The width isn&#8217;t exactly limited, I&#8217;ve managed to get an image in there flawlessly with a width of 221 pixels. It could be wider, I think the actual limit is the width of the login screen, but I never had to make something that wide.</li>
<li>File type: .tif</li>
</ul>
</li>
</ul>
<p>In our case we had a square logo with some text underneath it, for that to workout I split the image in two. The square image in the applelogo.tif and the text went into the MacOSX.tif iamge.</p>
<p> </p>
<p>When replacing it&#8217;s best to do this using the terminal, create the above images to your liking and save them in the root of your <a class="zem_slink" title="Home directory" rel="wikipedia" href="http://en.wikipedia.org/wiki/Home_directory">home directory</a>. From there you can use the following command to replace the original images:</p>
<blockquote><p># Move applelogo.tif &#8211;&gt; applelogo.tif.bac sudo mv /System/Library/CoreServices/SecurityAgentPlugins/loginwindow.bundle/Contents/Resources/applelogo.tif /System/Library/CoreServices/SecurityAgentPlugins/loginwindow.bundle/Contents/Resources/applelogo.tif.bac</p>
<p> </p>
<p># Copy your new logo to the correct location sudo cp ~/applelogo.tif /System/Library/CoreServices/SecurityAgentPlugins/loginwindow.bundle/Contents/Resources/applelogo.tif</p>
<p># Move MacOSX.tif &#8211;&gt; MacOSX.tif.bac sudo mv /System/Library/CoreServices/SecurityAgentPlugins/loginwindow.bundle/Contents/Resources/MacOSX.tif /System/Library/CoreServices/SecurityAgentPlugins/loginwindow.bundle/Contents/Resources/MacOSX.tif.bac</p>
<p># Copy your new logo text to the correct location sudo cp ~/MacOSX.tif /System/Library/CoreServices/SecurityAgentPlugins/loginwindow.bundle/Contents/Resources/MacOSX.tif</p>
</blockquote>
<p>This will rename the original file and copy your newly made logo to the correct location, you can use the switch user functionality to check the login window.</p>
<h2>Conclusion</h2>
<p>It will take a while to correctly make your logo and fine tune everything, at least for me it took a while to get it just right. The end result however is something that will make your Mac computer look more professional, for company desktops or laptops these types of changes really are a requirement.</p>
<p> </p>
<p>Considering how easy it is to change the login screen I would recommend this for everyone managing company computers or has his/her own company.</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://apple.stackexchange.com/questions/400/mac-os-x-hidden-features-and-nice-tips-tricks">Mac OS X hidden features and nice tips &amp; tricks &#8211; Apple &#8211; Stack Exchange</a> (apple.stackexchange.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=0a19b13b-25ba-45e7-b127-cc95379f6347" alt="Enhanced by Zemanta" /></a><span class="zem-script more-related pretty-attribution"><br />
<script type="text/javascript" src="http://static.zemanta.com/readside/loader.js"></script><br />
</span></div>
<p> </p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Social Links</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F06%2Fcustomize-your-login-screen%2F&amp;submitHeadline=Customize+Your+Login+Screen&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F06%2Fcustomize-your-login-screen%2F&amp;title=Customize+Your+Login+Screen" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F06%2Fcustomize-your-login-screen%2F&amp;title=Customize+Your+Login+Screen" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F06%2Fcustomize-your-login-screen%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F06%2Fcustomize-your-login-screen%2F&amp;title=Customize+Your+Login+Screen" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F06%2Fcustomize-your-login-screen%2F&amp;title=Customize+Your+Login+Screen" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F06%2Fcustomize-your-login-screen%2F&amp;title=Customize+Your+Login+Screen" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Customize+Your+Login+Screen+@+http%3A%2F%2Fwww.catconventionshow.com%2F2010%2F12%2F06%2Fcustomize-your-login-screen%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://www.catconventionshow.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.catconventionshow.com/2010/12/06/customize-your-login-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
