{"id":923,"date":"2016-02-18T14:53:25","date_gmt":"2016-02-18T20:53:25","guid":{"rendered":"http:\/\/icesquare.com\/wordpress\/?p=923"},"modified":"2017-06-02T23:00:12","modified_gmt":"2017-06-03T04:00:12","slug":"freebsd-or-linux","status":"publish","type":"post","link":"https:\/\/icesquare.com\/wordpress\/freebsd-or-linux\/","title":{"rendered":"FreeBSD or Linux in 6 Simple Questions"},"content":{"rendered":"<h2>FreeBSD or Linux<\/h2>\n<p>FreeBSD or Linux (Ubuntu\/RHEL)? This is a very old question. It&#8217;s like asking iPhone or Android. There is no short answer. It all depends on your situation. To make things easier, I am going to break it down into six simple questions to help you making decision.<\/p>\n<p><strong>My Background<\/strong><br \/>\nI have been a FreeBSD user since 2003. My usage on FreeBSD mainly on service-oriented stuffs such as web farm, database clusters and file system etc. In short, I mainly use my FreeBSD system via command line. In 2009, I jumped into Linux world (Ubuntu\/RHEL) because of my job. As an advanced user on both Operating Systems (FreeBSD and Ubuntu\/RHEL Linux), here is my guide on these two systems.<\/p>\n<p>There is only one FreeBSD, but there are many different variants of Linux. The Linux I mention below refers to two popular distributions: RHEL and Ubuntu.<\/p>\n<div style=\"border-bottom: 1px dotted #999; margin:10px 0px 10px 0px;\"><\/div>\n<h3>FreeBSD vs Linux: Q.1 How do you describe yourself?<\/h3>\n<p>I am a very demanding person. I like to control everything I manage. &#8211;> <strong>FreeBSD<\/strong><br \/>\nI don&#8217;t care about how a system is run. I am okay as long as it just works. &#8211;> <strong>Linux \/ Ubuntu \/ RHEL <\/strong><\/p>\n<p><strong>Comment:<\/strong><br \/>\nFreeBSD gives you freedom to control every single thing. One of its coolest feature is the port tree. You can build every application from source using port tree. In Linux world, you usually install applications from pre-built\/pre-compiled package (yum, apt-get etc), which may not be exactly what you need.<\/p>\n<p><strong>Example:<\/strong><br \/>\nIn RHEL and Ubuntu, HTTP load balancer module does not come with Apache by default. You will need to compile Apache from source. What about in FreeBSD? All you need is to check a box (pretty much like shopping cart) and you are done.<\/p>\n<div style=\"border-bottom: 1px dotted #999; margin:10px 0px 10px 0px;\"><\/div>\n<h3>FreeBSD vs Linux: Q.2 Do you prefer Ferrari or Hyundai?<\/h3>\n<p>Ferrari \/ BMW \/ SLR Camera &#8211;> <strong>FreeBSD<\/strong><br \/>\nToyota \/ Hyundai \/ Point and Shoot Camera \/ Phone Camera &#8211;> <strong>Linux \/ Ubuntu \/ RHEL <\/strong><\/p>\n<p><strong>Comment:<\/strong><br \/>\nThe technology uses by FreeBSD such as kernel, file system, architecture etc are way better and more advanced than Linux. It&#8217;s like comparing Ferrari and Hyundai (And no, I am not kidding).<\/p>\n<p><strong>Example 1:<\/strong><br \/>\nI need to run some extreme applications (e.g., DNA Sequence Alignment) which use all available threads and memory. The default settings of memory management in Linux is very poor. Every time I run my application, the system becomes not usable to other users. However, FreeBSD does not have this server problem. In fact, FreeBSD is smart enough not to cause the system to freeze. Of course you can tweak the memory management settings in Linux, or even run the command along with the <strong>nice<\/strong> command. However, these settings are just not available out of the box, and most of the time, you learn these tricks after your system has problem.<\/p>\n<p><strong>Example 2:<\/strong><br \/>\nI installed FreeBSD 11 and RHEL 7 on two identical computers respectively. Both use default settings and enable similar services, such as enabling the SSH server and disable booting to X-Windows (RHEL). I used these two machines for exact the same purposes: SSH tunneling, with exact the same work load (evenly distributed). After using them for a month, I checked the memory usage. With FreeBSD, the available memory is about 800MB (out of 1GB), while there are only 200MB left (out of 1GB) on RHEL. Yes, Linux (at least with RHEL 7) consumes lots of memory.<\/p>\n<p><strong>Example 3:<\/strong><br \/>\nFreeBSD comes with ZFS (The next generation file system) by default. Although it has been ported to Linux world, it is definitely unstable. We&#8217;ve tried to use it in a production environment. One thing that we&#8217;ve learned is that the ZFS may stop working after upgrading to a newer Linux kernel. I&#8217;ve received countless of email alert about missing the files (ZFS is not working, of course the files are gone) in the middle of the night. I ended up disable the auto update and disable the reboot after the update. Sounds familiar? That&#8217;s a feature in Windows, and for some odd reasons, this feature is available in Linux, a server.<\/p>\n<p><strong>Example 4:<\/strong><br \/>\nLVM+RAID is an the most advanced storage method in Linux world. Unfortunately it does not do what it promises, i.e., you may lose your data if a hard drive is failure, even if you follow its directions to detach your failed hard drive correctly. Not to mention that the data will get corrupted if the power is down (which has been taken care of in ZFS, available in FreeBSD).<\/p>\n<p>That&#8217;s why I prefer ZFS over LVM+RAID here: <a href=\"\/wordpress\/building-a-super-large-and-reliable-file-server-with-mixed-size-of-harddisks\/\" target=\"_blank\" title=\"Building a Super Large and Reliable File Server with Mixed Size of Harddisks\">Building a Super Large and Reliable File Server with Mixed Size of Harddisks<\/a>. It solves my problem (yes, even the power is failed during writing to the disk, my data is still safe!)<\/p>\n<div style=\"border-bottom: 1px dotted #999; margin:10px 0px 10px 0px;\"><\/div>\n<h3>FreeBSD vs Linux: Q.3 Do you have lots of free time?<\/h3>\n<p>Yes: <strong>FreeBSD<\/strong><br \/>\nNo: <strong>Linux \/ Ubuntu \/ RHEL<\/strong><\/p>\n<p><strong>Comment:<\/strong><br \/>\nMaking a production-ready system using FreeBSD can take you days to weeks if you are not an experienced FreeBSD user, while everything works out of the box in Linux. Sometimes, the new upgrade from the port tree can drive you nut, such as package conflicts etc. However, working with Linux is a leisure thing.<\/p>\n<p><strong>Example:<\/strong><br \/>\nInstalling Apache + MySQL + PHP from FreeBSD port (compiling the source) can take at least half day on a computer with a dual core CPU (AMD Athlon 64 X2 Dual Core Processor 4600+), while it takes less than 30 minutes on Linux. That&#8217;s because you need to compile the code from source in FreeBSD, while you simply download the packages and extract them in Linux. The time difference is huge.<\/p>\n<div style=\"border-bottom: 1px dotted #999; margin:10px 0px 10px 0px;\"><\/div>\n<h3>FreeBSD vs Linux: Q.4 Do you prefer simplicity or complexity?<\/h3>\n<p>Adding sugar into water &#8211;> <strong>FreeBSD<\/strong><br \/>\nTaking sugar away from soda&#8211;> <strong>Linux \/ Ubuntu \/ RHEL<\/strong><\/p>\n<p><strong>Comment:<\/strong><br \/>\nFreeBSD is a very very simple system. Think of it as a bare-bone system that comes with no junk. By default, it comes with no graphic user interface, no unnecessary application. It likes a pure distilled water.<\/p>\n<p>In Ubuntu \/ RHEL, everything is configured and ready to use. It comes with very attractive, beautiful graphical user interface. Everything just works out of the box, no tuning or tweaking is required. However, it also comes with lots of junk such as Ubuntu One (For Ubuntu Cloud service), SELinux (A program developed by Red Hat where many people don&#8217;t use it), etc. It makes your system very bulky and increase the computation resource consumption.<\/p>\n<div style=\"border-bottom: 1px dotted #999; margin:10px 0px 10px 0px;\"><\/div>\n<h3>FreeBSD vs Linux: Q.5 Are you going to use the computer as desktop?<\/h3>\n<p>Yes: <strong>Linux \/ Ubuntu \/ RHEL<\/strong><br \/>\nNo: <strong>FreeBSD<\/strong><\/p>\n<p><strong>Comment:<\/strong><br \/>\nSetting up a desktop-ready system on FreeBSD can take a long time. Main reason is the drivers availability. A lot of hardware such as graphic cards, audio cards or webcams are not supported in FreeBSD natively. If you want to get them working as good as on Windows \/ Ubuntu, you will need to get the driver first (if available), build it (which may gives error during compiling the codes), and recompile the kernel to make it supports the new driver, which can take few days if you are not experienced with FreeBSD and debugging driver.<\/p>\n<p>On the other side, the Linux driver community is very strong and well developed. Usually they develop drivers for most popular hardware.<\/p>\n<p><strong>Example:<\/strong><\/p>\n<p>#1: My Logitech Orbit MP webcam (Pan \/ Tilt \/ Zoom) is not working on FreeBSD but works like a charm on Linux.<\/p>\n<p>#2: Some vendors such as Highpoint may stop developing drivers for their products for newest version of FreeBSD.<\/p>\n<div style=\"border-bottom: 1px dotted #999; margin:10px 0px 10px 0px;\"><\/div>\n<h3>FreeBSD vs Linux: Q.6 Do you need to blame someone when something goes wrong?<\/h3>\n<p>Yes: <strong>Linux \/ Ubuntu \/ RHEL<\/strong><br \/>\nNo: <strong>FreeBSD<\/strong><\/p>\n<p><strong>Comment:<\/strong><\/p>\n<p>When something goes wrong, you can blame Linux and you can&#8217;t blame FreeBSD.<\/p>\n<p>FreeBSD is a community driven operating system, while some Linux distributions such as Ubuntu and RHEL are backed by commercial vendors. In the world of FreeBSD, it is not uncommon that some unskilled developers introduce bugs, troubles to the rest of the world. Yes, we know it is free, so we can&#8217;t complaint about it. However, as an IT administrator, you will need to use your judgement to judge whether those new stuffs are safe to use or not. In short, that will increase your workload. It&#8217;s more like Windows update. How many people actually read the change log before hitting the update button?<\/p>\n<p>In Linux (e.g., RHEL), that&#8217;s a whole different story. Every patches, new updates have been screened by the vendor before hitting to public. So you can trust them in some degree. And the key thing is, you can blame them when something goes wrong.<\/p>\n<div style=\"border-bottom: 1px dotted #999; margin:10px 0px 10px 0px;\"><\/div>\n<p><strong>Conclusion<\/strong><\/p>\n<p>In short, use FreeBSD for your personal purpose while Linux for your work. Be the top 5%, not the bottom 95%.<\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>FreeBSD or Linux FreeBSD or Linux (Ubuntu\/RHEL)? This is a very old question. It&#8217;s like asking iPhone or Android. There is no short answer. It all depends on your situation. <a class=\"more-link\" href=\"https:\/\/icesquare.com\/wordpress\/freebsd-or-linux\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[94,7,78,144,6],"tags":[79,49,171,48,18],"class_list":["post-923","post","type-post","status-publish","format-standard","hentry","category-computer-problems-computer-help-pc-support","category-freebsd","category-product-comparison","category-sever-problem","category-technology","tag-comparison","tag-fedora","tag-freebsd","tag-linux","tag-ubuntu"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p1sqzr-eT","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":87,"url":"https:\/\/icesquare.com\/wordpress\/performance-benchmark-freebsd-vs-ubuntu-vs-os-x-which-one-is-better\/","url_meta":{"origin":923,"position":0},"title":"Performance Benchmark: FreeBSD vs Ubuntu vs OS X, which one is better?","author":"Derrick","date":"May 22, 2009","format":false,"excerpt":"If you cannot decide whether you should go with FreeBSD or Ubuntu (or Linux), check out this article: FreeBSD or Linux in 6 Simple Questions Recently I am working on building a web farm which is formed by three ancient time computers (The sum of their ages is older than\u2026","rel":"","context":"In &quot;FreeBSD&quot;","block_context":{"text":"FreeBSD","link":"https:\/\/icesquare.com\/wordpress\/category\/sever-problem\/freebsd\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1927,"url":"https:\/\/icesquare.com\/wordpress\/phphow-to-get-the-number-of-cpu-cores-in-fedora-ubuntu-and-freebsd\/","url_meta":{"origin":923,"position":1},"title":"[PHP]How to get the number of CPU cores in Fedora, Ubuntu, and FreeBSD","author":"Derrick","date":"December 2, 2011","format":false,"excerpt":"I am working on a PHP application which needs to be deploy to multiple places. One of the variables is the number of CPU core. Since each server has different number of CPU cores, I need to specify the number of CPU core in my application for each server. I\u2026","rel":"","context":"In &quot;Computer Problems&quot;","block_context":{"text":"Computer Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/computer-problems-computer-help-pc-support\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1511,"url":"https:\/\/icesquare.com\/wordpress\/how-to-clean-up-the-dmesg-message\/","url_meta":{"origin":923,"position":2},"title":"How to clean up the dmesg message","author":"Derrick","date":"August 24, 2011","format":false,"excerpt":"Recently, I found that my dmesg log are filled of junk. Or I should say it contains lots of errors and complains that I already fix. However, I don't want to reboot the machine to get rid of these error messages. How can I do it? The solution is very\u2026","rel":"","context":"In &quot;Computer Problems&quot;","block_context":{"text":"Computer Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/computer-problems-computer-help-pc-support\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":917,"url":"https:\/\/icesquare.com\/wordpress\/what-can-you-do-with-a8m2n-la-nodusm-gl8e\/","url_meta":{"origin":923,"position":3},"title":"What can you do with A8M2N-LA \/ NodusM-GL8E?","author":"Derrick","date":"October 30, 2010","format":false,"excerpt":"Recently, I decided to turn my HP m7557c computer (motherboard: A8M2N-LA \/ NodusM-GL8E) to an Unix server. The nightmare began. After trying nearly 10 different operating systems and distributions, I found that only very few of them worked with A8M2N-LA \/ NodusM-GL8E. I think it is worth to share my\u2026","rel":"","context":"In &quot;Computer Problems&quot;","block_context":{"text":"Computer Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/computer-problems-computer-help-pc-support\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4128,"url":"https:\/\/icesquare.com\/wordpress\/dropbox-with-freebsd\/","url_meta":{"origin":923,"position":4},"title":"Dropbox on FreeBSD","author":"Derrick","date":"June 6, 2016","format":false,"excerpt":"I put my personal websites on a FreeBSD server. One of my websites is a photo album, which I want to read the content from a Dropbox. That Dropbox primarily runs on Mac, iPhone and iPad. I was trying to explore the possibilities to set up a Dropbox on FreeBSD.\u2026","rel":"","context":"In &quot;Computer Problems&quot;","block_context":{"text":"Computer Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/computer-problems-computer-help-pc-support\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/icesquare.com\/wordpress\/wp-content\/uploads\/2016\/06\/Dropbox_logo.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1521,"url":"https:\/\/icesquare.com\/wordpress\/what-os-is-good-for-sparc64\/","url_meta":{"origin":923,"position":5},"title":"What OS is good for SPARC64?","author":"Derrick","date":"September 13, 2011","format":false,"excerpt":"Recently, I received a SPARC64 machine (Sun Blade 100) as a gift. If you are not sure what is SPARC64, it is a CPU primary manufactured by Sun\/Oracle. It is quite different than Intel x86 \/ AMD 64, so anything that is compiled to run on these two platforms will\u2026","rel":"","context":"In &quot;Computer Problems&quot;","block_context":{"text":"Computer Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/computer-problems-computer-help-pc-support\/"},"img":{"alt_text":"","src":"\/wordpress\/wp-content\/uploads\/2011\/09\/sparc.jpg","width":350,"height":200},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts\/923","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/comments?post=923"}],"version-history":[{"count":85,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts\/923\/revisions"}],"predecessor-version":[{"id":4376,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts\/923\/revisions\/4376"}],"wp:attachment":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/media?parent=923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/categories?post=923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/tags?post=923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}