|
之前我就提过这样的建议,但是不知道是因为开发组的人员对pkgsrc不了解还是不赞同,始终没有比较权威的成员出来发表一下意见或见解。
因此今天我再次提出自己的建议:Magic Linux + PKGSRC。
希望有能力、又赞同这样的组合的朋友能够将它完善一下。
我的观点是:[code:1]
MGC现在的开发人员严重不足,加上美媒公司的成立,原先的主力开发人员都已经没有太多的时间顾及
MGC的后续开发(谁能够不吃饭做开发?先生存,然后才是毫无报酬的GNU/OpenSource!相信大家不会
有异议。),虽然发布了Magic Linux 2.0正式版,但是软件仓库严重空乏,GNOME的爱好者常常忍痛割爱,
舍MGC而顾其它。前不久GNOME-2.14的发布,GNOME爱好者为之兴奋不已,大幅度的速度提升,越来越强大的
功能和更加友好的操作。
不只是GNOME(它太有代表性了),还有许多非KDE环境的应用程序,大家都需要自己去下载和编译,遇上
依赖关系错综复杂的,只能叹息一声,“罢了罢了”,换个已经有了这个包的发行版用着吧。
MGC以良好的中文支持得到大家的喜爱。那么pkgsrc能否保证这样良好的中文支持呢?
个人认为,现在的情况是,软件本身的中文支持已经做得越来越好,即使碰到中文支持不好的软件,也可以
一改以往的维护整个软件包,而成为只维护patch。减少了许多的工作量。
所以我的观点就是,结合MGC优秀的中文支持,加上pkgsrc带来的丰富的软件仓库,大家可以舒服地使用
心爱的MGC了。
[/code:1]
什么是pkgsrc?pkgsrc有什么优点/特色?
[code:1]
简单地说,pkgsrc是NetBSD的软件包管理套件,与FreeBSD/OpenBSD中的ports系统类似。
[/code:1]
引用CU上该帖作者dennis2的一些观点(http://bbs.chinaunix.net/viewthread.php?tid=378862):
[code:1]
另外一个显著的不同是 NetBSD 的 pkgsrc。尽管它是从 FreeBSD 的 ports 派生的,
但在其后的演化中加入了许多新特性,比如用 buildlink 替代 DEPENDS,等等。与
FreeBSD 的 ports 比较,有这些不同:
- 软件安装的 prefix 是 /usr/pkg,而不是 /usr/local(当然如果你愿意,还可以把它变为 /usr/local)。
这样做的好处就是,从源码编译安装的软件仍然可以安装到 /usr/local,而不与 NetBSD 的 pkg 混在一起。
当然 FreeBSD 也可以把 prefix 设为不是 /usr/local,但不是所有的 package 都遵循,有的 package 使用
hardcode 的 prefix (/usr/local)。
- pkgsrc 把一个 software package 的不同的模块分解到不同的 pkg 里,这也是我比较喜欢 pkgsrc 的比较
重要的一点。比如说,对于 php4 这个 pkg,在 FreeBSD 下就需要在编译时选择编译哪些模块,如果安装以后
想要再增加新的模块(或去掉不用的模块),就需要重新编译。NetBSD 则不然,比如说你想安装 php4-mysql,
在安装 php4 后,再进入 /usr/pkgsrc/databases/php4-mysql,然后 make && make install 就可以了,其他
的 php4 模块也是如此。其他的例子还有 subversion,在 FreeBSD 下你或者安装 subversion,或者安装
subversion-python。在 pkgsrc 下,你可以安装 subversion-base,然后安装 py-subversion,还可以安装
ap2-subversion (apache2 的 webdav support),等等。在这一点上,我觉得 pkgsrc 有点象 Debian,把一个
软件包拆成不同的功能块,分别放在不同的 pkg 里面。
- pkgsrc 不仅可以在 NetBSD 上使用,也可以在各种不同的 Linux distribution, FreeBSD, OpenBSD,
Solaris, IRIX, AIX, Darwin (Mac OS X)。我个人就在 Linux 和 Solaris 上用过。
- pkgsrc 里的 pkg 虽然不如 FreeBSD 里面的多(因为要兼顾 NetBSD 支持的各种平台),但许多 missing 的
pkg 可以在 pkgsrc-wip (http://pkgsrc-wip.sourceforge.net/) 里面找到。wip 是 work in progress 的
意思,一个 pkg 在加入 pkgsrc 之前,要经过 wip。wip 里面的 pkg 大多数都能很好地支持 i386,所以在
i386 上可以作为 pkgsrc 的补充。比如 jdk14 (这个是 NetBSD native 的),pflkm 现在还都是在 wip 里面。
[/code:1]
pkgsrc的官方文档:
[code:1]
http://www.pkgsrc.org
http://www.netbsd.org/Documentation/pkgsrc/
[/code:1]
已有的LINUX+pkgsrc的发行版:VoltaLinux
VoltaLinux简介:
[code:1]
Voltalinux 是基于Slackware Linux的GNU/Linux发行,它采用NetBSD的pkgsrc包管理系统。该项目所提供的预先
编译好的发行能让用户体验Slackware Linux的简洁设计,以及5000多份(现在应该不止这个数了)可安装的NetBSD ports。
[/code:1]
这是一篇英文文章,详细讲述了如何在slackware上使用pkgsrc:
Slackware Linux with pkgsrc Packages
这是一篇中文的,详细讲述了如何在Debian上使用pkgsrc:
在 Debian 中使用基于源码的软件包管理
(PS:我在szlug(深圳Linux/Unix用户组)的聚会中有幸见到了该文作者,NetBSD的粉丝 ^_^)
介绍如何使用pkgsrc(中文):
http://home.educities.edu.tw/rxghome/netbsd/guide-gb/chap-pack.html |
|