Linux Distro for Learning Bash, BSD Sockets, Posix Pthreads, Vim

OldM3ta

[H]ard|Gawd
Joined
Jun 6, 2004
Messages
1,150
I purchased a dual core, 2GB, low power system for running a Linux Distro.

It needs to be a distro which I can learn Bash Shell, BSD Sockets, Posix Pthreads, and Vim. I don't want it to run a graphical desktop environment. I just want to be able to SSH into it through my Windows machine.

It needs to have support for my hardware which includes a Realtek RTL8191SE chipset 802.11n card, the Intel Pentium Dual-Core G620T 35W chip with integrated Intel HD Graphics on an H67 platform.

I'd love for it to be easily update-able with new packages as I require them.

Which distro(s) is the one to get?
 
I might have to compare base distro packs somewhere if no one answers. :)
 
Ubuntu server edition
Centos (You don't have to install X)

I'd also recommend FreeBSD, although its not Linux.
 
Posted my message before seeing your Christopher! I'll check out Ubuntu Server and FreeBSD. Thanks.
 
If you are primarily embarking on a learning experience, I'd take a look at FreeBSD. Its a well built, integrated UNIX-like system that gives you enough to learn to core concepts of POSIX systems, and its documented well enough to teach, and not just do. Thats a huge difference.

A lot of Linux documentation tends to focus on action steps, e.g. "Do X, then do Y, then do Z' with minimal embellishment on why you would do that and what those steps actually do. In the FreeBSD world, a good amount of effort is put into explaining what these things actually do and mean, allowing the user to make an informed decision on their own.

Although it can frustrate users who just want things to work, I find it overall to be a better experience to understand whats actually happening under the hood, and make my own decisions based on that understanding.

This is just my opinion, and your goals may be different, but I think its worth a look.
 
Thank you for that informative post. I will definitely give FreeBSD the look it deserves. Does it have some kind of installer package like pacman / apt-get ?
 
Does it have some kind of installer package like pacman / apt-get ?

Several. The base system has pkg_add and pkg_delete. That is enough to bootstrap an installation. For automatic upgrades of packages, you want a tool like portupgrade or portmaster.
 
Arch Linux is beyond phenomenal.
I've used it for several years know, pretty well known in the forum, there is no other distro like it.
 
Thank you for that informative post. I will definitely give FreeBSD the look it deserves. Does it have some kind of installer package like pacman / apt-get ?
...............................................
cd /usr/ports/sysutils/portmaster && make install
rehash
portmaster -d -P -i audio/yell
rehash
(update the ports tree)
(and if firefox and mutt can be updated to newer versions...)
portmaster -d -B -P -i /var/db/pkg/firefox-7.0,1 /var/db/pkg/mutt-1.4.2.3_6 && yell
............................................
Super easy, once the initial stuff is out of the way (for yell to work, you'd want an onboard speaker, your sound drivers loaded; and you'd want your shell file (.cshrc or equivalent) to
do tab completion so in the line above, fir[tab] lets you select firefox without typing anything more;
and a slew of other optimizations. But it pays off for the sixty or so years you may still
continue to use it... both in saved keystrokes, and other stuff too numerous to enumerate.
(and you can pick and choose bits of the commands, script them into even-more automatic
wrapper scripts, etc.)
I'd be sure to have your history saved across reboots, if you used a complex command line
this year, and want to do something similar next year, you can save hours grepping the history
file (itself backed up maybe) for usage.
-d == delete stale source files upon completion (portmaster-specific)
-B == do not make a backup if of the previous package
-P == use upstream packages if avail. (requires a
/usr/local/etc/portmasterrc (or .portmasterrc) config line...
-i == ask before the installs, in case unwanted new dependencies or some other complication

BTW on one box I have no onboard speaker, I scripted a small snippet of sound file;
(yellsub == yellsub.sh alias) one can
also use "ttyload" for a graphical representation of cpu usage...
 
Last edited:
Arch Linux is beyond phenomenal.
I've used it for several years know, pretty well known in the forum, there is no other distro like it.

Arch is excellent for teaching you how to use the command line and configure things yourself. It has some goofy ways of doing things, so it's better for teaching concepts rather than standards.

Alternatively, look at actual FreeBSD (or OpenBSD, Darwin, or another of your choice). These will give you a grounding in the core UNIX standards. Anything you learn here should be applicable on any other *NIX OS.

One of the things about using Arch is that the packages are updated so frequently that they sometimes break, or at least break compatibility with other packages. This "package hell" can be difficult to deal with, but being able to fix a system that's gotten itself into such a state is an invaluable skill to have as a sysadmin. On the flip side, this is something you should (almost) never have to deal with on any BSD system, as the packages are all curated for compatibility.
 
Thanks for your posting, guys. All the information was exactly what I was looking for.
 
Bah you wanna learn, and learn from cmd line.. nothing tops Slackware, the oldest distro around.
 
Any modern *nix will provide what you want here. Don't worry about stripping down to a bare-bones or server distro - your standard, off-the-shelf, desktop Ubuntu will have everything you need. You'll have a graphical desktop if/when you want it & can SSH in the rest of the time. It just works - don't make things more complicated than they need to be (a key tenet of the Unix philosophy).
 
Back
Top