Let’s first understand what FreeBSD is and what Linux is.
UNIX, BSD and FreeBSD are two important branches of UNIX. FreeBSD provides different degrees of support for computer systems with different architectures. And some of the original bsdunix developers later moved to FreeBSD development, which made FreeBSD have great compatibility with UNIX in internal structure and system API. Because of the loose legal provisions of FreeBSD, its code is used for reference by many other systems, including Apple’s Mac OS. It is because of the UNIX compatibility of Mac OS that Mac OS has obtained the UNIX trademark authentication.
FreeBSD supports AMD64 (x86)_ 64), x86 (i386), arm, aarch64, IA-64, PowerPC, pc-98, SPARC and other architectures (different versions support different) (see the official document for details).
Similarities between FreeBSD and Linux
FreeBSD and Linux are two free and open source software. In fact, their users can easily check and modify the source code, users have absolute freedom. Moreover, FreeBSD and Linux are UNIX like systems. Their kernel, internal components and library programs all use algorithms inherited from at & tunix in history. FreeBSD is basically more like UNIX system, while Linux is released as a free UNIX like system. Many tool applications can be found in FreeBSD and Linux. In fact, they have almost the same function.
In addition, FreeBSD can run a large number of Linux applications. It can install a Linux compatibility layer, which can be obtained by adding aaccompact Linux when compiling FreeBSD, or by downloading the FreeBSD system that has compiled Linux compatibility layer, including the compatibility program: AAC_ linux.ko 。 Unlike FreeBSD, Linux cannot run FreeBSD software.
The difference between FreeBSD and Linux
The first difference between the two systems is their license. Linux is distributed with GPL license, which provides users with the freedom to read, distribute and modify the source code. GPL license helps users avoid publishing only binary. FreeBSD is released under the BSD license, which is more tolerant than GPL because its derivative works do not need to be released under the license. This means that any user can use, publish and modify the code without maintaining the previous license.
You can choose one of the two licenses according to your needs. The first is the BSD license, which is more popular with users because of its special terms. In fact, this license allows users to sell software released with this license while ensuring the closeness of source code. In addition to GPL, it requires the attention of every user who uses software released under this license.
If you want to make a choice between two kinds of software released with different licenses, you need to know their respective licenses, as well as the methodology in their development, so that you can understand the differences in their characteristics and choose the one that is more suitable for your needs.
Because FreeBSD and Linux are issued under different licenses, Linus Torvalds controls the kernel of Linux, while FreeBSD is different from Linux, it is not controlled. I personally prefer to use FreeBSD rather than Linux, because FreeBSD is absolute free software and there is no controller. There are other differences between Linux and FreeBSD. I suggest you don’t rush to make a choice first, and make your choice after reading this article.
Linux mainly refers to the kernel system, which is different from FreeBSD. The whole system of FreeBSD is maintained. FreeBSD’s kernel and a set of software developed by the FreeBSD team are maintained as a whole. In fact, FreeBSD developers can manage the core operating system remotely and efficiently.
On the other hand, Linux has some difficulties in managing the system. Because different components are maintained by different sources, Linux developers need to assemble them to achieve the same function.
FreeBSD and Linux both give users a lot of optional software and distributions, but they manage them in different ways. FreeBSD is a unified management mode, while Linux needs to be maintained separately.
When it comes to hardware support, Linux is better than FreeBSD. But that doesn’t mean FreeBSD doesn’t have the ability to support hardware like Linux. They are just different in the way they are managed, which usually depends on your needs. Therefore, if you are looking for the latest solution, FreeBSD is more suitable for you; but if you are looking for more universality, it is best to use Linux.
Native freebsdvs native Linux
The difference between the two original systems is different. As I said before, Linux is an alternative to UNIX, written by Linus Torvalds and assisted by many geeks on the Internet. Linux has all the functions needed by a modern system, such as virtual memory, shared library, dynamic loading, excellent memory management and so on. It is issued under a GPL license.
FreeBSD also inherits many important features of UNIX. FreeBSD is a distribution of BSD developed at the University of California. The most important reason to develop BSD is to replace at & T operating system with an open source system, so as to give users the ability to use it without at & T license.
The issue of licenses is the biggest concern of developers. They are trying to provide an open source system that maximizes UNIX cloning. This affects the choice of users. FreeBSD is more free than Linux because it uses BSD license to publish.
From the user’s point of view, another difference between the two is the availability and support of the software package and the software installed from the source code. Linux only provides pre compiled binary packages, which is different from FreeBSD. It not only provides pre compiled packages, but also provides build systems compiled and installed from source code. Using its ports tool, FreeBSD gives you the option to use pre compiled packages (the default) and the ability to customize your software at compile time. (lctt: the explanation here is wrong. Linux also provides source code package and supports self build.)
These ports allow you to build all the software that supports FreeBSD. Moreover, their management is hierarchical. You can find the address of the source file and some documents that use FreeBSD correctly under / usr / ports.
These mentioned ports give you the possibility to generate different versions of software packages. FreeBSD gives you two kinds of software built by source code and precompiled, instead of precompiled packages like Linux. You can manage your system in two ways.
Comparison of FreeBSD and Linux tools
There are a number of common tools available on FreeBSD, and interestingly, they are owned by the FreeBSD team. On the contrary, Linux tools come from GNU, which is why there are some restrictions in use. (lctt: that’s why Linux is officially called “GNU / Linux” because essentially Linux is just the kernel.)
In fact, the BSD license used by FreeBSD is very beneficial and useful. Therefore, you have the ability to maintain the core operating system and control the development of these applications. There are some tools similar to their ancestors – BSD and UNIX tools, but different from GNU suite, GNU suite only wants to achieve minimal backward compatibility.
Freesd uses tcsh by default. It is an evaluation version of CSH. Since FreeBSD is issued under BSD license, it is not recommended that you use bashshell, a component of GNU. The only difference between Bash and tcsh is the scripting function of tcsh. In fact, we recommend using SH shell in FreeBSD because it is more reliable and can avoid some script problems when using tcsh and CSH.
A more hierarchical file system
As mentioned earlier, when using FreeBSD, the underlying operating system and optional components can be easily distinguished. This has led to some standards governing them. Under Linux, / bin, / SBIN, / usr / bin or / usr / SBIN are all the directories where executable files are stored. FreeBSD is different in that it has some additional specifications for organizing it. The underlying operating system is placed in the / usr / local / bin or / usr / local / SBIN directory. Optional and basic methods can help to distinguish between operating system and management system.
In this way, do you understand the difference and connection between Linux and FreeBSD?