Fedora Linux Support Community & Resources Center
  #1  
Old 25th January 2009, 05:56 AM
ThePanhandler Offline
Registered User
 
Join Date: Jan 2009
Posts: 2
Learning more about linux

I've been using Linux for several years off and on, but I really haven't gotten beyond the basics i.e. doing everything I can do on Windows. I know how to program in C++ and I've written programs that use gtkmm, SIMD, and POSIX threads. But I really want to learn every aspect of GNU/Linux inside and out. I'm not doing this for a job, so I pretty much have an unlimited time frame. I'm currently a student at a university, so I have virtually unlimited access to books. The problem is all the books I've tried reading either start at the very basics and bore the hell out of me, cover the topic superficially without explaining what things 'really' are, or throw in loads of jargon that just goes over my head. I would appreciate it if someone would point me in a right direction. The end result I'm looking for is eventually being able to solve my own Linux problems from first principles and make contributions to major open source projects.
Reply With Quote
  #2  
Old 25th January 2009, 06:06 AM
scottro's Avatar
scottro Offline
Retired Community Manager -- Banned from Texas by popular demand.
 
Join Date: Sep 2007
Location: NYC
Posts: 8,142
The O'Reilly Unix System Administration might be good. Do your best to check it out at a library first.

It's called Unix Essential System Administration and covers AIX, FreeBSD, Solaris, HPUX and RedHat Linux. Although only parts of it are Linux specific, it might be what you want.
Note that I am not guaranteeing that it will fit your needs and it's somewhat expensive, so I reiterate that you should try it at a library first. Unix clearly explained is another decent one, and more readily available through libraries, at least in NY.
Reply With Quote
  #3  
Old 25th January 2009, 06:37 AM
RupertPupkin's Avatar
RupertPupkin Offline
Registered User
 
Join Date: Nov 2006
Location: Detroit
Posts: 4,619
If you really want to find out how Linux works, get a book on the Linux kernel:
http://www.amazon.com/Understanding-...2865162&sr=1-1
http://www.amazon.com/Professional-L...2865162&sr=1-3
http://www.amazon.com/Linux-Kernel-D...2865162&sr=1-2
Reply With Quote
  #4  
Old 25th January 2009, 04:07 PM
notageek's Avatar
notageek Offline
Registered User
 
Join Date: Jan 2008
Location: New Delhi, India
Posts: 2,068
In addition to the above recommendations you may give these two books a try:

1. The design of the UNIX operating system by Maurice J. Bach
2. The UNIX progamming environment by Brian W. Kernighan and Rob Pike..
Reply With Quote
  #5  
Old 25th January 2009, 11:51 PM
RupertPupkin's Avatar
RupertPupkin Offline
Registered User
 
Join Date: Nov 2006
Location: Detroit
Posts: 4,619
Quote:
Originally Posted by notageek View Post
1. The design of the UNIX operating system by Maurice J. Bach
2. The UNIX progamming environment by Brian W. Kernighan and Rob Pike..
While both books are a bit old, I think Bach's book is considered the more dated of the two and doesn't apply to Linux as much. But I think Kernighan and Pike's book is still relevant, and is perhaps still the best intro to programming in UNIX/Linux out there.
Reply With Quote
  #6  
Old 26th January 2009, 01:06 AM
notageek's Avatar
notageek Offline
Registered User
 
Join Date: Jan 2008
Location: New Delhi, India
Posts: 2,068
Maurice J Bach's book is a little dated, certain parts of the book may not be relevant anymore (memory management for eg) and Understanding Linux Kernel would indeed be a better book if one's specifically looking for only Linux.

But Maurice J. Bach's book is small and gives you a good picture of how UNIX was originally designed, and why is it considered a near perfection in OS. Understanding Linux Kernel may be good for if you'd want to go into kernel programming.

