标签: Homebrew

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