7

У меня есть хорошо работающий MacPorts на Lion. Когда я бегу

sudo port install ntfs-3g

он компилируется без ошибок. Однако когда я подключаю внешний диск в формате NTFS, он доступен только для чтения. И нет иконки Preferences для NTFS-3G, как это было в моей установке Snow Leopard. Активен ли драйвер NTFS-3G? Как я могу узнать и исправить это?

ОБНОВЛЕНИЕ: MacFUSE был установлен вместе с NTFS-3G как зависимость, и я перезагрузился после установки. Команда ntfs-3g доступна в командной строке, но мне бы очень хотелось, чтобы все диски NTFS монтировались с использованием ее автоматически и с поддержкой чтения и записи.

3 ответа3

4

Проверьте это, в нем подробно описано, как заставить ntfs-3g работать через MacPorts, а также как заставить его работать через более старую версию NTFS-3G с исправленной версией MacFuse:

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

Причина, по которой вы не можете заставить работать ntfs-3g через MacPorts, заключается в том, что ntfs-3g по-прежнему зависит от MacFuse по умолчанию. Удалите порты ntfs-3g и macfuse, затем установите fuse4x, а затем ntfs-3g. Как это:

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

Вам нужно будет использовать некоторые конкретные опции для монтажа, проверьте пост выше.

0

Фернандо Фигейредо упомянул и связался с постом об использовании сборки 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 $?;
0

MacFuse предоставляет только 32-битный интерфейс, который не работает под 64-битным ядром Lion. Прочитайте системный журнал для связанных сообщений об ошибках.

Вам придется подождать, пока MacPort изменит зависимость, чтобы использовать более новый fuse4x (тикет).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .