FreeBSD is an amazing operating system

栏目: IT技术 · 发布时间: 4年前

内容简介:Posted on 2020-01-20.This is a small article about some of my adventures with FreeBSD and why I believe it is an amazing operating system.I think the year was late 1999 or mid 2000 when I one day was browsing computer books at my favorite bookshop and I di

Posted on 2020-01-20.

This is a small article about some of my adventures with FreeBSD and why I believe it is an amazing operating system.

I think the year was late 1999 or mid 2000 when I one day was browsing computer books at my favorite bookshop and I discovered the book The Complete FreeBSD third edition from 1999 by Greg Lehey. With the book came 4 CD Roms with FreeBSD 3.3.

I had already familiarized myself with GNU/Linux in 1998, and I was in the process of migrating every server and desktop operating system away from Microsoft Windows, both at home and at my company, to GNU/Linux, initially Red Hat Linux and then later Debian GNU/Linux, which eventually became my favorite GNU/Linux distribution for many years.

When I first saw The Complete FreeBSD book by Greg Lehey I remember noticing the text on the front page that said, "The Free Version of Berkeley UNIX" and "Rock Solid Stability", and I was immediately intrigued! What was that all about? A free UNIX operating system! And rock solid stability? That sounded amazing.

FreeBSD is an amazing operating system

I immediately bought the book and it became my favorite reading material for a long time (even when I wasn't doing anything UNIX related).

I was surprised that I had never heard about FreeBSD before since it had existed since 1993, but at least another "UNIX like" operating system wouldn't be completely foreign to me because of my experience with GNU/Linux, and it wasn't.

I did some test installs on different hardware and I loved FreeBSD right away. FreeBSD became my first FTP server run from home.

Later in 2000 I was employed by one of the biggest ISPs in my country and discovered to my surprise that the entire server and network structure was run on FreeBSD. The only computers that didn't run FreeBSD was the computers at the office where the sales people and secretaries worked, these ran Microsoft Windows. When I asked about the choice of operating system the system administrator said something like:

People who know what they are doing run FreeBSD! Everyone in the communication industry run FreeBSD!

I eventually got to experience the FreeBSD "Rock Solid Stability", mentioned in Greg Leheys book, first hand. FreeBSD was amazing. It was very performant and extremely stable. Every single customer that hosted at the ISP, and that was a lot of customers, was being served by FreeBSD, and it was running on everything from old 386 PCs to the latest Pentium 4 machines. The only time FreeBSD needed to be rebooted was when it had been upgraded in the base system. During the time I was there I never experienced a problem anywhere where FreeBSD was running.

Contrary to FreeBSD, GNU/Linux was viewed upon as a "toy" operating system. It was used only by some of the support staff for their private setups.

What I failed to realize back then was that FreeBSD was (and it still is) designed as a complete multi-purpose operating system meant to be setup and tuned according to specific use cases. When I occasionally installed FreeBSD it didn't always perform as well as a default Debian GNU/Linux installation for the same task. Even FreeBSD on my FTP server at home eventually got replaced by Debian GNU/Linux because FreeBSD had to be rebooted every third day or so otherwise the performance degraded a lot. Debian on the other hand performed without any "hick-ups".

Later in the years to come GNU/Linux also got better hardware support, and often when I wanted to install FreeBSD some stupid hardware didn't work. Hardware was very expensive back then and I didn't have the option to purchase hardware that I knew would work on FreeBSD. All of these issues eventually made me use GNU/Linux more than FreeBSD. Today this is no longer a problem as FreeBSD has great support for most modern hardware.

Later I discovered and learned about many of the tuneable options and specific settings in FreeBSD, which makes it possible for the system administrator to tailer FreeBSD to his specific needs. I eventually ended up using FreeBSD as my main desktop computer for a very long time.

Some of the things I love about FreeBSD are:

  • FreeBSD is a complete operating system.
  • FreeBSD is very well thought out and very well designed. Once you get to understand how FreeBSD is setup and how it works, it is surprising how many details the developers have thought about.
  • FreeBSD sets the kernel and the base system apart from third party packages. This is unique to FreeBSD and none of the other BSDs do that. I have always loved this about FreeBSD, but unfortunately (in my humble opinion) this has been changing since 2016 . The work is still not done , but it is slowly getting there. I personally wish this didn't have to change.
  • FreeBSD is installed only with the features you enable and nothing is running that you don't know about. FreeBSD is also opt-in, meaning that you have to enable something in order for it to run and work.
  • The FreeBSD code is meticulously maintained and very well documented.
  • FreeBSD has both the UFS and ZFS filesystems in the base install.
  • FreeBSD comes with the rich storage system GEOM which allows you to use two networked machines for high-availability storage, use your choice of RAID level, or add features like compression or encryption.
  • FreeBSD also has geli which is a block device-layer disk encryption system that uses the GEOM disk framework.
  • FreeBSD service handling is very simple. Each service, whether part of the base system or installed from a port, comes with a script that is responsible for starting and stopping it (and often some other options). Default scripts reside in a default directory with default settings, like /etc/default/rc.conf , but all settings can be overwritten by using /etc/rc.conf . If you want to enable SSHd, you just add sshd_enable="YES" to /etc/rc.conf and SSHd is enabled at boot. The FreeBSD rc system that reads this file understands dependencies between services and it can automatically launch them in parallel, or wait until one is finished before starting the things that it needs. You get all of the benefits of a modern configuration system, without a complex interface.
  • All third party applications is installed in /usr/local/ and all third party application settings is installed in /usr/local/etc/ . Combined with the separation between the base system and third party applications, this makes it trivial to manage third party applications and if you need to change your setup you can simply delete all installed packages with pkg delete -a and then start installing the ones that you want.
  • FreeBSD has both the ports system and pkg .
  • FreeBSD has the amazing Jails system that allows you to run applications or entire systems in a sandbox that cannot access the rest of the system. Long before Docker was even though about, FreeBSD had Jails.
  • FreeBSD has Mandatory Access Control, from the TrustedBSD project, which allows you to configure access control policies for all operating system resources.
  • FreeBSD has Capsicum which allows developers to implement privilege separation, reducing the impact of compromised code.
  • FreeBSD also has the VuXML system for publishing vulnerabilities in ports, which integrates with tools such as pkg, so that your daily security email tells you about any known vulnerabilities in ported software.
  • FreeBSD has security event auditing, using the BSM standard.

As mentioned previously, because FreeBSD is a real multi-purpose operating system with many different use cases, FreeBSD is very flexible and tuneable. Whether you want to run FreeBSD on your desktop computer or on your server, it provides many tuneable options that enables you to make it very performant. The options set out-of-the box may not suit your needs exactly, but then FreeBSD provides lots of documentation on how to get it to work as you need, and it provides a very helpful community with many people who has experience in dealing with many different situations and problems.

I believe it is important to understand that FreeBSD is not like a GNU/Linux distribution. FreeBSD is an operating system made by developers who are also system administrators. This means that FreeBSD is supposed to be run by system administrators who understands how the system works. You cannot simply jump from something like Ubuntu, Fedora or OpenSUSE and then expect that you get the same experience on FreeBSD (I and a lot of other people would be extremely sad if that were the case).

A Linux distribution is a collection of tools written by different groups of people, often with conflicting interests and priorities. A Linux distribution needs the Linux kernel, the GNU tools and libraries, additional third party software, documentation, the X Window System, a window manager, and a desktop environment, and it then needs to combine these different components into the resulting distribution. Different distributions focus on different goals, some put focus on the desktop while others put their main focus on servers, and again others try to provide a multi-purpose operating system, like Ubuntu.

FreeBSD is not like that. FreeBSD is a complete operating system produced by a team of people who are passionate about the work they do, there are no conflicting interests in the project. The people who maintain the kernel are also the people who maintain the C library, the ls, stat and other commands, and the different tools. FreeBSD also provides full documentation to everything related to the operating system.

Whether you're a GNU/Linux user who has been distro hopping for some time, or you're a GNU/Linux user who already have found his or hers favorite GNU/Linux distribution, or perhaps you're even a Microsoft Windows user or a MacOS user, in any case I highly recommend you try out FreeBSD. But before you do so, spend some real quality time studying the FreeBSD documentation, you will get the most out of the system if you understand something about how it works. Reach out to people on the IRC channels or the FreeBSD mailing lists or the FreeBSD forums , you will find many helpful people.

FreeBSD is an amazing operating system!

Some relevant links


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

探索需求

探索需求

章柏幸、王媛媛、谢攀、杰拉尔德・温伯格、唐纳德・高斯 / 章柏幸、王媛媛、谢攀 / 清华大学出版社 / 2004-7-1 / 39.00元

本书将与您一起寻找"什么是客户真正想要的"这一问题的答案。 本书着眼于系统设计之前的需求过程,它是整个开发过程(如何设计人们想要的产品和系统)中最有挑战性的那部分。通过对一些需求分析中的常见误区和问题的分析和讨论,从和客户沟通开始,深入研究一些可能的需求,澄清用户和开发者期望值,最终给出了能够大幅度提高项目成功几率的一些建议方法。 本书由该领域内公认的两位作者合著,搜集了他们在大大小小......一起来看看 《探索需求》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具