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:
- Installieren Sie ntfs-3g über Ports
sudo port install ntfs-3g
- Verschieben Sie die integrierte NTFS-Unterstützung von Mac OS
sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
- Erstellen Sie ein Shell-Skript zur Verwendung von ntfs-3g (siehe unten).
- Dateiberechtigungen korrigieren
sudo chmod 0755 /sbin/mount_ntfs
- Dateieigentum festlegen
sudo chown 0:0 /sbin/mount_ntfs
- Aktualisieren Sie das Skript
USER_ID
standardmäßig mit der Ausgabe vonid -u
- Aktualisieren Sie das Skript
GROUP_ID
standardmäß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 $?;