---
categories: ['OpenBSD','Système','Utilitaire']
date: 2020-01-19T15:03:34+02:00
description: "Utiliser un périphérique USB sous OpenBSD grâce au projet 'hotplugd'."
draft: false
include_toc: true
show_comments: false
tags: ['OpenBSD','hotplugd','fuse']
title: "hotplug-diskmount : utiliser un périphérique USB facilement / OpenBSD"
translationKey: 'openbsd-hotplug-diskmount'
---
## Description
**[hotplug-diskmount](http://www.bsdua.org/hotplug-diskmount.html)** est
un plugin pour le [`hotplugd(8)`](http://man.openbsd.org/hotplugd.8)
d'OpenBSD qui monte automatiquement les périphériques à chaud.
Il fonctionne avec tout type de disque *(des périphériques de stockage de
masse USB, des lecteurs de cartes, et CD/DVD)* et il est prévu pour être
utilisé dans des environnements d'utilisateur uniques tels que des
ordinateurs de bureau ou des portables.
* La page du projet : http://www.bsdua.org/hotplug-diskmount.html
* Le dépôt des sources : https://bitbucket.org/alex_vatchenko/hotplug-diskmount
### Informations
**hotplug-diskmount** semble se baser sur la détection des informations
qui sont retournées par disklabel, aussi !
**hotplug-diskmount** gère les partitions de type :
* **Fat, FAT32** (msdos) (lecture/écriture),
* **NTFS** (lecture/écriture) - L'écriture est possible grâce à Fuse -
*veillez à l'avoir installer auparavant !* - support ajouté avec la
version 1.0.2
{{}}
**ATTENTION**, il semble exister un bogue de détection ; en effet, si la
table de partition de votre périphérique USB est de type "(ms)dos", le
périphérique sera détecté et monté correctement ; si la table de partition
est de type "GPT", cela ne sera pas le cas. Pour l'instant, avec la
version 1.0.2, veillez à ce que votre table de partition soit "(ms)dos" !
{{}}
* **iso 9660** - non testé
* **ext2/3** (lecture/écriture) - monte effectivement :
* thunar plante ;
* fonctionne sans soucis avec 'mc' en mode console'.
* **ext4** (lecture) - cherche à le monter, mais se vautre. Il semble
*nécessaire de faire le point de montage à la main*, avec les droits
administrateur.
#### OpenBSD ≥ 6.1
Depuis la version 6.1, OpenBSD utilise la version 1.0.2 du projet !
#### OpenBSD ≤ 6.0
{{< deprecated >}}
**Veuillez à mettre-à-niveau** !
OpenBSD 6.0 utilise la version 0.9 - *elle est clairement dépassée, et
peut ne pas fonctionner sur certains périphériques ; la raison est que
depuis février 2015, date de sortie de la v0.9, la structure du
fonctionnement de l'outil
'[disklabel(8)](http://man.openbsd.org/OpenBSD-current/man8/disklabel.8)'
a été modifiée. Dans ce contexte, il serait plus intéressant d'utiliser
la version de l'arbre des ports, à ce jour la v1.0.*
Néanmoins, il vaut mieux utiliser la version 1.0.2, car celle-ci ajoute
le support ntfs grâce à l'ajout de la gestion du projet
[fuse(4)](http://man.openbsd.org/OpenBSD-current/man4/fuse.4).
## Installation
### Pré-requis
**{{< inside2 l="sys/openbsd/pkg" t="Installez" a="installer" >}} le
paquet `fuse`**.
### OpenBSD ≥ 6.1
Il suffit d'**[[system:base:pkg|installer]] le paquet `hotplug-diskmount`**.
### OpenBSD ≤ 6.0
{{< deprecated >}}
**Veuillez à mettre-à-jour** !
### Initialisation
Il est IMPORTANT d'initialiser le projet pour créer son répertoire de
montage par défaut - normalement `/vol` :
`# /usr/local/libexec/hotplug-diskmount init`
{{}}
Il est intéressant à noter que l'on peut spécifier un répertoire cible
en utilisant l'option `-d`, tel que :
`# /usr/local/libexec/hotplug-diskmount -d /mnt/$USER init`
{{}}
Il est ensuite nécessaire d'
{{< inside2 l="sys/openbsd/rcctl" t="activer le service" a="activer" >}}
`hotplugd`…
## Configuration
Il faut créer/modifier le fichier `/etc/hotplug/attach` :
`# nano /etc/hotplug/attach`
```sh
#!/bin/sh
DEVCLASS=${1}
DEVNAME=${2}
LOGIN="votre_id_user"
case "${DEVCLASS}" in
2)
/usr/local/libexec/hotplug-diskmount attach -u "${LOGIN}" -m 0700 "${DEVNAME}"
;;
esac
```
puis veillez à ce qu'il soit exécutable :
`# chmod +x /etc/hotplug/attach`
{{}}
**Note** : Modifier la valeur de la variable LOGIN, en ligne 5, avec
votre identifiant de session utilisateur. De même, il est spécifié le
mode '0700' afin que nul autre n'ait accès au contenu !
{{}}
{{}}
**ATTENTION** : Toute modification dans ce fichier nécessitera le
redémarrage du démon hotplugd !
*Autrement, celles-ci ne seront pas prises en compte.*
{{}}
## Démarrage
{{< inside2 l="sys/openbsd/rcctl" t="Démarrez le service" a="démarrer" >}}
`hotplugd` afin que les modifications soient gérées !
## Vérification
Après avoir inséré votre périphérique USB, ou CD-Rom…
En mode console :
```sh
$ mount
(…)
/dev/sd1i on /vol/DataTraveler 3. type msdos (local, nodev, nosuid, uid=1000, gid=0, mask=0700)
$ ls -al /vol/
total 44
drwxr-xr-x 4 root wheel 512 Sep 15 22:50 .
drwxr-xr-x 15 root wheel 512 Sep 12 23:04 ..
drwx------ 2 root wheel 512 Sep 15 22:50 .db
drwx------ 1 votre_id_user wheel 16384 Jan 1 1980 DataTraveler 3.
```
En mode graphique, utilisez donc votre navigateur de fichiers,
dirigez-vous vers le volume `/vol` - *ou le répertoire cible que vous
auriez précisé* - où vous trouverez un répertoire créé automatiquement
selon le label correspondant à votre périphérique.
## Documentation
* Le fichier `/usr/local/share/doc/pkg-readmes/hotplug-diskmount`
---
## Historique
J'ai écrit historiquement cette documentation de manière collaborative
sur le wiki de la communauté "OpenBSD Pour Tous".
---