Home > UNIX > MacFusion und MacPorts

MacFusion und MacPorts

August 29th, 2007 Leave a comment Go to comments

MacFusionDas im letzten Beitrag schon erwähnte MacFusion ist ein gutes Beispiel für gelungene Integration der Kommandozeile und dem GUI. Genauer: es trennt deutlich zwischen dem eigentlichen Subsystem MacFuse und dem von ihm bereitgestellten User Interface.

Warum ich hier so erfreut bin ist, dass es recht flexibel ist, wie MacFuse installiert wurde. Der “einfache” Weg ist natürlich die direkte Installation des Binärpakets von der Projekt-Homepage. MacFusion erkennt, dass diese Version installiert wurde und macht es nutzbar(er). Wenn man sich die Liste der installierten Programme von MacFuse anschaut (das geht im Apple Installer durch den “Show Files” Menübefehl), stellt man fest, dass hier UNIX-typisch nicht nur Treiber in /System installiert werden, sondern auch Kommandozeilen-Tools im Verzeichnis /usr/local. Das ist wie meist üblich nicht konfigurierbar.

Mit /usr/local ist es so eine Sache und vor allem eine Geschmacksfrage. Ich mag es nicht, aus verschiedenen Gründen:

  • Es installieren sich allerdings Dinge unkontrolliert unter /usr, das zur Standard-Mac-OS-Installation gehört und das halte ich generell für fragwürdig
  • Es gibt keine klar definierte Deinstallation der dort installierten Dateien
  • Ein Upgrade von alten Versionen der selben Software findet selten “geordnet” statt, wenn überhaupt
  • Verschiedene Pakete bauen ggf. auf den selben anderen Paketen auf, erfordern aber eine neuere Version

Ich will keine Panik schieben: meistens geht es alles gut in /usr/local/. Wenn man sich aber mal einen Konflikt eingefangen hat, gibt es meist keine Alternative zu einer Komplettlöschung von /usr/local, weil es einfach keine definierte Methode zur Installation der Komponenten gegeben hat. Macht man das, laufen vielleicht die wichtigen Tools nicht mehr, aber manche Pakete, die auch nach Gutdünken dort Programme ablegen (vor allem diverse “UNIX Front End” Programme, auch wenn sie das besser in ihrem eigenen Bundle speichern sollten), könnten dann nicht mehr laufen. Echt keine Macintosh-Experience.

MacPortsHilfe bietet die Verwendung von MacPorts (vormals DarwinPorts), was in der aktuellen Version 1.5 einen recht ausgereiften Eindruck macht. Durch MacPorts kann man UNIX-Pakete bequem installieren, upgraden und wieder entfernen. Abhängigkeiten werden berücksichtigt und man kann sogar mehrere Versionen eines Pakets gleichzeitig installiert haben (allerdings ist nur eine gleichzeitig aktiv). Dateien werden standardmäßig in /opt/localinstalliert, was konfigurierbar ist, aber mir extrem sinnvoll erscheint. /opt verwendet Apple bei Mac OS X Server für optionale Installationen (z.B. Apache 2), so dass /opt/local für lokal installierte, optionale Pakete eine gute Wahl ist.

Die oben genannten Nachteile entfallen: nichts mischt sich mehr in /usr/ ein, Installation und Deinstallation folgen einem klaren Konzept, Upgrades sind jederzeit mit einem Kommando möglich, Abhängigkeiten sind Teil des Systems.

Zurück zu MacFusion: das gute ist, dass MacFusion sich das MacFuse Subsystem auch von den MacPorts bereitstellen lässt. Anstatt also den Binärinstaller direkt in /usr/local zu schicken, kann man mit "sudo port install libfuse" sich das Subsystem auch selbst übersetzen. Bitte beachten: der Einsatz von MacPorts setzt auf jeden Fall die Installation der Entwicklerwerkzeuge von der Mac OS X Installations-DVD voraus, da die Pakete stets im Source Code geladen und dann auf dem Rechner übersetzt werden.

  1. Rolf
    August 30th, 2007 at 08:57 | #1

    Vielen Dank für die Erklärung. Das ist einem als “normaler” Anwender natürlich nicht klar. Ich gehöre zwar nicht zu letzterer Gruppe (habe z.B. MacPorts schon lange installiert) bin aber an der Shell trotzdem nicht wirklich sattelfest. Insofern super Beitrag! Weiter so.

  1. No trackbacks yet.