Montage d'un disque USB dans un emplacement permanent

13

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

Il semble que udev ou quelque chose de similaire s'empare du disque. Si je mets une entrée dans / etc / fstab qui essaie de monter spécifiquement ce disque (par UUID), alors ce processus de montage et le processus de montage udev semblent se retrouver dans une bataille les uns avec les autres et le disque ne se monte pas.

Don Faulkner
la source
Pouvez-vous ajouter la ligne que vous avez ajoutée /etc/fstab? Y a-t-il des messages de journal lorsque vous branchez votre lecteur? Peut-être que cela aide à augmenter le niveau de journalisation /etc/udev/udev.conf.
qbi
À quoi ressemble la ligne fstab? Il devrait ressembler à quelque chose comme ceci "UUID = 48a26dbe-e707-4e45-bd55-fc7936292ee1 / data ext4 errors = remount-ro 0 2"
LassePoulsen

Réponses:

7

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

La lecture /lib/udev/rules.d/80-udisks.rulesvous aidera à comprendre ce que udev fait sur votre disque dur.

Outre les règles udev que j'ai mentionnées ci-dessus, je pense qu'il y a une autre approche que vous pouvez adopter: demander aux udisks (via udev) de laisser votre disque seul, puis de le monter via 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 utilisation udevadm info --query=all -n /dev/sdXde disque dur / partition particulière , puis faire correspondre certains de ces attributs particuliers dans les règles udev.

Une bonne ressource pour vous aider dans ce domaine est la rédaction de règles udev . Malheureusement, il contient des informations obsolètes (a udevinfoété remplacé par udevadm indo). Je vous assure, cependant, que c'est une lecture intéressante - udev est un élément central de l'architecture de nos jours et vous pouvez accomplir beaucoup 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 œil à ce que fait udev.

Li Lo
la source
Impressionnant. Cela ressemble beaucoup à ce que je cherchais. Il me semble que j'ai de la lecture à faire ...
Don Faulkner
1

Vous pouvez essayer de le référencer par / dev / ... au lieu de par UUID. Il s'agit très probablement de / 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 insérer la clé USB et la laisser être montée automatiquement. Remplacez 'UUID = uuid' par '/ dev / sdb *' dans / etc / fstab. C'est toujours une bonne idée de sauvegarder fstab avant de le modifier.

dv3500ea
la source
4
Référencer les périphériques de stockage de masse directement aux nœuds de périphériques est une mauvaise idée! Les paramètres du BIOS et les périphériques supprimés peuvent bousiller l'ordre des périphériques.
LassePoulsen
Vous avez probablement raison, mais j'avais l'impression que l'UUID est régénéré à chaque fois qu'un périphérique USB est retiré et rebranché. Cela signifierait que fstab devrait être modifié à chaque fois que le périphérique est retiré et rebranché.
dv3500ea
En fait, je me trompais, UUID reste le même.
dv3500ea
3
L'UUID est l'ID unique du système fils et n'a rien à voir avec l'emplacement ou le périphérique du bus. Il survivra même si vous copiez un système de fichiers entier d'un appareil à un autre.
LassePoulsen
1
La permanence du système de fichiers est ce que je cherchais avec mount-by-uuid. Il s'agit de mon périphérique de "sauvegarde locale", et je souhaite que / backup (ou partout où je le monte) ait toujours ce système de fichiers, même si j'ajoute ou réorganise des périphériques. C'est l'avantage du montage by-uuid ou by-label.
Don Faulkner