Learning Linux

Here’s the situation. I’ve decided I really need to learn at least some rudimentary Unix skills, and since I’m currently working in a Windows 2000 shop it seems the best way to do that is get a version of Linux and spend some time with it at home.

I’m currently a program manager, but have been a project manager and a developer in the past and have a fairly technical background - development in C/C++ & VB in Windows, typical client/server stuff, and a little experience with IBM mainframes even. I’ve opened up my home PC to install a network card, CD drive, etc. so I’m comfortable doing that kind of thing as well.

So I’m reasonably technically adept, but have no Unix experience at all. So given that, a series of questions:

  • what distribution of Linux do you recommend? I plan only on using this as an intellectual exercise, not actually doing any work, so bundled word processing software and such isn’t that important.

  • what compiler? I do want to write some code. I’d prefer C/C++, but am open to other suggestions.

  • what about a machine? I’ve got a Windows box at home but would rather not use it for this - I’d like the freedom of being able to wipe the box clean periodically without having to worry about restoring/reinstalling all the crap I have on the Windows machine. Could I pick up either a older generation used or pretty low-end new machine and get reasonable performance?

  • any suggestions on books, or particular excercises I should try, or anything like that to help along the learning process?

Many thanks!

Background:
Minor programming skills, heavy and advanced windows user, now preferentially using Linux.

gcc/g++ and gnu Make are the guts of the Linux development system. There are IDE packages out there (I think CodeWarrior is available), but as far as noncommercial software, to my limited knowledge, that’s it.

I have used (extensively) RedHat releases 5.1 through 7.0, and I think it is exceptionally good as a primer of sorts. The installation is great: You have a choice of a brainless, click-click-click GUI install, like windows; or a couple of more advanced text-based installs with more customization available. Note that I’m not saying any of the other distributions are bad, only that I’m not experienced with them so I can’t say.

Since you want to try it out for the same reasons I did, I’d recommend getting the cheapest version without all the bells & whistles and 3rd party software. You can get a really cheap version for a few bucks (usually slackware or something else) or the low-end RedHat for about $20. Alternatively, you can ftp a full distribution from the net for free, provided you have a good solid connection.

You can get decent performance from something as old as a low-end pentium, and I’ve had RH 5.1 (with the 2.2.12 kernel) running on a 486/DX2-66 and acting as a DSL router for several other machines at home. Had no performance problems in that role at all.

Books? Tons of good ones out there. Anything from O’Reilly Press is good. One that I highly recommend is called RedHat Linux Administration Tools. It’s written in a no-BS style and I found (still find) it very useful. It is presented as a series of tasks you might want to accomplish as a sysadmin and gives you enough info to do a basic setup, and then you’ll know where the config files, etc, are for when you want to make changes and tweaks. It comes with RedHat 6.0 on cd, and is available here for $31.99. You might check out any of the “Linux Unleashed” or “Sam’s Teach Yourself Linux” series as well.

As always, my AIM handle is in my profile and if I’m able to be any help, I’m always willing.