If you don\\\\\\\\\\\\\\\'t wanna do it, you find an EXCUSE; if you do, you\\\\\\\\\\\\\\\'ll find a WAY :-)
全部博文(235)
分类: BSD
2011-01-17 17:19:07
译者:这篇文章讲述了 Linux 与 BSD 系统之间许多不同之处,而个人同时作为一个 Ubuntu (Linux) 及 FreeBSD (BSD) 用户,感觉里面很多观点都非常的贴切,所以提笔进行了翻译,但碍于本人水平有限,翻译的时候难免出现差错,敬请指正。文件: 10_differences_between_Linux_and_BSD.pdf 大小: 227KB 下载: 下载
你是否经常会听到人们把 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 则更接近于右边。许多人会对此有争论,也有些人可能会感觉被冒犯了。但是,个人认为这是一个对”哪些用户使用哪些系统”相当准确的概括。
其他的不同点?
这个列表并不想表明哪个系统比哪个更好。事实上,BSD 和 Linux 各有着自己的亮点。你认为怎么样?有兴趣的话也请表达出你的观点。
How often do you hear people lumping together Linux and any of the BSDs? I’ve done it on occasion, and I hear it all the time. Of course, there are plenty of similarities between Linux and BSD: They are both based on UNIX. For the most part, both systems are developed by noncommercial organizations. And I must say that both the Linux and BSD variants have one common goal — to create the most useful, reliable operating system available.
Still, there are significant differences as well. And when people overlook them, the whole BSD community shivers with anger. So I thought I would do my best to help my BSD brethren out and explain some of the ways Linux differs from BSD.
1: LicensesAs we all know, the Linux operating system is licensed under the GPL. This license is used to help prevent the inclusion of closed source software and to ensure the availability of the source code. The GPL attempts to prevent the distribution of binary-only source.
The BSD License is much less restrictive and even allows for the distribution of binary-only source. The core difference, however, can be looked at like this: The GPL gives you the right to use the software any way you want, but you MUST ensure the source code is available to the next person who uses it (or your variation of it). The BSD license does not require that you make sure the next person who uses (or modifies your code) makes that code available.
2: ControlThe BSD code is not “controlled” by any one user, which many people see as a big bonus. Whereas the Linux kernel is mostly controlled by Linus Torvalds (the creator of Linux), BSD does not have a single person dictating what can and can’t go into the code. Instead, BSD uses a “core team” to manage the project. This core team has more say in the direction of the project than all non-core members of the BSD community.
3: Kernel vs. operating systemThe BSD project maintains the entire operating system, whereas the Linux project focuses primarily on the kernel alone. This really isn’t quite as encompassing as it seems because many of the applications that are used are used on both operating systems.
4: UNIX-likeThere is an old saying about 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.” That expression says a lot. What you will find is that the BSDs are much more similar to UNIX because they are, in fact, direct derivatives of traditional UNIX. Linux, on the other hand, was a newly created OS loosely based on a UNIX derivative (Minix, to be exact).
5: Base systemsThis one is crucial to understanding the differences between BSD and Linux. The “base system” for Linux doesn’t really exist, as Linux is a conglomeration of smaller systems that come together to make a whole. Many will say that the Linux base system is the kernel. The problem is a kernel is pretty worthless without any usable applications. BSD, on the other hand, has a base system that encompasses numerous tools — even libc is a part of the base system. Because these pieces are all treated as a base system, they are all developed and packaged together. Many argue that this creates a more cohesive whole.
6: More from sourceBecause of the way BSD is developed (using the Ports system), more users tend to be installing from source rather than prepackaged binary packages. Is this an advantage or a disadvantage? That depends on the individual. If you’re a fan of user-friendly simplicity, you will surely look at this and immediately turn away. This is especially true for new users. Few new users want to have to compile from source. This can make for a cumbersome distribution. But installing from source has its advantages as well (library versioning, building system specific packages, etc.).
7: UpgradesBecause of the way BSD is developed (see item #5), you can upgrade your entire base system to the most recent release by issuing a single command. Or you can download the sources to whatever build you want, unpack them, and build them as you would any application. With Linux, you can also upgrade a system by using the built-in package management system. The former updates only the base system; the latter will upgrade the entire installation. Remember, though, upgrading to the newest base system does not mean that all of your additional packages will be updated. With the Linux upgrade, all your packages will benefit from the upgrade process. Does that mean the Linux process is better? Not necessarily. I have been a first-hand witness to a Linux upgrade that went horribly wrong, requiring the entire system to be reinstalled. This is much less likely to happen with a BSD upgrade.
8: Bleeding edgeIt’s unlikely that you’ll see a BSD running a bleeding edge version of anything. Linux, on the other hand, has plenty of distributions that offer bleeding edge packages. If you’re a fan of “If it isn’t broken, don’t fix it,” you will be a big fan of BSD. But if you’re of the ilk that requires the most recent of everything, you better migrate over to Linux ASAP or you’ll be behind the curve in the time it takes you to reinstall your OS.
9: Hardware supportYou will find, in general, that Linux supports hardware much sooner than BSD does. This doesn’t mean that BSD doesn’t support as much hardware as Linux. It just means that Linux will support it before BSD (in some cases, LONG before BSD). So if you want the latest, greatest graphics, don’t even think about BSD. If you’re looking at a shiny new laptop with a newer wireless chipset, you might have better luck with Linux.
10: User baseI’m going to go out on a limb here and generalize about computer users. I will preface this by saying there are exceptions to EVERY rule (or generalization, in this case). But I present to you my generalization of the cross-section of user-to-distribution. From the left to the right we go from the least PC-savvy users to the most PC-savvy users. As you can see, Linux falls in the middle, where BSD leans closer to the right. Many will argue this; some will be offended by it. But this is a fairly accurate generalization of which users use which operating systems.
Mac —–> Windows —–> Linux —–> BSD —–> UNIXOther differences?This list is not, in any way, meant to suggest that one is better than the other. I have found that BSD and Linux each has its place. What about you? Do you find the differences between Linux and BSD enough to keep you using one over the other? Have you tried both? What makes you use one over the other? Sound off and let your fellow readers know your opinions.