关于rrsync命令所属软件包及ARM64版本获取方式的咨询
关于rrsync命令所属软件包及ARM64版本获取方式的咨询
嗨,我来帮你捋清楚rrsync的相关问题哈!
首先解决你最关心的rrsync所属软件包问题:
- 在Debian/Ubuntu这类系统里,rrsync其实是
rsync包的一部分,但它不是编译出来的二进制程序,而是一个Perl脚本!很多人会误以为它是独立二进制,其实你去rsync的源码包的support目录里一找就能看到它。你用apt search rrsync搜不到太正常了,因为它根本没有单独的软件包,是跟着rsync源码一起发布的。 - 至于RHEL/CentOS 8这类系统,官方的rsync包确实没把这个脚本打包进去,这是因为编译打包的时候没把它包含进来。
再说说你要的ARM64版本获取方法,其实这里有个小惊喜——因为它是Perl脚本,完全不需要预编译的二进制!
- 你直接从rsync源码里把
support/rrsync这个脚本文件拿出来就行,不用编译,只要你的Android设备上有Perl环境就能跑。具体步骤大概是这样:- 找到rsync源码里的
support/rrsync文件,把它复制出来 - 上传到Android设备的某个可写目录,比如
/data/local/tmp/ - 给它加执行权限:
chmod +x /data/local/tmp/rrsync - 确保设备上有Perl解释器(如果没有,用Termux这类工具装一个,或者找个适合Android的Perl静态二进制就行)
- 找到rsync源码里的
- 如果你实在执着于要预编译的二进制版本(其实真的没必要啦),可以试试从Ubuntu/Debian的arm64版rsync包中提取。比如Ubuntu的arm64 rsync包里,rrsync脚本会被安装到
/usr/bin/rrsync,你下载对应的.deb包解压后就能拿到这个文件。
最后给你提个适配Android场景的小建议:
因为rrsync是用来限制SSH方式访问rsync的脚本,你需要在SSH服务器的配置里(比如用户的~/.ssh/authorized_keys文件)指定命令,格式大概是command="/path/to/rrsync /允许同步的目录",把这段加到对应的公钥前面,这样别人通过SSH连接rsync时就会被限制在你指定的目录里,更安全。另外要确保你的Android SSH服务器支持自定义命令执行,而且有足够的文件系统访问权限哦。
备注:内容来源于stack exchange,提问作者e-info128
相关产品推荐
相关产品推荐

