For context: I understand that, generally speaking, questions of the form “Help, what distro should I use” are bad form. I am trying my best to avoid that pitfall by making my question a specific, targeted variant of the “distro choice” question that may be useful to other readers.

I am a CS major who is quite familiar with Mac OS and its Unix-like underpinnings, but wishes to expand their knowledge of Unix’s inner workings. I am comfortable in a Unix/Linux shell, can easily navigate a filesystem through the terminal, and understand the value of man (command). I use brew regularly to install Mac ports of Linux utilities. In essence, I am a Mac OS power user.

I wish to expand my knowledge of Unix by using a more modifiable variant of Unix in a VM or as a second installation, rather than mucking up my Mac OS installation due to stupid learner mistakes. Ideally, this distro will be a relatively “generic” one, in that any Linux/Unix-specific skills learned there can be transferred readily to other common distros.

To summarize, I am seeking a distro with these properties:

  • Conducive to learning the inner workings of Unix

  • Forces me to learn why, not just how, things are done in Unix

  • Follows common Unix conventions (I.e. skills transfer to other distros)

  • May require additional configuration to get it functioning as a daily-use distro

What would be a good choice of distro to accomplish this goal? Should I dual-boot or work in a VM? Which choice is more conducive to an effective learning environment?

To summarize,

closed as primarily opinion-based by thrig, G-Man, Jeff Schaller, Ipor Sircer, Christopher Oct 23 '17 at 23:40

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Good show at making this objective, but although specific, it's still opinion based. However, as a Mac power user and Linux sysadmin, I will recommend that you install Vagrant and VirtualBox and set up vagrant instances of several distros. I usually have multiple vagrant instances running to play around in. Here is a guide to setting up Postgres in vagrant from scratch, and here is a guide to just setting up Vagrant. – Wildcard Oct 23 '17 at 23:42
  • You can't go wrong with Debian. Half the other distros are based off of it. use Vagrant and Virtual box to install it as a virtual machine. – Edgar Martinez Oct 23 '17 at 23:52
  • @Wildcard, Is there a specific way I should tweak this question to make it less opinion-based and more objectively useful for future viewers? I’m new to Stackexchange and would love to ask better questions :) – moz206 Oct 24 '17 at 0:10
  • 1
    Thanks for asking. There really is no way to make a distro recommendation question totally objective. (At least, I've never seen one yet.) What I would do is to bring it up in the site's chat—so, write some answers to contribute to the site and get above the 50 reputation points threshold so you can use chat (shouldn't take much work at all for you). (P.S.: I hope you stick around; knowledgeable people who can also write well are valuable!) :) – Wildcard Oct 24 '17 at 0:16

A VM is probably the best in terms of easily switching back and forth between Mac and Linux.

The exact Linux OS you choose is probably fairly irrelevant. I would suggest CentOS or Ubuntu, although Fedora and Debian would also be fine for what you want. The big difference you will notice is that CentOS and Fedora use RPM packages managed by yum and Ubuntu and Debian use DEB packages managed by apt-get

Arch Linux is probably not generic enough for your particular use case, and the bells and whistles that some other distros have are likewise pointless for what you are wanting to learn.

  • +1 for Debian. Quite a few distros are based off of it Ubuntu is another very popular choice (Note: Ubuntu is a Debian derivative). – Edgar Martinez Oct 23 '17 at 23:54
  • Thank you for the advice! If I wanted to learn from a very ground level perspective (terminal only) up to X window managers, building my way up to that, how would I go about doing that? I want to be able to install every package as needed, so I can learn how to use them as I go. – moz206 Oct 24 '17 at 0:36
  • If you seriously want to start with the 'bare bones', then I suggest using the debian installer and when it asks for which "Software Collections" you want, untick them and you will have a very minimal install. – Mark Perryman Oct 24 '17 at 9:10

Not the answer you're looking for? Browse other questions tagged or ask your own question.