views:

190

answers:

9

I'm taking a very basic university course on OS kernels and related stuff (process management, virtual memory, file systems, drivers..)
I wanted to deepen my understanding of Linux in these fields, but also get to know it from a more practical point of view (important directories, the shell, important logs and files, hacking in general)

I'd love some argumented book suggestions for both fields of study..

I'd like to make it clear that I've been a regular linux user for years, I'm comfortable with it and I do know how to use the shell and program in C. Here I was asking about something more advanced.

A: 

Book? I think you should install some UNIX or GNU/Linux distribution for advanced users and try everything you learn. For example, FreeBSD, Debian GNU/Linux, Slackware, Archlinux, .. You will be more familiar with theory in no time.

Martin Kopta
And if you have some courage, try LFS (Linux From Scratch). It will be really painful to go thru, but you will gain many experience in really short time.
Martin Kopta
A: 

Get yourself a Linux Live CD here and burn a live CD. This will give you a chance to play with linux without installing it on your machine. Once you reboot it's back to windows.

Then pick up a copy of Linux in a nutshell and start tinkering around! It's the best way to learn.

Jeremy Morgan
+1  A: 

The Unix and Internet Fundamentals HOWTO

Teddy
A: 

Pick a "flavor" of Linux (aka distribution) and install it on a PC. Doesn't have to be that great of a PC either. Get a Linux distribution ("distro") that is pure command line and don't rely on the GUI. That'll learn ya.

Banjer
+2  A: 

If you haven't yet, go subscribe to LWN.net. Go read their archives (which you can do without even subscribing), in particular the kernel page and its index. Read, read, and read some more. The writing is great, and the humor is well done.

retracile
+2  A: 

Linux Kernel Development covers some of the innards and should be light reading for someone experienced in C.

Understanding the Linux Kernel is an advanced book which covers the 2.6.12 x86 kernel (32-bit) in great detail. This book includes a lot of C and x86 assembly code.

sigjuice
A: 

I consider myself an intermediate/advanced Linux user, and I learned a number of new things about Linux (such as important directories, logs, files etc.) through installing Gentoo, following the Gentoo Handbook. The handbook reads like an interactive tutorial on Linux.

ngm
+1  A: 

I think if you want to expert in linux, you have to face some problems while using linux. My suggestions is simple.

  1. if you want to install something, install it from the source code donot install it from apt-get, just like that. There are some linux that have compatibility issue within the library or configuration. It would mess your linux up. :D
  2. Try very basic of linux such as slackware.

or you can follow this link https:// sourceforge.net/projects/root-fs-i386/, this project is build medium linux for research purposes. you can build mini router, pppoe-client, pppoe-server etc with this linux of course with some configuration. I think this would be match for you to take deep with linux.

About the information you can try it here: http://deddihp.wordpress.com/2010/03/11/how-to-build-medium-root_fs-for-i386-eng/

Hope this help

deddihp
+1 for Slackware. You'll get frusterated eventually, and there are plenty of forks (Zenwalk is the best) once you become proficient, but the learning experience itself is very valuable.
new123456
A: 

I'd suggest installing a version of Linux on a virtual machine, when it's set up, copy the virtual drive somewhere else as backup. Go wild with crazy ideas on the virtual machine, if it messes up, just copy the original virtual drive back over.

Arthur Kalliokoski