Learning BSD vs Linux from scratch.

88keys

Golden Member
Aug 24, 2012
1,854
12
81
As Windows 7 dies out, I've been more and more serious about trying out Linux, but BSD intrigues me in some ways.

In the past when I've tried to dabble in Linux, I always run into hiccups and those hiccups never seem to go away as my solutions only seem to be temporary (until the next patch cycle or so) and they come back. Eventually those hiccups get on my nerves and I just quit.
What has me interested in BSD is my experience with NAS4Free. Granted it's just a NAS, but very versatile in it's own right. I'm not going to say that I haven't run into hiccups, but when I do I can usually find an effective solution rather quickly and once it's fixed, it's fixed. And through my experience with NAS4Free, I've taken to using SSH to do lots of things now and find it kind of nice to work with. It's just something that works as expected and can toy around with it once in a while and I really like that.

Going back to the original topic, I feel that if I took the time to learn and understand *nix at the functional level that it wouldn't seem so foreign to me and I would actually stick with it over the long term. Learning commands and memorizing them is one thing, but understanding what they do and how they work is far more important.

At the end of the day, I don't mind putting fourth effort to set things up, but once it's done I would like for it to be done. So with all of that being said, would it be advisable for me to try FreeBSD or should I just stick with Linux? And what are some good distros to try out for someone who want's to learn *nix for the sake of learning it?
 

Chaotic42

Lifer
Jun 15, 2001
34,354
1,531
126
Superficially they're not that different. If you're talking about learning them for day to day software use, you'd be fine learning either. There are definitely differences, but if you're comfortable with Linux, switching over to FreeBSD won't be that big of a deal and vice versa. If you want to do development, the differences will become more important as will the need to determine the target audience for your software. Obviously if you want to do things like low-level systems programming, driver writing, or kernel hacking, you'll need to choose one.

As far as skills go, Linux is probably more marketable, but to someone who knows what they're talking about, seeing *BSD on a resume will probably give them a slightly more favorable impression of you since they're a little less user friendly (though projects like PC-BSD are trying to close the gap). If you're going for job skills, I'd suggest going with *BSD and spending a little time playing with Linux so you can put both on your resume.

I have OpenBSD on my firewall for pf and it's been great. I haven't played around with FreeBSD too terribly much because it seems like I always have one piece of troublesome hardware.

