A nifty little new option that came in OS X 10.9 Mavericks and stays in Yosemite is the ability to delete all of the firmware variables you’ve created. This can get helpful if you’ve got a bunch of things that you’ve done to a system and want to remove them all. If you run nvkram followed by a -p option you’ll see all of the configured firmware variables: nvram -p If you run it with a -d you’ll delete the given variables that you define (e.g. boot-args): nvram -d boot-args But, if you run the -c you’ll wipe them all: nvram -c
-
-
Package Based Roundcube Setup For OS X Server
The good people at TopicDesk have released a new version of their Roundcube installer. Now, with Mountain Lion & Mavericks compatibility. Automatic setup of carddav is the biggest new feature, but it’s also been updated to the latest version of Roundcube. The “topicdesk Roundcube Installer 0.9.5a” will: Install Roundcube 0.9.5 (the latest and greatest) as a WebApp in OS X Server Configure sensible defaults for Roundcube and PHP Automatically configure postgres and initializes the roundcube database Configure managesieve server-side filtering (Vacation Replies) Install mcrypt (if you don’t have it installed/functioning already) Automatically configure a carddav plugin, it works on first launch To download, check it out at: http://topicdesk.com/downloads/roundcube/
-
Receipts & Bills of Material in 10.8
When installing a package OS X makes a list of what it installs in /Library/Receipts/InstallHistory.plist. The dictionaries show each package installed, along with the installation date, the name displayed during installation, the version of the package being installed, the identifier of the package and the process name used to install the package. This information, along with the file name of the actual package is stored in corresponding property lists in /private/var/db/receipts. Each bill of material is also stored there, in .bom file. The lsbom command is used to see a list of objects installed by the package. You can also see the options such as the permissions assigned to files…
-
Determining .app Executables From a Script
I’ve mentioned the codesign tool in previous articles, but today let’s look at a specific use. I recently needed to generate a report of the executable for around 2000 app bundles. Luckily, codesign displays the executable for an app when run with the –display option: codesign --display /Applications/Utilities/Terminal.app The output looks as follows: Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal Another tool that I haven’t written much about is productsign (also in /usr/sbin of Mac OS X 10.8). I’ll look at that one next, as a means of signing packages.
-
Scripting Launchpad
LaunchPad is the OS X Lion version of the old Launcher, or the iOS home screen, according to how you look at these things. A few notes on issues I’ve seen with LaunchPad. First, I’ve had to nuke LaunchPad and have it rebuild. To do so, delete the database. rm ~/Library/Application Support/Dock/*.db You might also need to kill the dock: killall Dock In a deployment scenario, I’ve started doing both as post flight tasks. Getting to the point where you’re granularly adding and removing items is done by editing the .db file in ~/Library/Application Support/Dock. In here is a generatedID followed by .db that makes up a SQLite database. This database…
-
Mass Deploying Time Machine in Mac OS X Lion
A lot of environments want to use Time Machine at scale. But prior to Lion there hasn’t been a simple way to do so. Apple has introduced a new weapon in the war to backup client computers in the new command tmutil that was introduced in OS X Lion. The tmutil command allows administrators to enable Time Machine, make snapshots, kick off backups, delete snapshots, perform restores, configure options within Time Machine and, with a little scripting, build a centralized dashboard, pulling in Time Machine statistics from clients. Enabling Time Machine The first thing to know is that pretty much everything you do in Time Machine is going to require…
-
Mass Deploy Parallels
Sometimes it’s just that easy. Our good friends at Parallels have developed a special Mass Deploy package, available on their site. When you control-click on it and select Browse Contents you will see a license.txt. You can paste your license into the license.txt file and then put your virtual machine into the root of the package. Once complete, you can push this package out at will. Additionally, you can edit the postflight shell script in the Resources directory, throwing your own commands at the tail end of the file, adding more virtual machines, customizing settings, etc. Good luck.
-
What's a Metapackage?
A metapackage is a set of packages distributed in one structure. Each can have its own dependencies (including whether another package has successfully installed) and you can control which order packages run in.