诗意代码 – PoemCode

These codes, As beautiful as poetry!

use MacPorts with Subversion by HTTP

此前在Debian上习惯了apt/aptitude,有了它们,安装、卸载、依赖,这些繁琐的事情一下子简化了许多。切换到Mac OS X上以后,自然而然想到了MacPorts,虽然用法和apt/aptitude不同,但总觉得有些面熟。

MacPorts
MacPorts

今天在公司网络环境下,执行port selfupdate,竟然失败了,提示Couldn’t sync the ports tree。一番探究后明白,MacPorts默认使用rsync来同步数据,但是公司网络关闭了对外网873端口的访问,而这一端口正是rsync的默认端口。

如何解决这个问题?使用代理当然可以,但个人对代理无好感。

好在找到了另外一种方法:How to sync your ports tree using Subversion (over HTTP) ,以下的步骤就是这个方法的重演。

首先,进入MacPort目录,创建新目录:
cd /opt/local/var/macports/sources
mkdir -p svn.macports.org/trunk/dports

然后,进入新创建的目录,检出(checkout)文件:
cd svn.macports.org/trunk/dports
svn co http://svn.macports.org/repository/macports/trunk/dports/ .

接着,编辑/opt/local/var/macports/sources.conf,注释掉以下内容:
#rsync://rsync.macports.org/release/ports/ [default]

跟着,增加内容如下:
file:///opt/local//var/macports/sources/svn.macports.org/trunk/dports/ [default]

最后,执行:
port update

11 responses to “use MacPorts with Subversion by HTTP”

  1. […] 原文链接:http://www.poemcode.net/2011/02/macports-svn/ >>> 进入[Android2D游戏开发]主题文章列表 转载编辑: Fgamers 转载地址:http://disanji.net/2011/04/02/mac-use-macports-with-subversion-by-http/ 分享到 | blog comments powered by Disqus /* […]

  2. E.T.

    请问为什么svn co http://svn.macports.org/repository/macports/trunk/dports/ .这一步那么久都没弄完的?

    1. 这很大程度上取决于你的网速,首次checkout会耗比较久时间,之后sync就不会了。–如果需要设置代理服务器才能上网,那么别忘了修改macport.conf。

      1. E.T.

        好的。另外问问是不是要等SVN CO这步弄完,才会生成/opt/local/var/macports/sources.conf这个文件的?因为现在没发现有这个文件。

        1. 如果你使用的是最新的 MacPorts,则你说的那个文件应该是 /opt/local/etc/macports/sources.conf

  3. E.T.

    难怪了,找到了。另外SVN CO这步是必须的么?我是100M光纤,真的很慢,N个小时都没搞定,还在跑。能跳过么?

    1. SVN CO 这一步即便你自己跳过,也仍旧会被自动触发。除非你有特殊需求,否则我建议你使用RSYNC,也就是默认的方式,不必采用我文中的方式,具体可见 http://guide.macports.org/#installing.macports 。此外,建议你考虑选择国内镜像地址,毕竟官方同步地址是在境外,国际带宽资源还是比较稀缺的。

      1. E.T.

        是这样的,我用rsync同步了几个文件后就卡住了,一直不动,所以才想试试你这方法。

        1. 那建议你还是使用 RSYNC 吧,因为 SVN 方式,需要下载的数据量会更大。不过,好在只有第一次才会需要下载大量数据,以后都是增量下载的。

        2. E.T.

          —> Updating MacPorts base sources using rsync
          receiving file list … done
          base.tar

          sent 11356 bytes received 111 bytes 1764.15 bytes/sec
          total size is 3539456 speedup is 308.66
          receiving file list … done
          base.tar.rmd160

          sent 64 bytes received 116 bytes 51.43 bytes/sec
          total size is 512 speedup is 2.84
          MacPorts base version 2.1.1 installed,
          MacPorts base version 2.1.1 downloaded.
          —> Updating the ports tree
          Synchronizing local ports tree from rsync://rsync.macports.org/release/tarballs/ports.tar
          receiving file list … done
          ports.tar

          我之前试了几次都是进行到这里就卡住了,等下再试试RSYNC吧!

  4. E.T.

    今天RSYNC貌似很给力,卡一会就继续跑动了,跑了不到1个小时就更新完了,谢谢啊!

Leave a Reply

Your email address will not be published. Required fields are marked *