Después de mucha investigación, pude solucionar mi problema con usbmount:
Agregar ntfs a usbmount
- Instalar usbmount con
sudo apt-get install usbmount
.
Instale el paquete de controlador NTFS ntfs-3g con sudo apt-get install ntfs-3g
.
Configure usbmount para montar sistemas de archivos específicos abriendo el archivo usbmount con sudo nano /etc/usbmount/usbmount.conf
.
Aquí hay una línea llamada FILESYSTEMS=""
. Solo los sistemas de archivos especificados en esta línea se montan a través de usbmount, por lo que lo cambiamos a:FILESYSTEMS="vfat ntfs fuseblk ext2 ext3 ext4 hfsplus"
Si desea que usbmount monte los sistemas de archivos NTFS, asegúrese de agregar
ntfs y fuseblk a la línea. Los dispositivos NTFS a veces se enumeran como fusblk por el paquete ntfs-3g, por lo que esos dos son iguales. Aunque realmente no sé por qué.
Además, si no agrega fuseblk en la configuración, los dispositivos NTFS desconectados no se desmontarán automáticamente. Permanecerán montados y mantendrán la carpeta en la que están montados hasta que el dispositivo se desmonte manualmente con unmount /dev/sda1
-> donde sda1 podría ser otra variable .
La siguiente línea importante es FS_MOUNTOPTIONS=""
. Aquí especifica qué sistemas de archivos deben montarse y cómo deben montarse.
Lo cambiamos a: 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"
Con esto se montan los sistemas de archivos vfat (fat32) ntfs-3g (NTFS) y
fuseblk (NTFS nuevamente). Creo que la mayoría de los parámetros pueden permanecer igual. Una vez más, simplemente agregue ntfs-3g ( agregue ntfs-3g no ntfs ) y fuseblk para poder montar todos los archivos NTFS. Para más sistemas de archivos, agregue más líneas comenzando con -fstype=
.
Mantenga NTFS montado hasta que el dispositivo esté desconectado
Aquí hay una solución para el problema, cuando la unidad NTFS montada solo es accesible durante unos segundos. Esta solución proviene de Christian Weinberger .
- Cree el archivo usbmount.rules en /etc/udev/rules.d/ con
sudo nano /etc/udev/rules.d/usbmount.rules
.
Este es el contenido:
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"
- Cree el archivo usbmount @ .service en / etc / systemd / system / with
sudo nano /etc/systemd/system/[email protected]
.
Este es el contenido:
[Unit]
BindTo=%i.device
After=%i.device
[Service]
Type=oneshot
TimeoutStartSec=0
Environment=DEVNAME=%I
ExecStart=/usr/share/usbmount/usbmount add
RemainAfterExit=yes
Ahora reinicie y verifique cat /etc/mtab
en qué carpeta están montados los dispositivos usb. De forma predeterminada, se montan a / media / usbstick0 .
Fuente:
Cristianos Fix
¿Por qué fusblk?
La respuesta de Untermoser es correcta, pero romperá parte de la funcionalidad usbmount.
Debido a que está utilizando unidades de Systemd para generar procesos para montar (para habilitar NTFS), la variable de entorno
$DEVPATH
ya no se envía alusbmount add
comando, lo que da como resultado un error en la creación del enlace simbólico.Para solucionarlo, ejecute lo siguiente:
El comando anterior se recrea
$DEVPATH
si no está disponible.También hay otro error en usbmount, con respecto a
usbmount remove
. Se repite sobre los puntos de montaje, y el que está definido en usmount config está desmontado. Sin embargo, si se encuentra una coincidencia pero no está en esa lista, elimina los descansos y no hace nada. Esto es particularmente crucial si crea múltiples puntos de montaje para un USB, porque usbmount ve el primero y no hace nada.Para solucionarlo, se necesita el siguiente cambio:
Esto moverá la ruptura dentro del bucle interno (donde el éxito está garantizado y la ruptura de 2 pasos).
fuente
Para aquellos que intentan obtener lo mismo para trabajar en el nuevo Stretch (Lite) y encuentran que las respuestas de Untermoser y AlbiusX no desmontan las unidades vfat, deberán seguir estos pasos adicionales además de las respuestas proporcionadas. :
Ejecute el siguiente comando en la terminal:
sudo mkdir -p /etc/systemd/system/systemd-udevd.service.d/
Esto creará las carpetas necesarias necesarias. A continuación, cree un archivo conf aquí, por ejemplo:
sudo nano /etc/systemd/system/systemd-udevd.service.d/shared-mount-ns.conf
Dentro de este archivo agregue las siguientes líneas:
[Service] MountFlags=shared
Esto cambiará el comportamiento predeterminado de systemd-udevd de los espacios de nombres privados del sistema de archivos para usar los compartidos, lo que es equivalente al comportamiento de udev en jessie.
(Obtenido de /unix/330094/udev-rule-to-mount-disk-does-not-work/330156#330156 )
fuente
Linux raspberrypi 4.14.79-v7+
en el Pi, para referencia