Mac OS X Installation

From HerzbubeWiki
Jump to: navigation, search

Overview

Another page in the wild and unsorted conglomerate of Mac OS X pages on this wiki. Here I try to list what software I typically install on top of a shiny new Mac OS X. This page is supposed to be a rough guideline what to do on a new install, but also - and more importantly - it should provide information about how a system looks after the installation. Too often I forget why I had installed this framework, or that plugin, or what I will have to clean when I do an un-install.


Applications

This section contains a roughly categorized list of applications (= things that go into /Applications) that I typically install. To remove the extended file system attribute that triggers the annoying security question on first launch:

xattr -d com.apple.quarantine /Applications/Foo.app

Note: TinkerTool also has a setting that allows to suppress the security question on a per-user basis.


Messaging & communication:

  • Adium
  • Skype
    • Automatically installs a Firefox extension


Development

  • Apache Directory Studio (LDAP)
  • Eclipse
  • GitHub for Mac
  • SourceTree
  • Xcode and other Apple developer tools (esp. the command line tools, and the Graphics Tools package; Xcode has a built-in menu that takes you to a list with downloads: Xcode > Open Developer Tool > More Developer Tools...)
    • Older Xcode versions installed stuff into /Developer and /usr/bin
    • Newer Xcode versions install as a normal application into /Application/Xcode.app. From inside Xcode, the command line developer tools also need to be installed for Fink and MacPorts support. These install into /usr/bin/.
  • CHUD (supplement to Developer Tools)
    • Installs into /Developer
  • Astah (Community Edition)
  • Squeak
  • DiffMerge
    • Includes a command line utility diffmerge that is useful for launching the application from the command line
    • If DiffMerge is installed via .dmg, the command line utility must be installed manually. If DiffMerge is installed via .pkg, the command line utility is installed automatically into /usr/bin/diffmerge
    • See the Git wiki page for notes how to integrate DiffMerge with Git
  • 0xED
  • Iceberg


Audio

  • Audacity
    • Requires Lame and FFmpeg to be separately installed. There are two options for doing this:
    • In theory, you can install Lame and FFmpeg via Fink. In this case the libraries will be installed into /sw/lib and you will have to navigate yourself to that directory from Audacity's preference window (cmd+shift+g). The problem here is that Fink might give you the wrong versions of the libraries. The last time I tried this, I was able to convince Audacity to work with Lame, but not with FFmpeg.
    • For the above problems, it is usually easier to download the appropriate library versions in the way that is recommended on the Audacity wiki. Usually this means: Download Lame from the Lame website, and the FFmpeg installer from the Audacity website. To find the appropriate links: 1) Open Audacity preferences 2) On the "Libraries" page you will find two "Download" buttons for the two libraries. 3) Click these buttons and follow the instructions on the wiki page that opens in your web browser. If this option is used, the libraries will be installed into /usr/local/lib.
    • Or install Lame and FFmpeg via Fink. In this case the libraries will be installed into /sw/lib and you will have to navigate yourself to that directory from Audacity's preference window (cmd+shift+g)
  • mpc2aiff
  • Amadeus (Shareware)
  • SIDPlay
    • Requires the download of the HVSC collection
  • mAC3dec
  • CocoModX
  • Soundflower
    • Installs a kernel extension
    • Audio Hijack Pro is more user friendly but requires a license


Imaging

  • The Gimp
    • Scripts go into ~/Library/Application Support/Gimp/scripts
  • Hugin
    • Versions prior to 2010.4 required Autopano to be installed separately into /Library/Application Support/Hugin/Autopano. Autopano was part of the .dmg.
    • With modern versions of Hugin, Autopano is no longer required because Hugin now brings its own built-in control point detector, named cpfind. However, after upgrading from 2010.4 Hugin at first becomes unusable because in its preferences there still lurk the old Autopano settings, and those no longer work with the new Hugin version. To fix this and activate cpfind, go to the "Control Point Detectors" tab of the preferences dialog and hit "reset to factory settings".
  • icon2icns
  • icns2icon
  • icon2ico
  • Icon2PNG (extract icon from a file [e.g. icns], folder or volume and convert it to .png)
  • img2icns
  • Inkscape
    • Requires XQuartz
  • Pic2Icon (convert arbitrary images to icons)
  • Iconographer (development has stopped, the last available version 2.5 can be officially unlocked with the following information: name = "Iconographer is now free", registration code = "HG066414")
  • iPhoto
    • Open the Mac App Store, switch to "Purchases", login if not yet logged in. iPhoto should now appear in the list of purchased apps. Click "Install". This should install iPhoto 9.6.1, the last official version released by Apple.
    • The latest version of iPhoto that I could find that is still available for download from apple.com was iPhoto 9.4.2.
  • iPhoto2Gallery
    • Installs into /Applications/iPhoto - yuck! but the plugin is really nice
  • iPhoto2GoogleEarth
    • Installs into /Library/Application Support/iPhoto/Plugins/
  • GeoTagger
  • Colors (download location; a color snatcher utility that can determine the color of any pixel on the screen and provide it in hex colors)


