FreeBSD学习总结

FreeBSD

FreeBSD是一种类UNIX操作系统,是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支。

FreeBSD 为不同架构的计算机系统提供了不同程度的支持。并且一些原来BSD UNIX的开发者后来转到

FreeBSD的开发,使得FreeBSD在内部结构和系统API上和UNIX有很大的兼容性。由于FreeBSD宽松的法律

条款,其代码被好多其他系统借鉴包括苹果公司的MacOS X,正因此由于MacOS X的UNIX兼容性,使得Mac 

OS X获得了UNIX商标认证。
FreeBSD支持x86、amd64(x86_64)、ARM、IA-64、PowerPC、PC-98、SPARC等架构(不同版本支持有所不


同)(详细情况见官方文档)。
中文名 FreeBSD 本    质UNIX操作系统 版    本 10.1、9.3和8.4 管理机构 FreeBSD基金会
目录
1 历史
2 版本
3 发展
 组织结构
 分支
 基金会
4 衍生产品
5 许可证
历史
FreeBSD
FreeBSD (4张)
FreeBSD的发展始於1993年,取源于386BSD。[3]  然而,因为386BSD源代码的合理性受到质疑以及


Novell(当时UNIX的版权拥有者)与伯克利接连而来的诉讼,FreeBSD在1995年1月发布的2.0-RELEASE中


以加州大学的的4.4BSD-Lite Release全面改写。FreeBSD手册中有更多FreeBSD的发展历史。
FreeBSD 2.0最值得注意的部份也许是对卡内基梅隆大学的Mach Virtual Memory系统翻修以及FreeBSD 


Ports system的发明。前者对于高负荷的系统最佳化,后者则是建立了一套简单且强大的机制维护第三


方软件。有不少大型站台都使用FreeBSD,不过也有不少企业正转向Linux平台,好多VPS(虚拟个人主机


)也提供FreeBSD空间。
FreeBSD 3.0则引入了ELF binary格式,并开始支持多CPU系统(SMP,Symmetric multiprocessing)以


及64位元Alpha平台。3.x对於系统做了非常多的改革,这些措施在当时并没有带来好处,但却是4.X成功


的基石。


版本
当前版本10.0、9.1和8.3[2]  。


发展
截至2014年1月20日,FreeBSD 10.0 正式Release.
截至2010年3月的FreeBSD有超过400名活跃的开发和成千上万的贡献者。[5] 
组织结构
FreeBSD的项目是由FreeBSD的志愿者或一些有SVN提交权限的开发者开发维护的。有几种不同类型的提交


,包括提交源代码(基本操作系统),DOC提交(文件和网站的作者)和ports(第三方应用程序移植或


基础程序)。每隔两年FreeBSD提交者选举9名成员组成的FreeBSD核心团队,负责整个项目的方向,项目


规则的制定和实施新的“commit bits”,或SVN提交权限的授予和批准。FreeBSD核心团队,开发团队,


包括负责安全公告(安全官团队),发行(工程队)发布工程和管理的端口集合(端口管理团队),被


正式分配到一些任务和责任。FreeBSD项目是在开源项目中开发工作超过25年的不寻常的项目,有一些过


去美国加州大学开发的一些BSD的计算机系统研究小组的人员参与其中。[6-7] 
分支
FreeBSD的FreeBSD的开发者保持至少两个分支的同步发展。在-CURRENT分支的FreeBSD的开发始终代表“ 


流血的边缘 “(bleeding edge)。一个的FreeBSD -STABLE分支创建的每一个主版本号,从中-RELEASE


削减大约每4-6个月一次。如果一个功能是足够稳定和成熟,它可能会和向后来的-STABLE分支的合并。


FreeBSD的开发模式详见Niklas Saers的文章。[8-9] 
基金会
FreeBSD基金会的支持FreeBSD的开发部分。该基金会是一个非营利性组织,接受捐赠基金FreeBSD的开发


。这些资金已用于赞助的具体活动,购买硬件和网络基础设施的开发,开发者峰会提供旅费补助,并提


