# Montage autofs avec timeout et lien symbolique cassé : ls attend la pluie

**URL:** <https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361>\
**Category:** Support Debian\
**Created:** [Novembre 22, 2020, 5:42 UTC](https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361 "2020-11-22T17:42:29Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Le\_Barde](https://www.debian-fr.org/user_avatar/www.debian-fr.org/le_barde/32/4330_2.png) [@Le\_Barde](https://www.debian-fr.org/u/Le_Barde)\
**Post date:** [Novembre 22, 2020, 5:42 UTC](https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361/1 "2020-11-22T17:42:29Z")

</div>

Bonjour,

Lorsque je démarre un disque dur spécifique dans un dock, j’ai configuré le système pour qu’une partition donnée se monte automatiquement (explications [ici](https://www.debian-fr.org/t/disques-durs-dans-un-dock-usb/83352/5)).  
Dans mon répertoire `$HOME/`, j’ai un lien symbolique qui s’appelle `mnt` et qui pointe vers le point de montage décrit dans `/etc/fstab`. Et dans mon `/home` toujours, j’ai tout un tas de répertoires qui pointent vers `mnt/quelque_chose`. Je souhaite que ces répertoires restent sur le disque dur.

Seulement voilà : quand le disque dur est éteint (petit navire), `mnt` pointe vers quelque chose qui n’existe pas, la commande `ls` met presque 17 secondes à s’exécuter, voyez plutôt :

```bash
le-barde@ma-machine:~$ time ls
[contenu du dossier]

real	0m17,873s
user	0m0,001s
sys	0m0,004s
le-barde@ma-machine:~$ 

```

Je vois **[sur ce sujet reddit](https://www.reddit.com/r/linuxadmin/comments/1lq04m/in_a_directory_with_broken_mount_points_ls_hangs/)** que c’est lié à la couleur. Donc si je fais ça sans la couleur, j’ai une réponse normale :

```bash
le-barde@ma-machine:~$ time ls
[contenu du dossier]

real	0m0,004s
user	0m0,004s
sys	0m0,000s
le-barde@ma-machine:~$ 

```

Voyez-vous un moyen d’avoir `ls` en (techni)color _et_ de lui dire que s’il ne trouve pas, 'faut pas s’acharner ? Merci pour vos lumières !

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Novembre 22, 2020, 6:48 UTC](https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361/2 "2020-11-22T18:48:53Z")

</div>

> [@Le\_Barde](#):
>
> quand le disque dur est éteint (petit navire)

Sérieusement ? Forcément que ça met du temps, le disque est éteint, il faut le temps de se ralumer si le contenu du dossier n’est pas dans la mémoire de cache.

> [@Le\_Barde](#):
>
> Je vois **[sur ce sujet reddit](https://www.reddit.com/r/linuxadmin/comments/1lq04m/in_a_directory_with_broken_mount_points_ls_hangs/)** que c’est lié à la couleur.

Oui, les couleurs, c’est de l’information inutile et très perturbante. Personnellement, je les ai désactivées, tous mes écrans en nuances de gris, c’est quand même plus reposant. Par contre, je me rends compte que certaines choses sont moins évidentes en nuances de gris, comme jouer à Color Zen sur Switch (genre _ **COLOR** _ Zen).

> [@Le\_Barde](#):
>
> d’avoir `ls` en (techni)color

Non, le technicolor n’est pas très beau car les pellicules sont indépendantes, donc avec des décalages.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Novembre 22, 2020, 7:43 UTC](https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361/3 "2020-11-22T19:43:04Z")

</div>

> [@Le\_Barde](#):
>
> Lorsque je démarre un disque dur spécifique dans un dock, j’ai configuré le système pour qu’une partition donnée se monte automatiquement (explications [ici](https://www.debian-fr.org/t/disques-durs-dans-un-dock-usb/83352/5)).

La page de manuel pour systemd.automount contient :

> Automount units may be used to implement on-demand mounting as well as parallelized mounting of file systems.

Ce que signifie «&nbsp;montage parallélisé&nbsp;» n’est pas clair pour moi, mais en revanche «&nbsp;à la demande&nbsp;» est clair : une tentative de montage est déclenchée automatiquement en cas d’accès au chemin du point de montage. Avec la coloration par défaut `ls` tente d’accéder à la cible de chaque lien symbolique pour vérifier si elle existe ou non et colorer le lien en bleu ou rouge. Tu as réglé le time-out à 2 secondes, donc il doit y avoir 8 ou 9 liens concernés dans le répertoire que tu listes.

Il y a peut-être moyen de configurer la coloration de `ls` avec `dircolors` pour ne pas vérifier la validité des liens symboliques.

---

<div class="post-metadata">

**Author:** ![Le\_Barde](https://www.debian-fr.org/user_avatar/www.debian-fr.org/le_barde/32/4330_2.png) [@Le\_Barde](https://www.debian-fr.org/u/Le_Barde)\
**Post date:** [Novembre 22, 2020, 10:00 UTC](https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361/4 "2020-11-22T22:00:55Z")

</div>

Oh @PascalHambourg tu es mon héros. Je vais voir (mais demain seulement) comment je peux me débrouiller avec ça, mais j’avoue que je suis impressionné par tes inductions.

---

<div class="post-metadata">

**Author:** ![Le\_Barde](https://www.debian-fr.org/user_avatar/www.debian-fr.org/le_barde/32/4330_2.png) [@Le\_Barde](https://www.debian-fr.org/u/Le_Barde)\
**Post date:** [Novembre 22, 2020, 10:12 UTC](https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361/5 "2020-11-22T22:12:00Z")

</div>

Assez étonnamment je n’ai plus ce souci :

```bash
le-barde@ma-machine:~$ time ls
[contenu du dossier]

real	0m0,004s
user	0m0,004s
sys	0m0,000s
le-barde@ma-machine:~$ 

```

Bizarre. Mais entre temps j’ai fait quelques `umount`, des `systemctl daemon-reload && systemctl restart local-fs.target`, et j’ai éteint et allumé deux-trois fois le dock.  
On verra si le problème refait surface.

Petite question subsidiaire : avec ces options, si je veux éteindre le dock, comment démonter les disques ? Car si je fais `umount` ça se remonte aussi sec. À moins que ce soit acceptable d’éteindre les disques sans les démonter, mais j’ai toujours entendu le contraire pour du ext4 et btrfs.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Novembre 23, 2020, 1:54 UTC](https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361/6 "2020-11-23T13:54:59Z")

</div>

Non, il n’est pas acceptable d’éteindre ou débrancher un disque qui contient un système de fichiers monté. En principe avec tes options le système de fichiers auto-monté devrait être démonté automatiquement après 2 secondes de non utilisation (idle-timeout=2), ce qui me paraît quand même très court.

---

<div class="post-metadata">

**Author:** ![Le\_Barde](https://www.debian-fr.org/user_avatar/www.debian-fr.org/le_barde/32/4330_2.png) [@Le\_Barde](https://www.debian-fr.org/u/Le_Barde)\
**Post date:** [Novembre 23, 2020, 2:39 UTC](https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361/7 "2020-11-23T14:39:39Z")

</div>

Effectivement c’est court. Je viens de regarder la doc [ici](https://www.freedesktop.org/software/systemd/man/systemd.mount.html) et [là](https://www.freedesktop.org/software/systemd/man/systemd.automount.html#), effectivement c’est ce qui devrait se passer.

Je crois voir ce qui se passe. J’ai en réalité deux disques durs. Un WD\_Black qui me sert de stockage actif, et un WD\_Blue qui me sert pour la sauvegarde. Voici ce que j’ai mis dans le `fstab` :

```bash
UUID=ed5ac6e5-9fc3-4d28-b0b5-0c4833249c71 /mnt/home-black ext4 noauto,nofail,x-systemd.automount,x-systemd.idle-timeout=2,x-systemd.device-timeout=2
UUID=66433a8f-5d2f-4dad-9cb5-beebb246238f /mnt/blue ext4 noauto,nofail,x-systemd.automount,x-systemd.idle-timeout=2,x-systemd.device-timeout=2

```

Il y a donc les mêmes options de montage.  
Or voici ce que je fais :

```bash
le-barde@ma-machine:~$ ls /mnt/blue/ /mnt/home-black/ && mount
/mnt/blue/:
[...blabla...]

/mnt/home-black/:
[...blabla...]
[...contenu de la sortie de mount...]
systemd-1 on /mnt/home-black type autofs (rw,relatime,fd=35,pgrp=1,timeout=2,minproto=5,maxproto=5,direct,pipe_ino=15392)
systemd-1 on /mnt/blue type autofs (rw,relatime,fd=41,pgrp=1,timeout=2,minproto=5,maxproto=5,direct,pipe_ino=15399)
/dev/sdc8 on /mnt/home-black type ext4 (rw,relatime,x-systemd.automount)
/dev/sdb1 on /mnt/blue type ext4 (rw,relatime,stripe=8191,x-systemd.automount)
le-barde@ma-machine:~$ 

```

Mais si je relance `mount` un peu plus tard, voici ce que j’obtiens :

```bash
systemd-1 on /mnt/home-black type autofs (rw,relatime,fd=35,pgrp=1,timeout=2,minproto=5,maxproto=5,direct,pipe_ino=15392)
systemd-1 on /mnt/blue type autofs (rw,relatime,fd=41,pgrp=1,timeout=2,minproto=5,maxproto=5,direct,pipe_ino=15399)
/dev/sdc8 on /mnt/home-black type ext4 (rw,relatime,x-systemd.automount)

```

Donc ça marche pour le disque WD\_Blue, mais pas pour le WD\_Black. Il y a manifestement quelque chose qui va régulièrement dire bonjour à mon système de fichiers. Comment le trouver ? `lsof +D /mnt/home-black` ne me donne rien.

Un indice : j’ai plein de liens symboliques dans mon `$HOME` qui pointent dessus (comme le répertoire `Vidéos` par exemple), ça pourrait peut-être venir de là. Mais dans mon système XFCE pour le moment, aucune console ne pointe dessus (par acquit de conscience j’ai même fait `cd Documents`).

EDIT : j’ai corrigé quelques retours de bash.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Novembre 23, 2020, 2:54 UTC](https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361/8 "2020-11-23T14:54:28Z")

</div>

> [@Le\_Barde](#):
>
> Il y a manifestement quelque chose qui va régulièrement dire bonjour à mon système de fichiers. Comment le trouver ? `lsof +D /mnt/home-black` ne me donne rien.

Si c’est un accès fugitif de temps en temps pour lire le contenu, voir si quelque chose a changé… je crains que ce soit très aléatoire à traquer avec lsof ou fuser. L’API inotify (inotifywait, inotifywatch) permet de surveiller les accès à un fichier ou un répertoire mais pas d’identifier le processus qui en est à l’origine. Peut-être en combinant les deux, en espérant que l’accès dure suffisamment longtemps pour être visible par lsof ou fuser après avoir été détecté.

---

<div class="post-metadata">

**Author:** ![Le\_Barde](https://www.debian-fr.org/user_avatar/www.debian-fr.org/le_barde/32/4330_2.png) [@Le\_Barde](https://www.debian-fr.org/u/Le_Barde)\
**Post date:** [Novembre 23, 2020, 3:04 UTC](https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361/9 "2020-11-23T15:04:43Z")

</div>

Le coupable était Tracker-miner. Mais comme il m’est utile, il faut que je le configure…

---

<div class="post-metadata">

**Author:** ![Le\_Barde](https://www.debian-fr.org/user_avatar/www.debian-fr.org/le_barde/32/4330_2.png) [@Le\_Barde](https://www.debian-fr.org/u/Le_Barde)\
**Post date:** [Novembre 23, 2020, 3:19 UTC](https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361/10 "2020-11-23T15:19:05Z")

</div>

Suite et fin du feuilleton, j’ai fait ceci :

```bash
gsettings list-recursively | grep Tracker

```

Des répertoires suivant des liens symboliques étaient listés dans la variable des répertoires à indexer. Je les ai donc supprimés en faisant ceci :

```bash
gsettings set org.freedesktop.Tracker.Miner.Files index-recursive-directories "['/home/lebarde/UnRépertoire, '&DOCUMENTS', '&DOWNLOAD']"

```

Et maintenant, les deux commandes `ls /mnt/blue/ /mnt/home-black/ && mount` et `mount` me rendent les bons résultats.

---

<div class="post-metadata">

**Author:** ![Le\_Barde](https://www.debian-fr.org/user_avatar/www.debian-fr.org/le_barde/32/4330_2.png) [@Le\_Barde](https://www.debian-fr.org/u/Le_Barde)\
**Post date:** [Novembre 23, 2020, 4:07 UTC](https://www.debian-fr.org/t/montage-autofs-avec-timeout-et-lien-symbolique-casse-ls-attend-la-pluie/83361/11 "2020-11-23T16:07:13Z")

</div>

Bon, le problème du timeout reste entier. En mettant `15ms` de timeout ça réduit pas mal l’attente, mais dans Thunar c’est pire. Je pense qu’il teste chaque répertoire.

```bash
Extrait de /etc/fstab :
UUID=ed5ac6e5-9fc3-4d28-b0b5-0c4833249c71 /mnt/home-black ext4	noauto,nofail,x-systemd.automount,x-systemd.idle-timeout=2s,x-systemd.device-timeout=15ms

:~$ time ls
real	0m1,775s
user	0m0,005s
sys	0m0,000s

```

Si je fais un `sudo umount /mnt/home-black` je n’ai plus la latence.

```bash
mount
[...]
systemd-1 on /mnt/home-black type autofs (rw,relatime,fd=108,pgrp=1,timeout=2,minproto=5,maxproto=5,direct,pipe_ino=565313)

```

C’est lui le fautif.
