
En Ubuntu, incluso si diferentes dispositivos de bloque (por ejemplo, un disco duro externo y una unidad flash) están representados por el mismo archivo de dispositivo (por ejemplo /dev/sdb1
), uno tras otro, se montan automáticamente en diferentes puntos de montaje (por ejemplo, /media/b/mydrive
y /media/b/myflashdrive
). ¿Cómo se logra eso? ¿Cómo sabe Ubuntu el "nombre" de cada dispositivo y usa ese "nombre" para nombrar su punto de montaje? ( /etc/fstab
no cubre estos dispositivos enchufables).
¿Cómo puedo simular eso? Al montar manualmente un dispositivo de bloque, ejecuto
sudo mkdir /media/b/mountingpoint1
sudo mount -t ntfs /dev/sdb1 /media/b/mountingpoint1
sudo umount /media/b/mountingpoint1
sudo rmdir /media/b/mountingpoint1
Si separo el dispositivo y luego conecto un dispositivo de bloque diferente, el nuevo dispositivo volverá a estar representado por el mismo archivo de dispositivo /dev/sdb1
y el comando anterior lo montará en el mismo punto de montaje /media/b/mountingpoint1
. Necesito una forma de nombrar los puntos de montaje de manera diferente para diferentes dispositivos.
Respuesta1
están representados por el mismo archivo de dispositivo (por ejemplo, /dev/sdb1)
El truco es que sonnorepresentado por el mismo archivo de dispositivo: además de ese archivo de dispositivo principal, que contiene letras y números administrados por el kernel, también tiene enlaces simbólicos /dev/disk/by-*
que, por ejemplo, contienen el nombre del volumen del sistema de archivos, el proveedor y el modelo del disco duro. o la ruta del dispositivo.
Y son esos enlaces simbólicos los que debes usar dentro /etc/fstab
, no /dev/sdb1
, etc.
Respuesta2
(p. ej
/media/b/mydrive
. y/media/b/myflashdrive
). ¿Cómo se logra eso? ¿Cómo sabe Ubuntu el "nombre" de cada dispositivo y usa ese "nombre" para nombrar su punto de montaje? (/etc/fstab
no cubre estos dispositivos enchufables).
El montaje de dispositivos extraíbles lo realizan UDisks, que también crean el punto de montaje para ellos, que siempre está (en Ubuntu) en formato /media/<user>/<unique_id>
. La última parte es la etiqueta del sistema de archivos o el UUID si el sistema de archivos no tiene una etiqueta. Los discos y unidades extraíbles generalmente están preformateados y la partición está etiquetada por el proveedor (por ejemplo, mi unidad flash Kingston tiene la partición VFAT etiquetada como KINGSTON
).
Puede obtener la etiqueta (y el UUID) de sus dispositivos con lsblk -f
.
Si desea montar un dispositivo manualmente (no desde la GUI) y lograr el mismo efecto, puede usar udisksctl mount -b /dev/sdb1
.
Y si (en el futuro) utiliza fstab
el montaje automático, siempre debe utilizar UUID ( UUID=
) en lugar de /dev/sdb1
.