macOS给rsync升级版本

本来我就缺素材,能在这时候出这种问题真是我的福气

刚刚用 macOS 部署博客的时候,突然遇到了这个问题

嚯!正愁没素材呢,这素材不就来了吗(

根据报错,说的是 chmod 这一项是无效的,但我试了一下另一台电脑,这一项就是有效的。起初我还以为是「特性」,于是去 Google 了一下,根据这个提问,我确定了问题并不出在这里(笑

因为其给出的回答,还是报错(

这说明什么?说明是我们的问题,要从我们自己身上找原因 /doge

于是我就留意了一下版本号

macOS 上的 rsync 版本号:

rsync  version 2.6.9  protocol version 29

Copyright (C) 1996-2006 by Andrew Tridgell, Wayne Davison, and others.

而部署服务器上的 rsync 版本号:

rsync  version 3.2.3  protocol version 31

Copyright (C) 1996-2020 by Andrew Tridgell, Wayne Davison, and others.

乐,真从我们自己身上找出来原因了(

解决办法也就呼之欲出了,重新整一个 rsync 替换掉系统的 rsync 就行了

编译方法

由于我的电脑上编译 rsync 总是 openssl 错误,因此这部分略过(

通过 brew 安装

这部分很简单,在安装 brew 之后,直接通过 brew 来安装最新版本的 rsync

1
brew install rsync

安装之后重启下终端就可以了

此时 rsync 的版本号:

rsync  version 3.2.4  protocol version 31

Copyright (C) 1996-2022 by Andrew Tridgell, Wayne Davison, and others.

通过 where 这个命令,能够很方便的找到二进制文件的目录

1
2
3
leaoduan@Leao-Desktop ~ % where rsync
/usr/local/bin/rsync
/usr/bin/rsync

默认的 2.6.9 版本的 rsync 存放在 /usr/bin ,而通过 brew 安装的 rsync 存放在 /usr/local/bin

如果不方便用 brew 来安装的话,我也复制了一个二进制(3.2.4),在 #附件 中下载,然后运行下面的命令就行,然后重启下终端应该就能用上 3.2.4 版本的了(确信

1
2
chmod 755 rsync
sudo mv rsync /usr/local/bin/rsync

附件

  1. rsync-3.2.4

参考内容

虽然并没有在本文中用到

  1. rsync/INSTALL.md at master · WayneD/rsync (github.com)

  2. Mac OS X:升级rsync和同步应用实例_afatgoat的博客-CSDN博客_mac rsync

  3. macos - How to full (with all features - ACL support / Xattr support / xxhash library/ zstd library) install (compiling) rsync v3.2.3 on Mac? - Stack Overflow

  4. Mac OSX fatal error: ‘openssl/sha.h’ file not found – An Integrated World

  5. MacOS 安装rsync 3.0 以上版本 - Swack

  6. macOS: rsync版本3.1.2安装使用以及其他备份工具_afatgoat的博客-CSDN博客_mac 安装rsync

  7. Index of /ftp/rsync (samba.org)