fch*_*rca 7 linux freebsd dual-boot partition
我可以在 FreeBSD 和 Linux 之间共享哪些目录以及如何共享?特别是,我如何分别对 /usr/home 和 /home 进行重复数据删除?我想直接在两个系统之间共享一个分区可能会导致点文件冲突,所以这可能不是正确的解决方案。联合挂载共享分区是否合理?这样,我可以将点文件移动到每个操作系统的“/”分区中,并将其余文件共享到共享分区中。
我应该为共享主分区本身使用哪个文件系统?我有不到 2GB 的内存,所以我认为 ZFS 不会表现,从我读到的。也许ext2会做?还有更好的选择吗?编辑:Linux 中的写入 UFS 内核支持是否已经稳定?
操作系统挂载点 FS 大小(GiB;总计:~160GB) Linux / ext4 16 FreeBSD / ufs 16 共享/mnt/home/ ext2?~124 # 编辑:见下文 共享 - 交换 4
我应该做任何其他分区吗?这是一个没有“持久”服务器的工作站,但我可能会在 FreeBSD 中玩弄监狱。也许我应该为那些分区?
免责声明:我之前实际上没有使用过联合文件系统,并且一般来说是 BSD 的新手;随时提出更好的解决方案:)
编辑:如何在每个根分区中添加一个“dotfiles”树并联合挂载它?
FreeBSD 中的挂载点: / /mnt/家/ /usr/home/: /usr/dotfiles/ U /mnt/home/ # /usr/dotfiles/ 优先 示例内容: /usr/dotfiles/fchurca/: .cache .kderc /mnt/home/fchurca/: .vimrc development/ Documents/ # .vimrc 不是特定于平台的 /usr/home/fchurca: .cache .kderc .vimrc development/ Documents/
这样,它可以适用于盒子的所有(最多两个)用户。
您应该只共享数据分区。不要共享任何程序分区。
/home 很好,但要避免使用 bin、dev 等、usr、var、opt 以及除 home 之外的任何其他内容。
至于文件系统,它必须是两个内核都有驱动程序的东西。我不确定 BSD 的 ext 支持有多好,但 Linux 的 UFS 支持已经足够好了,这意味着您可能想坚持使用 UFS 或 MSDOS。只要两者都识别相同的交换分区类型(我相信他们会这样做,但我不确定),就可以共享交换分区。
而且,如果您要在操作系统之间共享分区,请不要做任何事情,例如尝试从另一个虚拟机中运行一个分区。操作系统需要对文件系统进行独占控制。两个不同的运行操作系统,它们都对一个分区具有独占控制权,这将导致真正快速的损坏。
我建议不要共享/home分区。问题是许多应用程序将它们的配置和数据存储在每个用户主目录的隐藏文件和目录中。您在两种环境(例如 gnome、kde、gtk、firefox、thunderbird、VirtualBox、wine 等)下不使用这些应用程序的相同版本的风险非常高。如果是这种情况,向上、向下或架构不兼容可能会弄乱这些文件并使这些应用程序不稳定,或者最坏的情况是您丢失数据。
我刚刚检查过,我的主目录中有一百多个这样的文件/目录。
$ ls -d ~/.??* | wc -l
119
Run Code Online (Sandbox Code Playgroud)
我建议创建一个专用的共享分区,例如挂载在 中/export/shared,并且在确定它们兼容后可能使用链接来共享特定的文件和目录。在任一端升级这些应用程序之前,请确保备份它们。
你可能会共享Documents,Download,Images,Music,Public和类似的标准或自定义目录,都位于你的$HOME。Desktop会有风险。ZFS 允许将这些目录存储在它们自己的文件系统中并使用它们自己的挂载点。在它们自己的文件系统中有两个主目录当然是可行的,一个用于 FreeBSD,一个用于 Linux,并且在两个主目录上都挂载共享子目录(文件系统)环回。在 Linux 上这将是一个-bind挂载,而在 BSD 上则是nullfs一个。您可能遇到的一个问题是,当您从一种操作系统切换到另一种操作系统时,可能不会自动导入 ZFS mool。我所做的解决方法是hostid在双方设置相同。