Après beaucoup de recherches, j'ai pu résoudre mon problème avec usbmount:
Ajout de ntfs à usbmount
- Installez usbmount avec
sudo apt-get install usbmount
.
Installez le package de pilotes NTFS ntfs-3g avec sudo apt-get install ntfs-3g
.
Configurez usbmount pour monter les systèmes de fichiers spécifiés en ouvrant le fichier usbmount avec sudo nano /etc/usbmount/usbmount.conf
.
Ici, il y a une ligne appelée FILESYSTEMS=""
. Seuls les systèmes de fichiers spécifiés dans cette ligne sont montés via usbmount, nous le changeons donc en:FILESYSTEMS="vfat ntfs fuseblk ext2 ext3 ext4 hfsplus"
Si vous voulez que usbmount monte des systèmes de fichiers NTFS, assurez-vous d'ajouter
ntfs et fuseblk à la ligne. Les périphériques NTFS sont parfois répertoriés comme fusblk par le package ntfs-3g, donc ces deux sont les mêmes. Je ne sais pas vraiment pourquoi.
De plus, si vous n'ajoutez pas de fusible dans la configuration, les périphériques NTFS débranchés ne se démonteront pas automatiquement. Ils resteront montés et conserveront le dossier dans lequel ils sont montés jusqu'à ce que l'appareil soit démonté manuellement avec unmount /dev/sda1
-> où sda1 pourrait être une autre variable .
La prochaine ligne importante est FS_MOUNTOPTIONS=""
. Ici, vous spécifiez quels systèmes de fichiers doivent être montés et comment ils doivent être montés.
Nous le changeons en: FS_MOUNTOPTIONS="-fstype=ntfs-3g,nls=utf8,umask=007,gid=46
-fstype=fuseblk,nls=utf8,umask=007,gid=46 -fstype=vfat,gid=1000,uid=1000,umask=007"
Avec cela, les systèmes de fichiers vfat (fat32) ntfs-3g (NTFS) et
fuseblk (NTFS à nouveau) sont montés. Je pense que la plupart des paramètres peuvent rester les mêmes. Encore une fois, ajoutez simplement ntfs-3g ( ajoutez ntfs-3g et non ntfs ) et fuseblk pour pouvoir monter tous les fichiers NTFS. Pour plus de systèmes de fichiers, ajoutez plus de lignes commençant par -fstype=
.
Garder NTFS monté jusqu'à ce que le périphérique soit débranché
Voici une solution au problème, lorsque le lecteur NTFS monté n'est accessible que pendant quelques secondes. Ce correctif provient de Christian Weinberger .
- Créez le fichier usbmount.rules dans /etc/udev/rules.d/ avec
sudo nano /etc/udev/rules.d/usbmount.rules
.
Voici le contenu:
KERNEL=="sd*", DRIVERS=="sbp2", ACTION=="add", PROGRAM="/bin/systemd-escape -p [email protected] $env{DEVNAME}", ENV{SYSTEMD_WANTS}+="%c"
KERNEL=="sd*", SUBSYSTEMS=="usb", ACTION=="add", PROGRAM="/bin/systemd-escape -p [email protected] $env{DEVNAME}", ENV{SYSTEMD_WANTS}+="%c"
KERNEL=="ub*", SUBSYSTEMS=="usb", ACTION=="add", PROGRAM="/bin/systemd-escape -p [email protected] $env{DEVNAME}", ENV{SYSTEMD_WANTS}+="%c"
KERNEL=="sd*", ACTION=="remove", RUN+="/usr/share/usbmount/usbmount remove"
KERNEL=="ub*", ACTION=="remove", RUN+="/usr/share/usbmount/usbmount remove"
- Créez le fichier usbmount @ .service dans / etc / systemd / system / avec
sudo nano /etc/systemd/system/[email protected]
.
Voici le contenu:
[Unit]
BindTo=%i.device
After=%i.device
[Service]
Type=oneshot
TimeoutStartSec=0
Environment=DEVNAME=%I
ExecStart=/usr/share/usbmount/usbmount add
RemainAfterExit=yes
Maintenant, redémarrez et vérifiez cat /etc/mtab
dans quel dossier les périphériques USB sont montés. Par défaut, ils sont montés sur / media / usbstick0 .
La source:
Chrétiens Fix
Pourquoi fusblk?
La réponse de Untermoser est correcte, mais elle interrompra certaines fonctionnalités de montage USB.
Parce qu'il utilise des unités Systemd pour générer des processus à monter (pour activer NTFS), la variable d'environnement
$DEVPATH
n'est plus envoyée à lausbmount add
commande, ce qui entraîne l'échec de la création du lien symbolique.Pour résoudre ce problème, exécutez ce qui suit:
La commande ci-dessus recrée
$DEVPATH
si elle n'est pas disponible.Il y a aussi un autre bug dans usbmount, en ce qui concerne
usbmount remove
. Il boucle sur les points de montage, et celui qui est défini dans la configuration usmount est démonté. Cependant, si une correspondance est trouvée mais ne figure pas dans cette liste, supprimez les sauts et ne fait rien. Ceci est particulièrement crucial si vous créez plusieurs points de montage pour un USB, car usbmount voit le premier et ne fait rien.Pour corriger, la modification suivante est nécessaire:
Cela déplacera la pause à l'intérieur de la boucle intérieure (où le succès est garanti et la pause de 2 étapes).
la source
Pour ceux qui essaient d'obtenir le même fonctionnement sur le nouveau Stretch (Lite) et constatent que les réponses d'Untermoser et d'AlbiusX ne démontent pas les lecteurs vfat, vous devrez suivre ces étapes supplémentaires en plus des réponses fournies. :
Exécutez la commande suivante dans le terminal:
sudo mkdir -p /etc/systemd/system/systemd-udevd.service.d/
Cela créera les dossiers requis nécessaires. Ensuite, créez un fichier de conf ici, par exemple:
sudo nano /etc/systemd/system/systemd-udevd.service.d/shared-mount-ns.conf
Dans ce fichier, ajoutez les lignes suivantes:
[Service] MountFlags=shared
Cela changera le comportement par défaut de systemd-udevd des espaces de noms de systèmes de fichiers privés pour en utiliser des partagés, ce qui équivaut au comportement d'udev dans jessie.
(Provenant de /unix/330094/udev-rule-to-mount-disk-does-not-work/330156#330156 )
la source
Linux raspberrypi 4.14.79-v7+
d' exécution sur le Pi, pour référence