对于Macports的selfupdate,通过macports安装包

时间:2015-09-21 11:34:06

标签: macports

`Macports selfupdate在安装了Xcode(6.2)和命令行工具的Mac OS 10.9.5上失败。我尝试过两个版本的macports,2.3.0和2.3.3。     $ port -v     MacPorts 2.3.0

1. Error is rsync fails to connect to sources on macports.org. I have the firewall turned off on the mac machine though. I was looking for https://rsync.macports.org/release/tarballs/base.tar  on browser, the path does not exist. It may the sources are not available for rsync to sync them to local system. please advise on how to perform port selfupdate.

$ sudo /usr/bin/port -v selfupdate
--->  Updating MacPorts base sources using rsync
rsync: failed to connect to rsync.macports.org: Connection refused (61)
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
Error: Error synchronizing MacPorts sources: command execution failed
To report a bug, follow the instructions in the guide:
http://guide.macports.org/#project.tickets
Error: /usr/bin/port: port selfupdate failed: Error synchronizing MacPorts sources: command execution failed

2. packages are not found using port command
$ sudo port -v install samba3
Error: Port samba3 not found

Thanks in advance.`

1 个答案:

答案 0 :(得分:0)

RSYNC不是HTTP,使用HTTP打开URL不会给您相同的结果,因为rsync.macports.org上的HTTP服务器不提供您请求的文件。

您的问题是http://trac.macports.org/wiki/FAQ#selfupdatefails的常见问题解答:

  

如果端口selfupdate无效或rsync服务器拒绝连接,我该怎么办?

     

首先尝试sudo port -d selfupdate以显示所有错误。如果与rsync服务器的连接失败,则可能会被防火墙或其他网络控制软件阻止。

     

某些防火墙(例如PeerGuardian)会阻止与某些公司IP地址的连接,以防止软件打电话回家"并侵犯了您的隐私。我们的主要rsync服务器由Apple Inc.托管。自我更新需要rsync连接才能下载文件,但这将被阻止。要解决此问题,您需要暂时禁用或列出rsync.macports.org。另一种方法是使用非Apple托管的another mirror

     

黑名单条目全部是Apple Inc的子网,即17.0.0.0/8。禁用此选项或为rsync.macports.org创建白名单例外。 PeerGuardian将过滤您的网络连接,即使它没有作为应用程序主动运行。通过在终端中键入以下命令,可以在运行selfupdate命令之前禁用PeerGuardian,但请确保在执行此操作之前停止与PeerGuardian关联的所有进程。

     

sudo kextunload -b xxx.qnation.PeerGuardian

     

如果您运行LittleSnitch,请为rsync(/usr/bin/rsync)创建一个规则,该规则允许连接到服务器主机名rsync.macports.org,端口873(rsync),协议6(TCP)。确保规则已启用。

     

如果无法通过防火墙,可以使用其他方法,这些方法更具手动性: