rsync无法解析主机名:使用rsync安装TeXLive2018遇故障求助
解决慢/不稳定网络下用rsync同步TeX Live仓库的问题
嘿,我来帮你搞定这个rsync的报错!
先看看你之前执行的命令和遇到的报错:
$ rsync -a --delete http://ctan.math.illinois.edu/systems/texlive/tlnet /home/alhelal/Downloads ssh: Could not resolve hostname http: Name or service not known rsync: connection unexpectedly closed (0 bytes received so far) [Receiver] rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.0]
问题根源
你用了http://开头的地址,但rsync默认会把这个地址里的http当成要通过SSH连接的主机名——这就导致它去解析"http"这个不存在的主机,自然抛出了无法解析主机名的错误。
修正后的正确命令
把协议换成rsync专用的rsync://,再加上适配不稳定网络的关键参数,命令如下:
rsync -a --partial --progress --delete rsync://ctan.math.illinois.edu/systems/texlive/tlnet /home/alhelal/Downloads
重点参数解释(针对慢/不稳定网络)
-a:归档模式,会保留文件的权限、时间戳等所有属性,是同步目录的必备基础参数--partial:最关键的参数! 网络中断时不会删除未下载完的文件,下次运行命令可以直接续传,不用重新下载整个大文件--progress:显示实时下载进度,让你清楚当前的同步状态,不会摸不清节奏--delete:删除本地tlnet目录中远程镜像已经移除的文件,保证本地仓库和远程完全同步rsync://:rsync协议的正确前缀,这样rsync才能正确识别镜像地址,不会再把协议名当成主机名
额外优化建议(针对极端慢网络)
如果你的网络稳定性特别差,可以再加两个参数:
--bwlimit=1000:限制同步带宽为1000KB/s(可根据你的网络情况调整数值),避免占用全部带宽影响其他操作--timeout=60:设置超时时间为60秒,一旦连接中断超过60秒就自动重试
要是这个镜像连接还是不太顺畅,你可以换成官方主镜像的rsync地址:rsync://mirror.ctan.org/systems/texlive/tlnet
内容的提问来源于stack exchange,提问作者user9719859
相关产品推荐
相关产品推荐

