Mac OS X: problemas con el permiso de archivo en la unidad USB NTFS

10

Puedo leer / escribir archivos dentro de una unidad USB externa NTFS.

Tengo algunos problemas con archivos grandes como AVI / MKV almacenados en un disco externo NTFS. Esos archivos aparecen en gris en Finder y, siempre usando Finder, cuando "abro con" mi reproductor de video recibo un extraño error:

Mac OS X utiliza el elemento "file.avi" y no se puede abrir.

Bueno, encontré una solución alternativa: si arrastro y suelto file.avien mi reproductor de video, todo funciona bien.

Pero realmente no puedo entender por qué aparece este problema.

Tenga en cuenta que no tengo instalados ningún controlador personalizado NTFS (es decir, MacFUSE o NTFS-3g). Para montar mi unidad USB NTFS en R / WI solo he modificado /etc/fstab, agregando la siguiente línea:

LABEL=WD320 none ntfs rw
freedev
fuente
¿Esto solo ocurre en archivos multimedia (por ejemplo, videos)? ¿Puedes descartar específicamente algunos tipos de archivos?
slhck
Otra cosa que podría intentar es instalar NTFS-3g y ver si funciona con eso.
slhck
Una solución no técnica es abrir los archivos en gris con el inútil Quick Time Player (QTP) usando 'vista rápida'> doble (o clic derecho) en el nombre del archivo> Vista rápida. Esto solo funciona con archivos que QTP puede abrir, como mp4 avi, etc. No abrirá archivos mkv.
Para evitar el problema por completo, puede crear los archivos transfiriéndolos desde un disco duro externo (en lugar de copiarlos desde el disco duro de su computadora) a su HD NTFS. Laborioso, claro, pero luego se puede acceder a los archivos directamente

Respuestas:

25

He encontrado un hilo que trata el mismo tema. Los archivos aparecen atenuados y no se pueden abrir con el mismo mensaje de error.

Estos son los pasos para (con suerte) resolverlo:

  • Abra una terminal y corra

    xcode-select --install
    
  • Lo anterior instalará las herramientas de línea de comando XCode

  • Entonces corre

    GetFileInfo /Volumes/WD320/yourfile.avi
    
  • Debe haber información sobre el tipo de archivo y el creador y otros atributos del archivo

  • Ahora, cambie esos atributos llamando

    SetFile -c "" -t "" /Volumes/WD320/yourfile.avi
    
  • Ahora el archivo debería reproducirse

Obviamente no pude probarlo (lo que normalmente haría), pero tal vez ayuda.

slhck
fuente
¿Alguien quiere explicar por qué el voto negativo? @NSGod en realidad se refirió a mi respuesta como lo que hay que probar; sin embargo, su (muy buena) respuesta solo explica los antecedentes técnicos.
slhck
1
Muy bien. Muchas gracias por esta sugerencia :)
freedev
¿Ya no puede editar estos campos en las propiedades del archivo Finder? Parecen estar en cuadros de texto editables en la captura de pantalla dada en la respuesta dada por @NSGod. Si puede, eso explicaría un voto negativo, si recomendara descargar un programa innecesario.
Trly
@trikly: No, la ventana que se muestra en mi respuesta es una captura de pantalla de la aplicación de rayos X de Rainer Brockerhoff ( brockerhoff.net/xray ). Mac OS X Finder nunca ha tenido la capacidad de editar tipos de archivos y códigos de creador directamente a través de una GUI (es posible que pueda usar AppleScript). Mi intención al mostrar la imagen era tratar de ilustrar mejor lo que estaba sucediendo.
NSGod
1
Todavía funciona bien en macOS Sierra para mis archivos HDD montados en NTFS :-) ¡gracias!
Benno
7

Mac OS X utiliza el elemento "file.avi" y no se puede abrir.

Esto significa que el elemento ha tenido un tipo de archivo 'brok'y un código de creador 'MACS'establecido (y no borrado):

ingrese la descripción de la imagen aquí

Cuando utiliza el Finder para duplicar archivos, cuando el Finder crea el archivo duplicado por primera vez, establece un tipo de archivo especial 'brok'y un código de 'MACS'creador (el código de creador del Finder), para indicar que el archivo está en uso. Una vez que Finder termina de crear el archivo duplicado, restablece el tipo de archivo y el código creador a los del archivo original.

Por lo general, solo se encontrará con una situación en la 'brok'que el tipo de archivo no se restablece si el Finder se bloquea o se interrumpe de alguna otra manera durante la copia del archivo. Si ese no es el caso para usted, entonces lo que está viendo podría ser un error en el rwsoporte del controlador NTFS incorporado.

