freebsd升级port|FreeBSD和Linux到底有什么不同

|

『壹』 百度提问

什么是PHP? PHP是一种服务器端HTML-嵌入式脚本描述语言。 其最强大和最重要的特征是其数据库集成层,使用它完成一个含有数据库功能的网页是不可置信的简单。在HTML文件中, PHP脚本程序(语法类似于Perl或者c语言)可以使用特别的PHP标签进行引用, 这样网页制作者也不必完全依赖HTML生成网页了。由于PHP是在服务器端执行的, 客户端是看不到PHP代码的。 PHP可以完成任何CGI脚本可以完成的任务,但它的功能的发挥取决于它和各种数据库的兼容性。 PHP除了可以使用HTTP进行通信,也可以使用IMAP, SNMP, NNTP, POP3协议。 TOP FreeBSD 是一个在个人电脑上执行的操作系统,这些个人电脑包含 386, 486 跟 Pentium (SX 跟 DX 皆可)。 其他跟 Intel 相容的 CPU 如 AMD 跟 Cyrix 也被支援。 FreeBSD 提供你许多昂贵工作站才有的先进功能,这些特色包括: (Freelab注: FREEBSD现在不应认为是个人PC上一种OS,而应看作是X86平台上的一种 UNIX,其主要定位并不是面向个人PC。FreeBSD以其良好的高负荷稳定性,被众 多ISP,ICP选作各种Server的OS,而且Intel高端CPU Pentium Pro,至强更适合其发挥性能) 具有动态优先权的多任务(Preemptive multitasking) 以确保平顺的执行程式以及 公平地让应用程式以及使用者共享资源。 多使用者(Multiuser) 代表者许多人可以同时使用一个 FreeBSD 系统。 系统的 硬件周边(如印表机及磁带机)也可以让所有的 使用者适当地分享。 完整的 TCP/IP 网路功能 包含 SLIP, PPP, NFS 跟 NIS。这表示 FreeBSD 可以 容易地跟其他操作系统透过网路合作, 或是充当企业上的服务器,例如提供远端 文件共享(NFS) 及电子邮件 (e-mail) 等服务,或是让你的企业连上国际网路 (internet) 并提供 WWW, FTP, 路由(routing), 及防火墙(firewall, security) 等必备服务。 记忆体保护(Memory protection) 能确保一个使用者不能干扰其他人。而一个 应用程式也不能影响其他的程式。 FreeBSD 是一个完全 32 位元 的操作系统。 标准的 X 视窗系统 (X Window, X11R6) 提供良好的 图形使用者介面(GUI) 以便 在一般的 VGA 显示卡以及萤幕上使用, 并且提供完整的原始程式码。 能直接执行在其他操作系统 (如 SCO, BSDI, NetBSD, linux 跟 386BSD) 上编译的 (Binary) 程式。 数以千计 可以直接执行(ready-to-run) 的应用程式,可以在 FreeBSD ports 及 packages 中找到。 免去你上网路到处找软体的苦境。 数以千计其他网路上 容易移植(easy-to-port) 的应用程式。 FreeBSD 跟其他商业 版的 UNIX 系统在原始程式上是相容的 (source code compatible),顶多只需稍微 的修改。 需要时才置换的虚拟记忆体(Demand paged virtual memory 以及合并的虚拟记忆体 及文件缓冲区之快取功能(merged VM/buffer cache) 提供令人满意又有效率的应用 程式执行速度,尤其是执行那些大型的 应用软体时仍能让使用者轻松的控制而不至 於停摆。 动态共享函示库(Shared libraries) (有点像 MS-Windows 上的 DLL) 提供有效的 利用硬盘空间及记忆体。 完全相容的 C, C++ 跟 Fortran 开发工具及环境。 许多额外的程式语言也收集在 ports 跟 packages。 整个 FreeBSD 系统的 原始程式码(Source code) 让你能随心所欲的控制及修改 你的系统,让你避开让操作系统公司操控的命运。 大量又详尽的 线上文件 (包含其他 BSD 的文件). 还有其他更多的 ! FreeBSD 是基於 University of California at Berkeley 的 Computer Systems Research Group (CSRG) 小组所发展的 BSD 4.4-lite 而来的, 并且继续 BSD 系统的 发展。 由於先前 CSRG 将 4.4-lite 发展的很好, FreeBSD 专案继续投资无数的时间 致力於使 FreeBSD 达到更高的水准, 以及更好的效率,以符合实际应用上的需求。 正当许多商业版的操作系统 正挣扎的使 PC 上的操作系统具有新功能、高效能及实际 应用性的时候, FreeBSD 已经 具有这些条件了!! FreeBSD 的应用超乎你的想像,从软体开发到工厂的自动化, 从货物管理到卫星的远端 遥控,如果那些商业版软体能做的事, FreeBSD 也能做到,甚至更多。 FreeBSD 也能 有效地使用那些由研究中心 或大学所研发的高水准应用程式,这些应用程式通常只需要 花很少的钱 (甚至免费!) 就可以取得。 当然商业版的应用程式也可以买到,而且也有 越来越多的商业版应用程式可以使用。 因为 FreeBSD 的原始程式是公开的,您可以自行修改以符合您的任何需求,而这是那些 商业版操作系统所做不到的。 以下提供一些人们使用 FreeBSD 的例子(当然还有更多的 应用): 国际网路服务: FreeBSD 内建强劲的网路功能使它成为国际网路服务(如下例)的 理想平台: 文件服务器(FTP servers) Web服务器(World Wide Web servers) 地鼠资讯服务器(Gopher servers) 电子邮件服务器(Electronic Mail servers) 网路新闻服务器(USENET News) 电子布告栏服务器(Bulletin Board Systems) 还有其他更多元化的功能 …. 您可以容易地先用便宜的 386 PC 来执行 FreeBSD, 然后等您的公司规模变大了 以后再升级您的机器。 学术上的应用: 如果你是资讯领域的学生, 再也没有比使用 FreeBSD 能学到更多 操作系统、电脑组织、 及网路的方法了。 一些免费的 CAD,数学运算器,及图形 处理工具 对那些在电脑应用上有兴趣的人,能学到更多。 研究: 有了完整的原始程式码,FreeBSD 是研究操作系统及电脑科学的极佳环境。 免费的 FreeBSD 也使得在远端的合作小组 不必担心版权及系统开放性的问题,而能 自在的交流。 网路: 你如果需要 router、Name Server (DNS)或 安全的防火墙(Firewall), FreeBSD 可以轻易的将你没有用到的 386 或 486 PC 变身成为绝佳的服务器,甚至 具有过滤封包(packet-filter) 的功能。 X 视窗工作站: FreeBSD 是便宜 X 终端机的良策, 无论是使用免费的 XFree86 或是商业版的 X-Inside,都可以在 FreeBSD 上执行。 FreeBSD 不但可以充当远端 X 程式终端机, 也可以执行本地的 X 程式。 如果有一台中央服务器的话, FreeBSD 甚至可以经由网路开机(不需本地硬盘), 而变成更便宜且易於管理的 工作站。 开发软体: FreeBSD 拥有完整的程式开发工具,如 GNU C/C++ 编译器及除错器, 当然还有其他的程式语言。 http://cnsnap.cn.freebsd.org/zh_CN/about.html

『贰』 FreeBSD和Linux到底有什么不同

1. 要说区别和linux实在是貌合神离,看起来类似,其实是从设计思想上的不同。 linux也有成功的应用案例,只不过没有freebsd多就是了 最有名的就是google,全部是linux,实在让大家佩服的不得了2. FreeBSD是操作系统,Linux只是一个内核而已3. FreeBSD直接由Unix发展而来,Linux是仿Unix而写的。4. Freebsd是由几个人疯狂做出来的. Linux是由一个人疯狂做出来的.5. 这个问题的N种回答:高深的:FreeBSD,从unix移植到x86版的一群expert hacker Linux,从x86从零开始编写一个unix的一大群hacker架构的:FreeBSD是一个完整的系统架构 Linux拥有内核和各种五花八门的发行版历史的:FreeBSD曾经碰到过一些法律问题,阻碍了FreeBSD的顺利发展,正如Linux目前正在经历的一样防御的:FreeBSD在承受网络攻击方面,似乎比Linux更强壮洁癖的:FreeBSD的体系单一,比Linux的发行版机制更简单学习的:FreeBSD的体系更适合研究技术,而Linux则向所有的领域进发,甚至跑到mac/pda/汽车控制/宇航/电影等等。许可的:FreeBSD的BSD许可,你可以做任何事情,只需要事先大喊一声:“偶用了BSD技术”。而Linux的GPL需要你告诉别人你怎么做的。软件的:Linux在支持更多的软件特性上面具有优势(例如线程什么的),FreeBSD缓慢一些硬件平台的:NetBSD做的不错,Linux更加疯狂,甚至跑在ps2上外设的:Linux支持的外部设备更多安全的:OpenBSD是霸主,Linux追赶,不过大家似乎公认安全在人水平的:FreeBSD开发组成员平均教育水平更高,这与Linux质量好坏有关吗?传统的:FreeBSD在系统稳定性上比Linux更好,也许早就过时了。功绩的:FreeBSD最早实现了TCP/IP协议,在IPv4网络上优势无以伦比。未来的:FreeBSD:把Solaris/AIX/HP UNIX等优势都弄到x86上 Linux: 进入上述平台的领域实用的:FreeBSD在终端上具有传统的优势 Linux则在X体系以上获得了不少分数,足够冲击windows

『叁』 freebsd究竟怎样安装软件,怎样更新port

安装了 FreeBSD 后,您一定还会需要安装其它非 FreeBSD 内附的软件。在 FreeBSD 上安装软件有许多种方法,我们将一一为各位介绍。本章包含了下列软件安装必备的课题:各种安装方式的优缺点。传统上,要在一个 UNIX 系统上安装其它软件时,有几个步骤:下载该软件,有可能是 binary 档或是原始码。解压缩该档案,通常是以 tar 或 gzip 压缩的。如果所下载的是原始码,可能要先编辑一下 Makefile 或是执行 configure,接着再编译该软件。最后再测试与安装。当然,我们可以在 FreeBSD 上使用传统的方式来安装软件,但是还有更简单的选择。FreeBSD提供了 package 和 ports 这二种简单的安装软件方式。而 port 就是使用原始码来安装软件。我们只要进入 /usr/ports/ 里想要安装的软件目录中,打指令 make install 就可以完成安装了。FreeBSD 己经帮我们定义了安装该软件所须的步骤、所要求的其它套件。不管是 package 或是 ports,当安装的软件需要依靠其它软件才能继续安装时,它们会自动帮你安装该软件。所有安装好的软件都将记录在 /var/db/pkg 中,日后如果我们想要移除软件时,可以用一个简单的指令 pkg_delete 加上软件名称就可以了。package 的优点:一个己经编译过的压缩档通常比包含原始码的档案还要小。使用 pakcage 并不需要再做任何的编译动作,如果你的计算机速度很慢,在安装像 KDE、GNOME 等大型软件时,不用编译可以省下很多时间。使用 package 来安装软件时,你不必事先了解在 FreeBSD 上编译时所使用的软件及其过程。ports 的优点:package 为了要在多数的计算机执行,考虑兼容性问题,通常编译的比较保守。而使用 ports 你可以依自己的系统修改,例如选择使用 Pentium III 或是 Athlon 的处理器。在编译 package 时,就已经限制了该软件的功能,无法再依自己需求扩充。例如 Apache 这套软件就有许多的功能可以在编译时挂进来,使用 ports 来安装时,你可以依自己的需求来加以修改。我们可以经由更新 Port Tree 来使用较新的软件,而 package 通常只和系统一起 release。有些软件不允许使用 binary 文件的方式散播,只能下载原始码。有了原始码,你可以自己修改并加以应用。有的人喜欢拥有原始码,他们可以读它、从中学习。接着我们就针对 package 及 ports 来说明它们的使用方式。

『肆』 有谁知道如何安装配置安全的freeBSD还有php.ini怎么配置

我的FreeBSD5.3配置笔记(相同于5.4\6.0)接触FreeBSD时间不长,我发现配置FreeBSD对于象我这样的新手还是很有些困难,经过几天的研究取得了一点进展,现在我的配置方法写出来希望新手能少走一些弯路。1.安装完成配置xorg,命令如下:#Xorg -configure这时,当前目录下就多了一个xorg.conf.new的文件,把它cp到/etc/X11/下:#cp xorg.conf.new /etc/X11/xorg.conf然后,编辑xorgcfg -textmode,修改一下屏幕的分辨率.2.启动gnome在用户主目录下创建.xinitrc文件,加入以下内容:exec gnome-session#startx 即进入gnome3.启动KDE方法1:在用户主目录下创建.xinitrc文件,加入以下内容:exec startkde方法2:修改一下/usr/X11R6/1ib/X11/xinit/xinitrc文件拉到文件最后…看到..twm了吗…从这里起..后最后前面都加#吧..然后加上一句:startkde方法3:直接输入# echo "/usr/local/bin/startkde" >> ~/.xinitrc 就行了4.打开声音修改/boot/defaults/loader.conf将下面两项的NO改为YESsound_load="NO"snd_driver_load="NO"5.汉化图形界面1.安装kde-i18n-zh_CN:#cd /usr/ports/chinese/kde3-i18n-zh_CN#make install clean2.安装字体在/usr/X11R6/lib/X11/fonts/下建立TrueType目录将windows下的SIMSUN.TTC复制到TrueType目录双击SIMSUN.TTC,字体就安装好了3.更改语言环境为中国,简体中文4.在KDE的控制中心》外观和主题》字体 中修改字体为SIMSUN6.安装fcitx输入法1.通过ports安装fcitx#cd /usr/ports/chinese/fcitx#make install2.修改~/.xinitrc,添加:export LANG=zh_CN.eucCNexport LC_CTYPE=zh_CN.eucCNexport XMODIFIERS='@im=fcitx'fcitx&exec startkde6.#qtconfig然后选择–>Interface—>XIM Input Style 选Over the Spot(上面的复选框也选上)–>File–Save7.挂载windows分区并支持中文文件名1.建立挂载点,在/mnt/下建立文件夹C,D,E,F2.修改/etc/fstab文件,加入windows分区,并把分区挂载到刚才建好的目录上,设置权限为读写,语言为中文并自动挂载/dev/ad0s1 /mnt/C msdos rw,-L=zh_CN.eucCN,auto 0 0/dev/ad0s5 /mnt/D msdos rw,-L=zh_CN.eucCN,auto 0 0/dev/ad0s6 /mnt/E msdos rw,-L=zh_CN.eucCN,auto 0 0/dev/ad0s7 /mnt/F msdos rw,-L=zh_CN.eucCN,auto 0 08.激活鼠标滚轮修改/etc/xorg.conf在"Mouse"中加入Option "ZAxisMapping" "4 5"保存推出,重启X。9.调整屏幕偏移开个终端窗口运行xvidtune,调整好之后现不要退出,点一下那个“Show”按钮,终端窗口中会显示几行类似于这样的信息:hsync range 0: 31.50 – 48.50vsync range 0: 40.00 – 70.00"1024×768" 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync打开/etc/X11/XF86Config或者xorg.conf文件,找到Section "Monitor"段,在EndSection前面加入一行:# 这里填入上面显示的第3行信息,前面加上ModeLineModeLine "1024×768" 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync保存退出,重启X。FreeBSD配置:更新FreeBSD完成了安装、配置,FreeBSD基本上就算装完了。不过,目前为止没有哪个通用操作系统能够保证“bug-free”,FreeBSD也一样。在重新启动之后,我们需要做一些调整;并且,通过重新配置内核,我们可以得到一个更小、更快的操作系统。第一步要做的是同步源代码。FreeBSD是一套开放源代码的操作系统,它的全部源代码都可以通过cvsup与中央cvsup服务器,或它的某个镜像同步。cvsup是一个可选的package,同样的,它也可以从ports里面安装(/usr/ports/devel/cvsup和 /usr/ports/devel/cvsup-nogui)。考虑到许多应用程序都依赖X的库文件,在前面安装的部分我安装了它,并且直接安装了 cvsup的package。不过,如果你有足够的耐心去一个一个地make需要的ports,那么先安装ports collection,然后make cvsup-nogui也是一个不错的主意,尽管这需要比较长的时间。创建一个用于cvsup(1)的supfile,命名为stable-supfile:(default host中选定的cvsup服务器——ftp.bjpu.e.cn对访问的IP进行了限制,笔者只在北京工业大学校内使用过,因此如果您无法连接这个服务器,请尝试www.cn.freebsd.org,或cvsup.freebsd.org)*default host=ftp.bjpu.e.cn*default base=/usr*default prefix=/usr*default release=cvs tag=RELENG_4*default delete use-rel-suffixsrc-allports-all tag=.随后执行cvsup -g -L 2 stable-supfile这里需要稍微解释一下FreeBSD的几种版本。FreeBSD包括3类分支:-RELEASE,-STABLE和-CURRENT。FreeBSD 3.x、4.x和5.0是目前受到维护的版本,如果你期待稳定运行,那么,可以选择的最新版本将是FreeBSD 4.6-STABLE(如果你是在4.6.2-RELEASE发行之后更新的,那么它实际上比4.6.2-RELEASE新,并且,它正式的CVS tag是RELENG_4,即FreeBSD 4-STABLE)。那么,三类分支有什么区别呢?FreeBSD的开发是非常活跃的。系统中可能会随时引入一些新的特性。最新的代码是在-CURRENT分支中引入的。-CURRENT的修改非常频繁,每天都可能有数百处修改。使用-CURRENT分支的FreeBSD需要耐心和勇气,因为你的系统随时可能崩溃(随着FreeBSD 5.0开发尾声的接近,这种现象已经越来越少),make world也可能空手而归(没有人保证-CURRENT分支能够正常编译),此外,这个分支的性能也不好(因为调试的原因,这个分支引入了大量的调试选项,这意味着运行速度不会太快)。当然,正像它的名字那样,-CURRENT分支的版本也是最新的5.0,而且,一切FreeBSD的错误和漏洞的修正都是首先在-CURRENT分支引入的。目前,-CURRENT分支硕果仅存的只有FreeBSD 5-CURRENT(指定cvs tag时写“.”),这个分支包括了FreeBSD 5.0开发的最新进展。FreeBSD 5中将引入大量的新特性,包括核心级线程(目前FreeBSD中的线程支持仅限于用户级线程,这在多处理器的环境下性能不够好,当然,目前使用fork ()来支持的多进程线程模拟能够提供类似核心级线程的功能,但并不是所有的程序员都知道如何使用fork)、完整的Soft Updates(这一变化将提供更好的文件系统性能,同时提供更好的稳定性),等等。如果你有快速的Internet连接,一台或一些空余的机器(当然,不是生产用的服务器),并且希望为FreeBSD的开发作贡献,或者你关心操作系统的最新发展,那么,-CURRENT分支是最好的选择。此外,由于-CURRENT分支性能不好、稳定性不够等这些缺点,对于生产的服务器来说,通常运行的应该是FreeBSD-STABLE。如同它的名字那样, FreeBSD-STABLE的目的是“稳定地运行”。-CURRENT分支中的代码,在经过一段时间(通常是7到90天,但安全更新属于特例,通常会在几个小时)的验证之后,符合版本条件(有些新特性只能用于FreeBSD 5.0)的代码会被FreeBSD-STABLE吸收,这个操作称作MFC(Merge From -CURRENT,不是Microsoft Foundation Classes:P)。由于FreeBSD 5.0的第一个RELEASE至今仍然没有发布,因此,目前还没有5.0-STABLE。目前,FreeBSD-STABLE有两个版本,FreeBSD 3-STABLE和FreeBSD 4-STABLE,分别对应3.x和4.x的最新稳定版代码(对应的cvs tag分别是RELENG_3和RELENG_4)。由于版本的更新换代,其中3.x的-STABLE正在逐渐消亡。FreeBSD-STABLE每天平均会修改10个左右的文件。每隔一段时间,FreeBSD的发行工程组(Release Engineering Team)会对FreeBSD-STABLE的源代码树进行锁定。这段时间(目前的规定是30天,之前还有30天准备)内,所有的MFC操作都需要发行工程组的批准,因此,FreeBSD-STABLE在这个阶段基本不会引入任何新的特性。经过这段时间之后,发行工程组会在最后锁定ports树,并 build一份所有的package,之后,这份锁定的-STABLE,可能经过若干RC(Release Candidate),被命名为RELEASE,并制作光盘发行。顾名思义,-RELEASE的设计目标是“发行”。一个版本一旦RELEASE,那么他的功能就不会再增加了。此后的所有维护的目标都只有一个,那就是绝对稳定。如果你和-RELEASE分支同步,那么绝不会出现make无法通过的情况,而且,通常这也可以保证你的系统“绝对”稳定,因为它不会引入任何新功能(例如,4.6就是4.6,如果你想要4.6.2的功能,必须明确地指定4.6.2)。目前,FreeBSD有很多RELEASE版本,它们的cvs tag如下。我个人建议使用最新的4.6.2-RELEASE。对于多数人来说,-RELEASE是一个比较极端的选择。无论何时出现版本升级,如果你想跟进,那都必须修改supfile,如果你选择不跟进,那么就可能造成ports工作异常。如果经常更新,-RELEASE可以保证操作系统本身的安全性,但同其他分支一样,如果ports出了问题,那么也得一块 make,而既然这样,还不如使用-STABLE。如果你符合下面的条件,那么RELEASE分支可能比-STABLE分支更适合你* 你使用的软件对于操作系统的变化非常敏感,比如,它只能FreeBSD 4.5,而无法在4.6上运行;同时,你不打算采用它的更新版本,或者它的作者拒绝更新 * 操作系统的更新对于你来说没有任何意义,比如,你打算把FreeBSD当作一个相对固定的嵌入式操作系统来使用,例如,作为防火墙的一部分 * 更新会对你造成困扰,操作系统的绝大多数新特性对于你来说除了增加烦恼之外,不能带来任何其他东西。-并且,符合以下的全部条件- * 你每天察看FreeBSD,以及使用的全部软件的安全公告 * 你的Internet连接比较通畅目前我本人维护的所有主机,除了作为防火墙的那台之外,使用的都是FreeBSD-STABLE。一旦同步完源代码,就应该对整个系统进行更新。如果你没有每天察看安全公告的习惯,那就应该关心一下cvsup到底更新了哪些代码。nectar是目前 FreeBSD的Security Officer。如果你发现他一下子更新了许多代码,那么对你来说立即make world和kernel很可能是必需的。为了更新整个系统,在/usr/src中执行make world以及make kernel KERNCONF=内核配置文件名当然,也可以连起来执行:make world kernel KERNCONF=内核配置文件名如果你的计算机运行速度较慢,那么,对于基本系统的更新(相当于不包括库的一次world),可以用make most替代make world,但make world是一个不错的主意,因为它能够保证对C运行环境的改变应用到所有的程序中,如果修正的不是动态连接的C函数库,那么make world可以保证代码的一致性。make kernel是一个需要重新启动的操作。如果你的make world修改了系统的关键服务,那么最好也重新启动一下。我很少有耐心看完make world和kernel的执行,根据系统的运行速度不同,这需要一个小时到一天的时间,而且,不是所有的SSH客户端都能够长时间正确的执行,例如, SecureCRT的多个版本都有内存泄漏问题。为了解决这个问题,我用下面的命令来完成更新:make world kernel KERNCONF=内核配置文件名 clean > /var/log/world,out && reboot &这个命令能够记录更新的全过程,如果在什么地方编译失败,你可以很快地找到原因。对于多数人来说,由于后面的&&,只需要察看uptime就能知道便以是否成功。需要说明的是,FreeBSD的make world并不总能成功。有时需要修改一些环境变量才能成功完成make。为了保证make成功,在/usr/src中执行任何make操作之前,建议你看一眼UPDATING中是否有特殊的要求(这种要求并不是在FreeBSD Release的时候才会出现,很多时候他会在某个CURRENT中引入,然后随着MFC进入-STABLE分支),并且,在进行大的版本升级之前(跨 RELEASE,甚至主版本号),首先执行下面的命令mergemaster -p并在make world之后执行mergemaster -i运行mergemaster脚本需要一定的Unix配置知识,不过,由于配置文件中包含很多帮助信息,因此,只要master.passwd、group 这样的文件不出大问题(如果cvsup更新了master.passwd,那么就需要留神,因为master.passwd标准配置是root口令为空,这时需要用m来合并,而不是使用i安装),mergemaster并不会引入什么新的问题。前一条命令是更新make的配置(/etc/defaults/make.conf和/etc/make.conf)。对于多数人来说,除非进行跨版本升级,否则一般情况下是不需要这样做的。后一条命令是同步全部配置,并安装以前不存在的配置文件,而不进行提示。笔者曾经遇到过FreeBSD因为系统日期不正确而无法make的情况,因此,再次特别提醒大家,如果你的系统日期不正确,最好是用date命令修改一下,或者干脆用ntpdate或ntpd来同步时间。关于如何使用ntp,将在以后说明。以后我们将讲解FreeBSD内核的配置,以及如何配置make.conf来优化FreeBSD的编译结果。“简单的东西不容易出问题。”至理名言!事实上,削减操作系统中那些对你没用的功能是一件非常重要的事情。这不仅仅意味着一个更小的操作系统,占用更少的磁盘空间(现在的硬盘少说也有几十GB,几兆的空间根本就是九牛一毛),而且意味着你被攻击的可能性也更低——简而言之,你不需要担心操作系统中没有安装的模块存在问题会对你造成影响。这篇文章中,我们将一起对FreeBSD-i386的内核进行优化配置。这篇文章是针对FreeBSD4.7-STABLE写的,并且,FreeBSD 4.x的配置不会和这篇文章有太大出入。如果你要优化FreeBSD 5或FreeBSD 2/3的内核的话,则需要仔细参考它们的LINT文件了(后面将会提到)。[注意:FreeBSD 5.0预定将于2002年11月20日发布。FreeBSD的开发组非常重视发行版本的质量,并认为这比发行版本的计划还重要,但由于同样的原因,我们往往会发现FreeBSD实际发行的版本比预定计划晚一些,通常在半个月之内。FreeBSD 5.0作为FreeBSD近期最为重要的发行版本,很可能也会延后发表,但笔者个人认为无论如何我们在今年年底之前肯定是可以看到最终的发行版本的。 FreeBSD 5.0对系统进行了大量的修改,这一系列的文章将在FreeBSD 5.0发布当天发表针对5.0的修订版本,而现有版本将保留,但进入维护阶段,不再引入新的内容。]FreeBSD的源代码可以直接从中央cvsup服务器同步,也可以作为系统的一部分在安装的时候一兵装上。前面已经说过如何同步源代码,在此不再赘述。 FreeBSD的源代码(通常在/usr/src)包含建造基本系统的全部代码,而在/usr/src/sys中则有若干个目录,对应不同的计算机体系结构(4.x只支持i386和alpha)。i386是一个泛指的名字,包含了与Intel 80386兼容的所有机器,并不是特指80386。简单介绍一下FreeBSD的内核文件。在4.x系统中,/kernel这个文件是默认的内核,通常正常启动使用的就是它。 /kernel.GENERIC这个文件是兼容性较强的内核,如果/kernel无法引导系统,就得靠这个文件来引导。/kernel.old是本次make kernel之前的内核,通常如果你的kernel坏掉,也可以考虑使用/kernel.old来引导系统。/moles/是内核的模块,而/moles.old/是对应/kernel.old的模块。这些文件在每次替换kernel的时候都会同时替换。在5.0中,内核以及内核的模块都被保存在/boot/kernel中。在/usr/src/sys/i386/conf中有两个配置文件,GENERIC和LINT。其中GENERIC是make kernel的默认配置文件,直接make kernel生成的是GENERIC内核,但安装时命名为/kernel。系统在安装时会安装一个kernel.GENERIC,以后,这个文件不会跟随系统的make kernel更新,因此,如果你认为这个文件有必要更新的话,需要手工make kernel,并把/kernel改名为kernel.GENERIC。当然,通常并不需要这样做。LINT是包括几乎所有内核编译配置详细信息的文件。这个配置并不是用来真正建立kernel的,他的主要用途是向用户展示可用的内核编译配置。在修改内核编译配置时,最好先参考这个文件。为了配置自己的内核,应将GENERIC复制为一个另外的文件。习惯上这个文件和主机名相同。例如,我把自己的这台Web机器命名为apache.intranet.frontfree.net,就把配置文件命名为APACHE:cd /usr/src/sys/i386/confcp GENERIC APACHE随后,用ee APACHE编辑它。我们拿一个实际的GENERIC文件来说明。为了节省篇幅,这个文件头上的注释被删掉了一部分。machine i386 # 体系模型为i386cpu I386_CPU # 支持80386cpu I486_CPU # 支持80486cpu I586_CPU # 支持Pentiumcpu I686_CPU # 支持Pentium Pro以及更高ident GENERIC # 内核文件的名字maxusers 0 # 自动检测同时允许的最大用户数#makeoptions DEBUG=-g # 包含调试符号。通常只有current版本打开options MATH_EMULATE #支持协处理器模拟options INET #支持互联网options INET6 #IPv6通讯协议options FFS #伯克利快速文件系统options FFS_ROOT #FFS作为根设备[必须保留]options SOFTUPDATES #打开FFS soft updates支持options UFS_DIRHASH #提高大型目录的支持options MFS #内存文件系统options MD_ROOT #MD作为根设备options NFS #Network Filesystemoptions NFS_ROOT #NFS作为根设备(需要NFS)options MSDOSFS #MSDOS文件系统options CD9660 #ISO 9660文件系统(光盘)options CD9660_ROOT #CD-ROM作为根设备(需要CD9660)options PROCFS #进程文件系统options COMPAT_43 #兼容4.3BSD[必须保留]options SCSI_DELAY=15000 #检测SCSI设备前的延时(ms)options UCONSOLE #用户可以夺取控制台options USERCONFIG #boot -c编辑器 editoroptions VISUAL_USERCONFIG #菜单式boot -c编辑器options KTRACE #ktrace(1)支持options SYSVSHM #SYSV-风格的共享内存options SYSVMSG #SYSV-风格的消息队列options SYSVSEM #SYSV-风格的信号量(semaphores)options P1003_1B #Posix P1003_1B实时扩展options _KPOSIX_PRIORITY_SCHEDULINGoptions ICMP_BANDLIM #对恶意ICMP请求进行限制options KBD_INSTALL_CDEV # 在/dev安装一个CDEV设备# 下面两项在制作对称多处理器(SMP)内核时需要#options SMP #对称多处理器内核#options APIC_IO #对称(APIC) I/Odevice isadevice eisadevice pci# 软驱device fdc0 at isa? port IO_FD1 irq 6 drq 2device fd0 at fdc0 drive 0device fd1 at fdc0 drive 1## 如果使用东芝Libretto以及他的Y-E Y-E Data PCMCIA软驱# 不要使用上面的fdc0,而应使用#device fdc0# ATA以及ATAPI设备device ata0 at isa? port IO_WD1 irq 14device ata1 at isa? port IO_WD2 irq 15device atadevice atadisk # ATA 磁盘驱动器(IDE硬盘)device atapicd # ATAPI 光驱device atapifd # ATAPI 软驱device atapist # ATAPI 磁带机options ATA_STATIC_ID #静态设备编号# SCSI控制器device ahb # EISA AHA1742 familydevice ahc # AHA2940 板载AIC7xxx设备device amd # AMD 53C974 (Tekram DC-390(T))device isp # Qlogic familydevice ncr # NCR/Symbios Logicdevice sym # NCR/Symbios Logic (较新的芯片组)options SYM_SETUP_LP_PROBE_MAP=0x40# 使用ncr可以在配置了sym和ncr的情况下挂接旧的NCR设备device adv0 at isa?device adwdevice bt0 at isa?device aha0 at isa?device aic0 at isa?device ncv # NCR 53C500device nsp # Workbit Ninja SCSI-3device stg # TMC 18C30/18C50# SCSI 外设device scbus # SCSI 总线(如果使用SCSI设备,必须有)device da # Direct Access (硬盘)device sa # Sequential Access (磁带,等等)device cd # CDdevice pass # Passthrough device (直接 SCSI 访问)# 通过SCSI子系统接口的RAID控制器device asr # DPT SmartRAID V, VI and Adaptec SCSI RAIDdevice dpt # DPT Smartcache – See LINT for options!device iir # Intel Integrated RAIDdevice mly # Mylex AcceleRAID/eXtremeRAIDdevice ciss # Compaq SmartRAID 5* series# RAID控制器device aac # Adaptec FSA RAID, Dell PERC2/PERC3device aacp # SCSI passthrough for aac (requires CAM)device ida # Compaq Smart RAIDdevice amr # AMI MegaRAIDdevice mlx # Mylex DAC960 familydevice twe # 3ware Escalade# atkbdc0 控制键盘和PS/2鼠标device atkbdc0 at isa? port IO_KBDdevice atkbd0 at atkbdc? irq 1 flags 0x1device psm0 at atkbdc? irq 12device vga0 at isa?# 启动画面和屏幕保护程序pseudo-device splash# syscons 是默认的控制台驱动,类似SCO控制台device sc0 at isa? flags 0x100# 对于pcvt vt220控制台,启用这个和PCVT_FREEBSD#device vt0 at isa?#options XSERVER # 在vt控制台支持X服务器#options FAT_CURSOR # 使用大光标# 如果你是用ThinkPad,将下面的一行和其他PCVT相关设备的注释去掉#options PCVT_SCANSET=2 # IBM使用非标准键盘# 浮点运算支持 – 请勿禁用device npx0 at nexus? port IO_NPX irq 13# 电源管理支持device apm0 at nexus? disable flags 0x20 # Advanced Power Management# PCCARD (PCMCIA) 支持device carddevice pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable# 串口(COM)device sio0 at isa? port IO_COM1 flags 0x10 irq 4device sio1 at isa? port IO_COM2 irq 3device sio2 at isa? disable port IO_COM3 irq 5device sio3 at isa? disable port IO_COM4 irq 9# 并口device ppc0 at isa? irq 7device ppbus # 并口总线 (所有并口设备都需要)device lpt # 打印机device plip # 并口TCP/IPdevice ppi # 并口接口设备#device vpo # 需要scbus和da# PCI 以太网适配器device de # DEC/Intel DC21x4x (“Tulip'')device em # Intel PRO/1000 adapter Gigabit Ethernet Card (“Wiseman'')device txp # 3Com 3cR990 (“Typhoon'')device vx # 3Com 3c590, 3c595 (“Vortex'')# 使用公共的MII总线控制器代码的PCI以太网适配器# 注意:一定要保留'device miibus'以确保可用device miibus # MII总线支持device dc # DEC/Intel 21143 and various workalikesdevice fxp # Intel EtherExpress PRO/100B (82557, 82558)device pcn # AMD Am79C97x PCI 10/100 NICsdevice rl # RealTek 8129/8139device sf # Adaptec AIC-6915 (“Starfire'')device sis # Silicon Integrated Systems SiS 900/SiS 7016device ste # Sundance ST201 (D-Link DFE-550TX)device tl # Texas Instruments ThunderLANdevice tx # SMC EtherPower II (83c170 “EPIC'')device vr # VIA Rhine, Rhine IIdevice wb # Winbond W89C840Fdevice xl # 3Com 3c90x (“Boomerang'', “Cyclone'')device bge # Broadcom BCM570x (“Tigon III'')# ISA以太网适配器# 'device ed' 需要 'device miibus'device ed0 at isa? port 0x280 irq 10 iomem 0xd8000device exdevice epdevice fe0 at isa? port 0x300# Xircom Ethernetdevice xe# PRISM I IEEE 802.11b wireless NIC.device awi# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really# exists only as a PCMCIA device, so there is no ISA attachment needed# and resources will always be dynamically assigned by the pccard code.device wi# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP# mode (the factory default). If you set the switches on your ISA# card for a manually chosen I/O address and IRQ, you must specify# those parameters here.device an# The probe order of these is presently determined by i386/isa/isa_compat.c.device ie0 at isa? port 0x300 irq 10 iomem 0xd0000#device le0 at isa? port 0x300 irq 5 iomem 0xd0000device lnc0 at isa? port 0x280 irq 10 drq 0device cs0 at isa? port 0x300device sn0 at isa? port 0x300 irq 10# 伪设备 – 数字表示分配多少个pseudo-device loop # 环回网络pseudo-de

『伍』 什么是FreeBSDFreeBSD

FreeBSD是操作系统FreeBSD 是一个在个人电脑上执行的操作系统,这些个人电脑包含 386, 486 跟 Pentium (SX 跟 DX 皆可)。 其他跟 Intel 相容的 CPU 如 AMD 跟 Cyrix 也被支援。 FreeBSD 提供你许多昂贵工作站才有的先进功能,这些特色包括: (Freelab注: FREEBSD现在不应认为是个人PC上一种OS,而应看作是X86平台上的一种 UNIX,其主要定位并不是面向个人PC。FreeBSD以其良好的高负荷稳定性,被众 多ISP,ICP选作各种Server的OS,而且Intel高端CPU Pentium Pro,至强更适合其发挥性能) 具有动态优先权的多任务(Preemptive multitasking) 以确保平顺的执行程式以及 公平地让应用程式以及使用者共享资源。 多使用者(Multiuser) 代表者许多人可以同时使用一个 FreeBSD 系统。 系统的 硬件周边(如印表机及磁带机)也可以让所有的 使用者适当地分享。 完整的 TCP/IP 网路功能 包含 SLIP, PPP, NFS 跟 NIS。这表示 FreeBSD 可以 容易地跟其他操作系统透过网路合作, 或是充当企业上的服务器,例如提供远端 文件共享(NFS) 及电子邮件 (e-mail) 等服务,或是让你的企业连上国际网路 (internet) 并提供 WWW, FTP, 路由(routing), 及防火墙(firewall, security) 等必备服务。 记忆体保护(Memory protection) 能确保一个使用者不能干扰其他人。而一个 应用程式也不能影响其他的程式。 FreeBSD 是一个完全 32 位元 的操作系统。 标准的 X 视窗系统 (X Window, X11R6) 提供良好的 图形使用者介面(GUI) 以便 在一般的 VGA 显示卡以及萤幕上使用, 并且提供完整的原始程式码。 能直接执行在其他操作系统 (如 SCO, BSDI, NetBSD, Linux 跟 386BSD) 上编译的 (Binary) 程式。 数以千计 可以直接执行(ready-to-run) 的应用程式,可以在 FreeBSD ports 及 packages 中找到。 免去你上网路到处找软体的苦境。 数以千计其他网路上 容易移植(easy-to-port) 的应用程式。 FreeBSD 跟其他商业 版的 UNIX 系统在原始程式上是相容的 (source code compatible),顶多只需稍微 的修改。 需要时才置换的虚拟记忆体(Demand paged virtual memory 以及合并的虚拟记忆体 及文件缓冲区之快取功能(merged VM/buffer cache) 提供令人满意又有效率的应用 程式执行速度,尤其是执行那些大型的 应用软体时仍能让使用者轻松的控制而不至 於停摆。 动态共享函示库(Shared libraries) (有点像 MS-Windows 上的 DLL) 提供有效的 利用硬盘空间及记忆体。 完全相容的 C, C++ 跟 Fortran 开发工具及环境。 许多额外的程式语言也收集在 ports 跟 packages。 整个 FreeBSD 系统的 原始程式码(Source code) 让你能随心所欲的控制及修改 你的系统,让你避开让操作系统公司操控的命运。 大量又详尽的 线上文件 (包含其他 BSD 的文件). 还有其他更多的 ! FreeBSD 是基於 University of California at Berkeley 的 Computer Systems Research Group (CSRG) 小组所发展的 BSD 4.4-lite 而来的, 并且继续 BSD 系统的 发展。 由於先前 CSRG 将 4.4-lite 发展的很好, FreeBSD 专案继续投资无数的时间 致力於使 FreeBSD 达到更高的水准, 以及更好的效率,以符合实际应用上的需求。 正当许多商业版的操作系统 正挣扎的使 PC 上的操作系统具有新功能、高效能及实际 应用性的时候, FreeBSD 已经 具有这些条件了!! FreeBSD 的应用超乎你的想像,从软体开发到工厂的自动化, 从货物管理到卫星的远端 遥控,如果那些商业版软体能做的事, FreeBSD 也能做到,甚至更多。 FreeBSD 也能 有效地使用那些由研究中心 或大学所研发的高水准应用程式,这些应用程式通常只需要 花很少的钱 (甚至免费!) 就可以取得。 当然商业版的应用程式也可以买到,而且也有 越来越多的商业版应用程式可以使用。 因为 FreeBSD 的原始程式是公开的,您可以自行修改以符合您的任何需求,而这是那些 商业版操作系统所做不到的。 以下提供一些人们使用 FreeBSD 的例子(当然还有更多的 应用): 国际网路服务: FreeBSD 内建强劲的网路功能使它成为国际网路服务(如下例)的 理想平台: 文件服务器(FTP servers) Web服务器(World Wide Web servers) 地鼠资讯服务器(Gopher servers) 电子邮件服务器(Electronic Mail servers) 网路新闻服务器(USENET News) 电子布告栏服务器(Bulletin Board Systems) 还有其他更多元化的功能 …. 您可以容易地先用便宜的 386 PC 来执行 FreeBSD, 然后等您的公司规模变大了 以后再升级您的机器。 学术上的应用: 如果你是资讯领域的学生, 再也没有比使用 FreeBSD 能学到更多 操作系统、电脑组织、 及网路的方法了。 一些免费的 CAD,数学运算器,及图形 处理工具 对那些在电脑应用上有兴趣的人,能学到更多。 研究: 有了完整的原始程式码,FreeBSD 是研究操作系统及电脑科学的极佳环境。 免费的 FreeBSD 也使得在远端的合作小组 不必担心版权及系统开放性的问题,而能 自在的交流。 网路: 你如果需要 router、Name Server (DNS)或 安全的防火墙(Firewall), FreeBSD 可以轻易的将你没有用到的 386 或 486 PC 变身成为绝佳的服务器,甚至 具有过滤封包(packet-filter) 的功能。 X 视窗工作站: FreeBSD 是便宜 X 终端机的良策, 无论是使用免费的 XFree86 或是商业版的 X-Inside,都可以在 FreeBSD 上执行。 FreeBSD 不但可以充当远端 X 程式终端机, 也可以执行本地的 X 程式。 如果有一台中央服务器的话, FreeBSD 甚至可以经由网路开机(不需本地硬盘), 而变成更便宜且易於管理的 工作站。 开发软体: FreeBSD 拥有完整的程式开发工具,如 GNU C/C++ 编译器及除错器, 当然还有其他的程式语言。

『陆』 Freebsd 系统和linux有很大的差距吗能不能说说主要的区别。

Linux的标志是一只十分可爱的小企鹅,而FreeBSD的标志是一个拿着叉子的小恶魔。你是否经常会听到人们把 Linux及 BSD 系统混为一谈?是的,我有时会经常听到一些新手,甚至于媒体都这么说。当然,事实上这两者确实有很多相似之处,比如它们都是基于 Unix演变而来,而且基本上这两类系统都是由非盈利组织及团队开发,另外我更想说的是,这两个系统都有一个共同的目标 哪就是创建最有用、最可靠的操作系统。不过话说回来,这两个系统确实存在着明显的差异,当人们忽略这点的时候,整个 BSD 社区都会感到异常的愤怒,因此我们也可以经常看到 BSD 社区人员或 BSD 用户会对 Linux不屑一顾。因此,我会尽我所能来帮助我的 BSD 的弟兄们,让更多的人了解到 Linux与 BSD 的不同之处在哪里。1、许可证正如我们所知道的,Linux操作系统是基于 GPL 许可证授权下的。该许可证可防止开源软件被转换为封闭源代码软件及确保源代码的可用性。 GPL 许可证的目的就是防止二进制包成为唯一的软件发行源。而 BSD 许可证的限制则要少得多,它甚至允许二进制包成为唯一的发行源。这就是核心差异,可这样理解:GPL 许可证让您有权拥有任何你想要使用该软件的方法,但你必须确保提供源代码给下一个使用它的人(包括你对它的改变部分)。而 BSD 许可证并不是要求你必须那么做。( 译者注:这里分别是维基网络上对 BSD 及 GPL 许可证的解释)2、代码控制BSD 的代码不是被控制在任何一个人手里,而 Linux的内核基本上被 Linus Torvalds ( Linux创始人)所控制,BSD 并没有单一的人来说什么可以或什么不可以进入代码。相反,BSD 通过一个核心小组” Core Team”来管理该项目,这个核心小组比非核心小组有更多的发言权来指导 BSD 社区的发展方向,(注:而据我所知,FreeBSDD 核心小组的成员会每两年选举一次。)3、内核vs 操作系统BSD 项目维护的是整个操作系统,而 Linux则只是主要集中在单一的内核上面。这点确实是需要注意的,虽然这两个系统上都运行着许多相同的软件。4、UNIX-Like这里有一个关于 BSD vs Linux的古老说法:” BSD is what you get when a bunch of UNIXhackers sit down to try to port a UNIX system to the PC. Linux is what you get when a bunch ofPC hackers sit down and try to write a UNIX system for the PC “,这里表达了很多。你会发现BSD 系统更为类似于 UNIX ,而事实上它就是传统 UNIX 的直接衍生品。而 Linux,则是一个松散的基于 UNIX 衍生品( Minix)而新创建的一个 OS 。5、基本系统这是一个关于 BSD 与 Linux 之间差异的至关重要的理念。 Linux的”基本系统”是并不真正存在的,许多人会说,Linux的基本系统就是内核,但问题是如果没有任何可用的应用程序的话,那么这个内核是完全没有价值的。而另一方面,BSD 则有一个包括众多工具的基本系统,甚至 libc 也是基本系统的一部分。因为这些组件都被作为一个基本系统,所以它们都是被一起开发和打包的,许多事实表明这样更能创建出一个更具凝聚力的整体。6、更多来自于源代码由于 BSD 的开发方式(使用 Ports 系统)的关系,所以用户们更多的是从源代码来安装程序,而不是预先编译好的二进制包。这是一个优势还是劣势?这取决于不同的用户。如果你更多的想从友好或易用性方面考虑的话,看到这一点后你也许会有放弃的念头,对于新用户更是如此。但一些新的用户也有想要从源代码编译安装,这可能比较累人。但是,从源码安装也有一定的优势,比如库版本控制,通过特殊的包来构建系统等等。7、升级由于 BSD 的开发方式的原因(见第5项),你可以利用一条指令就可以升级你的基本系统到最新版本( Freebsd 下是用 freebsd-update fetch update 命令)。或者你也可以下载整个源代码树,然后通过编译来升级。而在Linux中,你也可以通过内置的包管理系统来升级系统。前者(BSD)仅更新基本系统,而后者( Linux)则会升级整个系统。不过请记住,BSD 中升级到最新的基本系统并不意味着所有的附加软件包也将会被更新,而Linux升级的时候,所有的软件包都会被升级。这是否意味着 Linux处理得更好吗?在我看未必。我经常会看到Linux在升级时出现严重错误,从而需要重新安装整个系统,但这个现象基本不太可能发生在 BSD 的升级过程中。8、前沿技术基本上你不太可能会看到 BSD 系统运行着任何非常前沿版本的软件。而在 Linux 这一方面,大量的发行版会分发前沿版本的软件包。如果你是一个”If it isn’t broken, don’t fix it”这样观点的持有者的话,你将会是 BSD 的超级粉丝。但是,如果你很新潮,想要体验一切最新的东西,那么你最好尽快迁移到Linux。9、硬件支持你会发现,通常情况下 Linux 的硬件支持要比 BSD 更早一些。但这并不是说 BSD 没有像Linux那样支持足够多的硬件,它只是意味着在某些情况下 Linux 会在 BSD 之前先支持某些硬件。因此,如果你想要最新的、最好的显卡的话,基本上不用考虑 BSD 了。如果你有一个包含了最新无线芯片的新型笔记本的话,建议你选择 Linux,运气好的话也许它会支持。10、用户群在这里我冒险概括一下计算机用户们,但我想先声明一下每一个事物都有例外。下面我要向你展示我对用户分布方面的概括。Mac –> Windows –> Linux–> BSD –> UNIX从左边到右边,分别是”使用该 OS 的人里精通电脑的用户群最少”到”使用该 OS 的人里精通电脑的用户群最多”的过渡。我们可以看到,Linux的被放置在了中间,而 BSD 则更接近于右边。许多人会对此有争论,也有些人可能会感觉被冒犯了。但是,个人认为这是一个对”哪些用户使用哪些系统”相当准确的概括。

『柒』 关于FreeBSD,有什么速度较快的源吗

1、许可证正如我们所知道的,Linux操作系统是基于 GPL 许可证授权下的。该许可证可防止开源被转换为封闭源代码及确保源代码的可用性。 GPL 许可证的目的就是防止二进制包成为唯一的发行源。而 BSD 许可证的限制则要少得多,它甚至允许二进制包成为唯一的发行源。这就是核心差异,可以这样理解:GPL 许可证让您有权拥有任何你想要使用该的方法,但你必须确保提供源代码给下一个使用它的人(包括你对它的改变部分)。而 BSD 许可证并不是要求你必须那么做。( 译者注:这里分别是维基网络上对 BSD 及 GPL 许可证的解释)2、代码控制BSD 的代码不是被控制在任何一个人手里,而 Linux的内核基本上被 Linus Torvalds ( Linux创始人)所控制,BSD 并没有单一的人来说什么可以或什么不可以进入代码。相反,BSD 通过一个核心小组” Core Team”来管理该项目,这个核心小组比非核心小组有更多的发言权来指导 BSD 社区的发展方向,(译者注:而据我所知,FreeBSDD 核心小组的成员会每两年选举一次。)3、内核vs 操作系统BSD 项目维护的是整个操作系统,而 Linux则只是主要集中在单一的内核上面。这点确实是需要注意的,虽然这两个系统上都运行着许多相同的。4、UNIX-Like这里有一个关于 BSD vs Linux的古老说法:” BSD is what you get when a bunch of UNIX hackers sit down to try to port a UNIX system to the PC. Linux is what you get when a bunch of PC hackers sit down and try to write a UNIX system for the PC “,这里表达了很多。你会发现 BSD 系统更为类似于 UNIX ,而事实上它就是传统 UNIX 的直接衍生品。而 Linux,则是一个松散的基于 UNIX 衍生品( Minix)而新创建的一个 OS 。5、基本系统这是一个关于 BSD 与 Linux 之间差异的至关重要的理念。 Linux的”基本系统”是并不真正存在的,许多人会说,Linux的基本系统就是内核,但问题是如果没有任何可用的应用程序的话,那么这个内核是完全没有价值的。而另一方面,BSD 则有一个包括众多工具的基本系统,甚至 libc 也是基本系统的一部分。因为这些组件都被作为一个基本系统,所以它们都是被一起开发和打包的,许多事实表明这样更能创建出一个更具凝聚力的整体。6、更多来自于源代码由于 BSD 的开发方式(使用 Ports 系统)的关系,所以用户们更多的是从源代码来安装程序,而不是预先编译好的二进制包。这是一个优势还是劣势?这取决于不同的用户。如果你更多的想从友好或易用性方面考虑的话,看到这一点后你也许会有放弃的念头,对于新用户更是如此。但一些新的用户也有想要从源代码编译安装,这可能比较累人。但是,从源码安装也有一定的优势,比如库版本控制,通过特殊的包来构建系统等等。7、升级由于 BSD 的开发方式的原因(见第5项),你可以利用一条指令就可以升级你的基本系统到最新版本( Freebsd 下是用 freebsd-update fetch update 命令)。或者你也可以整个源代码树,然后通过编译来升级。而在Linux中,你也可以通过内置的包管理系统来升级系统。前者(BSD)仅更新基本系统,而后者( Linux)则会升级整个系统。不过请记住,BSD 中升级到最新的基本系统并不意味着所有的附加包也将会被更新,而Linux升级的时候,所有的包都会被升级。这是否意味着 Linux处理得更好吗?在我看未必。我经常会看到Linux在升级时出现严重错误,从而需要重新安装整个系统,但这个现象基本不太可能发生在 BSD 的升级过程中。8、前沿技术基本上你不太可能会看到 BSD 系统运行着任何非常前沿版本的。而在 Linux 这一方面,大量的发行版会分发前沿版本的包。如果你是一个”If it isn’t broken, don’t fix it”这样观点的持有者的话,你将会是 BSD 的超级粉丝。但是,如果你很新潮,想要体验一切最新的东西,那么你最好尽快迁移到Linux。9、硬件支持你会发现,通常情况下 Linux 的硬件支持要比 BSD 更早一些。但这并不是说 BSD 没有像 Linux那样支持足够多的硬件,它只是意味着在某些情况下 Linux 会在 BSD 之前先支持某些硬件。因此,如果你想要最新的、最好的显卡的话,基本上不用考虑 BSD 了。如果你有一个包含了最新无线芯片的新型笔记本的话,建议你选择 Linux,运气好的话也许它会支持。10、用户群在这里我冒险概括一下计算机用户们,但我想先声明一下每一个事物都有例外。下面我要向你展示我对用户分布方面的概括。Mac –> Windows –> Linux–> BSD –> UNIX

『捌』 转FreeBSD 8下如何最有效率的安装软件

FreeBSD的默认下载工具是fetch,既慢又不好用。在FreeBSD下安装软件有一些很有效率的方式,下面就给大家介绍一下。 FreeBSD入门专题Ports机制首先,FreeBSD下最有特色的软件安装和升级机制就是ports,既方便又高效。下面我们从ports套件的安装开始讲起,让你细致的了解有关ports的每一个细节。推荐专题:企业内网开发环境部署与管理全攻略(FreeBSD+PHP)一、ports套件的安装①我的FreeBSD 8.0-release是最小化安装,所以既没有ports,也没有/usr/ports目录。选择启用ports的话,需要在root下输入"sysinstall"来安装它:输入sysinstall –> 选择Configure –> Distributions –> ports,然后安装即可。②ports的默认路径是/usr/ports。这个ports的根目录下面有很多的文件夹及子文件夹,组成一个树状目录,包含大量ports下的软件。比如mail是邮件服务软件,games是游戏,www代表web服务软件,databases则是数据库软件。[[email protected] /usr/ports]# cd www[[email protected] /usr/ports/www]# ls -d apache*apache-contrib apache13 apache13-modssl+ipv6apache-forrest apache13+ipv6 apache13-sslapache-jserv apache13-modperl apache20apache-mode.el apache13-modssl apache22如果你需要安装什么软件,只要进入当前目录,然后“make install clean”即可。[[email protected] ~]# cd /usr/ports/www/apache22[[email protected] /usr/ports/www/apache22] make install clean/usr/ports/distfiles是存放软件包的文件夹。ports会先检查/usr/ports/distfiles目录内有没有这个软件包,如果没有它就会自动从网上下载安装。二、加速ports的升级速度ports从网上下载软件包自动安装,那么从那里下载呢?首先,我们需要安装axel来取代默认的下载工具fetch,这样可以提高ports的安装速度:cd /usr/ports/ftp/axelmake install然后,我们需要一个源地址管理。跟ubuntu上的/etc/source.list文件一样,freebsd用的文件是/etc/make.conf,我们可以修改其文件,达到加速下载的目的。#修改 /et/make.confvi /etc/make.conf#加入以下内容FETCH_CMD=axelFETCH_BEFORE_ARGS= -n 10 -aFETCH_AFTER_ARGS=DISABLE_SIZE=yesMASTER_SITE_OVERRIDE?=\http://ports.hshh.org/${DIST_SUBDIR}/\http://ports.cn.freebsd.org/${DIST_SUBDIR}/\ftp://ftp.freeBSDchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP} 这样处理后,在公司的网络环境下,FreeBSD的下载速度明显提高了,有时居然能达到1M/s,这样升级及安装软件方便极了;呵呵,终于可以摆脱fetch的龟速了。三、更新ports目录树既然ports的树目录全部下载到本地,那么即使FreeBSD有新的软件包或者添置了新的软件,本地目录树也不会更新。所以,我们每隔一段时间需要更新本地目录树。我来介绍一种在FreeBSD中方便、快捷的更新ports的方法:使用portsnap来更新ports目录树。①配置portsnap:我们使用portsnap,首先要设置一下它的配置文件,位于/etc/portsnap.conf:[[email protected] /usr/ports]# vi /etc/portsnap.conf把SERVERNAME=portsnap.freebsd.org修改成:SERVERNAME=portsnap.hshh.org这个是他的更新服务器。另外还有几个国内比较快的portsnap服务器:portsnap.hshh.orgportsnap2.hshh.orgportsnap3.hshh.org (网通)portsnap4.hshh.org②首次使用portsnap:在你的FreeBSD首次使用portsnap必须执行下面2步:[[email protected] ~]# portsnap fetch[[email protected] ~]# portsnap extractportsnap fecth是从网上获取portsnap快照的最新压缩包,听闻这个压缩包官方没小时更新一次。portsnap extract 则是把这个压缩包创立到/usr/ports。哪怕你以前已经手工安装了ports,他也会重新创立一次。(注:这2步可以合成使用,指令为 [[email protected] ~]# portsnap fetch extract)③以后使用portsnap更新,只需要执行下面2步:[[email protected] ~]# portsnap fetch[[email protected] ~]# portsnap update同样,这2步可以合成使用:[[email protected] ~]# portsnap fetch updateportsnap第一次运行extract命令时,可能需要一段时间,以后更新使用update的时候,速度就快很多了。

『玖』 FreeBSD如何升级已安装的软件

请看他的 ports 和 pkg_* 命令。FreeBSD 的官方网站也有中文的使用手册,里面如何安装升级都有了。


赞 (0)