TheCricLinks

Je me pose plein de questions, Internet est un moyen d'y répondre

Nom :

La devise de la France est Liberté - Égalité - Fraternité. Cette devise peut et doit nous aider à trouver le bon chemin.

samedi 11 février 2006

Windows symbolic and hard links under NTFS Tool - NTFSLink

En court :

Outil sous la forme d'une extension de l'explorateur Windows permettant avec une interface graphique et simple de faire des liens symboliques ( ou points de jonctions) ou bien des hard links. : elsdoerfer.info | NTFS Link | Information


En long :


Dans un système de fichier un lien symbolique permet de faire pointer un nom (le symbole) vers un fichier ou un répertoire existant par ailleurs.

Un lien symbolique permet donc de remplacer discrètement un fichier par un autre situé ailleurs, idem pour un répertoire.
On peut ainsi jouer sur les noms et/ou les positions physiques, enfin presque.

Sous Windows, les liens symboliques s'appellent des points de jonctions ou Junction Point pour les répertoires et des hard links pour les fichiers.

Un hard link n'est possible que sur le même volume NTFS.
Physiquement il est codé dans NTFS sur le volume lui-même. Je rappelle que sous Windows NTFS 5 un volume peut être lui-même étalé sur plusieurs disques....

Exemple d'utilisation de hard link :
On peut créer 3 noms de fichiers - toto.txt, titi.txt, tata.txt par exemple - qui pointent physiquement sur un fichier tutu.txt.
Toutes les manipulations sur toto.txt, titi.txt ou tata.txt modifieront tutu.txt.
Evidemment se pose le problème de la gestion des déplacements et de la disparition de tutu.txt.
La règle est que le fichier ne disparait physiquement que lorsque tous les noms auront disparus.



Ils existent depuis Windows 2000 soit 7 ans (voire plus pour ceux qui se sont plongés sur le sujet ) mais étaient prévus bien avant dans la structure de départ du système de fichier NTFS.
Une très bonne explication de NTFS étant sur le site de Jean-Claude Bellamy

Par rapport à Unix, les points de jonctions ont quelques limitations, en particulier le fait qu'ils ne fonctionnent que sur des dossiers où des volumes de disques.
Ces limitations viennent entre autre du fait que la gestion des droits utilisateurs est plus complexe que sur Unix et que les règles de gestion de ces droits évoluent au fur et à mesure de l'existence du produit.

Donc pour éviter de mettre la charrue (l'organisation des disque) avant les boeufs ( les utilisateurs et leurs récriminations, pardon, leur droits), Microsoft a décidé d'y aller très lentement pour éviter trop de débordements et de support téléphonique. Le niveau moyen de l'utilisateur Windows lambda n'étant pas, et de très loin, celui d'un administrateur de serveur gérant des dizaines voire des milliers de disques durs.
La gestion des droits utilisateurs et des groupes étant beaucoup plus évoluée au départ sous NT que sous *nix parce que Windows NT a été conçu 20 ans après UNIX. Heureusement Linux, Novell et LDAP ont fait évoluer la puissance de gestion des droits d'Unix.

Les outils standards ?

Beaucoups sont natifs en ligne de commande sauf que l'on ne sait pas qu'ils existent.

Pour les hardlinks, sous XP et Windows 2003, la commande standard est : fsutil hardlink create dont l'aide s'obtient avec fsutil hardlink create /?

Pour les points de jonctions, dans le Windows Resource Kit ou bien en standard (cela dépend des versions) on trouve l'outil linkd pour lier des répertoires et MountVol pour attacher des disques à des répertoires et enfin DelRP qui efface le point de jonction et toutes le références à celui-ci.

Exemple d'utilisation d'un point de jonction :
Vous manquez de place disque dans un sous-repertoire, vous rajoutez un disque dur, copiez le sous-répertoire vers ce nouveau disque, supprimer le contenu du sous-répertoire puis faites un Junction Point entre le sous-répertoire et le nouveau disque.
Maintenant votre sous-répertoire possède maintenant toute la place nécessaire. Démonstration par [JC Bellamy ici!]


En beaucoup plus simple grace à une interface graphique qui permet le montage à partir du menu contextuel de l'explorateur windows : elsdoerfer.info | NTFS Link | Information
De plus les fichiers sources sont fournis

En programmation :

Pour les points de junctions , chez CodeProject.com : Windows 2000 Junction Points
Pour les Hard links l'API Windows est évidente [la!]

et l'exemple (le 1er historiquement ) et le plus classique, la commande Junction de SysInternals avec source incluse.

Libellés : ,