
No Ubuntu, mesmo que diferentes dispositivos de bloco (por exemplo, um disco rígido externo e uma unidade flash) sejam representados pelo mesmo arquivo de dispositivo (por exemplo, /dev/sdb1
) um após o outro, eles são automaticamente montados em diferentes pontos de montagem (por exemplo, /media/b/mydrive
e /media/b/myflashdrive
). Como isso é conseguido? Como o Ubuntu sabe o “nome” de cada dispositivo e usa esse “nome” para nomear seu ponto de montagem? ( /etc/fstab
não cobre esses dispositivos de plug-in.)
Como posso simular isso? Ao montar manualmente um dispositivo de bloco, executo
sudo mkdir /media/b/mountingpoint1
sudo mount -t ntfs /dev/sdb1 /media/b/mountingpoint1
sudo umount /media/b/mountingpoint1
sudo rmdir /media/b/mountingpoint1
Se eu desconectar o dispositivo e anexar um dispositivo de bloco diferente, o novo dispositivo será novamente representado pelo mesmo arquivo de dispositivo /dev/sdb1
e o comando acima irá montá-lo no mesmo ponto de montagem /media/b/mountingpoint1
. Preciso nomear os pontos de montagem de maneira diferente para dispositivos diferentes.
Responder1
são representados pelo mesmo arquivo de dispositivo (por exemplo, /dev/sdb1)
O truque é que eles sãonãorepresentado pelo mesmo arquivo de dispositivo: Além desse arquivo de dispositivo primário, que contém letras e números gerenciados pelo kernel, você também possui links simbólicos nos /dev/disk/by-*
quais, por exemplo, contém o nome do volume do sistema de arquivos, o fornecedor e o modelo do disco rígido ou o caminho do dispositivo.
E são esses links simbólicos que você deve usar dentro /etc/fstab
, não /dev/sdb1
etc.
Responder2
(por exemplo,
/media/b/mydrive
e/media/b/myflashdrive
). Como isso é conseguido? Como o Ubuntu sabe o “nome” de cada dispositivo e usa esse “nome” para nomear seu ponto de montagem? (/etc/fstab
não cobre esses dispositivos de plug-in.)
A montagem de dispositivos removíveis é feita por UDisks que também cria o ponto de montagem para eles que está sempre (no Ubuntu) no formato /media/<user>/<unique_id>
. A última parte é o rótulo do sistema de arquivos ou UUID se o sistema de arquivos não tiver um rótulo. Discos e unidades removíveis geralmente são pré-formatados e a partição rotulada pelo fornecedor (por exemplo, minha unidade flash Kingston tem a partição VFAT rotulada como KINGSTON
).
Você pode obter o rótulo (e UUID) dos seus dispositivos com lsblk -f
.
Se você deseja montar um dispositivo manualmente (não a partir da GUI) e obter o mesmo efeito, você pode usar o udisksctl mount -b /dev/sdb1
.
E se você (no futuro) usar fstab
para montagem automática, você deve sempre usar UUID( UUID=
) em vez de /dev/sdb1
.