topher-olug at zyp.org
Fri May 4 16:04:35 UTC 2012
On Thu, May 3, 2012 at 3:30 PM, Michael <mjclinux at gmail.com> wrote:
> I have installed gentoo before and I have done Linux From Scratch before. I guess I'm not really sure what I'm asking but I have a feeling that I am missing a lot.
If you've done Linux From Scratch, you should have a pretty good idea
of the pieces involved with a Unix/Linux system, as far as boot
process, daemon administration, etc.
Depending on exactly what you're trying to learn, here's some areas
I'd suggest checking out:
* Build a Linux Kernel yourself, from kernel.org sources. Go through
all of the config options yourself to see what's available.
* Get a copy of "Linux in a Nutshell" and read it. All of it. This
will give you a grounding in the multitude of commands available in a
Unix/Linux environment, and make you aware of how much functionality
is available at your fingertips (if you know it exists, and what
command to run to get it). Your shell scripting and command line use
will improve significantly from reading this book.
* Learn the basics of C Programming. Unix/Linux is heavily built
on and influenced by C, and learning C will help you understand a lot
of "under the hood" information about linux systems and applications.
* Learn to script with shell scripting, sed, and awk. There are lots
of tutorials on shell scripting including the Advanced Bash Scripting
Guide (free, online). O'Reilly makes a great book ("sed & awk") that
covers both well, provides a great start on regular expressions, and
shows you how much is capable with sed and awk.
* Learn Perl (or one of the other "P" languages: Python, PHP, Puby,
and Pickle). I have a bias towards Perl; especially with Modern Perl,
I think it's the best language option for scripting. However, Python
and Ruby are both reasonable choices, too. Although, on second
thought, don't bother with Tcl unless you have to. And definitely
skip PHP. I'm pretty sure excessive use of it causes brain damage in
a similar way to Visual Basic.
* Learn Assembly Language. This one is taking low-level to a certain
extreme, and I wouldn't suggest it until/unless you already are
comfortable with C, and you have masochistic tendencies. It will give
you a better understanding of the underlying hardware, though
(especially if you combine learning it with a book on computer
* Pick up a book on Operating Systems and OS design, or Unix/Linux
internals. For the former, Tanenbaum has a good book that uses Minix
for examples. For the latter, there's "The Design of the UNIX
Operating System", which is dated, but good. For Linux, specifically,
there's "Understanding the Linux Kernel" and "Linux Kernel
I don't know if any of these will interest you, but based on your
(rather vague ;-) request, it might help get you started. I'd be
happy to clarify or expand on any of these if you'd like.
> Mike C.
 If you've never done any programming or scripting before, C isn't
going to be the easiest place to start. K&R's "The C Programming
Language" is the best book written on C programming, but it's not
really geared towards people with no programming experience. I'd
probably start with some other scripting, then move to C.
More information about the OLUG