服务器之家:专注于服务器技术及软件下载分享
分类导航

服务器资讯|IT/互联网|云计算|区块链|软件资讯|操作系统|手机数码|百科知识|免费资源|头条新闻|

服务器之家 - 新闻资讯 - 软件资讯 - Wine 或将实现应用前缀的 reflink 支持

Wine 或将实现应用前缀的 reflink 支持

2021-07-26 22:33开源中国御坂弟弟 软件资讯

一直以来,Wine 坚持为每个应用创建一个新的前缀,许多系统文件被重复用于各个应用,从而占用许多额外的存储空间。例如在没有 Mono 或 Gecko 的 MinGW 构建的 Wine 中,新的 32 位前缀超过150MB,而 64 位前缀超过 300MB。

Wine 或将实现应用前缀的 reflink 支持

邮件列表显示,Wine 或将实现 reflink 支持,以节省存储空间。

Wine 或将实现应用前缀的 reflink 支持

一直以来,Wine 坚持为每个应用创建一个新的前缀,许多系统文件被重复用于各个应用,从而占用许多额外的存储空间。例如在没有 Mono 或 Gecko 的 MinGW 构建的 Wine 中,新的 32 位前缀超过150MB,而 64 位前缀超过 300MB。然而这些文件中的绝大部分都与 Wine 的中央 DLL 副本逐字节相同。

因此,开发者推出了该补丁集,通过 copy_file_range 系统调用在 Wine 中实现了 Reflink 支持。当底层文件系统支持 reflink 时,禁用 Mono 和 Gecko 的新前缀大小会减少到 1MB 以下。由此产生的 Wine 前缀与没有 reflink 的情况下创建的前缀是逐字节相同的,但磁盘占用空间更少。如果使用硬链接或符号链接,并像 winetricks 等应用程序一样写入一个系统文件,它将覆盖中央副本。

此外,开发者还说明了使用 copy_file_range 而不是 FICLONE 的原因,包括在 windows 中已被使用、允许内核加速以及在 FreeBSD 上被支持。同时指出,暂时不会预生成 Wine 前缀安装过程中动态生成的文件,包括 16 位的假 DLL 和清单文件。

显然,如果该补丁集能进入主线,系统将能支持安装更多的 Windows 应用。

延伸 · 阅读

精彩推荐