macOS 15(Intel 版本)修复 rsync 同步问题

macOS 15 (Intel 版本) 中,Apple 默认提供的 rsync 实际上是 openrsync 的一个版本。虽然它能完成基础同步任务,但与我们日常使用的、功能更强大的 GNU rsync参数兼容性、功能完整性上存在显著差异。这常常导致在执行复杂同步脚本或使用特定参数时遇到报错、同步失败或功能缺失等问题。

1. 安装功能完整的 GNU rsync

我们将使用 macOS 上最流行的包管理器 Homebrew 来安装官方的 GNU rsync。如果你还没有安装 Homebrew,请先进行安装。

打开终端,执行安装命令:

brew install rsync

等待安装完成。Homebrew 会将新安装的 GNU rsync 放置在标准路径下:

/usr/local/bin/rsync

2. 确认 GNU rsync 安装成功

安装完成后,我们必须验证当前使用的是否为我们需要的 GNU 版本

检查版本号

通过完整路径运行 rsync,检查其版本信息:

/usr/local/bin/rsync --version

此时的输出应该类似于:

rsync  version 3.x.x  protocol version 32

关键点: 如果你看到 rsync version 3.x.x,这就确认你成功安装了 GNU rsync,它拥有比系统自带 openrsync 更完整的功能集。

3. 永久切换默认 rsync 版本

虽然已经安装了 GNU rsync,但系统默认执行 rsync 命令时仍会优先调用 /usr/bin/rsync(即 openrsync)。为了避免每次都输入完整路径,我们需要修改 Shell 的 PATH 环境变量

修改 Shell 配置文件

编辑你的 Shell 配置文件。macOS 默认使用 zsh,所以我们编辑 ~/.zshrc

# 你可以使用 nano 或 vim 编辑器打开 ~/.zshrc 文件
# nano ~/.zshrc

在文件的末尾添加以下一行配置:

export PATH="/usr/local/bin:$PATH"

这行配置的目的是将 Homebrew 的安装路径(/usr/local/bin)移到环境变量的最前端,确保系统在查找 rsync 命令时,会优先使用我们安装的 GNU rsync。

激活配置并最终验证

保存文件后,执行 source 命令使配置在当前终端会话中立即生效:

source ~/.zshrc

最后,运行 which rsync 命令进行最终确认:

which rsync

输出应该是:

/usr/local/bin/rsync

这表明系统已默认使用 GNU rsync。可以放心地执行各种同步任务和备份脚本了!

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注