MacPorts를 사용하여 OS X Lion에 읽기/쓰기 기능이 있는 NTFS-3G 설치

MacPorts를 사용하여 OS X Lion에 읽기/쓰기 기능이 있는 NTFS-3G 설치

Lion에서 잘 작동하는 MacPort가 있습니다. 내가 달릴 때

sudo port install ntfs-3g

오류 없이 컴파일됩니다. 하지만 NTFS로 포맷된 외장 드라이브를 연결하면 읽기 전용입니다. 그리고 Snow Leopard 설치에 있었던 것처럼 NTFS-3G에 대한 기본 설정 아이콘도 없습니다. NTFS-3G 드라이버가 활성화되어 있습니까? 이 문제를 어떻게 확인하고 해결할 수 있나요?

업데이트: MacFUSE는 NTFS-3G와 함께 종속성으로 설치되었으며 설치 후 재부팅했습니다. ntfs-3g 명령은 명령줄에서 사용할 수 있지만 모든 NTFS 드라이브가 이 명령을 사용하여 읽기-쓰기 지원을 통해 자동으로 마운트되기를 바랍니다.

답변1

이것을 확인하세요. MacPorts를 통해 ntfs-3g가 작동하도록 하는 방법과 패치된 MacFuse 버전을 사용하여 이전 버전의 NTFS-3G를 통해 작동하게 만드는 방법에 대해 자세히 설명합니다.

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

MacPorts를 통해 ntfs-3g를 작동시킬 수 없는 이유는 ntfs-3g가 여전히 기본적으로 MacFuse에 의존하기 때문입니다. ntfs-3g 및 macfuse 포트를 제거한 다음 퓨즈4x를 설치하고 ntfs-3g를 설치합니다. 이와 같이:

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

장착을 위해서는 몇 가지 특정 옵션을 사용해야 합니다. 위의 게시물을 확인하세요.

답변2

MacFuse는 64비트 Lion 커널에서는 작동하지 않는 32비트 인터페이스만 제공합니다. 관련 오류 메시지에 대해서는 시스템 로그를 읽으십시오.

MacPort가 최신 퓨즈4x(티켓).

답변3

Fernando Figueiredo가 다음과 같이 언급하고 연결했습니다.우편MacPorts의 ntfs-3g 빌드 사용에 대해 설명했는데 해당 페이지로 이동하려고 하면 깨졌습니다(404). 그래도 Google 캐시에서 가져올 수 있었습니다. 블로그 포스팅 마지막 부분부터 중요한 부분을 여기에 올렸습니다. 기본적으로 나중에 다시 찾을 수 있도록 말이죠. :-)

지침:

  1. 포트를 통해 ntfs-3g 설치sudo port install ntfs-3g
  2. 내장된 Mac OS ntfs 지원을 제쳐두세요sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
  3. ntfs-3g를 사용하기 위한 쉘 스크립트 생성(아래 참조)
  4. 파일 권한 수정sudo chmod 0755 /sbin/mount_ntfs
  5. 파일 소유권 수정sudo chown 0:0 /sbin/mount_ntfs
  6. USER_ID다음의 출력으로 스크립트 기본값 업데이트id -u
  7. GROUP_ID다음의 출력으로 스크립트 기본값 업데이트id -g

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 $?;

관련 정보