 |
 |
 |
 |
| Linux Chat The place to talk about anything linux-related outside of Fedora |

25th January 2009, 05:56 AM
|
|
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.
|

25th January 2009, 06:06 AM
|
 |
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.
|

25th January 2009, 06:37 AM
|
 |
Registered User
|
|
Join Date: Nov 2006
Location: Detroit
Posts: 4,619

|
|
|
|

25th January 2009, 04:07 PM
|
 |
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..
|

25th January 2009, 11:51 PM
|
 |
Registered User
|
|
Join Date: Nov 2006
Location: Detroit
Posts: 4,619

|
|
Quote:
Originally Posted by notageek
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.
|

26th January 2009, 01:06 AM
|
 |
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.)
|

26th January 2009, 01:38 AM
|
 |
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.
|

26th January 2009, 04:13 AM
|
 |
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.
|

26th January 2009, 07:49 PM
|
|
Registered User
|
|
Join Date: Jan 2009
Posts: 2

|
|
Quote:
Originally Posted by stevea
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.
|
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
Current GMT-time: 07:34 (Friday, 24-05-2013)
|
|
 |
 |
 |
 |
|
|