欢迎来到科站长!

Unix/BSD

当前位置: 主页 > 操作系统 > Unix/BSD

Unix,BSD,Linux系统三者的区别小结

时间:2024-09-23 16:39:37|栏目:Unix/BSD|点击:

老有人问这个,这么说吧,最早的unix是开放的,很多组织对unix都有修改
期中比较有名的就是伯克利大学的修改版本,叫做bsd,是unix的分支,由于bsd的协议允许你直接使用\修改他的代码,并且可以作为商业用途,所以很多公司的unix都是从bsd衍生过来的,比如hp-unix,ibm的aix等等.

linux呢,是一个完全没有参照unix代码的一个仿照unix架构,试图与unix相兼容的开源系统.
换句话说,bsd是unix的分支,而linux是类unix系统或者说是仿unix系统.

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 六个理由 

第一个理由:FreeBSD 是一个免费的开源的操作系统

Linux 也是一个免费的开源的操作系统。不过 Linux 是基于 GNU General Public License 的,而 FreeBSD 是基于 BSD License 的。BSD License 比 GNU General Public License 更加宽松。

FreeBSD 的系统源码可以通过各种方式免费的得到。系统源码包括内核源代码和基本系统源 代码,如果你在安装系统的时候选择了安装源码,那么它就在 /usr/src 目录底下。如果你经常更新系统源代码,那么 经常看看 /usr/src/UPDATING 是个很好的习惯。同理, 如果安装了 Ports 系统,经常看看 /usr/ports/UPDATING 可以了解很多有用的信息。

源代码的作用有很多。如果你是一个系统软件或者应用软件开发者,你可以改进源代码为 FreeBSD 作出贡献,或者你参考系统源代码写出很棒的应用软件,或者你通过阅读源代码掌 握了很多知识、取得了经验。如果你是一个普通用户,可以通过从源代码配置编译系统获得 更高的系统性能。总之,开放的源代码不仅给用户提供了很多好处,也为 FreeBSD 系统的 开发者提供了一个可能性,就是不同的人都可以通过源码找出系统中可以改进的地方并及时 反馈给系统开发者。

第二个理由:FreeBSD 是一个完整的系统

Linux 这个词指的是内核。当我们提到操作系统的时候,严格的用词应该是 GNU/Linux 或 者某个发行版的名字,比如:SUSE Linux,Debian GNU/Linux,CentOS, Fedora, Ubuntu Linux,Mandriva Linux 等。这些发行版使用的都是相同的 Linux 内核,可能只是内核的 版本有差异而已。各个发行版的系统结构可能都是不同的:比如系统启动的脚本,文件系统 的布局,系统和软件升级的方式方法,默认桌面环境等。

而 FreeBSD 这个词指的是一个完整的系统,包括内核,系统环境,应用软件,各种文档等。 不严格地说,Ubuntu 和 RedHat 之间的关系就有点像 FreeBSD 和 NetBSD,OpenBSD。但是,后面这些 BSD 系统都是 从 4.4BSD 发展来 的,而 4.4BSD 本身就是一个完整的操作系统,不是一个孤单的内核。
(FreeBSD被认为是自由操作系统中的不知名的巨人。它不是Unix,但如Unix一样运行,兼容POSIX。作为一个操作系统,FreeBSD被认为相当稳建可靠。)

FreeBSD 有一个 Core Team 来管理这个项目。这些 Core Team 成员是从为数众多的 Committer 中选举出来。这些 Committer 有权力对 FreeBSD 的内核代码进行维护,改进,升级等。 Core Team 和 Committer 对 FreeBSD 的内核代码质量有严格的把关。FreeBSD 的人经常说: 有问题的代码不能在这里生存。而 Linux 的内核掌握在 Linus Torvalds 手 里。所有有能力的人都可以对 Linux 内核作贡献。也就是 Eric S. Raymond 所说的 市集开发模式。 从管理模式来说,Linux 内核的代码质量相对要低一些。因此,如果是求稳定的话, FreeBSD 肯定是不二的选择。

FreeBSD 的应用软件要通过 Ports 系 统 来安装管理。所有的软件都经过特殊的设置来配合 FreeBSD 系统。这 些特殊的配置包括编译的参数,安装的路径,文档的存放等。这样可以方便的管理,安装, 卸载应用软件,而不需要太多人工的参与。而 Linux 系统的应用软件管理则比较混乱,各 种发行版都不相同。不过越来越多的 Linux 发行版都在向 Ports 系统学习。典型的比如 Debian/GNU Linux 的 APT。FreeBSD 的 Ports 系统更新是相当快的。随着系统的每次升级,Ports 系统都会有活跃的更新,以便使 各种应用软件跟上系统的升级。

第三个理由:FreeBSD 有清晰的目录结构

