dennis2 回复于:2004-08-03 03:43:38 |
NetBSD 与 OpenBSD 更相似一些(其实应该反过来说才更确切)。就操作系统而言,我现在能想到的有这些区别(用即将推出的 2.0 版做比较):
- 没有 /stand/sysinstall,配置一般用命令行。有一个叫 sushi 的 program 是个菜单式的系统管理界面,但有些东西好像还不 work。 - 网卡的配置文件是 /etc/ifconfig.<if#>,<if#> 可以是 fxp0, xl0 等,每个网卡一个文件。 - Daemon 的启动用的是 NetBSD 的 rc.d 系统,该系统已经被 FreeBSD 5.x 采纳,所以如果用过 5.x 的话应该不陌生。 - 默认的 shell 是 csh (FreeBSD 用得实际上是 tcsh)。 - FreeBSD 用了 PAM,NetBSD 没有用,但 PAM 在 pkgsrc 里有。 - NetBSD 采用的 nsswitch,FreeBSD 好像没有。 - NetBSD 采用 raidframe,FreeBSD 采用 vinum。但这两者都已移植到了对方的系统。 - NetBSD 的防火墙采用 ipfilter,-current 里还加入了 OpenBSD 的 pf。在 NetBSD 2.0 里,可以采用 pkgsrc-wip 里的 pflkm 来加入 pf 的支持。FreeBSD 的防火墙诸位都应该比较熟悉了,我就不多说了。 另外一个显著的不同是 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 里面。 关于 pkgsrc,详见 http://www.pkgsrc.org 。 |
llzqq 回复于:2004-08-03 19:01:51 |
好,有一定的收获,谢谢 |
dennis2 回复于:2004-08-23 09:37:05 |
[quote:a8f4712135="dennis2"]......
比如说,对于 php4 这个 pkg,在 FreeBSD 下就需要在编译时选择编译哪些模块,如果安装以后想要再增加新的模块(或去掉不用的模块),就需要重新编译。NetBSD 则不然,比如说你想安装 php4-mysql,在安装 php4 后,再进入 /usr/pkgsrc/databases/php4-mysql,然后 make && make install 就可以了,其他的 php4 模块也是如此。 ......[/quote:a8f4712135] I'm glad to take my word back - as of php-4.3.8, those php modules were split into separate packages, which is very cool! |
cnhnln 回复于:2005-01-11 13:14:32 |
学习 |
delphij 回复于:2005-01-12 00:34:50 |
[quote:a7417174fa]- NetBSD 采用的 nsswitch,FreeBSD 好像没有。[/quote:a7417174fa]
FreeBSD有nsswitch [quote:a7417174fa]- NetBSD 采用 raidframe,FreeBSD 采用 vinum。但这两者都已移植到了对方的系统。[/quote:a7417174fa] RAIDFrame由于缺乏维护被删掉了:(目前有人正在做新的RAID系统 [quote:a7417174fa]- 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 里面。[/quote:a7417174fa] 目前FreeBSD也采用了类似的做法。 pkgsrc是好东西 :-) 看了bsd.*.mk才知道自己不会写Makefile... |
剑心通明 回复于:2005-01-12 08:11:04 |
回头装个NetBSD去 |
outcrop 回复于:2005-01-12 12:30:13 |
[quote:f1e74330c0="dennis2"]NetBSD 与 OpenBSD 更相似一些(其实应该反过来说才更确切)。就操作系统而言,我现在能想到的有这些区别(用即将推出的 2.0 版做比较):
- 没有 /stand/sysinstall,配置一般用命令行。有一个叫 sushi 的 progr..........[/quote:f1e74330c0] 受教! 只是很多还不知道是什么东西 :oops: |
dennis2 回复于:2005-01-12 17:09:30 |
[quote:693753d84f]FreeBSD有nsswitch[/quote:693753d84f]
对,这个我忽略了,FreeBSD 从 5.x 开始加入了 nsswitch 的支持。 [quote:693753d84f]RAIDFrame由于缺乏维护被删掉了:(目前有人正在做新的RAID系统[/quote:693753d84f] 是 FreeBSD 5.x 里面的 RAIDFrame 被删掉了吗?真是可惜 ... 5.3 下的 RAID 比较 confusing,好像与以前的版本不太一样了,用的好像是 GOEM 的 gvinum,可却没有 gvinum 的 man page :( ;而 GOEM 好像也有自己的 RAID (是不是你提到的正在做的新的 RAID 系统?)。我手里有一台 5.1 的 vinum 的系统,我都不敢升级,怕出问题。 [quote:693753d84f]目前FreeBSD也采用了类似的做法。[/quote:693753d84f] 嗯,这个我也注意到了(见我前面 4 楼的贴子)。不过,pkgsrc 现在更进了一步,它把 php4 和 php5 的模块合在一起了,就是说没有了 php4-mysql 和 php5-mysql,只有 php-mysql 了。具体装哪个版本的 php-mysql,根据已经安装的 php 版本来决定。 [quote:693753d84f]pkgsrc是好东西 :) 看了bsd.*.mk才知道自己不会写Makefile...[/quote:693753d84f] :) BSD 的 make 与 GNU 的 make 也有所不同(好像是 pmake),据说比 gmake 功能还要强大。 |
delphij 回复于:2005-01-13 01:14:58 |
gvinum的用法和vinum基本一样,不过5.3-R的有点毛病,如果一定要用建议用5.3-STABLE或等待下一个RELEASE。
RAIDFrame被删掉最主要的原因是没有人maintain,而NetBSD和FreeBSD的VM差别又很大,慢慢RAIDFrame就连编译都过不去了。目前看来6.0-RELEASE(大约6月左右)应该会有比较成型的新RAID实现。 GEOM目前有独立的RAID3(传说中用软件实现非常难的那种RAID...)但这应该不是最终的FreeBSD RAID。iSCSI支持不知道能不能赶得上6.0了 |