I tend to like Debian GNU/Linux (they also have a FreeBSD distro, but I've never been able to get it to work). The Debian folks tend to be a little more political, which can be good and bad. I've been using it for 20 years now, so I'm comfortable with it and I like it. Ubuntu is very popular and easy to use. Their PPA repositories are nice and a lot of software has tutorials and guides written for Ubuntu. I've got the LTS 16.10 (Long Term) release on my processing machine and it's generally decent. Mint is also worth checking out.

My company seems to love CentOS/Scientific Linux/Red Hat Enterprise, which are also fairly popular. I'm not a big fan, but that's just personal preference.

Just my two cents.
 

lxskllr

No Lifer
Nov 30, 2004
59,071
9,481
126
bsd won't be as compatible with stuff as gnu/linux, assuming you want a normal desktop. It'll be like stepping back 10 years. If you want set and forget, I'd suggest debian stable, or a *buntu lts release(I think Chaotic made a typo. 16.04 is the latest lts). For a corporate-centric release, centos would probably be a decent choice, but they're all pretty much the same. Learn one, you know them all aside from details.
 

you2

Diamond Member
Apr 2, 2002
6,455
1,502
136
The BSD kernel is nicer but the truth is that you are better off with linux. While BSD tools (esp make) have a lot of advantages; linux tools and package system are more user friendly. Of course one issue with talking about BSD is that there are multiple distributions with different package systems (of course the same is true with linux). For someone just starting I would go with a debian based system (ubuntu, mint, ...).
-
I myself used freebsd till around 2003 or 2004. Back then the package system was absolutely horrible (compared to linux). I haven't followed *bsd since then so I can't say how things evolved (there used to be three major distributions - freebsd, openbsd and netbsd).

For linux my friends run fedora; I've tried mint and ubuntu. While I don't love ubuntu that is what I run these days (1/2 my systems use gnome-flashback and the others xfce4 (but not xubuntu); I hate unity but others like it). 16.04 is ok; they broke some of the video stuff (from 14.04) so I have constantly switch between vlc, mpv, parole, totem and mplayer to get videos to work - everything worked fine with mplayer on 14.04. Also a few other thing with power management seem broken with 16.04.
-
 

ControlD

Diamond Member
Apr 25, 2005
5,440
44
91
If you really want to learn the nuts and bolts of Linux, maybe try Arch. I recently installed Arch and have built up a fully functional system. I have learned a lot about what makes Linux tick along the way.
 

jardows

Member
Oct 17, 2011
42
1
71
bsd won't be as compatible with stuff as gnu/linux, assuming you want a normal desktop. It'll be like stepping back 10 years.

It's not that bad. Use Nvidia GPU, be very picky on your wi-fi card or just use Ethernet, and all is well. There have been huge gains recently in support for GCN AMD GPU and post Haswell Intel IGP. Software wise, there isn't anything for "normal" desktop usage you can run on Linux that you can't run on FreeBSD.

What attracted me to FreeBSD is that it just simply works. Follow the instructions in the handbook, and it works. I've never had that experience with a Linux distribution - something I wanted to do didn't work, or it didn't work after the next update because a dependency broke, and I had to scour to find workarounds that would break something else.

If you want to learn for personal edification, I recommend going FreeBSD. If you are looking simply for a Windows alternative, get the Linux flavor of the day.
If you are looking for more readily marketable skills, get RedHat/CentOS Linux distributions. If you want to get that killer job, BSD experience will get you deep, but you have to look for a while to find someone who appreciates the experience.

If you want to learn Linux, get a Linux distribution. If you want in-depth learning of Linux, do LFS or get Slackware, otherwise you are just learning the particular distribution.

If you want to learn Unix, get FreeBSD. Linux is unix-like; FreeBSD is a unix.
 
Last edited:
Feb 25, 2011
16,983
1,616
126
In the past when I've tried to dabble in Linux, I always run into hiccups and those hiccups never seem to go away as my solutions only seem to be temporary (until the next patch cycle or so) and they come back. Eventually those hiccups get on my nerves and I just quit.

Every OS has glitches - if you're constantly patching to latest, bleeding-edge code, you're gonna have a bad time. A patch that fixes one thing will bring with it its own problems.

To me, this is a testament to the QA effort Microsoft and Apple put into their products. You can come pretty close in Linux using last years' LTS release, though. Close enough for me. At home I'm running Mint 17.3, which is derived from Ubuntu 14.04 LTS. Except for a few glitches while gaming (only certain games), it's been great.

What has me interested in BSD is my experience with NAS4Free. Granted it's just a NAS, but very versatile in it's own right. I'm not going to say that I haven't run into hiccups, but when I do I can usually find an effective solution rather quickly and once it's fixed, it's fixed. And through my experience with NAS4Free, I've taken to using SSH to do lots of things now and find it kind of nice to work with. It's just something that works as expected and can toy around with it once in a while and I really like that.

FreeBSD's designers are a lot more conservative. They tend not to put stuff in the release code until they're darned sure it's working well. As a result, their hardware support lags behind a tad, but that's not a bad tradeoff IMHO.

Going back to the original topic, I feel that if I took the time to learn and understand *nix at the functional level that it wouldn't seem so foreign to me and I would actually stick with it over the long term. Learning commands and memorizing them is one thing, but understanding what they do and how they work is far more important

I guess it depends on how you define "functional" and "understanding."

Any Linux/Unix/FreeBSD can host a variety of completely different desktop environments. A "good" DE will tend to give you controls over enough of the system, that you don't need to dive into a CLI - or only need to rarely. At the same time, you can switch DEs without changing your OS, and be just as confused and disoriented as somebody moving from Windows XP to Windows 10.

Understanding what a command does is usually just a matter of reading the documentation. But "tar" on FreeBSD and "tar" on Linux work the same way, petty much, so a lot of the *nix applications/scripting stuff is pretty portable and the underlying OS doesn't matter too much to you as a user.

Then again, if you know that "tar -xvf" will expand your archive in verbose mode, do you "understand" tar in the way that somebody who writes compression algorithms understands it? Is that your goal?

At the end of the day, I don't mind putting fourth effort to set things up, but once it's done I would like for it to be done. So with all of that being said, would it be advisable for me to try FreeBSD or should I just stick with Linux? And what are some good distros to try out for someone who want's to learn *nix for the sake of learning it?

PC-BSD is kinda the only game in town for desktop FreeBSD distros. Mint is my poison of choice on the Linux side, but there are plenty of others.
 

Essence_of_War

Platinum Member
Feb 21, 2013
2,650
4
81
Just as a heads-up, as of ~july of 2016, PC-BSD morphed into TrueOS. It's a bit more opinionated than vanilla freeBSD and it moves a bit faster.