Affichage des articles dont le libellé est ntfs-3g. Afficher tous les articles
Affichage des articles dont le libellé est ntfs-3g. Afficher tous les articles

dimanche 20 octobre 2013

Disque dur externe NTFS sous Mac OS X

 Utiliser un disque dur externe NTFS sous Mac OS X

Il existe plusieurs solution. Ayant déjà configuré les macports puisque je développe un peu, j'ai choisi celle ci, qui consiste, une fois installé fuxe4x et ntfs-3g

sudo port update
sudo port install fuse4x ntfs-3g

Fuse4x + NTFS-3G

sauver le fichier :
sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig

changer les droits d'exécution sur le script que l'on va créer :
sudo touch /sbin/mount_ntfs
sudo chmod 0755 /sbin/mount_ntfs
sudo chown 0:0 /sbin/mount_ntfs
sudo emacs /sbin/mount_ntfs
  
créer le nouveau script ainsi :
#!/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 $?;
 
 
 
Ca fonctionne plutôt bien. Mais vous noterez en particulier le problème posé par ce script en cas de multi-users sur la mac.
 Je n'ai pas encore eu le temps de voir si un `id -u` et `id -g` résolvait la question, mais il y a des chances que ce soit exécuté par root donc ça ne changerait rien ... :-/



Source : Description des autres solutions & original de celle-ci : http://fernandofig.wordpress.com/2011/08/08/ntfs-write-support-on-osx-lion-with-ntfs-3g-f/


Etape d'après : faire la même chose pour mes disques ext4 & ext3.