首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使设置了RSYNC_PROXY,rsync代理也不工作

即使设置了RSYNC_PROXY,rsync代理也不工作
EN

Stack Overflow用户
提问于 2012-08-07 15:45:58
回答 1查看 8.8K关注 0票数 1

我背后的http代理和一个想要更新and端口使用sudo port selfupdate。但它总是失败,并显示以下输出:

代码语言:javascript
复制
$ sudo port -d selfupdate
DEBUG: Copying /Users/simon/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences
DEBUG: MacPorts sources location: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
--->  Updating MacPorts base sources using rsync
rsync: getaddrinfo: rsync.macports.org 873: nodename nor servname provided, or not known
rsync error: error in socket IO (code 10) at /SourceCache/rsync/rsync-42/rsync/clientserver.c(105) [receiver=2.6.9]
Command failed: /usr/bin/rsync -rtzv --delete-after rsync://rsync.macports.org/release/tarballs/base.tar /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
Exit code: 10
DEBUG: Error synchronizing MacPorts sources: command execution failed
    while executing
"macports::selfupdate [array get global_options] base_updated"
Error: /opt/local/bin/port: port selfupdate failed: Error synchronizing MacPorts sources: command execution failed

显然,问题是rsync没有连接到服务器,所以我单独尝试了rsync,它给出了类似的结果。

代码语言:javascript
复制
$ sudo /usr/bin/rsync -rtzvvv --delete-after rsync://rsync.macports.org/release/tarballs/base.tar /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
opening tcp connection to rsync.macports.org port 873
rsync: getaddrinfo: rsync.macports.org 873: nodename nor servname provided, or not known
rsync error: error in socket IO (code 10) at /SourceCache/rsync/rsync-42/rsync/clientserver.c(105) [receiver=2.6.9]
_exit_cleanup(code=10, file=/SourceCache/rsync/rsync-42/rsync/clientserver.c, line=105): about to call exit(10)

我确实设置了我的RSYNC_PROXY环境变量,并且代理正在工作,但根据rsync的输出,它似乎没有使用我给它的代理,而是尝试直接连接。有人能帮上忙吗?谢谢!

这里有更多的信息,以备不时之需。

代码语言:javascript
复制
$ echo $RSYNC_PROXY
127.0.0.1:3128
$ curl -x localhost:3128 http://rsync.macports.org:873/
@RSYNCD: 30.0
$ uname -a
Darwin Simon-MP.local 12.0.0 Darwin Kernel Version 12.0.0: Sun Jun 24 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64 x86_64
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-08 10:30:03

问题解决了。

事实证明,sudo确实将RSYNC_PROXY环境传递给了rsync。要保留环境,sudo接受-E选项:

保留-E (保留环境)选项将覆盖sudoers中的env_reset选项(5)。仅当匹配的命令具有SETENV标记或在sudoers(5)中设置了setenv选项时,该选项才可用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11841398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档