我可以在 NTFS 分区上安装 Linux 程序吗?

Jos*_*e V 2 partitioning dual-boot ntfs

所以我知道您可以在具有 NTFS 分区的操作系统之间共享文件,但是我可以将 Linux 软件包/程序/软件安装到 NTFS 分区中,并且它们在 Linux 操作系统上可以正常工作吗?

我的情况:

  • 我有一个内存不足的 SSD。它有 Windows,我会将它分区为也有 Linux。我希望我可以为 Arch Linux 根 ( /)提供 20 GB 的空间,这就足够了。

  • 我有一个存储大文件和程序的硬盘,现在这里只有大的 Windows 程序,但我也想把大的 Linux 程序放在那里。

我知道 Linux 在/bin文件夹中存储二进制文件,所以我不确定,我是否在 HDD 中安装了一些东西,它会起作用。

这个答案意味着我需要在 HDD 内创建一个 ext4 分区才能在其中安装程序(或在其中存储程序数据)。

您可以在硬盘中创建一个 ext4 分区并将其挂载在/home/[your user name]/.wine
您可以根据需要在硬盘中创建一个单独的 Steam (ext4) 分区。

它还说:

只有“静态二进制”编译的程序可以安装(而不是复制)在 /home 的子文件夹中并且可以正常工作。

这似乎是我问题的答案,但我不确定这意味着什么。

Rod*_*ith 6

Unix/Linux 处理分区的方式与 Windows 方式有很大不同。在 Linux 中,大多数程序及其相关文件都有非常严格定义的位置,由它们的作者或打包者设置。通常情况下,程序二进制进去/bin/sbin/usr/bin,或/usr/sbin。共享库进入/lib/usr/lib。系统范围的配置文件进入/etc,用户特定的配置文件进入用户的主目录。根据文件类型,支持文件(图形、声音剪辑等)位于不同的位置。这都是在 Linux文件系统层次结构标准 (FHS) 中定义的。

FHS 中的大多数(但不是全部)目录可以选择拆分为单独的分区。因此,如果您有足够的知识(或好的建议)来预测有多少内容将进入特定目录,您可以通过将特定目录分配到特定磁盘上来将安装拆分到磁盘上。

您没有提供足够的信息让我知道您在特定目录中需要多少空间,但一般而言,大多数台式机/笔记本电脑 Linux 安装消耗大约 15-40 GB,不考虑用户数据。此类装置中真正的空间大吃大喝往往是大用户文件——数码照片、MP3 收藏、.iso图像文件,尤其是视频。这些都是用户文件,位于/home目录中。因此,/home当您需要调整 Linux 主分区的大小时,拆分通常是重中之重。除此之外,你可以分裂出像目录/var/tmp及其他; 但不知道很多更了解你的期望的配置,很难作出具体的建议。20 GB可能足以满足您的需求,一旦/home被拆分;但我不能确定。

OTOH,某些用途将大量文件放在其他地方。例如/var,某些类型的服务器上的目录树通常很大。您的问题暗示您可能正在安装用于 WINE 的 Windows 程序,这是通常规则的另一个例外——取决于您配置 WINE 的方式,这些二进制文件几乎可以放在任何地方。(就我个人而言,我不会安装很多与 WINE 一起使用的大程序,但这可能只是我。恕我直言,WINE 最好用于临时程序,最好用于小程序,而不是多个大程序。如果您需要要运行多个大型 Windows 程序,我建议在 Windows 中运行它们,而不是在 Linux 中。)

所有这些都是必要的背景知识,因此您可以理解为什么关于将 Linux 程序安装到 NTFS 的主要问题不是很有意义。Linux 程序以这样的方式分散,以至于在 NTFS 上完全安装大多数 Linux 程序的唯一方法是使用 NTFS 根 ( /) 文件系统,而根本行不通。原则上,你可能能够在某处对某些晦涩的子目录使用 NTFS;但是 Linux 倾向于在其许多目录中调整所有权和权限,因此即使您找到了一个可以使用 NTFS 的目录,当您安装一些新软件包时,这可能也不会成立。但是,如果您打算使用 WINE 安装大包,您可以为此目的留出一些目录,在那里安装一个 NTFS 分区,然后将 WINE 配置为使用该目录,就好像它是C:. AFAIK,从 WINE 运行的 Windows 程序可以从 NTFS 运行就好了。使用您的实际WindowsC:但是,以这种方式分区可能是不可取的;WINE 可能会对其配置进行一些不好的更改。(OTOH,我不是 WINE 专家,所以也许有一种方法可以合理安全地做到这一点。不过,共享操作系统启动分区总是至少有点风险。)

您可能会考虑解决 SSD 上有限空间的另一个选择是采用逻辑卷管理 (LVM)。该工具使您能够将多个分区(物理卷或 PV,在 LVM 中)组合成卷组(VG),然后将这些 VG 拆分为逻辑卷(LV)。一个优点是生成的 LV 的大小可以与 PV 不同,因此如果您有两个较小的分区,您可以将它们组合在一起并创建一个跨越它们的 LV。在您的情况下,这对于适合根 (/) 文件系统,例如,您拥有的 20 GB SSD 空间和 HDD 上的 10 GB 空间组合上的 30 GB。访问速度会变化很大,但这可能比将根 ( /) 文件系统完全放在 HDD 上要好。

另一种选择可能是使用bcache。这是一种将 SSD 用作硬盘的超大缓存的方法。我玩过 bcache,但我不是这方面的专家。声称它可以在更大的磁盘上产生接近 SSD 的速度。原则上,您可以将 SSD 上的 20 GB 空间用作硬盘上更大空间的缓存。