4 votes

Samba casse les liens durs - comportement souhaité ?

J'utilise Samba 2:3.5.4 dans le serveur Ubuntu 10.10, et un système de fichiers EXT4.

J'ai créé un dossier "dev" localement sur mon PC, et en utilisant "cp -alf", j'ai lié ce dossier au dossier "test". ce dossier vers le dossier "test". Ainsi, en regardant dans le dossier "test", il y a exactement le même contenu que dans le dossier "dev".

"test" est actuellement partagé sur le réseau à l'aide de Samba.

Si je modifie un fichier dans "test" sur le système de fichiers local. La modification est répercutée dans le dossier "dev" (car les dossiers sont liés). C'est ce qui est attendu.

Lorsqu'un fichier dans "test" est modifié via un partage Samba, le lien en dur est rompu. Ainsi, le changement ne s'appliquera qu'à "test" et non à "dev".

Modifier les fichiers via Samba, et casser les liens durs, c'est en fait ce que nous voulons. Ce que l'on m'a demandé (et je n'ai trouvé aucun livre blanc à ce sujet), c'est ceci :

  • un insecte
  • ou comme prévu

Le danger est que, s'il s'agit d'un bogue et que nous commençons à utiliser la solution ci-dessus, lorsque le bogue sera corrigé, notre configuration ne fonctionnera plus !

Quelqu'un a une idée ?

Gracias.

4voto

Eric Noob Points 531

Je ne peux pas me prononcer sur Samba en particulier, mais c'est souvent l'application utilisée qui est responsable de la rupture des liens. Certains éditeurs, par exemple, remplacent un fichier - au lieu de simplement l'écraser - lors de l'enregistrement des modifications, ce qui, bien sûr, rompt tous les liens en dur associés au fichier... Ainsi, votre comportement peut être dû davantage à l'application que vous utilisez qu'à Samba.

1voto

Krystyna Points 1

Ce n'est pas le comportement de Samba qui rompt le lien. Larsks a raison de dire que le comportement que vous avez décrit est spécifique à une application. Les applications écrivent sur les fichiers en utilisant deux méthodes de base : Méthode "A" : écrire simplement dans le fichier d'origine. Méthode "B" : suivre un algorithme sûr : [ ] (2) si l'écriture dans le fichier temporaire est réussie, remplacer le fichier d'origine par le fichier temporaire. Dans la méthode "B", l'écriture dans le fichier temporaire entraînera bien sûr la création d'un nouvel inode et le remplacement du fichier d'origine rompt le lien dur.

Pour vous en convaincre, créez un simple fichier text.txt sur le partage samba, ainsi qu'un fichier correspondant lié en dur. Editez le fichier samba en utilisant notepad ou wordpad et vous verrez que les inodes sont toujours les mêmes. Faites la même chose avec MS-Word et vous verrez que le fichier sauvegardé reçoit un nouvel inode, ce qui rompt le lien dur. Ainsi, Notepad et Wordpad utilisent la méthode "A" tandis que MS-Word utilise la méthode "B". Vous pouvez vous convaincre qu'il ne s'agit pas de samba en utilisant un système de fichiers ext3 local monté sous Windows et en effectuant les mêmes tests.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X