Je souhaite monter automatiquement un lecteur portant une étiquette spécifique à chaque fois qu'il se bloque. Je ne souhaite pas utiliser un autre outil que systemd
, car les autres unités dépendent du montage et doivent être démarrées automatiquement.
Qu'est-ce que j'ai jusqu'à présent:
/lib/systemd/system/mount-camera.mount
_[Unit]
Description=the camera SDCard
StopWhenUnneeded=true
Before=copy-camera.service
[Mount]
What=LABEL=CAMERA
Where=/mount/camera
Type=vfat
[Install]
WantedBy=multi-user.target
_
/lib/systemd/system/mount-camera.automount
_[Unit]
Description=camera SDCard
[Automount]
Where=/mount/camera
[Install]
WantedBy=multi-user.target
_
Cela monte correctement le lecteur si je cd
dans le point de montage. Cependant, je souhaite que le lecteur soit monté simplement parce que je l'insère, car un service est démarré par l'unité de montage.
Est-il possible d'y parvenir en utilisant systemd? Si oui: comment?
Si c'est impossible: y a-t-il un moyen de le faire en très peu d'étapes supplémentaires?
Note
Je sais que je pourrais ajouter une minuterie qui cd
s dans le point de montage toutes les x secondes - mais cette note est vraiment élégante, n'est-ce pas?
Comme l'a souligné @MarkStosberg: il apparaît que cela n'est pas possible avec systemd
seul.
Comme @rtaft l'a fait remarquer: utiliser fstab
vaut la peine d'essayer.
La solution est la suivante: ajoutez une entrée à la fstab
et vous êtes prêt à partir. Il n'y a pas de conflits, systemd
résout les fichiers automatiquement.
Ajouter à /etc/fstab
:
LABEL=CAMERA /mount/camera auto user,rw,nofail 0 0
Le service démarre comme prévu. J'ai conservé les fichiers .automount
et .mount
.
En lisant man systemd.mount
et man systemd.automount
, il apparaît que ce que vous voulez n'est pas possible systemd
seul. La solution recommandée consiste à ajouter des règles udev .