Tenho centenas de discos que precisam ser conectados em vários desktops Ubuntu. Atualmente, os discos não serão montados automaticamente em /media/user/
(mas podem ser encontrados em /dev/sd*
). No entanto, com a GUI, posso usar o explorador de arquivos Other locations
para mostrar todos os discos conectados. Se eu clicar em um, ele será montado e poderá ser encontrado em /media/user/Disk-UUID
. O problema é que há muitos discos que precisam ser clicados e tudo é restaurado ao original após a reinicialização.
Então, como posso escrever um script para imitar o comportamento de clicar nos discos para montar automaticamente todos os discos que foram conectados?
Quando procuro o método online, parece que a maioria das pessoas está falando sobre edição /etc/fstab
. No entanto, não quero fazer isso dessa maneira, porque trato esses discos como temporariamente conectados, não quero nomeá-los e não quero fazer alterações permanentes no sistema. Além disso, após a montagem dos discos, não vejo nenhuma entrada em file /etc/fstab
, então o próprio Ubuntu está fazendo isso por outros meios. Como posso conseguir o mesmo?
Responder1
Centenasde discos?
No entanto:
mas pode ser encontrado em /dev/sd*
Muito bem. Então você pode verificar isso
for disk in /dev/sd*
e verifique se eles estão montados ou não
if (mount | grep "$disk" ); then
echo already mounted
else
recuperar seu UUID
UUID=$( blkid "$disk" )
possivelmente verifique se eles são o sistema de arquivos correto e monte-os /mnt/user/$UUID
onde desejar
mount -t ext4 ...
Responder2
Com base na sugestão do @fra-san, descobri que para um disco como o /dev/sdn
, udisksctl mount --block-device /dev/sdn
é uma forma simples de atingir o objetivo. No entanto, por padrão, isso exigirá autenticação. Para evitar isso, no Ubuntu 20.04 LTS, é necessário editar o arquivo /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy
e alterar as entradas em org.freedesktop.udisks2.filesystem-mount-system
(observe que há outra entrada semelhante) para yes
:
<defaults>
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
Então udisksctl mount --block-device /dev/sdn
não será mais necessária autenticação e montará imediatamente o disco no formato /media/user/Disk-UUID
.