複数の Ubuntu デスクトップに、接続する必要があるディスクが何百台もあります。現在、ディスクは に自動的にマウントされません/media/user/
( にあります/dev/sd*
)。ただし、GUI では、ファイル エクスプローラーを使用して、Other locations
接続されているすべてのディスクを表示できます。1 つをクリックすると、マウントされ、 で見つけることができます/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 さんの提案に基づいて、 のようなディスクの場合/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
。