MacOS – Can’t uninstall MacFuse in Mavericks

macosntfstruecrypt

I recently upgraded from snow leopard to mavericks and couldn't mount a truecrypt volume that was on an NTFS partition (which had always worked before). Following some advice on a forum, I installed osxfuse which didn't solve the problem but stopped the mac booting.

After rebooting in safe mode, it seems I had both MacFuse and osxFuse installed. I was able to uninstall osxfuse and now the mac boots ok, but since osxFuse is supposed to be a successor to MacFuse, I presume I should really be uninstalling MacFuse.

If try to uninstall MAcFuse from the system preferences it asks for the system password and appears to be removing it, but then afterwards still shows version 2.0.3 installed.

To be honest I've never heard of either of these two programs before yesterday. I have no idea whether MacFuse was already installed before the Mavericks upgrade or whether having both installed at the same time was the cause of the boot failure.

Am I right in assuming that if I want to mount a truecrypt volume on an NTFS partition from Mavericks, I need to have only OsxFuse and not MacFuse installed? If so can anyone help me with how to uninstall MacFuse?

Best Answer

I found uninstallation instructions for MacFUSE in this blog post. They worked for me with a little tweaking.

First, find the uninstall script that comes with MacFUSE. For the blog post author, it was /Library/Filesystems/fuse.fs, and for me, it was /Library/Filesystems/fusefs.fs/Support/uninstall-macfuse-core.sh.

If you try running the script, it will give the following error:

MacFUSE Uninstaller: Can not find the Archive.bom for MacFUSE Core package.

To fix this, you need to edit a case statement inside the script, so that it is able to match your version of OS X. Open the script with sudo nano uninstall-macfuse-core.sh. (I needed sudo to be able to save my changes to the file. And you can use vim instead of nano if you like.) Then search the code for uname to get to this section:

OS_RELEASE=`/usr/bin/uname -r`
case "$OS_RELEASE" in
  8*)
    log "Incorrect uninstall. Use the Tiger version please."
    exit 1
    ;;
  9*)
    PACKAGE_RECEIPT="$INSTALL_VOLUME/Library/Receipts/MacFUSE Core.pkg"
    OUTER_PACKAGE_RECEIPT="$INSTALL_VOLUME/Library/Receipts/MacFUSE.pkg"
    BOMFILE="$PACKAGE_RECEIPT/Contents/Archive.bom"
    ;;
  10*)
     PACKAGE_RECEIPT=""
     BOMFILE="$INSTALL_VOLUME/var/db/receipts/com.google.macfuse.core.bom"
     ;;
esac

The case that you want run is the one for 10*.

First, confirm that there is indeed a file at /var/db/receipts/com.google.macfuse.core.bom. The file was there for me, but for the blog post author it was in /Library/Receipts/boms/com.google.macfuse.core.bom instead – if this is the case, change the path in the script.

The reason the case currently isn’t running is because /usr/bin/uname -r doesn’t start with any of those numbers – it’s “13.4.0” for me. So change this line of the case statement:

  10*)

to this, which matches versions 10 through 19:

  1[0-9]*)

Save the file and exit your editor. Now run the uninstall script and it should work this time. It prints output along these lines:

MacFUSE Uninstaller: Sudoing...
MacFUSE Uninstaller: Removing file: '//./Library/Application Support/Developer/Shared/Xcode/Project Templates/MacFUSE'
MacFUSE Uninstaller: Removing file: '//./Library/Filesystems/fusefs.fs/Contents/Info.plist'
MacFUSE Uninstaller: Removing file: '//./Library/Filesystems/fusefs.fs/Contents/Resources/English.lproj/InfoPlist.strings'
MacFUSE Uninstaller: Removing file: '//./Library/Filesystems/fusefs.fs/Contents/version.plist'
MacFUSE Uninstaller: Removing file: '//./Library/Filesystems/fusefs.fs/Support/autoinstall-macfuse-core'
MacFUSE Uninstaller: Removing file: '//./Library/Filesystems/fusefs.fs/Support/fusefs.kext/Contents/Info.plist'
MacFUSE Uninstaller: Removing file: '//./Library/Filesystems/fusefs.fs/Support/fusefs.kext/Contents/MacOS/fusefs'
MacFUSE Uninstaller: Removing file: '//./Library/Filesystems/fusefs.fs/Support/load_fusefs'
MacFUSE Uninstaller: Removing file: '//./Library/Filesystems/fusefs.fs/Support/mount_fusefs'
MacFUSE Uninstaller: Removing file: '//./Library/Filesystems/fusefs.fs/Support/uninstall-macfuse-core.sh'
MacFUSE Uninstaller: Removing file: '//./Library/Frameworks/MacFUSE.framework/Headers'
MacFUSE Uninstaller: Removing file: '//./Library/Frameworks/MacFUSE.framework/MacFUSE'
MacFUSE Uninstaller: Removing file: '//./Library/Frameworks/MacFUSE.framework/Resources'
MacFUSE Uninstaller: Removing file: '//./Library/Frameworks/MacFUSE.framework/Versions/A/Headers/GMAppleDouble.h'
…
MacFUSE Uninstaller: Removing dir: '//./Library/Filesystems/fusefs.fs/Contents/Resources/English.lproj'
MacFUSE Uninstaller: Removing dir: '//./Library/Filesystems/fusefs.fs/Contents/Resources'
MacFUSE Uninstaller: Removing dir: '//./Library/Filesystems/fusefs.fs/Contents'
MacFUSE Uninstaller: Removing dir: '//./Library/Filesystems/fusefs.fs'
MacFUSE Uninstaller: Ignoring dir: '//./Library/Filesystems'
MacFUSE Uninstaller: Ignoring dir: '//./Library/Application Support/Developer/Shared/Xcode/Project Templates'
MacFUSE Uninstaller: Ignoring dir: '//./Library/Application Support/Developer/Shared/Xcode'
MacFUSE Uninstaller: Ignoring dir: '//./Library/Application Support/Developer/Shared'
MacFUSE Uninstaller: Ignoring dir: '//./Library/Application Support/Developer'
MacFUSE Uninstaller: Ignoring dir: '//./Library/Application Support'
MacFUSE Uninstaller: Ignoring dir: '//./Library'
MacFUSE Uninstaller: Ignoring dir: '//.'

The last step is to remove the MacFUSE preference pane. Just launch System Preferences, right-click on the preference pane, and choose the menu item ‘Remove “MacFuse” Preference Pane’.