使外部文件的链接表现为文件本身(即删除链接目标,而不是链接)

使外部文件的链接表现为文件本身(即删除链接目标,而不是链接)

我将 Arch 安装在一张磁盘空间相当有限的 SD 卡 (F2FS) 上。还有一个原始笔记本电脑的 NTFS Windows SSD 驱动器,具有更多的可用空间并且速度更快。

我想将使用 pacman 或 yay (AUR) 安装的 Linux 软件包的大文件移动到上述 NTFS 驱动器,以便 Linux 系统和应用程序可以将它们作为目标文件本身无缝访问。我可以简单地移动文件并放置软链接,但这将使系统保持在仅手动模式(即,一旦通过包管理器在包升级时重写包文件,链接就会被替换为实际的文件)更新的包;一旦文件被删除,只有链接被删除,目标文件仍然浪费 NTFS 驱动器上的空间等)。硬链接不满足这些功能集要求:它们不适用于不同的文件系统,并且它们使文件存在,除非存在最后一个硬链接,这与我实际需要的相反。

我可以在 Windows 10 中使用联结链接来执行此操作(我猜?),但是有没有与此功能等效的适当的 Linux?

答案1

我不会移动单个文件,而是尝试移动包含的目录。

假设一条路径像

/opt/foopackage/foo.bin

foo.bin您可以尝试/opt/foopackage整体移动并将其链接到 NTFS 卷,而不是链接到。

如果显示相同的行为,您可以尝试移动顶级目录(/opt在本例中)。

暂时编辑一下,我不完全确定这是否是一个好主意,因为 Linux Windows(以及扩展 NTFS)之间的权限模型差异可能会导致一些奇怪的情况(我在想事情是世界上可写或可执行的当他们不应该的时候)。

调整 NTFS 磁盘大小、为 Linux 本机格式卷创建空间以供 SD 映像操作系统安装/opt(或任何合适的方法)是另一个潜在的解决方案,感觉“更干净”。

相关内容