(I've always considered Linux to be a UNIX, at-least in principle. Although some may not agree but I think its fair to think as such.)
Reply With Quote
  #7  
Old 26th January 2009, 01:38 AM
RupertPupkin's Avatar
RupertPupkin Offline
Registered User
 
Join Date: Nov 2006
Location: Detroit
Posts: 4,619
Yes, Linux is definitely a UNIX (even if the Open Group doesn't say so).

I've always preferred The Magic Garden Explained: The Internals of UNIX System V Release 4 by Goodheart & Cox, instead of Bach's book. It's more up to date (SVR4, instead of SVR2) and a lot more detailed.

A good book for Linux/UNIX systems programming is UNIX Systems Programming by Robbins & Robbins. It's more applicable to Linux than Stevens' old Advanced Programming in the UNIX Environment (though APUE has a 2nd edition that is supposed to be updated for Linux). Another good one, which you can get for dirt cheap nowadays, is UNIX Systems Programming for SVR4 by David Curry.
Reply With Quote
  #8  
Old 26th January 2009, 04:13 AM
stevea's Avatar
stevea Offline
Registered User
 
Join Date: Apr 2006
Location: Ohio, USA
Posts: 8,302
But I really want to learn every aspect of GNU/Linux inside and out.

I guess I have some confusion on your goal. Do you want to understand the system completely from a user/admin POV or do you want to understand all the software from a programmers POV ? Are you interested in delving far into the kernel or just enough to have a good User's POV ? Of all the books mentioned I can only recommend the O'Reilly "... Understanding Linux Kernel" book, and be sure you get the latest edition (2.6 kernel). Stevens (now deceased) has some excellent books in Unix Prog Environment and Network Programming if that's your goal (pub by Addison-Wesley). The problem with books is that they are ALWAYS out-of-date and often inaccurate. Tho' Linux is a UNIX and we all *generally* follow POSIX style conventions there are a number of critical differences - mostly small stuff but a few doozeys. An SVR4 prog book might be a great way to start-off understanding the API, it is not and never will represent Linux accurately. Also the POSIX standard isn't that much help since it has some legal variations and some oddities where the default Linux behaviour varies - usually for good reason.

Last edited by stevea; 26th January 2009 at 04:41 AM.
Reply With Quote
  #9  
Old 26th January 2009, 07:49 PM
ThePanhandler Offline
Registered User
 
Join Date: Jan 2009
Posts: 2
Quote:
Originally Posted by stevea View Post
But I really want to learn every aspect of GNU/Linux inside and out.

I guess I have some confusion on your goal. Do you want to understand the system completely from a user/admin POV or do you want to understand all the software from a programmers POV ? Are you interested in delving far into the kernel or just enough to have a good User's POV ? Of all the books mentioned I can only recommend the O'Reilly "... Understanding Linux Kernel" book, and be sure you get the latest edition (2.6 kernel). Stevens (now deceased) has some excellent books in Unix Prog Environment and Network Programming if that's your goal (pub by Addison-Wesley). The problem with books is that they are ALWAYS out-of-date and often inaccurate. Tho' Linux is a UNIX and we all *generally* follow POSIX style conventions there are a number of critical differences - mostly small stuff but a few doozeys. An SVR4 prog book might be a great way to start-off understanding the API, it is not and never will represent Linux accurately. Also the POSIX standard isn't that much help since it has some legal variations and some oddities where the default Linux behaviour varies - usually for good reason.
I want to do both, but not in a particular order. I flipped through The Magic Garden Explained earlier today and it seems to be what I want. I know it isn't a good representation of Linux currently, but it's a good start considering I know nothing about Unix, or how operating systems work. I'm probably going to read a more current book on system administration, likely Essential System Administration, at the same time and experiment with Linux.

Last edited by ThePanhandler; 26th January 2009 at 08:10 PM.
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Learning Linux chaloobe Guides & Solutions (No Questions) 1 19th May 2007 04:53 AM
need help learning linux xGutsAndGloryx Using Fedora 18 20th December 2006 11:48 PM
learning more linux JoeyJoJoe Using Fedora 6 15th June 2006 12:30 AM
Learning a new language with Linux fryem720 Using Fedora 1 6th April 2006 03:02 AM
Learning Linux americanloti Using Fedora 5 20th October 2005 04:15 PM


Current GMT-time: 07:34 (Friday, 24-05-2013)

TopSubscribe to XML RSS for all Threads in all ForumsFedoraForumDotOrg Archive
logo

All trademarks, and forum posts in this site are property of their respective owner(s).
FedoraForum.org is privately owned and is not directly sponsored by the Fedora Project or Red Hat, Inc.

Privacy Policy | Term of Use | Posting Guidelines | Archive | Contact Us | Founding Members

Powered by vBulletin® Copyright ©2000 - 2012, vBulletin Solutions, Inc.

FedoraForum is Powered by RedHat