苹果从rsync切换到openrsync的要点

【2025-04-29 11:20:00AI Siri网最新消息】

苹果从rsync切换到openrsync的要点

由于许可协议的问题,macOS 系统中已经用 openrsync 替代了 rsync 命令行工具。理解这一变化背后的原因和影响,对很多开发者和系统管理员来说非常重要。

rsync 是一款存在了几十年的命令行工具,它允许用户通过互联网或本地网络,将文件和文件夹复制到远程计算机或从远程计算机复制文件。它的核心优势在于差异化同步,即在复制过程中,rsync 会比较源文件和目标文件,只传输发生变化的部分,从而显著减少网络传输的数据量,缩短复制所需时间。

最初由 Andrew Tridgell 和 Paul Mackerras 于 1996 年编写并发布,rsync 广泛应用于 UNIX、macOS、BSD、Linux 以及其他类 UNIX 操作系统,还可以通过 Cygwin、Grsync、SFU 等工具在 Microsoft Windows 系统中使用。

rsync 是免费且开源的,但它目前基于 GPL 3.0 或更高版本的许可协议发布,该协议存在一些限制。GPL(GNU General Public License)协议旨在保障软件的开源和自由使用,但其严格的“传染性”要求,对商业软件的集成带来了一定的挑战。

长期以来,macOS 都包含了 rsync,但最后一个官方版本是 2.6.9。原因在于,该版本是根据 GPL 2.0 许可协议发布的,该协议的限制性略低于 GPL 3.0。 尽管 rsync 3.x 已经发布,但由于涉及 GPL 3.0 的许可问题,Apple 选择不将其包含在 macOS 中,这体现了科技公司在开源软件选择上的谨慎态度。

作为替代方案,macOS 包含了一个名为 openrsyncrsync 变体,它由开发者 Kristaps Dzonsons 开发。 openrsyncrsync 类似,但采用 BSD 许可协议,这对于 Apple 来说更具灵活性。BSD 许可协议允许修改和重新发布代码,甚至可以用于商业目的,无需开源,这使得它成为商业公司更青睐的选择。

虽然 openrsync 实现了 rsync 的大部分功能,但它并非在所有功能上都与 rsync 完全一致。 要查看 macOS 终端应用程序中 openrsync 命令和选项的完整列表,请键入:

man openrsync 并按 Return 键。

要退出 man 系统,请在 Mac 键盘上键入 Command-ZCommand-Cq

即使在 macOS 15.x Sequoia 中,系统仍然附带 2.x 版本的 rsync,但如果在终端中键入:

rsync --version 并按 Return 键,你现在将看到:

openrsync: protocol version 29

rsync version 2.6.9 compatible

你可以在 kristapsdz 查看 Kristaps Dzonsons 的完整 GitHub 存储库。rsync 的开源版本的代码位于 GitHub 上的 RsyncProject

如果确实需要在 Mac 上安装 3.x 版本的 rsync(截至撰写本文时为 3.4.1),可以通过 Homebrew 来完成。 需要注意的是,通过 Homebrew 安装 rsync 3.x 将会破坏 macOS 文件系统中 Apple 对 openrsync 的链接。 这意味着, Homebrew 安装的版本会覆盖系统默认版本,需要谨慎操作。

OPByte 软件还构建了一个基于 GTK 库的 rsync GUI 前端,名为 Grsync 。 虽然很方便,但它已经有几年没有更新了,因此效果可能因人而异。

你还可以使用 Homebrew formula 安装 Grsync,名为 grsync

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,可联系本站进行二次审核删除:fireflyrqh@163.com。
Like (0)
Previous 2025年4月29日 上午7:28
Next 2025年4月29日 上午11:53

相关推荐