À chaque nouvelle version, la façon dont les lecteurs d'automobiles USB de Linux semble changer (heureusement, j'utilise Debian, je ne perds donc que quelques jours à ce sujet tous les 2 ans). Nous avions l'habitude d'avoir Usbmount, UDISKS, UDISKS2, UDISKS-COLUE, PMOUT, PERSONNES UDEV, et j'éditionne probablement beaucoup plus. (Un aspect rapide montre qu'au moins une chose nommée afuse
semble exister, mais n'est pas documenté trop bien). Aucun de ces travaux ne fonctionne plus (pour moi au moins).
Quel est le moyen "actuel" pour automatcher les lecteurs USB de Debian? J'ai utilisé la règle suivante udev
, mais depuis la mise à jour de l'étirement à Buster, cela a cessé de fonctionner:
SUBSYSTEM=="usb", DRIVERS=="usb-storage", ACTION=="add", \
RUN+="mkdir /media/usb%n; mount -o gid=plugdev,umask=002,fmask=111,users /dev/%k%n /media/usb%n"
Aussi: quelle est la solution stable pour le faire, qui fonctionnera de manière fiable même après la mise à jour d'une nouvelle version, que j'ai probablement manqué?
Vous pouvez créer un systemd.mount
et systemd.automount
fichiers unitaires. Voici un exemple:
À monter /dev/sdb1
sous /mnt/moutpoint
, créer un mnt-mountpoint.automount
déposer:
Sudo nano /etc/systemd/system/mnt-mountpoint.mount
Remarque: le nom du fichier de l'unité devrait être dir-sub-dir.mount
extraite du point de montage /dir/sub-dir
(Si vous avez besoin de monter l'appareil sous /media
Le nom sera media-mountpoint.mount
)
Puis collez les lignes suivantes:
[Unit]
Description=Mount sdb1
[Mount]
What=/dev/disk/by-uuid/UUID_here
Where=/mnt/mountpoint
Type=auto
Options=defaults
[Install]
WantedBy=multi-user.target
Utilisez blkid
pour remplacer le UUID_here
avec l'UUID de /dev/sdb1
.
Créer le mnt-mountpoint.automount
déposer:
Sudo nano /etc/systemd/system/mnt-mountpoint.automount
Avec les lignes suivantes:
[Unit]
Description=Automount usb
[Automount]
Where=/mnt/mountpoint
[Install]
WantedBy=multi-user.target
Joignez votre USB puis activez et démarrez les unités:
Sudo systemctl daemon-reload
Sudo systemctl enable --now mnt-mountpoint.mount mnt-mountpoint.automount
J'ai étudié les dépendances de l'emballage (inverse) dans Debian de Nautilus, UDISKS2 et Libglib2.0-Bin (qui contient le binaire GIO). Basé sur cette page et sur Archlinux UDisks Page Je crois maintenant:
udisksctl unmount -b /dev/$DEVICE
.J'ai ajouté un service d'utilisateur SystemD pour commencer udiskie:
[Unit]
Description=Udiskie automount daemon
[Install]
WantedBy=graphical-session.target
[Service]
ExecStart=/usr/bin/udiskie --verbose --use-udisks2 --automount --no-config --notify --tray --appindicator