Para montar o cartão automaticamente em /mnt
em um sistema em execução, você pode usar uma regra udev
adicional. Sem a regra, o cartão é montado em /media/$USER/…
e /dev/disk/…
.
O script e a regra do udev a seguir criam uma pasta em /mnt
e montam a partição com um UUID definido. Na versão atual, o ponto de montagem é o rótulo da partição montada. Eu pessoalmente acho que é uma má ideia. Eu preferiria o UUID e não o rótulo, mas o OP queria essa solução.
-
O script
-
Crie um script em
/usr/local/bin
sudo nano /usr/local/bin/mount_by
-
Adicione o código abaixo
#!/bin/sh export mount_point="/mnt/$1" existing_device=$(awk '$2 == ENVIRON["mount_point"] {print $1; exit}' < /proc/mounts) if [ -n "$existing_device" ]; then exit 1 fi mkdir -p "$mount_point" sleep 1 # Perhaps not necessary, but in the test with the OP it was necessary mount "/dev/disk/by-uuid/$2" "$mount_point" exit 0
-
Torne o script executável
sudo chmod +x /usr/local/bin/mount_by
-
-
A regra do udev
-
Crie uma nova regra
sudo nano /etc/udev/rules.d/99-myrules.rules
-
Adicione o código abaixo
ENV{ID_FS_UUID}=="c8bf306d-3d5d-4878-8045-e4087494eff0", RUN+="/usr/local/bin/mount_by '%E{ID_PART_ENTRY_NAME}' '%E{ID_FS_UUID}'"
ou se sua unidade não tiver o
ID_PART_ENTRY_NAME
, tenteID_FS_LABEL
-
Suponha que a partição seja
/dev/sdc1
Substitua o valor deENV{ID_FS_UUID}==
acima pela saída deudevadm info /dev/sdc1 | awk -F= '/ID_FS_UUID=/ {print $2}'
-
-
Reinicie o udev
sudo service udev restart
-
Conecte seu cartão SD e você verá algo assim
% ls -la /mnt total 12 drwxr-xr-x 3 root root 4096 Okt 6 19:29 . drwxr-xr-x 25 root root 4096 Sep 29 17:04 .. drwxr-xr-x 4 root root 4096 Okt 6 19:31 Label1