Multimedia/Video

  • MPlayer OSX Extended
    • Installation of binary codec package adds support for proprietary codecs (WMV9, RealVideo 10, QuickTime and others)
    • The codec pack can only be used if MPlayer is launched as 32-bit process. This can be enabled in the app's preferences
  • VLC
    • An internet plugin for web browser support exists, but it must be downloaded & installed separately
  • HandBrake
    • To make HandBrake capable of ripping CSS encrypted DVD discs, it requires that libdvdcss is installed
    • If VLC 1.x is installed on the system, HandBrake will use libdvdcss from the VLC application bundle
    • If VLC 2.x or later is installed, or no VLC at all is installed, libdvdcss must be installed separately
    • The VideoLAN project provides a .pkg installer which will place a universal build of libdvdcss into /usr/lib/libdvdcss.2.dylib
  • RealPlayer
    • Automatically installs an Internet Plugin
  • XBMC


Games

  • MyMahj (I use the OpenGL version MyMahjGL)
  • Allenroids
  • AnotherMine
  • GLTron
  • Goban
  • NeverBall
    • Uses .pkg installer format to place stuff in /Library/Application Support/Neverball Data
    • Generates an Uninstaller in the installing user's home directory; I prefer to move the Uninstaller into the above directory
    • Places highscores, configuration etc. in ~/.neverball
  • Pawns
  • ScummVM
  • Spaceward Ho! (Shareware)
  • World of Goo (Demo)
  • Zoom (Z-Machine emulator to play Infocom games)
  • Ballerburg
    • Additional castles need to be imported into the game and are saved into ~/Library/Preferences/net.earthlingsoft.Ballerburg.castles
  • Oolite
  • Pac the Man X
  • Boxer


Networking

  • Firefox
  • Cyberduck (FTP)
  • iCab
  • Chicken of the VNC (JollysFastVNC may become an alternative)
  • Vine Server (OSXvnc)
    • Only if the system is <= 10.3 (>= 10.4 includes Remote Desktop, which VNC clients can connect to)
  • Wireshark
    • May require XQuartz if the system X11.app is too old
    • Before Wireshark can be used, the permissions on /dev/bpf* must be changed because by default only root has access to these network devices
    • As an admin, say sudo chown patrick /dev/bpf*. This change will be lost when the system reboots the next time
    • The Wireshark disk image contains a startup item that will perform the permission change automatically on every system reboot; I don't install this because I don't use Wireshark very often
  • Dropbox
  • Deluge (Torrent Client)


Emulators & Virtualizers

  • Hatari
    • Requires SDL to be installed as a framework in /Library/Frameworks
    • Ships with the open source EmuTOS, but a real TOS image is required for many games; see smb://osgiliath/media/Software/Images/Atari/TOS
  • VirtualBox. Although useful, this application is disgustingly invasive and installs its components all over the system:
    • Installs kernel extensions
    • Installs a system startup item (/Library/StartupItems)
    • Installs a couple of utilities into /usr/bin
    • I have even found a directory here: /Library/Python/2.5/site-packages/vboxapi
  • Q (QEMU port & frontend)
  • Power64 (Shareware)


Entertainment

  • Stellarium
  • Celestia
  • MacDoku (play Sudoku)
  • SudokuDan (generate & print Sudoku puzzles)
  • Google Earth
    • Starting with version 5, Google Earth forces the user to install the Update Engine software (an open source project developed by Google)
    • The Update Engine seems to get installed into the user's home directory (~/Library/Google)
    • Starting with version 6, a browser plugin may optionally be installed (goes into /Library/Internet Plug-Ins)
  • Symmetries


