Installieren Sie NTFS-3G mit Lese-/Schreibzugriff auf OS X Lion mithilfe von MacPorts

Installieren Sie NTFS-3G mit Lese-/Schreibzugriff auf OS X Lion mithilfe von MacPorts

Ich habe einen gut funktionierenden MacPorts auf Lion. Wenn ich

sudo port install ntfs-3g

es wird ohne Fehler kompiliert. Wenn ich jedoch ein externes Laufwerk mit NTFS-Format anschließe, ist es schreibgeschützt. Und es gibt kein Einstellungssymbol für NTFS-3G, wie es bei meiner Snow Leopard-Installation der Fall war. Ist der NTFS-3G-Treiber aktiv? Wie kann ich das herausfinden und beheben?

AKTUALISIEREN: MacFUSE wurde zusammen mit NTFS-3G als Abhängigkeit installiert und ich habe nach der Installation einen Neustart durchgeführt. Der Befehl ntfs-3g ist in der Befehlszeile verfügbar, aber ich möchte wirklich, dass alle NTFS-Laufwerke automatisch und mit Lese-/Schreibunterstützung damit gemountet werden.

Antwort1

Schauen Sie sich das hier an. Darin wird detailliert beschrieben, wie Sie NTFS-3G über MacPorts zum Laufen bringen und auch, wie Sie es mit einer gepatchten Version von MacFuse über eine ältere Version von NTFS-3G zum Laufen bringen:

http://fernandofig.wordpress.com/2011/08/08/ntfs-write-support-on-osx-lion-with-ntfs-3g-f/

Der Grund, warum Sie ntfs-3g nicht über MacPorts zum Laufen bringen konnten, ist, dass ntfs-3g standardmäßig immer noch von MacFuse abhängig ist. Deinstallieren Sie die ntfs-3g- und MacFuse-Ports, installieren Sie dann fuse4x und dann ntfs-3g. So:

sudo port uninstall macfuse ntfs-3g
sudo port clean --all macfuse ntfs-3g
sudo port install fuse4x
sudo port install ntfs-3g

Sie müssen für die Montage einige spezielle Optionen verwenden, lesen Sie den Beitrag oben.

Antwort2

MacFuse bietet nur eine 32-Bit-Schnittstelle, die unter dem 64-Bit-Lion-Kernel nicht funktioniert. Lesen Sie das Systemprotokoll auf entsprechende Fehlermeldungen.

Sie müssen warten, bis MacPort die Abhängigkeit ändert, um das neuere fuse4x zu verwenden (Fahrkarte).

Antwort3

Fernando Figueiredo erwähnte und verlinktePostüber die Verwendung des ntfs-3g-Builds von MacPorts, aber als ich versuchte, auf die Seite zu gehen, funktionierte sie nicht (404). Ich konnte sie jedoch aus dem Google-Cache abrufen. Ich habe den wichtigen Teil vom Ende des Blogbeitrags hier gepostet. Im Grunde, damit ich ihn später selbst wiederfinden kann. :-)

Anweisungen:

  1. Installieren Sie ntfs-3g über Portssudo port install ntfs-3g
  2. Verschieben Sie die integrierte NTFS-Unterstützung von Mac OSsudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
  3. Erstellen Sie ein Shell-Skript zur Verwendung von ntfs-3g (siehe unten).
  4. Dateiberechtigungen korrigierensudo chmod 0755 /sbin/mount_ntfs
  5. Dateieigentum festlegensudo chown 0:0 /sbin/mount_ntfs
  6. Aktualisieren Sie das Skript USER_IDstandardmäßig mit der Ausgabe vonid -u
  7. Aktualisieren Sie das Skript GROUP_IDstandardmäßig mit der Ausgabe vonid -g

Der Inhalt des Shell-Skripts für Schritt 3:

#!/bin/bash
VOLUME_NAME="${@:$#}"
VOLUME_NAME=${VOLUME_NAME#/Volumes/}
USER_ID=501
GROUP_ID=20
TIMEOUT=20
if [ `/usr/bin/stat -f "%u" /dev/console` -eq 0 ]; then
        USERNAME=`/usr/bin/defaults read /library/preferences/com.apple.loginwindow | /usr/bin/grep autoLoginUser | /usr/bin/awk '{ print $3 }' | /usr/bin/sed 's/;//'`
        if [ "$USERNAME" = "" ]; then
                until [ `stat -f "%u" /dev/console` -ne 0 ] || [ $TIMEOUT -eq 0 ]; do
                        sleep 1
                        let TIMEOUT--
                done
                if [ $TIMEOUT -ne 0 ]; then
                        USER_ID=`/usr/bin/stat -f "%u" /dev/console`
                        GROUP_ID=`/usr/bin/stat -f "%g" /dev/console`
                fi
        else
                USER_ID=`/usr/bin/id -u $USERNAME`
                GROUP_ID=`/usr/bin/id -g $USERNAME`
        fi
else
        USER_ID=`/usr/bin/stat -f "%u" /dev/console`
        GROUP_ID=`/usr/bin/stat -f "%g" /dev/console`
fi

/opt/local/bin/ntfs-3g \
         -o volname="${VOLUME_NAME}" \
         -o local \
         -o negative_vncache \
         -o auto_xattr \
         -o auto_cache \
         -o noatime \
         -o windows_names \
         -o user_xattr \
         -o inherit \
         -o uid=$USER_ID \
         -o gid=$GROUP_ID \
         -o allow_other \
         "$@" &> /var/log/ntfsmnt.log

exit $?;

verwandte Informationen