Linux 下目录结构有一个为人诟病的大缺点,就是文件存放的随意性。各种发行版可能都有 不同的选择。比如系统库,就有可能在 /usr/lib,或者 /lib 里面。比如 X (XFree86 或者 Xorg) 应用软件有可能放到 /usr/lib 里面。当一个 Linux 用户想要从源码编译安装 软件的时候,往往没有明确的标准来确定自己编译的软件到底应该安装在什么地方。他有可 能会作很多 symbolic link 把文件链接来链接去。系统里面经常留下很多失效的链接。而 FreeBSD 的目录结构是相当清晰的,我们可以看看一些目录作用的解释:

/bin/      user utilities fundamental to both single-user and multi-user environments

/boot/     programs and configuration files used during operating system bootstrap

                defaults/  default bootstrapping configuration files; see loader.conf(5)
                kernel/    pure kernel executable (the operating system loaded into memory
                           at boot time).
                modules/   third-party loadable kernel modules; see kldstat(8)

/etc/      system configuration files and scripts

                defaults/  default system configuration files; see rc(8)
                mail/      Sendmail control files
                mtree/     mtree configuration files; see mtree(8)
                namedb/    named configuration files; see named(8)
                pam.d/     configuration files for the Pluggable Authentication
                           Modules (PAM) library; see pam(8)
                periodic/  scripts that are run daily, weekly, and monthly,
                           via cron(8); see periodic(8)
                ppp/       ppp configuration files; see ppp(8)
                ssl/       OpenSSL configuration files

/usr/      contains the majority of user utilities and applications

                compat/   files needed to support binary compatibility with
                          other operating systems, such as Linux (created by
                          sysinstall(8))
                include/  standard C include files
                lib/      shared and archive ar(1)-type libraries
                          aout/       a.out archive libraries
                          compat/     shared libraries for compatibility
                                      aout/       a.out backward compatibility
                                                  libraries
                local/    local executables, libraries, etc.  Also used as the
                          default destination for the FreeBSD ports framework.

以上是 FreeBSD 系统下命令 # man hier 的输出的节选。 基本上每个目录都有特定的作用,什么东西放到哪里都有明确的规定。系统管理员在管理系 统的时候将从清晰的目录结构中得到很多益处。BSD 学院风格的严谨作风在这里体现得非常明显!

第四个理由:FreeBSD 可以方便的安装升级

Linux 各种发行版的用户肯定都有在网上到处寻找 rpm 的经历。而且很多用户都不敢贸然 升级自己的内核。如果要升级整个基本系统,对于很多 Linux 用户来说就是一个浩大而繁 杂的工程了。对于 FreeBSD 来说,升级只是一件很简单的事情。

从升级基本系统来说,FreeBSD 可以使用各种方式来升级。比如 Anonymous CVS、CVSup 等。或者也可以二 进制升级。比如,如果我要升级我的系统,可能我只需要如下的几个命令就可以轻松的完成:

#cvsup stable-supfile
#cd /usr/src
#make buildworld
#make buildkernel
#make installkernel
#reboot
... ...
#mergemaster -p
#cd /usr/src
#make installworld
#mergemaster
#reboot

这些命令做了四件事情:第一是更新你的系统源码、第二是重新编译系统源码,第三是编译 安装新内核、第四是更新你的系统配置文件。这篇 The Cutting Edge 详细的解说了怎么更新你的系统。当然,我省略了内核的配置以及 mergemaster 这个命令的使用方法等。可能显得有点复 杂吧,不过与 Linux 相比,我觉得还是很简单容易上手的。

要安装升级应用软件,在 FreeBSD 下就更加简单了。如果你在安装系统的时候选择了安装 Ports 系统,那么你 只需要到 Ports 下相应的目录输入几个命令就可以轻松完成。比如,你要安装 Nvidia 的官方显卡驱动,那么你只要:

1
2
#cd /usr/ports/x11/nvidia-driver
#make install clean

就可以自动完成驱动的安装和配置。当然,还有更加快捷的安装方法,使用命令 pkg_add -r nvidia-driver 可以从网上自动下载已经编 译好的驱动然后自动安装。FreeBSD 的官方文档 Using the Packages System 详细解说了 packages 的使用方法。如果是升级已经安装的驱动程序,则可以:

1
2
#cd /usr/ports/x11/nvidia-driver
#make deinstall reinstall clean

或者你可以使用 portupgrade 来升级已经安装的程序。


上一篇:FreeBSD如何添加硬盘?FreeBSD添加硬盘的方法

栏    目:Unix/BSD

下一篇:FreeBSD下zfs: failed with error 6错误如何解决?

本文标题:Unix,BSD,Linux系统三者的区别小结

本文地址:https://fushidao.cc/system/1105.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:1205677645 | 邮箱:1205677645@qq.com

Copyright © 2018-2024 科站长 版权所有冀ICP备14023439号