在 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。可以放心地执行各种同步任务和备份脚本了!
发表回复