Como mencionó slhck, debería poder borrar esta reacción del Finder borrando el tipo de archivo y el código creador del archivo en cuestión.

NSGod
fuente
2

Mi respuesta a este problema es el resultado de reunir respuestas tomadas de varias otras publicaciones (muchas gracias) y mi propia experiencia.

El fondo: tengo un disco duro externo con un sistema de archivos NTFS. Quiero enchufarlo ocasionalmente. Anteriormente, el volumen montaba 'solo lectura'. Una vez que lo solucioné, los archivos en el volumen estaban en un estado inutilizable. Para poder montar el volumen correctamente y tener los archivos accesibles, tuve que hacer lo siguiente:

FYI: Soy un usuario de kornshell. Ajuste estos comandos a su shell preferido.

$ sudo ksh
<password>

$ mv /sbin/mount_ntfs /sbin/mount_ntfs.orig

$ vi /sbin/mount_ntfs

Luego pegue el contenido a continuación:

#!/bin/ksh

# --- direct all script stdout to a temp file for examination
exec > /tmp/ntfs

# --- connect all stderr to stdout
exec 2>&1

# --- get the last argument on the command line - this is the mount point
eval echo \$$# |
read MOUNT_PT
echo "\${MOUNT_PT} = \"${MOUNT_PT}\""
echo

echo "Mounting $@"

# --- call the original ntfs mounter with the arguments handed in
/sbin/mount_ntfs.orig -o rw "$@"

echo "Mounted  $@"

# --- show the result of the mounting operation
mount

# --- fix files at the newly mounted MOUNT_PT that are in the 'brok' state
find "${MOUNT_PT}" -type f |
while read FILE; do

    # ---
    # --- use 'SetFile' to modify the file status
    # ---
    # --- this command line assumes the 'SetFile' command has been installed
    # --- and is available in your PATH
    # ---
    SetFile -c "" -t "" "${FILE}"

done

Entonces:

$ chmod a+x /sbin/mount_ntfs

$ chown root:wheel /sbin/mount_ntfs

Ahora, cada vez que conecto el disco, está montado 'leer / escribir' y los archivos en el disco tienen su estado de 'brok' restablecido. Este guión funciona bien para mí. Su experiencia puede ser diferente.

Disfruta

Jeffardo
fuente
1

Muchas gracias por esto: mejoré el script anterior, ya que no se ejecutaba en mi máquina OSX 10.8.4 (daba errores) y era un poco lento. Solo es necesario verificar cuando se monta un disco de solo lectura ... Cambios marcados con JCV CHANGED:

#!/bin/ksh

# --- direct all script stdout to a temp file for examination
exec > /tmp/ntfs

# --- connect all stderr to stdout
exec 2>&1

# --- get the last argument on the command line - this is the mount point
eval MOUNT_PT=\${$#}
# -- JCV CHANGED: corrected eval expression

echo "\${MOUNT_PT} = \"${MOUNT_PT}\""
echo

echo "Mounting $@"

# --- call the original ntfs mounter with the arguments handed in
/sbin/mount_ntfs.orig "$@"

echo "Mounted  $@"

# --- show the result of the mounting operation
 mount

# --- fix files at the newly mounted MOUNT_PT that are in the 'brok' state
find "${MOUNT_PT}" -type f |
while read FILE; do
  #JCV CHANGED: added check whether file type affected
  GetFileInfo -t "${FILE}"  | read FILETYPE
    if [[ $FILETYPE = "\"brok\"" ]];then
    # ---
    # --- use 'SetFile' to modify the file status
    # ---
    # --- this command line assumes the 'SetFile' command has been installed
    # --- and is available in your PATH
    # ---
    SetFile -c "" -t "" "${FILE}"
    echo "fixing file ${FILE}"
   fi
done
JCV
fuente
¿Podría mencionar los cambios realizados y por qué? Gracias.
sospechoso
Gracias por la respuesta. Traté de explicarlo en la publicación anterior.
JCV
Eso significa que un lector tiene que leer ambos bloques de código y hacer una comparación mental. Alguna anotación para describir lo que has hecho y por qué sería útil.
sospechoso
1
La secuencia de comandos solo funciona hasta que se vuelve a montar el disco, luego tiene que cambiar los parámetros nuevamente. Intenté cambiar los parámetros de setFile a -c "????" (aplicación de creador desconocida) que proporciona una solución persistente pero luego confunde el tiempo rápido al abrir una película (tipo de archivo desconocido bla bla bla).
JCV