Utilities

  • Greenshot (from the App Store)
  • TinkerTool
  • iChm
  • BBEdit
  • Pacifist (Shareware)
  • unpkg
  • UnicodeChecker
  • GrandPerspective
  • FairMount (requires VLC to be installed)
  • Jar Inspector
  • Sloth (a front-end to the lsof command line utility)
  • Language Switcher


Productivity

  • FreeMind
  • LibreOffice (replaces OpenOffice.org since Sun's takeover by Oracle), including the German language pack
  • Toast Titanium (Commercial)
    • Optionally installs a contextual menu item
  • Popcorn (Commercial)
    • Optionally installs a contextual menu item
  • DVDRemaster (Commercial)


Privacy

  • GPGTools
  • TrueCrypt
    • Installs the MacFuse preference pane, framework and libraries (in /usr/local/lib)
    • From Mac OS X 10.10 (Yosemite) onwards the .mpkg installer no longer works out of the box. You first have to edit the file distribution.dist inside the .mpkg bundle with a text editor. See this AskDifferent question for details.


Other

  • XQuartz (replaces X11.app)
    • Must be re-installed every time after a Mac OS X update has been installed
  • MAMP
    • Contains a Dashboard widget that must be manually installed
  • iSerial Reader
  • Mactracker


Frameworks, plugins & other stuff in /Library or /System/Library

Stuff in this section typically goes into /Library. Specific locations:

  • Internet plugins are installed into /Library/Internet Plug-Ins
  • QuickTime components are typically installed into /Library/QuickTime
  • /Library/Components may also contain QuickTime components (e.g. XiphQT); I don't know what else may be place into this location
  • Application-specific stuff is installed into /Library/Application Support/foo
  • Kernel extensions are installed into /Library/Extensions, but sometimes also in /System/Library/Extensions (this is even documented in the Kernel Programming Guide, section "Kernel Extension Overview")
  • Frameworks are installed into /Library/Frameworks
  • Screen Savers are installed into /Library/Screen Savers
  • Startup items are installed into /Library/StartupItems
  • Dashboard widgets are installed into /Library/Widgets
  • Preference Panes widgets are installed into /Library/PreferencePanes
  • QuickLook plugins are installed into /Library/QuickLook


QuickTime components

  • Flip4Mac WMV (play Windows Media files in QuickTime Player and view Windows Media content on the Internet using Safari and other web browsers)
    • Installs several QuickTime components for playing, exporting and importing
    • Also installs an Internet plugin for integration with web browsers (replaces the plugin provided by MS Windows Media Player 9)
    • Also installs a Preference Pane
    • Also installs a licensing framework called "TSLicense" (TS = Telestream, the organization that offers Flip4Mac WMV)
  • XiphQT
    • Installs into /Library/Components (not into /Library/QuickTime, as one might expect from a QuickTime component)
  • Perian
    • Also installs a Preference Pane


Internet plugins

  • SIDPlug
  • VLC
  • RealPlayer
  • Flash Player (e.g. for YouTube)


QuickLook plugins

  • SIDQLGenerator


Preference Panes

  • iQuip
    • SystemPreferences.app must be closed when this pane is installed, otherwise installation will (mysteriously) fail
    • Also installs a system StartupItem
  • RCDefaultApp
  • RCEnvironment
  • Arcana Startup Sound
    • Also installs a system startup item /Library/StartupItems/ArcanaStartupSound
    • When the startup item starts or stops, it loads or unloads a kernel extension ArcanaPRAM.kext (appearing with the identifier arcana.PRAM) that is located as a resource inside the StartupItem
  • GPGPreferences (see this page for details)
  • Diablotin
  • MacFUSE (installed as part of TrueCrypt)
  • GeekTool


Frameworks

  • Python (download from python.org)
    • I usually install several versions that complement the system-provided Python (2.5 in Leopard)
    • Optional symlinks in /usr/local/bin, but I don't create these as they might clash with Fink, MacPorts or the system
  • SDL (download from libsdl.org)
    • Required for Hatari
  • MacFUSE (installed as part of TrueCrypt)


Dashboard widgets

  • SF Meteo
  • MAMP Control


Kernel extensions (list loaded kernel extensions with the kextstat command line utility)

  • com.roxio.TDIXController
    • The kernel extension is located in /Library/Application Support/Roxio/TDIXController.kext
    • The kernel extension is loaded with the help of the program /Library/Application Support/Roxio/TDIXSupport; this program is setuid root, which allows any user to load the kernel extension on demand
    • Toast executes TDIXSupport and loads the kernel extension when it is used to open and mount a .toast disk image. For instance, double click the image file with the extension .toast in the Finder and Toast will launch, load the kernel extension and mount the image
    • The kernel extension is not loaded when the image is mounted using Disk Utility or DiskImageMounter
    • The difference is visible (at least on my machine with 10.5.8 installed) in the Finder: If Toast mounts the image the Finder displays a CD/DVD symbol, if DiskImageMounter mounts the image the Finder displays a white drive symbol
    • Apparently Toast uses the kernel extension to trick Mac OS X into thinking that the mounted image is a physical CD/DVD drive with a disk in it
  • arcana.PRAM (see "Startup Sound" preference pane above)
  • at.obdev.nke.LittleSnitch (see "Little Snitch" below)
  • com.Cycling74.driver.Soundflower
  • org.virtualbox.kext.VBoxDrv
  • org.virtualbox.kext.VBoxUSB
  • org.virtualbox.kext.VBoxNetFlt
  • org.virtualbox.kext.VBoxNetAd


Other

  • Growl
    • Installs a Preference Pane
    • Provides helper apps such as GrowlTunes.app
  • Little Snitch
    • Installs a kernel extension to /System/Library/Extensions/LittleSnitch.kext
    • Installs a global launch daemon into /Library/LaunchDaemons, and two global launch agents into /Library/LaunchAgents
    • The actual daemon/agent binaries are installed in /Library/Little Snitch
    • Global rules go to /Library/Application Support/Objective Development/Little Snitch
    • Per-user rules go to ~/Library/Application Support/Little Snitch


Command line

Stuff in this section usually (but not always) goes into /usr/local.


My own set of shell scripts

  • Utilities go to /usr/local/bin
  • Support files go to /usr/local/lib
  • Shell environment stuff (including the setup for Fink and MacPorts) goes to /usr/local/etc
    • Users who want to enable this must create two symlinks in their home directory:
cd ~
ln -s /usr/local/etc/linked.bashrc .bashrc
ln -s /usr/local/etc/linked.profile .profile
  • Cron stuff goes to /usr/local/etc/cron


Other stuff in /usr/local:

  • Lame and FFmpeg in /usr/local/lib, for the use of Audacity
  • ASCIIMoviePlayer in /usr/local/bin
  • If GnuPG is installed via Fink and not GPGTools: Create a symbolic link /usr/local/bin/gpg that points to /sw/bin/gpg, to make the GPGTools utilities happy
  • MacFUSE in /usr/local/lib (installed as part of TrueCrypt)
  • Graphviz all over /usr/local (download link); could also be installed via Fink, but installing the pre-built binaries via .pkg is much easier (also includes headers, man pages, and a small Mac OS X application bundle)


Stuff outside of /usr/local

  • /usr/lib/libdvdcss.2.dylib, which is installed by a .pkg installer provided by the VideoLAN project. This is required so that HandBrake is capable of ripping CSS encrypted DVDs.


Package manager

  • One of the following package managers
  • List of packages that I usually install
    • rsync. Mac OS X ships with the ancient, outdated version 2.6.9 which does not correctly handle extended attributes.
    • imagemagick. This is required by the GalleryRemote.app application.
    • flac, ffmpeg, mppdec. These are used for the occasional task of converting between different sound file formats. See this page for details.
    • gnupg. This is required by various applications of the MacGPG project, and other application bundles that work with GnuPG. I also use this to sign tags in Git repos I maintain.
    • wget. I install this just because I like it, and often prefer it to curl.
    • cabextract. Useful to handle Microsoft cabinet files (.cab extension).
    • git. For obvious reasons.
    • exiv2. Extract and manipulate EXIF and other image meta data.
    • gnuplot, gnuplot-py25. Create charts.
    • fortunes, fortune-mod, fortunes-min, fortunes-off. Fortune cookies that can be displayed in the login window by iQuip.
    • recode. Convert files between various character sets.
    • libmhash2. Hash Algorithms Library. I install this so that I can compile and install python-mhash.
    • wine. So that I can play a couple of Windows games.
    • digikam. I still hope that one day I can replace the proprietary iPhoto with a free and cross-platform solution.
    • gource. Fantastic visualization for version control history.
    • autoconf/automake. For compiling Fuego.
    • boost. For compiling Fuego.
    • ntfs-3g. NTFS write support (config details).
    • ant, docbook-xsl. Required to build GoGui
    • bchunk. Convert .bin/.cue files to .iso.
    • unrar. Extract .rar archives that are not supported by the Mac OS X system utilities
    • PHP Composer. A package and dependency manager for PHP.


Documents

  • crosshairs.kmz (Google Earth thingy for geotagging)


Installing a new Mac OS X system

This section provides an ultra-short overview of how I usually proceed when installing Mac OS X.


Users

  • The first user created during installation is the Administrator (I usually name this user "admin")
  • The administrator creates all other users and makes them non-privileged users
  • Installing programs and performing other system configuration is done while logged in as the administrator
    • within the GUI, Mac OS X will automatically request the admin password when it is necessary
    • within the shell environment (Terminal.app), the administrator needs to use sudo


Networking

  • The MAC adress can be found in the System Preferences in the "Network" module
  • The computer name can be set in the System Preferences in the "Sharing" module; on the command line the computer name needs to be set with sudo hostname nargothrond. Note: This setting is periodically lost for unknown reasons and must be redone.
  • Edit /etc/hosts and add names of systems in my LAN


Volumes, and where to store applications and data

  • In earlier times I usually advocated creating several volumes (partitions), e.g. one for storing data, one for installing applications, etc.
  • I have given up on this approach and now create only one single large partition; the reasons
    • I never really had any benefit from this partitioning scheme
    • The natural place to install Mac OS X applications is the /Applications folder; Apple applications always go there, and if you move them somewhere else (e.g. /Volumes/app) all sorts of things might start to go wrong (system updates might not work properly, applications might simply not run, etc.); if you do not move them you suddenly have two locations where you need to look for applications
    • Naturally I chose to make the root volume rather small (in comparison to other volumes), which usually resulted after some time in space problems (e.g. I might suddenly become unable to burn a CD or DVD, because the Finder's burning facility seems to store an image in the root volume)
    • To sum it up: I wanted to use the system, not fight it, so I just stopped partitioning, even though I am still convinced that it is a good idea


Shell/Terminal configuration


Printer configuration (the following stuff works for my HP LaserJet 1300n)

  • Turn on printer
  • Printer discovery should work in the background through Bonjour
  • Open the "Print & Fax" module in the System Preferences
  • Click the "+" button to add a new printer
  • The printer should appear in the following window where you can select and add it to the system. The system will download the necessary printer drivers in case they are not yet present, so this may take a few minutes.
  • If for some reason the automatic printer discovery does not work then you can add the printer manually via its network name (laserjet1300n) or IP address. For the protocol, specify "Line Printer Daemon - LPD". For the driver, specify "HP LaserJet 1300 Series".


Certificates

  • The CAcert certificates should be installed in the system keychain (/Library/Keychains/System.keychain) so that all system users have access to them. This is important when IMAP, CalDAV and CardDAV accounts are created for the other users.
  • Download location = http://www.cacert.org/index.php?id=3
  • After installing the certificates, double-click the CAcert root certificate in the Keychain Access app to open it, then click on the arrow labelled "trust" and select "Always trust" from the first combo box.
  • Unfortunately, Firefox does not use the system keychain, so downloading and installing into Firefox has to repeated for all system users.


Old stuff

Once upon a time I was using the following software packages, but I stopped using them either because they are no longer maintained, or for some other reason.

  • AppleWorks (Commercial). No longer developed by Apple. These days apps like Pages and Keynote are given away by Apple for free with every Mac computer.
  • CandyBar
  • Chopper (1.0.3 is the latest version available for free)
  • Goldberg. Development seems to have stopped with the release of 2.5.1 in January 2008.
  • krank (development seems to have stopped with the release of version 7 in February 2007)
  • MacTheRipper
  • Mou. Xcode and other tools (e.g. WebStorm) nowadays have markdown support.
  • Phoenix Slides
  • Quinn (no longer distributed due to legal threats against the author Simon Haertel by the Tetris Company)
  • TextWrangler. Has been superseded by BBEdit.
  • XRay (Shareware)
    • Optionally installs a contextual menu item