La mayoría de nuestras computadoras ejecutan Ubuntu, pero dos de ellas inician dual en Windows, y cuando tenemos invitados, normalmente también ejecutan computadoras con Windows. Por lo tanto, además de usar NFS, nuestro servidor de archivos (servidor Ubuntu) también ejecuta Samba.
Y dado que usamos Ubuntu principalmente, nos gusta aprovechar sus ventajas sobre Windows, como poder usar los caracteres \:*?"<>|
en un nombre de archivo. El problema, por supuesto, es que Windows no acepta esos caracteres en los nombres de archivo, por lo que Samba tiene que traducir el nombre del archivo en algo más aceptable. La forma en que hace esto, sin embargo, me parece desagradable.
El nombre del archivo, Episode 182 - Exorcist 2: The Heretic.mp4
por ejemplo, se convierte en E4Q82R~Y.MP4
. Esta es una terrible "corrección". ¿Hay alguna manera de hacer que la samba sea más amigable con los humanos? ¿Es posible "corregirlo" a algo así Episode 182 - Exorcist 2_ The Heretic.mp4
, en lugar de que los caracteres ilegales simplemente se sustituyan?
Samba 4.1.4-Debian
.Respuestas:
mangled map
ahora está en desuso y ya no funcionará en nuevas versiones de Samba.Puede usar vfs_catia para resolver el problema. Agregue las siguientes líneas a smb.conf:
La asignación se especifica con 0x códigos de caracteres hexedecimales prefijados separados por dos puntos. El mapeo proporcionado reasignará caracteres ilegales a imitaciones unicode que es poco probable que se usen en cualquier idioma.
:? * <> "| \
∶ ʔ ∗ ❮ ❯ ʺ ∣ ⧹
El código se puede poner debajo
[global]
o en una[share]
sección individual . Colocarlo[global]
puede afectar el rendimiento.Tenga en cuenta que cualquier carácter que asigne no se puede usar en los nombres de archivo en el servidor o serán inaccesibles.
Ejemplo: un cliente de Windows que acceda a un archivo nombrado
file❮name.txt
en el servidor solicitaráfile<name.txt
al servidor debido a la asignación, lo que dará como resultado un error de archivo no encontrado.fuente
0x3a:0x7e 0x3f:0x5e
entonces se:
vuelve~
y se?
vuelve^
.En este enlace puede ver las opciones de destrucción. Creo que primero debes deshabilitar la opción:
Después de eso, supongo que los nombres deberían verse mejor ...
Para reemplazar los dos puntos, por ejemplo, use esta línea:
Puede agregar más reglas de reemplazo como esta:
(también reemplaza cualquier ocurrencia de foo por barra)
fuente
tes:t.txt
en el Bloc de notas, por ejemplo, me dicen "No puedo encontrar el archivo [tes] t.txt". Lo mismo ocurre con otros archivos "ilegales" en sus respectivas aplicaciones.mangled map
ha sido eliminado de Samba. Por lo que puedo decir después de mirar un poco a su alrededor, fue eliminado hace años. Esto es lolog.smbd
que dice mi archivo si trato de usarlo:Ignoring unknown parameter "mangled map"