I am a long time linux user and have recently become interested in playing about with BSD-based operating systems. What are the differences between linux and BSD-based systems. I am interested in learning about the functional, practical and also historical differences.
-
6I recommend starting with the Wikipedia articles. The differences are far too numerous to list and far too disparate to summarize, not to mention ill-defined (there are several kinds of BSDs and several kinds of Linuxes). It's like asking the differences between a Volvo and a Renault.– Gilles 'SO- stop being evil'Nov 16, 2011 at 23:05
-
This is a near duplicate of quite a few different questions, e.g.serverfault.com/questions/40865/….– ConcernedOfTunbridgeWellsNov 17, 2011 at 0:38
-
Functional and practical are easy: Linux uses GNU and Linux tools (NetFilter, etc.), BSD uses BSD and, uh, BSD tools (IPF, etc.).– Ignacio Vazquez-AbramsNov 17, 2011 at 2:59
-
2@jcwx86 stackexchange.com/search?q=difference+bsd+linux– Michael MrozekNov 17, 2011 at 14:44
-
2@jcwx86 This is getting quite off topic. But ok - Renault has a long history of putting nice little features into their cars as "the first ones" - but their cars did rust or had other little flaws. Volvo has a history of building rock solid ugly cars that simply do their job - in any kind of weather.– NilsNov 21, 2011 at 22:11
2 Answers
It is very tempting to want to define the differences between BSD and Linux. Just like Gilles said in the comments, it is not an easy task since they're so numerous and disparate. Very often, the differences won't even be noticeable at the user's level; everything has been worked out so that the OS behaves as you would expect a Unix to.
Moreover multiple distributions are available for each. No matter what you say about Linux/BSD generally, you'll often find a distribution that contradicts it.
The following is a list of comparisons I found scattered over the web.
- Here on U&L, a user has defined the following differences:
Big differences are (in my opinion of course):
- Userland (Linux uses GNU while BSD uses BSD)
- Integration (Linux is a collection of different efforts, BSD is much more unified at the core)
- Packaging (Linux typically manages installed software in binary packages - BSD typically manages a "ports" tree that you use to build software from sources)
Notice the word typically in his last point. Some Linux distributions will manage source code and conversely some BSDs will manage binary packages.
- Matthew D. Fuller has a lengthy comparison between BSDs and Linux you may want to look into. The article will compare both on Design level, Technical differences, Philosophies and finally address common Myths. Here are some excerpts:
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 is designed. Linux is grown. Perhaps that's the only succinct way to describe it, and possibly the most correct.
- User vivek on FreeBSD forums writes:
Key differences:
- FreeBSD full os. Linux is kernel. Linux distribution is os (100+ majro disrtos).
- FreeBSD everything comes from a single source. Linux is like mix of lot of stuff.
- BSD License vs GPL
- FreeBSD Installer
- BSD commands (ls file -l will not work) vs GPL command (ls file -l will work)
- FreeBSD better and updated man pages.
- BSD rc.d style booting vs Linux SysV style init.d booting
Here are some articles describing the history of each:
Written by Dave Tyson, this article describes the history of many Unix variants (including of course BSD and Linux).
Scott Barman describes how both operating systems came to be and how it forged his opinion:
I will give one "solid" opinion: If I had to choose one system that would act as my router, DNS, ftp server, e-mail gateway, firewall, web server, proxy server, etc., that system would run a BSD-based operating system. If I had to choose one system that would act as my desktop workstation, run X, all the application I like, etc., that system would run Linux. HOWEVER, I would have no problem running Linux as my work horse server or running the BSD-based system on my desktop.
Further reading
- This question here on U&L, compares existing BSDs, highlighting what they have in common.
I had this discussion yesterday with an IT-manager. The main difference between BSD and Linux is - IMHO - the focus.
BSD: Security
- BSD is easy to "harden" and has many standard-features for this
- all commands do their core task - not more
- almost no security bugs
- is therefore the OS of choice for front line DMZ systems
- is therefore the OS of choice for open-source firewalls
- follows the principle KISS (keep it simple stupid)
Linux: Functionality
- Has all features you can think of (and many more)
- almost every command can do almost everything
- you can combine almost everything and it will work
- needs to be updated frequently due to security holes in automatically loaded modules
- is more user friendly
- is very very flexible
- is therefore the OS of choice for back end systems or even desktops
-
4The points you bring up depend very much on the distributions we are talking about. There are several KISS Linux distributions and very feature-rich versions of BSD.– n0peNov 21, 2011 at 22:47
-
@MaxMackie Can you please add some examples about BSD and Linux? I know there are some Linux distributions that are very KISS - but are they as secure as OpenBSD? Whe I talk about Linux I talk about the big ones - RedHat, SLES, Debian. With BSD I refer to Open and FreeBSD.– NilsMar 15, 2012 at 20:10
-
2it's pretty hard to answer such an incredibly broad question without some generalizations. Downvoting Nils' answer because there are counter-examples out there seems rather unreasonable. His answer is still very useful, in my opinion, as it gives a bird's eye view. Nov 26, 2012 at 15:54
-
1Careful, OpenBSD is incredibly secure because it has a very limited range of supported software and fascist default configuration. Add more stuff, allow more, the attack surface grows.– vonbrandJan 23, 2013 at 13:01
-
2Apropos the comment on "BSD for router etc, Linux for workstation" I believe that to be mistaken. You will have to care for your non-WS machine too, and if the software on both is too different, keeping track (and remembering the idiosyncrasies of each) will get to be a chore. Result is bitrot, and that is dangerous. About "Linux has to be updated frequently", if there is more software awailable (and more hands working on same), you obviously get more updates. Not because it is worse, it is perhaps just that problems get fixed faster.– vonbrandJan 23, 2013 at 13:07