供法律支持FreeBSD的项目。
衍生产品
1 开源
PC-BSD(FreeBSD不自带图形界面,PC-BSD让FreeBSD向着桌面使用更迈进了一步,自带了图形界面,不


过驱动程序一直比Linux平台少,特别是一些较新的硬件)、DesktopBSD 、GhostBSD
2 商业
苹果公司(Apple Inc.)的OS X,和 iOS;(其内核Darwin建立在XNU 内核上(一部分Mach、一部分freeBSD、


还有一些苹果自己的代码))[10] 
Blue Coat Systems 网络应用程序
3 等等好多
许可证
FreeBSD包含了GNU公共通用许可证(GPL)、GNU宽公共通用许可证(LGPL)、ISC、CDDL和Beerware许可


证的程式码,也有使用三条款和四条款的BSD许可证的程式码。另外有些驱动程式也包涵了binary blob


,像是Atheros公司的硬件抽象层。这使得所有人都可以自由地使用还有再散布FreeBSD。
不过,FreeBSD的核心和新开发的程式码大多都使用两条款的BSD许可证释放出,许多使用GPL的程式码都


必须经过静室工程,以其他授权方式重写,这主要是避免整个核心受到GPL影响。


UNIX和类Unix操作系统
UNIX System V家族
.A/UX .AIX .HP-UX .IRIX
.LynxOS .SCO OpenServer .Tru64 .Xenix
.Solaris .OS/2
BSD UNIX-386BSD家族
.BSD/OS .FreeBSD .NetBSD .NEXTSTEP
.Mac OS X .iOS .OpenBSD .SUN OS
.OpenSolaris
UNIX-Like
.GNU .Linux .Android .Debian
.Ubuntu .Red Hat .Linux Mint .Minix
.QNX .GNU/Linux .GNU/Hurd .Debian GNU/Hurd
.GNU/kFreeBSD .StartOS
其他
.DOS .MS-DOS .Windows .React OS
========

FreeBSD与Linux十个本质上的区别

http://os.51cto.com/art/201012/236797.htm


Linux的标志是一只十分可爱的小企鹅,而FreeBSD的标志是一个拿着叉子的小恶魔。你是否经常会听到


人们把 Linux及 BSD 系统混为一谈?事实上这两者确实有很多相似之处,但是还是需要掌握这两者之间


的区别。
AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验
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 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


从左边到右边,分别是”使用该 OS 的人里精通电脑的用户群最少”到”使用该 OS 的人里精通电脑的


用户群最多”的过渡。我们可以看到,Linux的被放置在了中间,而 BSD 则更接近于右边。许多人会对


此有争论,也有些人可能会感觉被冒犯了。但是,个人认为这是一个对”哪些用户使用哪些系统”相当


准确的概括。
========

FreeBSD修改安装源

http://www.osyunwei.com/archives/3020.html


说明:
FreeBSD中安装软件一般有两种方式:
(一)、使用pk_add -r Package 来安装软件,Package安装的是已经编译好的二进制软件包,Package


默认下载软件包的路径是在/var/db/pkg中
(二)、使用Ports方式编译安装,Ports是下载源码到本地,再执行编译安装,ports软件包的路径是在


/usr/ports中
以上两种安装方式都需要从网络下载软件包,默认是从官方的源下载软件包的,速度比较慢,可以修改


配置文件指定国内的镜像源来快速安装软件
1、修改Pcakage源为163的镜像源
setenv PACKAGESITE http://mirrors.163.com/FreeBSD/releases/i386/8.1-


RELEASE/packages/Latest/
pkg_add -r package    #package为要安装的软件名
2、安装Ports源
portsnap fetch -s portsnap.cn.freebsd.org     #安装ports
ee /etc/portsnap.conf   #编辑文件
SERVERNAME=portsnap.cn.FreeBSD.org    #更改服务器为国内镜像
按esc 回车,再按a保存
portsnap fetch extract   #下载ports快照
portsnap update  #更新
ee /etc/make.conf  #编辑文件,添加下面代码
MASTER_SITE_BACKUP?=http://mirrors.163.com/FreeBSD/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
cd  /usr/ports
make search name=nginx    #查找ports中是否有nginx这个软件
cd  /usr/ports/www/nginx   #进入软件包目录
make install clean    #安装
make deinstall clean   #卸载
make deinstall reinstall clean  #升级
========

你可能感兴趣的:(转载,Linux操作维护)