---
title: Démonter un disque distant après une erreur réseau
date: 2020-05-30
author: motius
template: post
tags: sshfs,réseau,umount,fusermount
---

Bonjour !

Aujourd'hui, un micro tutoriel d'administration système pour gérer des problèmes de déconnexion du réseau.

J'utilise `sshfs` afin de monter un disque distant. Ça me permet d'avoir de la synchronisation de données sur un seul disque dur de référence, qui reste solidement attaché à un serveur. Il m'est donc inutile de brancher et débrancher le disque, et de le déplacer.

Ce programme s'utilise ainsi :

```bash
sshfs user@remote:/chemin/du/répertoire/distant /mnt/chemin/du/répertoire/local
```

Note : il vous faudra avoir les droits d'écriture sur le répertoire local sur lequel vous montez le disque distant.

Et pour le démonter, j'utilise :

```bash
fusermount -u /mnt/chemin/du/répertoire/local
```

Cette commande peut échouer pour plusieurs raisons, notamment s'il y a toujours un programme qui utilise le disque distant. Ça peut être aussi bête que d'essayer de démonter le répertoire depuis un shell (`bash`, `zsh`) dont le répertoire courant est dans l'arborescence sous le disque distant.

Le message d'erreur ressemble à ceci :

```
fusermount: failed to unmount /mnt/chemin/du/répertoire/local: Device or resource busy
```

Il suffit d'utiliser la commande `lsof` (list open files) pour savoir quels programmes utilisent encore le disque distant de cette manière :

```bash
lsof | grep /mnt/chemin/du/répertoire/local
```

Mais ! mais mais, il peut arriver que la connexion réseau se coupe (ou que votre serviteur déplace son ordinateur hors de portée du Wi-Fi, il lui arrive d'être distrait...)

Dans ce cas, on peut essayer de recourir à `umount` en tant qu'utilisateur root, _si on lui passe les bonnes options_, que voici :

```bash
# Lazy unmount. Detach the filesystem from the file hierarchy now, and clean up all
# references to this filesystem as soon as it is not busy anymore.
umount -l /mnt/chemin/du/répertoire/local 

# StackOverflow suggère aussi :
# https://stackoverflow.com/questions/7878707/how-to-unmount-a-busy-device
umount -f /mnt/chemin/du/répertoire/local
# mais la page de manuel indique que cette option est utile pour les disques NFS.
```

Joyeux code !

Motius
