如何设置多个 Linux 操作系统共享的“数据”分区?

如何设置多个 Linux 操作系统共享的“数据”分区?

目前我有一个包含共享数据的 NTFS 分区。我的理由是,NTFS 对文件权限没有任何概念,所以我在多启动系统中使用它们不会有任何问题(目前我有 Gentoo 和 Ubuntu,并且数据分区在两者上自动安装) 。现在,如果可能的话,我想摆脱 NTFS 的东西。所以问题是,我如何使用类似的东西ext4并设置相同的东西?

更新:抱歉,我应该说清楚,我只有 Linux 发行版,所以没问题ext4。我只想要一个包含世界可读文件并在启动时自动挂载的分区。

答案1

NTFS确实有文件权限。您可以通过挂载选项压缩它们,或者使用一致的用户映射,或者使您的文件可供全世界访问。

如果您使用的文件系统的驱动程序不支持用户映射,您有多种选择:

  • 安排在所有操作系统上为相应用户提供相同的用户 ID。

  • 通过访问控制列表使文件可供全世界访问(这需要支持 ACL 的文件系统;ext[234] 可以,但您可能必须acl在 中添加 mount 选项/etc/fstab)。运行以下命令使目录树可供世界访问,并使将来在其中创建的文件可供世界访问:

    setfacl -m other:rwx -d -R .
    setfacl -m other:rwx -R .
    
  • 正常挂载文件系统并提供具有不同所有权或权限的文件系统的视图。这是可能的绑定文件系统, 例如:

    mount /dev/sdz99 /media/sdz99
    bindfs -u phunehehe /media/sdz99 /media/shared
    

    或者作为fstab条目:

    /dev/sdz99  /media/sdz99  auto  defaults  0 2
    bindfs#/media/sdz99  /media/shared  fuse  owner=phunehehe
    

NTFS 的优点是可以直接与 Windows 共享,不是 Windows 共享的要求

答案2

使用bindfs。简而言之,它向同一文件夹添加了更多所有者。它为您提供了更大的灵活性并且简单。 http://ubuntuforums.org/showthread.php?t=1460472

答案3

这是旧的,但发帖者编辑说他只运行 Linux 操作系统。 Windows和NTFS不涉及。制作一个通用的 Linux 数据分区非常有用且简单。创建一个 ext4 分区并将数据复制到其中。使用 #blkid 获取分区的 UUID,并使用 /home/user/data 等挂载点在 /etc/fstab 文件中创建一个条目。在每个发行版的 /etc/fstab 文件中创建相同的条目,并确保每个 /home/user 目录中存在安装点。我的看起来像这样,无论启动哪个发行版都会自动安装:

#Linux 的通用 ext4 数据分区仅位于 /dev/sdc2

UUID=7e265199-8184-48a6-a975-bef99dd88fc4 /home/jasmine/data ext4 默认值,user_xattr 0 0

有些人建议使用所有发行版共享的通用 /home,但这是一个坏主意。您的用户 .config 文件将全部合并到同一个主目录中。这可能会导致冲突或至少是混乱。最好在每个 Linux 操作系统中都有一个单独的 /home。如果您只将其用于 .config 文件,它不会很大。将您的数据放入单独的分区(或者更好的是单独的驱动器)并将其安装在 /home/user 中,如上所述。

答案4

您选择的文件系统取决于需要读取和写入文件系统的操作系统。

由于 Windows 本身不支持 EXT4,并且没有第三方产品允许 Windows 写入 EXT4,因此如果 Windows 是您需要共享对该数据的访问的操作系统之一,我将使用 NTFS 或 FAT32。

相关内容