web-dev-qa-db-fra.com

Écriture de la règle udev pour un point de montage fixe pour les périphériques SATA hot-swap (Ubuntu 14.04)

J'ai deux baies de disques SATA (remplaçables à chaud) et je veux que la première partition des disques soit montée sur /media/disk01/ et /media/disk02/ en ignorant toutes les autres partitions.

Le compteur automatique doit être désactivé pour tous les périphériques (SATA et USB).

udevadm me donne /sys/devices/pci0000:00/0000:00:1f.2/ata5/Host4/ et /devices/pci0000:00/0000:00:1f.2/ata2/Host1/ pour ces ports SATA sur la carte mère.

J'ai trouvé https://www.axllent.org/docs/view/auto-mounting-usb-storage/ et j'ai essayé de l'utiliser comme point de départ, mais malheureusement, je me suis retrouvé coincé au tout début : Peu importe les lignes d’ACTION/RUN que j’écris, les lecteurs sont montés automatiquement par usdisksd...

Existe-t-il un tutoriel pour écrire/déboguer les règles udev? Comment puis-je "remplacer" la fonctionnalité automounter d'Ubuntu par mes propres règles?

3
Johann Horvat

Normalement, les supports USB (amovibles) sont montés automatiquement lors de l'insertion du support. Si vous voulez supprimer cela, vous pouvez configurer/Tweak yr box:

  • ouvrir le terminal (CTRL-ALT + T) et taper: $ dconf-editor
  • allez à org.gnome.desktop.media-handling et cochez l'option automount

Ce qui précède devrait permettre de désactiver le compteur automatique par défaut pour tous les périphériques de support amovibles.

En ce qui concerne la règle udev, vous devez:

  • Vérifiez les propriétés de votre périphérique. faire en terminal:
    $ udevadm info -q all -p $(udevadm info -q path -n /dev/sdXY)
    où pour chaque périphérique, X est une lettre et Y, un chiffre correspondant à chaque partition que vous souhaitez monter sur /media/disk01/ et /media/disk02/. Pour chaque partition de périphérique, notez: DEVNAME, ainsi que ID_MODEL_ID et ID_VENDOR_ID. Ces deux derniers sont composés de 4 caractères alphanumériques chacun.
  • Vérifiez que DEVNAME correspond à la partition que vous souhaitez monter.
  • En terminal, faire:
    $ udevadm info -a -p $(udevadm info -q path -n /dev/sdXY)
    /dev/sdXY représente chacune des valeurs de votre nom DEVNAME.
  • Recherchez la section dans laquelle vous reconnaissez les valeurs de ID_MODEL_ID et ID_VENDOR_ID telles que vous les avez notées. Il peut s’agir de la section "périphérique parent", située juste après la section "périphérique" supérieure de la sortie.
  • Ecrivez vos règles udev comme suit:

Dans /etc/udev/rules.d/70_hot-swap-mount.rules:

  # to create mount-points and mount devices
  KERNEL=="sd[a-z][0-9]", ENV{ID_MODEL_ID}=="fill-in-model-id-here", ENV{ID_VENDOR_ID}=="fill-in-vendor-id-here", ACTION=="add", ENV{mount_options}="relatime", RUN+="/bin/mkdir -p /media/disk0Z", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/disk0Z"

  # to unmount devices and remove mount-points
  KERNEL=="sd[a-z][0-9]", ENV{ID_MODEL_ID}=="fill-in-model-id-here", ENV{ID_VENDOR_ID}=="fill-in-vendor-id-here", ACTION=="remove", RUN+="/bin/umount -l /media/disk0Z", RUN+="/bin/rmdir /media/disk0Z" 

Dans la même règle, répétez toutes les opérations ci-dessus pour chacun des deux périphériques que vous souhaitez monter. Les valeurs de ENV{ID_VENDOR_ID} et ENV{ID_MODEL_ID} seront différentes pour chaque périphérique et "Z" dans /dev/disk0Z vaut 1 ou 2 en fonction du périphérique considéré.

Selon le lien que vous avez fourni à titre de référence, vous pouvez en effet fournir des options de montage plus sophistiquées, spécifiques au système de fichiers, en écrivant les règles yr un peu différemment. Selon le système de fichiers, cela peut inclure la propriété, l'accès rwx, etc.

Pour un tutoriel, regardez this .

HTH.

5
Cbhihe