我运行 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
以延长闪存驱动器的使用寿命
我希望它能够使用这些设置自动安装,但用户也可以写入并显示在文件管理器中。
可以向 fstab 添加一个条目,其中包含所需的挂载选项。挂载点必须位于 中
/media/username/
,因此应为其创建一个目录。目录的名称/media/username/
将是文件管理器中显示的驱动器名称。如果遵循此过程,该目录将不会像其他可移动媒体一样被自动删除。需要添加的选项是
nofail
以防止在未连接驱动器时启动期间出现错误user
允许用户安装驱动器uhelper=udisks2
允许用户在没有 root 权限的情况下卸载驱动器nodev
禁止驱动器上的设备文件nosuid
禁止在驱动器上设置用户 ID 文件转储和文件系统检查顺序均应为 0。
完整的线路会是这样的