
Linux Fundamentals - shawndumas
http://www.funtoo.org/wiki/Linux_Fundamentals,_Part_1
======
naner
For the uninitiated: These articles are written by Daniel Robbins. He was the
creator and past benevolent dictator of Gentoo Linux. He left the project
years ago and then when he returned he started the Gentoo-based Funtoo Linux.

When he was working on Gentoo proper he wrote a lot of articles for IBM
developer works[1]. He is a good technical writer in general and I found his
articles on SSH key management quite useful. He is the author of the
'keychain' utility[2] for key management, too.

1:
[http://www.google.com/?q=site:ibm.com%2Fdeveloperworks%2F+da...](http://www.google.com/?q=site:ibm.com%2Fdeveloperworks%2F+daniel+robbins)

P.S. Google is so freakin broken I can't figure out how to make a simple link.
You'll have to press the Search button yourself.

2: <http://www.funtoo.org/wiki/Keychain>

~~~
pjscott
Installing Gentoo taught me a staggering amount about Linux. I'm not sure
whether or not that's a good thing to say about it as a distro, but I'm glad I
did it.

~~~
mun2mun
May be offtopic, I am thinking about toying around a linux distro, configure
with my own preference. Which distro should I choose? Gentoo or Arch linux?
There was a post about Arch linux in HN few days ago where people praised
about its configurablility. Can someone put some more insight about it?

~~~
wyclif
I would recommend Arch Linux as more current. It's fun to build up a system
from base, and there's plenty of help available on the IRC channel.

I believe you are thinking of this HN story:

[http://www.h-online.com/open/features/Arch-Linux-It-is-
what-...](http://www.h-online.com/open/features/Arch-Linux-It-is-what-you-
make-it-1343717.html)

~~~
kamechan
hmm, i wouldn't necessarily say that arch is more current. both arch and
gentoo use rolling releases, and the gentoo community is still fairly active.
what i might say instead is that the arch community has become quite active,
and created a lot of new documentation whereas gentoo, whose documentation is
still updated frequently, hasn't recently had any kind of redesign. but, it's
still gentoo's stated goal to have the bleeding edge of the linux community
development process, aside for possibly gnome3, which they've been actively
masking out of the stable (and even dev) branches.

the real difference is that the predominant number of packages in gentoo are
compiled specifically for one's machine based off of the specific set of use
flags and package.use, and package.mask parameters, and relatively few
precompiled binaries exist for gentoo. with arch, there are a lot more
precompiled binaries and not having to compile everything from scratch (yes, i
know you still can with arch, but this is not the default model) is more
appealing to some.

all this said, i absolutely love emerge. arch's pacman is a very good package
manager, but emerge is just amazing in my opinion. for someone just starting
with a rolling release distro of linux, i'd say take a look at the
documentation for both gentoo and arch and see which one you relate to more.
after all, you'll be reading a LOT of documentation either way.

~~~
wyclif
Yes, I fully grant what you are pointing out. If I were to write it over
again, I definitely would have said "more active" instead of more current.
I've never used Gentoo, but I understand it may be attractive to users who
want a ports-based system as well.

------
16s
Very nice article. I like the coverage of "." (this directory or cwd) to show
new users how to execute programs in /home, etc. One often over-looked feature
of "." is that it can be used on non-executable files as well. For example, it
can be used to removed a file named -f:

rm ./-f

That was actually a question for me during a Google phone interview. I kid you
not.

~~~
delinka
"." can be used any place you need to explicitly indicate a file in the
current directory. Your "remove file '-f' from the current directory" is a
fine example, but your "...can be used on non-executable files..." makes me
cringe slightly - it won't magically execute a non-executable file (I do
realize this is not what you mean to say...)

It works exceptionally well if you need variables for directories in a shell
script. For example, if your script needs $PKG_HOME to be defined, it could be
set as "/usr/bin/pkg_home/" or "./" to be prepended to other paths in the
script. Setting it to "" would surely work as well as "./" but being explicit
improves readability and communicates the author's intent more clearly.

So, absolute paths start with "/", relative paths may avoid "." and ".." and
"/", but an explicit relative path would use "." and/or ".."

------
mun2mun
Full list of tutorials <http://www.funtoo.org/wiki/Category:Articles> . I am
sure more gems will be added in future. Great find. Thanks shawndumas :).

------
Veejay
Great article, covers the basics in detail.

Though I have to admit that I wonder how come most Linux / open source
software websites are so average-looking in terms of colors, font and general
styling.

There seems to be a policy of content over presentation when it should be
possible and even easy to have both in 2011 without much effort.

~~~
otaku888
If you look a bit more closely you'll see that is not just an article on a
website but a wiki powered by mediawiki. As such it is not that suited to
design customisation especially the type of design you are referring to. That
being said I would argue this sort of guide or reference is much more readable
in a plain unembellished format. Content is king in this instance.

------
spacemanaki
The "Bash by example" tutorial linked at the bottom is also pretty nice.

------
skeptical
Wow, this is probably the best linux/unix guide I've seen. It covers topics in
good detail but not in so much detail that it becomes boring or difficult to
refer to. Clear code sample and no fluff.

Thanks for sharing. I predict I'll refer to these docs quite frequently in the
future.

