*NIX Journey: TL;DR Version

Newnix's *NIX Journey (TL;DR-ed)

I thought it'd be fun to write up my journey from first failed installs to where I am now, with no desire to use a more complex installer than OpenBSD or DragonFly BSD, prefering to instead run through the installation manually. Hopefully it can be useful to someone just starting out on their *NIX journey, since Windows and OSX/MacOS can be used without ever having to know anything at all about the underlying system, while with Linux, BSD, Illumos, and other "alternative" Operating Systems this sort of knowlege can be vital for getting help from online communities.

I'm hoping to provide some documentation that can help newcomers work through this sort of information without the time crunch of their drives failing or their system failing to boot. This shouldn't be mistaken for a technical guide or a CLI primer, rather this is just meant to be a record of how to get familiar with your system setup and how to determine how you feel about the different aspects, possibly even allow you to find the means to correct it or customize it to suit you better.


The Blunder Years

So I initially got into alternative Operating Systems back in high school, around 2010. Unlike most people of my generation, I actually didn't have any internet access until around freshman year, and didn't have my own computer until a couple years earlier. So things like the Commodore and other personal computers of that timeframe never entered into my life. I loved the idea of FLOSS software and Operating Systems, people coming together to create an Operating System for free, in their free time? Sign me up!

Well, looking into how to get started, I came across Debian and Ubuntu, not really knowing anything other than what I found on Wikipedia, I decided to go with Debian because of the "non-free" software in Ubuntu. Little did I know that meant the code was proprietary or distributed under a restrictive license, not necessarily that the software was paid for. Also, the tagline of "The Universal Operating System" really appealed to me. So I wound up getting a Debian DVD and failed multiple times to install it. The same thing happened with Ubuntu. Turns out my problem was that I didn't know the password that had been captured during install, but that was enough for me to give up for the time being, with no idea where to get help, I figured that either something was wrong with my systems, or I was just doing something wrong.


Intro to Linux

When I finally got a distro installed (by this time, Zorin OS), in 2013-2014, I got into an interesting situation where I could feel comfortable with the terminal. At this time I was primarily only using it to compile and run C++ code that I was working on for school. But it did spark an interest in what packages are, how to manage them, and how to use the command line to get things done.

As time went on, I eventually went on to try more up-to-date distros like Sabayon, where I got more acquainted with the concept of package management. Before long I thought I was an expert and decided I should tackle Arch, after all, Arch is tough, and is only for "hardcore" Linux users, right? Turns out it's nowhere near as tough and educational as people frequently proclaim. Eventually I moved on to Gentoo, and loved the control I had over the system, and that's where I was happy for about 2yrs.


Filesystem Experimentation

As I learned more about these systems I love, I found that there's several filesystems available, other than EXT4. While for most people, EXT4 is fine (much like people using Windows are frequently unaware of the NTFS shortcomings, and similar for OSX/MacOS users never being exposed to HFS/HFS+ issues), but I'm the kind of person that constantly has to be tinkering on something. There's various options:

* JFS
* XFS
* EXT2
* EXT3
* EXT4
* F2FS
* BTRFS
* vFAT
* ReiserFS
* Reiser4
* HAMMER
* HAMMER2
* ZFS
* BCACHEFS

Not all of them are good ideas for your system, but that'll be covered in the longer post. Tinkering with these filesystems pulled me away from Linux, because Linux doesn't actually support all of them. I highly reccommend looking into these different filesystems, as they have several interesting options and features that can be useful in various situations.


Beyond Linux

Linux is a hell of a gateway drug, after getting into a reasonable flow and being comfortable with Linux as my daily driver, I found other fun Operating Systems doing some really cool things. To list them in no particular order:

* Plan 9
* FreeBSD
* TrueOS
* DragonFly BSD
* OpenBSD
* NetBSD
* Haiku
* 9front
* Open Indiana
* SmartOS 
* ReactOS
* RedoxOS
* HardenedBSD

There's a whole world of cool things happening, Linux is just the most popular. Digging into these really gives you a lot of exposure into how these things work and how the different systems are doing things differently between them.


Current Day

So today, I'm very happy with DragonFly BSD, I'm not too sure what exactly attracts me to this project over others, but it's one of the systems that works reliably on my hardware and lets me get my work done. HAMMER and HAMMER2 are just additional benefits that make it fantastic. I also make heavy use of OpenBSD and HardenedBSD in my work, primarily because of the security hardening benefits. Linux is fantastic, BSD is terrific, and once you spend some time digging into the systems you come across, you can find all sorts of interesting projects going on, even get started on your own.