25 juin 2024

Too many levels of symbolic links Error

Imaginons la structure suivante :

$ tree
.
└──monDossier
    ├──source
    └──output

Ajoutons ensuite un lien symbolique du dossier source dans le dossier output.

$ cd monDossier
$ ln -s source output
$ tree
.
├──source
└──output
    └──output/source -> source

Malheureusement le lien symbolique est cassé :

find -L -xtype l # pour identifier les symlinks cassés
find: ‘./output/source’: Too many levels of symbolic links

La raison de cette erreur est simple : les liens symboliques réalisés avec des chemins relatifs sont toujours relatifs au répertoire du lien symbolique, et non au répertoire d’origine. Le lien symbolique /monDossier/output/source que nous venons de créer pointe donc vers /monDossier/output/source au lieu de /monDossier/source.

Pour régler le problème, il suffit d’utiliser des chemins absolus !