OBSD4* : wiki

hotplug-diskmount : utiliser un périphérique USB facilement

Description

hotplug-diskmount est un plugin pour le 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.

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 admins.

OpenBSD >= 6.1

Depuis la version 6.1, OpenBSD utilise la version 1.0.2 du projet !

OpenBSD <= 6.0

Cette version d'OpenBSD n'est plus maintenue. 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)' 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).

Installation

Pré-requis

Installer le paquet Fuse :

# pkg_add fuse

OpenBSD >= 6.1

Il suffit d'installer normalement le binaire hotplug-diskmount :

# pkg_add hotplug-diskmount

OpenBSD <= 6.0

Ces versions d'OpenBSD ne sont plus maintenues. 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 de l'activer pour qu'il soit pris en compte lors du redémarrage système :

# rcctl enable hotplugd

Documentation

  • Le fichier /usr/local/share/doc/pkg-readmes/hotplug-diskmount

Configuration

Il faut créer/modifier le fichier /etc/hotplug/attach, puis veillez à ce qu'il soit exécutable :

# nano /etc/hotplug/attach
#!/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 :

# 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'est 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

Démarrons le démon hotplugd afin que les modifications soient gérées :

# rcctl start hotplugd

Vérification

Après avoir inséré votre périphérique USB, ou CD-Rom …

En mode console :

  $ 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.