我运行的是 Ubuntu Mate 22.04,并且有一个使用 btrfs 格式化的 USB 大容量存储设备(又名 USB-Stick)。我知道它的分区 UUID 和标签,并且我希望使用特定的挂载选项来挂载它。特别是,我希望每次将其插入计算机时都启用文件系统压缩,而不必卸载它,然后使用终端手动重新挂载它。
当我插入电源时,我通常必须这样做
sudo umount /dev/sdb/
sudo mkdir /media/username/label
sudo mount -t btrfs -o rw,ssd,nosuid,nodev,noatime,space_cache=v2,subvolid=5,subvol=/,uhelper=udisks2,compress=zstd:15,discard=async /dev/disk/by-uuid/<uuid> /media/username/label
sudo chown username:usergroup /media/username/label
我希望以某种方式实现自动化。
我怎么做?
编辑
我尝试按照评论中的建议将此行添加到我的 /etc/fstab 中。
UUID=<uuid> /mnt/<label> btrfs rw,ssd,nosuid,nodev,noatime,space_cache=v2,subvolid=5,subvol=/,uhelper=udisks2,compress=zstd:15,discard=async,nofail 0 2
但是,这会导致设备插入时不再自动挂载。挂载时,我必须是 root 用户。然后它不再出现在我的文件管理器 (caja) 中的设备中。默认情况下,它也不是用户可写的。
我希望它具有与正常插入相同的行为,只是带有选项
ssd
,因为所讨论的设备有些特殊,并且会宣称自己是旋转的,但实际上并非如此),compress=zstd:15
,因为该设备无论如何都很慢,而且有点小,noatime
延长闪存驱动器的使用寿命
我希望它使用这些设置自动安装,但也是用户可写的并显示在文件管理器中。
答案1
可以将一个条目添加到 fstab 中,其中包含所需的挂载选项。挂载点必须位于 中/media/username/
,因此应为其创建一个目录。 中的目录名称/media/username/
将是文件管理器中显示的驱动器名称。如果遵循此过程,则不会自动删除目录,就像其他可移动媒体一样。
要实现此功能,需要添加以下选项:
nofail
以防止驱动器未连接时启动时出现错误user
允许用户安装驱动器uhelper=udisks2
允许用户在没有 root 权限的情况下卸载驱动器nodev
禁止驱动器上的设备文件nosuid
禁止在驱动器上设置用户 ID 文件
转储和文件系统检查顺序都应该为 0。
完整的代码如下
UUID=<UUID> /media/<user>/<label> btrfs rw,nosuid,nodev,user,uhelper=udisks2,nofail,ssd,noatime,space_cache=v2,subvolid=5,subvol=/,compress=zstd:15,discard=async 0 0