web-dev-qa-db-fra.com

Monter un disque USB en permanence

J'ai un disque dur USB que je veux monter au démarrage et à un emplacement spécifique. Comment puis-je rendre ce lecteur monter et rester disponible (par exemple, pour les sauvegardes locales, etc.) même si personne n'est connecté?

Il semble qu'udev ou quelque chose de similaire s'empare du disque. Si je mets une entrée dans/etc/fstab qui tente de monter spécifiquement ce disque (par UUID), alors ce processus de montage et le processus de montage udev semblent se disputer et le disque ne sera pas monté.

13
Don Faulkner

Montez le disque en utilisant udev. Placez les règles de ce wiki dans /etc/udev/user.rules et redémarrez (ou reconnectez le disque dur USB). Il existe plusieurs avantages de règles dans le wiki (c'est pourquoi je ne les ai pas énumérées ici), choisissez celui qui convient le mieux à vos besoins (par exemple, vous avez besoin d'un utilisateur normal spécifique pour pouvoir le démonter).

Parcourir /lib/udev/rules.d/80-udisks.rules vous aidera à comprendre ce que fait udev pour votre disque dur.

Outre les règles udev que j'ai mentionnées ci-dessus, je pense qu'il existe une autre approche que vous pouvez adopter: demandez à udisks (via udev) de laisser votre disque seul, puis de le monter dans fstab.

Ce code fonctionne sur mon système

ACTION!="add|change", GOTO="my_udisks_end"
SUBSYSTEM!="block", GOTO="my_udisks_end"

ENV{ID_TYPE}!="disk", GOTO="my_udisks_end"
ENV{ID_BUS}!="ata", GOTO="my_udisks_end"
ENV{DEVTYPE}!="partition", GOTO="my_udisks_end"

KERNEL=="sd*|hd*", ENV{UDISKS_PRESENTATION_NOPOLICY}="1"

LABEL="my_udisks_end"

mais est générique et inclut toutes les partitions. Pour pouvoir cibler votre disque/partition particulier, utilisez udevadm info --query=all -n /dev/sdX puis faites une correspondance avec certains de ces attributs particuliers dans les règles udev.

Une bonne ressource pour vous aider est Rédaction de règles udev . Malheureusement, il contient des informations obsolètes (udevinfo a été remplacé par udevadm indo). Je vous assure cependant que c'est une lecture intéressante - udev est aujourd'hui un élément central de l'architecture et vous pouvez accomplir beaucoup de choses en l'utilisant. C'est aussi assez flexible.

Il est également facile de faire des erreurs dans les règles udev :). Utilisez udevadm test $(udevadm info -q path -n /dev/sdX) pour jeter un coup d'œil à ce que fait udev.

7
Li Lo

Vous pouvez essayer de le référencer par/dev/... au lieu de par UUID. Il est fort probable que/dev/sdb *, vous pouvez le vérifier en allant dans Système -> Administration -> Moniteur système et en cliquant sur l’onglet 'Systèmes de fichiers'. Vous devrez d’abord avoir inséré le lecteur USB et l’avoir automatiquement monté. Remplacez "UUID = uuid" par "/ dev/sdb *" dans/etc/fstab. C'est toujours une bonne idée de sauvegarder fstab avant de le modifier.

1
dv3500ea