У меня есть сотни дисков, которые нужно подключить к нескольким рабочим столам Ubuntu. В настоящее время диски не монтируются автоматически в /media/user/
(но их можно найти в /dev/sd*
). Однако с помощью графического интерфейса я могу использовать проводник Other locations
для отображения всех подключенных дисков. Если я нажму на один, он будет смонтирован и его можно будет найти в /media/user/Disk-UUID
. Проблема в том, что нужно нажать на много дисков, и после перезагрузки все восстанавливается до исходного состояния.
Итак, как мне написать скрипт, имитирующий поведение нажатия на диски, чтобы автоматически монтировать все подключенные диски?
Когда я ищу этот метод в сети, кажется, что большинство людей говорят о редактировании /etc/fstab
. Однако я не хочу делать это таким образом, потому что я рассматриваю эти диски как временно подключенные, не хочу давать им имена и не хочу вносить постоянные изменения в систему. Кроме того, после монтирования дисков я не вижу записи в файле /etc/fstab
, так что Ubuntu сама делает это другими способами. Как мне добиться того же?
решение1
Сотнидисков?
Однако:
но его можно найти в /dev/sd*
Очень хорошо. Так что вы можете проверить эти
for disk in /dev/sd*
и проверьте, смонтированы они или нет
if (mount | grep "$disk" ); then
echo already mounted
else
получить их UUID
UUID=$( blkid "$disk" )
возможно, проверьте, что это правильная файловая система, а затем смонтируйте их в /mnt/user/$UUID
любом месте, где пожелаете
mount -t ext4 ...
решение2
Основываясь на предложении @fra-san, я обнаружил, что для такого диска, как /dev/sdn
, udisksctl mount --block-device /dev/sdn
это простой способ достичь цели. Однако по умолчанию это потребует аутентификации. Чтобы избежать этого, в Ubuntu 20.04 LTS нужно отредактировать файл /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy
, и изменить записи под org.freedesktop.udisks2.filesystem-mount-system
(обратите внимание, что есть еще одна похожая запись) на yes
:
<defaults>
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
Тогда udisksctl mount --block-device /dev/sdn
больше не потребуется аутентификация и диск будет немедленно смонтирован в /media/user/Disk-UUID
.