Archive

Posts Tagged ‘macports’

DarwinPorts

March 2nd, 2007 Sparkle No comments

因为使用Fink的时候,大部分时间都是用source编译,所以似乎没有太大的必要使用Fink了。DarwinPorts跟Fink的主要区别是,DarwinPorts比较像FreeBSD port,只能通过source编译软件包,相对来说比较正统,而且软件包比较丰富,版本也比较新。而Fink主要是能通过Binary安装软件包,但是实际使用上还是用source的多,因为Binary包实在太旧了,而且有些包其实没有Binary包的。另外也听说DarwinPorts还会根据mac的实际需求打一定的补丁。所以转向使用DarwinPorts了。

首先是卸载Fink,非常简单,rm -fr /sw就可以了,不用怀疑,正是Fink文档里面说明的。

然后就可以安装DarwinPorts了。首先要安装好Xcode,没有gcc怎么编译软件呢,随便一个版本的Xcode都可以,mac的网站上可以下载。然后下载DarwinPorts,有两种安装方式,dmg和tar.gz,如果你不是很懂的话,用dmg好了,不过dmg最后一步会明显定住,稍微等一下就行了,如果你还没有安装Xcode的话,那就不用等了,kill掉吧,我怀疑其实就是在编译DarwinPorts。如果你比较喜欢linux的安装方式,下载tar.gz解开,然后运行make & make install一下,具体查看文档吧。不过dmg和tar.gz安装的位置不一样,dmg是安装在/opt/local下面,并且帮你设置好path,独立开来反安装比较方便,rm了就可以了。而用tar.gz来安装的话,默认是安装到/usr/local,很有可能会跟其他软件乱搭在一起,不太好管理,当然你可以通过prefix来改变安装的位置,那是还得设置一下path。所以如果你没有特殊需求的话,用dmg是最好的方法。

安装好之后就开始使用了,DarwinPorts只提供命令行方式,但是提供了一个很好用的交互方式,由于我们需要用root权限来运行DarwinPorts,因此输入sudo port,然后键入你的密码,就能进入交互方式了。下面是一些常用的命令:
* help 查看帮助
* quit 退出交互
* install 安装软件包
* deps 查看软件包依赖
* sync 同步软件包信息到最新的
* selfupdate 更新DarwinPorts本身
* list 列出软件包
* search 查找软件包
* outdated 列出需要更新的软件包

更多的使用请查看文档吧。

Categories: 苹果 Tags: ,

Fink

February 27th, 2007 Sparkle No comments

Mac是一个Unix内核的操作系统,这使它可以使用\*nix下面大量的软件。当然你可以自己去下载每个软件source然后编译,但是包的依赖关系是相当麻烦的事情。其实已经有软件可以负责管理和编译\*nix软件,那就是DarwinPorts和Fink了。

DarwinPorts和Fink做的东西很类似,Fink类似Debian apt,而DarwinPorts类似FreeBSD port,相对来说,我是比较喜欢FreeBSD port的,其实Gentoo portage更好一些。

因为用DarwinPorts installer安装到最后一部总是定住不动(后来怀疑是因为没有装Xcode,反正装了Xcode之后就可以安装了),所以一直都是使用Fink,也因为Fink有个不错的GUI,FinkCommander。其实我之前都是用FinkCommander的,而且都是直接用Binary方式安装软件包。但是Binary包不是很新,例如svn只是1.2,mysql只是4.1。而且selfupdate老是不成功,提示没有dev-tools。查看Fink的文档,原来是依赖Xcode。于是上mac的网站拉了900M多的Xcode 2.4下来。安装完了发现dev-tools已经安装好的状态,于是运行fink selfupdate一把,发现很多软件包的版本都更新了,svn变成1.4了,mysql也有5.0,但是必须从source安装。

现在也习惯用命令行来使用Fink了,以下是Fink的常用命令:
* list 列出所有包,前面有i的是已经安装,有(i)是已经安装但是版本不是最新的
* list (package) 查找包
* selfupdate 更新包定义,包括source安装的包,最好先运行一次这个,而且Binary包其实都破旧的,建议都通过source来安装,需要Xcode
* install (package) 安装包,如果带有–use-binary-dist参数就是安装Binary包
* remove (package) 删除包
* update-all 更新所有已经安装的包,selfupdate之后就运行这个吧

更多的命令查看文档吧

Categories: 苹果 Tags: ,