web-dev-qa-db-ja.com

fstabでのマウントとファイルマネージャーでのマウントの違いは何ですか

..そして、異なる方法の結果は何ですか?

私はsda2パーティションのマウントでいくつかのことを試みています。 fstabでのマウントではなく、fstabでのマウント。ファイルマネージャーから。

これまでのところ、私が正しければ、fstabにマウントすることにより、起動時にパーティションが自動的にマウントされることを学びました。しかし、このマウントされたパーティションは、ファイルマネージャーの「デバイス」の下には表示されませんが、たとえばルートパーティションやcdromは表示されます。

サイドバーのデバイスの下に配置したい場合は、パーティションをfstabにマウントするのではなく、ファイルマネージャーでクリックしてマウントします。あれは正しいですか?

しかし、両方が必要な場合、どちらに進むべきでしょうか?起動時に自動的にマウントされ、ファイルマネージャーのサイドバーに表示されますか?

12
DutchArjo

これは gnome-Shell に記載されています(少なくともgvfs-udisks2-volume-monitor/nautilusの場合)。

The gvfs-udisks2-volume-monitor process is responsible for the disks,
media, mounts and fstab entries shown in the desktop user interface.
..........................................
A device is either mounted (in which case its directory is known) or
it's not. If the device is not mounted, then its directory is known
only if it's referenced in the /etc/fstab file.

さらに下に説明が続きます:

If the directory for a device is known and outside /media, $HOME
(typically /home/foo) or /run/media/$USER then the device is not shown
in the user interface. Additionally, if any of component directories
in its directory starts with a dot ("."), the device is not shown
either. This policy may be overriden by use of the options x-gvfs-show
and x-gvfs-hide.

要約すると:

/etc/fstabにリストされているパーティションは、デフォルトで/media$HOME、または/run/media/$USERの下にマウントされている場合にのみ表示されます。パーティションをシステムの起動時に自動的にマウントし、ファイルマネージャーのサイドバーにも一覧表示する場合、最も簡単な方法は、これら3つの場所のいずれかにある/etc/fstabを介してマウントすることです。
パーティションを別のディレクトリ(例:/mnt)にマウントしてサイドバーに表示したい場合は、マウントオプションにx-gvfs-showを追加してデフォルトの動作を上書きできます。 fstab

UUID=5a1615ca-cffd3124917a /mnt/storage ext4 rw,noatime,discard,x-gvfs-show 0 2

/etc/fstabに記載されていないパーティションはudisks2によって処理され、/run/media/$USER/VolumeNameの値に応じて/media/VolumeNameまたはUDISKS_FILESYSTEM_SHAREDの下にマウントされます1 したがって、サイドバーのDevicesの下に表示されます。ただし、それらは自動的にマウントされません。ユーザーは、udisksctlを使用して、セッションの開始時にそれらを自動的にマウントできます。追加:

udisksctl mount -b /dev/sdb2 -t ext4

セッション起動スクリプトに。


1
man udisks

UDISKS_FILESYSTEM_SHARED
   If set to 1, the filesystem on the device will be mounted in a shared directory e.g. /media/VolumeName)
   instead of a private directory (e.g. /run/media/$USER/VolumeName) when the Filesystem.Mount() method is handled.
13
don_crissti