Instale NTFS-3G com leitura e gravação no OS X Lion usando MacPorts

Instale NTFS-3G com leitura e gravação no OS X Lion usando MacPorts

Eu tenho um MacPorts no Lion que funciona bem. Quando eu corro

sudo port install ntfs-3g

ele compila sem erros. No entanto, quando eu conecto uma unidade externa formatada em NTFS, ela é somente leitura. E não há ícone de Preferências para NTFS-3G, como havia na minha instalação do Snow Leopard. O driver NTFS-3G está ativo? Como posso descobrir e corrigir isso?

ATUALIZAR: O MacFUSE foi instalado junto com o NTFS-3G como uma dependência e eu reiniciei após a instalação. O comando ntfs-3g está disponível na linha de comando, mas eu realmente gostaria que todas as unidades NTFS fossem montadas usando-o automaticamente e com suporte para leitura e gravação.

Responder1

Verifique isto, detalha como fazer o NTFS-3G funcionar através de MacPorts, e também como fazê-lo funcionar através de uma versão mais antiga do NTFS-3G com uma versão corrigida do MacFuse:

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

A razão pela qual você não conseguiu fazer o ntfs-3g funcionar através do MacPorts é que o ntfs-3g ainda depende do MacFuse por padrão. Desinstale as portas ntfs-3g e macfuse, instale o fuse4x e depois o ntfs-3g. Assim:

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

Você terá que usar algumas opções específicas de montagem, confira o post acima.

Responder2

MacFuse fornece apenas uma interface de 32 bits que não funciona no kernel Lion de 64 bits. Leia o log do sistema para mensagens de erro relacionadas.

Você terá que esperar que o MacPort altere a dependência para usar o fuse4x mais recente (bilhete).

Responder3

Fernando Figueiredo mencionado e vinculado a umpublicarsobre como usar a compilação ntfs-3g do MacPorts, mas quando tentei acessar a página, ela estava quebrada (404). Consegui buscá-lo no cache do Google. Publiquei a parte importante do final da postagem do blog aqui. Basicamente, para que eu possa encontrá-lo novamente mais tarde. :-)

Instruções:

  1. Instale o NTFS-3G via portassudo port install ntfs-3g
  2. Deixe de lado o suporte NTFS integrado do Mac OSsudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
  3. Crie um script de shell para usar ntfs-3g (veja abaixo)
  4. Corrigir permissões de arquivosudo chmod 0755 /sbin/mount_ntfs
  5. Corrigir propriedade do arquivosudo chown 0:0 /sbin/mount_ntfs
  6. Atualizar script USER_IDpadrão com saída deid -u
  7. Atualizar script GROUP_IDpadrão com saída deid -g

O conteúdo do script de shell para a etapa 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 $?;

informação relacionada