Best Training in Linux Administration? 467
Love to Learn Linux asks: "My company is making the move to Linux. I've been a Windows admin the last 5 years and have been asked to learn Linux. I've got some O'Reilly books but I need some hands on experience. My company will pay for any Linux training I choose. I'd prefer an online course to one of those 4 day classroom courses since I'd like to take my time and really learn it.
So far, I've been recommended the Red Hat eLearning course and the O'Reilly Learning Lab. Would you recommend either of these over the other, or are there some better choices?"
Stick w/the books (Score:3, Interesting)
As far as online course, I haven't found any worth a sh*t.
Re:Use it at home (Score:3, Interesting)
It's been almost spooky at times how often something has come up in my professional life which I'd just been dealing with at home (e.g. mail transport, firewalls, attachment filtering, Samba, mod_rewrite, cron), and once in a while something I'd learned how to do on the job would come in handy for the home network (e.g. floppy-based 386 print servers, spam blocking).
you need to set up a network (Score:4, Interesting)
What you want to concentrate on are
*auth services (pam, unix, nis, samba, ldap, etc)
*mail (set up a few MTA's and try some different configurations)
*name services (dns - probably where you should start)
*shell usage (this takes a while)
*routing and firewalling
*printing (cups, samba)
*samba
Set aside a few tasks for yourself and star trying to do things. Stay simple at first, then work your way up to bigger things.
Though I don't see how the boss asking you to learn linux is much of a motivator.
Building "scale" networks is great (Score:5, Interesting)
You can use local sources to buy outdated computers, used switches, hubs, routers and etc to build a "dumbed down" low cost clone of your current network which will allow you to learn using it just like the real network, heck even the same IPs if you're going to put that much effort in. You can practice deploying software, using the systems etc. You might also want to get exact (sans-serial-numbers) clones of key servers if possible so you can test things very carefully.
It's a great way to learn but it'll really help to have a guru to get you going.
Find the local Linux User Group and get involved, make friends and then pester them on IM.
My Advice (Score:3, Interesting)
Second, identify the tasks you do as a windows sysadmin, and come up with a list. The more the merrier. Keep that handy while you're learning, and don't let your training end without learning how to accomplish those tasks in a linux environment. Don't settle for the gui way either. You'll save yourself a lot of time and work in the long run if you learn the command line and some shell scripting, plus you'll make yourself more valuable to your organization.
Also, get your company to get you a subscription to one or more linux sysadmin-oriented publications. Sysadmin mag is pretty good, but I'm sure there are others out there.
Finally, network with other linux techs, whether it's through user groups, training, or some other means. It's a strong argument in favor of in-person training, just because you cant network as well during online or teleconference-style classes. Oh, one other thing -- be sure to explain to your superiors that "putzing around on slashdot" == "hard at work". Good luck!
Re:Set up a home system first (Score:3, Interesting)
While I agree in principle that Gentoo is one of the best methods for learning how to get into the nooks and crannies of Linux, you aren't going to learn major "oh shit" tasks. I learned best by making massive mistakes and fixing them. Tool around in it, waste a few boxes and repair them without reinstalling. Set up an iptables ruleset and watch as you accidentally lock yourself out of your ssh shell. It's all good, all in the name of learning.
One last thing:
Learn either LILO or GRUB like your life depends on it. Those two things will almost certainly cause you many problems in the near future. The ever-dreaded 'LI' prompt, and GRUB denying you boot access because you misspelled the name of your kernel. Again, all good as long as it isn't in a production environment.
Gentoo not relevant to sys admin (Score:3, Interesting)
I recommend that you read about real TCP/IP networking, as most Windows sys admins I know don't have the correct knowledge about networking (they only know it in Microsoft terms). O'Reilly's TCP/IP Network Administration is a good book, so is Linux TCP/IP Network Administration by Scott Mann.
Get comfortable with command line. I know many Windows sys admins who fear the command line tools. Most linux programs now have GUI counter parts, but to really get the most out of a tool, command line is still your best friend. It also will make remote administration a lot easier for you.
Find out what distribution you will be using, and join the user mailing list(s). Also get familiar with package management of your choice (RPM, DEB, or source). As a sys admin, you will quickly find out that custom compiling everything will become a nightmare to maintain. For me, I build everything into RPMs, even if it's just a single file script. This makes administering multiple machines much easier.
Re:Don't forget about the time investment (Score:5, Interesting)
teaches you how to think the way the teacher thinks. I have seen countless
IT people with formal skills approach a problem the exact same way, go through
everything they can remember, once they have gone down the list, they are
stumped. I would much rather be in charge of the training of my brain, esp,
since you can study what you want, it's always "play" and never "work". My
self-teaching has been of tourrmendous advantage, since I, having not
undergone the grinding down of formal education in computers, have developed
novel and unique ways of looking and solving of provblems.
SealBeater
Re:Use it at home (Score:5, Interesting)
Depends on the employer. For many, "good enough" is... good enough. After all, it's why one former employer of mine is (by now) switching to Exchange and IIS on Windows, instead of Postfix and Apache on Linux: they're "good enough" and have the advantage of being from the same software vendor and consultants they (now) buy everything else from. And (setting aside my perfectionist tendencies and principle for a moment) for some businesses, anything better than "good enough" is a luxury... one they can't afford.
make sure you bosses know (Score:3, Interesting)
There are lots of good suggestions so far. I personally recommend multiple-approach solution:
1) find a local Linux Users Group and get involved
2) seek out the certification you think is best, such as the Red Hat. Has SAGE ever finished their certification program? Sure, a cert is worth the paper it's printed on, but if you're serious about learning (rather than just getting by), it will provide you with a solid foundation.
3) set up a small network at home. Get a domain, and set up servers for mail, web, etc. See how quickly you get hacked, and learn how to prevent it. Get internal services like print servers, samba, file services, authentication, etc working. Will you be doing a mixed environment at work? Make sure your linux network can serve to your windows boxes
4) someone suggested a "city" at work. this is like your home network, but maybe can mirror better the work environment
5) see if your local community college or university has a unix course. It can be a great way to learn some basics about how a unix system is laid out and give you an intro to scripting.
As for distros, I would advise using a common one that you can easily find help for. Fedora Core, Mandrake, Suse, Slackware, to name a few. Has your work settled on the one they'll use? Start with that one.
Watch websites like rootprompt, and subscribe to magazines like linux journal, etc.
Re:Vendor-specific vs. Vendor-neutral Training (Score:3, Interesting)
Also, if they do a good job of teaching RPM, they'll tell you how to _build_ them from spec files, which does involve knowing how to install tgz's and such. You take knowledge, and you apply it to other things - that's what a good education lets you do.
-Erwos
Re:Go RedHat (Score:3, Interesting)
The Red Hat training is for those who are already Linux admins. You need to have a lot of background as an administrator already. I found it quite useful...but didn't pass...so this may be biased, however...
Much of the Red Hat training centers around features that one won't normally encounter, and assumes that you already know how to do all the common stuff. Also, the Red Hat training assumes(-ed) that you are doing most-to-all of your work with the command line tools (which I only use for the most common jobs. Oops!)
The Red Hat training is an excellent refresher for an experienced Red Hat Sysadmin (note the version specificity) intending to get certified. But do yourself a favor, and use only the command-line for several months before taking the class. (Or, if that's what you do all the time, use GUI tools during this period.) Also spend a lot of time studying boot loaders, and how to edit their configurations from a non-working (in various ways) system.
What? You say you plan to look that up in a manual? Sorry. That's not the game plan here.
Also spend a bit of time with NFS (though that may have been on the way out of the class). I seem to remember that it went by awfully fast in the class.
Red Hat's clear intention is that the RHCE's should be the most technically competent admins. But there's an awful lot of info to pick up, so don't plan on doing it during the class. Consider the class to be mainly a refresher to take prior to the exam. If you've got a couple of blank spots, you might be able to use the class to fill in the holes (or at least to alert you as to what you need to study at night). DON'T count on it as a first step.
Re:Use it at home (Score:3, Interesting)
Only after I attended a 3 night a week month long class did it all come together.
Well, as "an actively employed "Linux Systems Administrator" (my real job title)" I can say that I followed a different path. There just weren't any decent classes anywhere near me unless I was willing to drive several hours each way, twice a week.
It started with me getting rid of Windows on my personal workstation, and using only Linux. I bought every book I thought might help, and became an avid reader of sites like http://rootprompt.org/ [rootprompt.org] and http://www.linuxtoday.com [linuxtoday.com] (though the latter is mostly advocacy)
It also helps to know a few other people - I've offered and received useful tips from other experienced techs.
It was about a year before I truly "got" Linux - I noticed it when I sat down at a Windows system and immediately felt "cramped" because of all the limitations on what I was doing.
The single book that helped me most get going was "Red Hat Linux Unleashed".
Pick an old book (Score:3, Interesting)
Hell, just install FreeBSD and bookmark the online handbook...
Re:Don't forget about the time investment (Score:3, Interesting)
I would agree about CS but I am curious about your list of "good" and "bad" majors. Of course, I do not agree with respect on Mathematics; I think Don Knuth would agree that a Math degree is worthwhile. I cannot imagine learning "real" physics (as compared with "popular" physics) without studying it at a university. Also biology (e.g. sequencing), chemistry (e.g. good lab technique, P-chem.), some (but not all) engineering, etc. On my "bad" list might be foreign languages (i.e. just go live in Spain or Germany or Sudan(?)), the social sciences, Comm., etc - I'm not really sure my "bad" list is serious because you (should) have to learn to actually go to class, use the library, express your opinion in persuasive ways, open your mind to new ways of thinking, accept differing points of view, etc. Independent of your major, a good university should make you "Grow Up". (No offense to the frat's.)
I had a student in Calculus (1980s) who was very good at math and computing. His degree was in Art. He worked (and still works) as a contract employee; he lived in Europe for ten years, moves from company, makes lots of money and does artwork (for himself, not for money) whenever he can. As a single person, being out of work for a year or two is OK; he can do more artwork and his bank account has a large enough balance (and his expenses are low enough) that money is not a principal concern.
This whole post may be offtopic but I am curious what people consider "good" and "bad" majors. By the way, I do not think being a "computer programmer" requires a university degree; lots of "uneducated hackers" can write (sometimes bad) code. People I know who got CS degrees usually think this was a waste; people are starting to switch from CS to math or physics. One problem with CS is that you learn some skills but you have no ("real" or "interesting") problems to which to apply these skills; who cares if you rewrite gcc? (How many times can you sort lists or learn about a "new" type of database or prove that AI really is not DEAD?) Physics has lots of interesting computational problems (e.g. simulate a quantum computer and see what it should be able to do). Math has lots of interesting computational problems (e.g. number theory, fluid dynamics, conformal mapping, surfaces (als Brakke's Surface Evolver, Bank's PLTMG, Parks & Pitts Least Gradient program), mathematical biology - population models, "wierd" yeast behavior - and mathematical genetics, etc.). (Actually, I think a foreign language major is not such a bad idea; just go to a country where the language is spoken while getting or after getting the degree.)
Re:Don't forget about the time investment (Score:3, Interesting)
Mathematics is a degree I did not consider, and a rather good example of a degree that might actually be useful right from the point of graduation. But then I did say "most" and not "all".
I've had the rare opportunity to study a variety of recently-degreed people who've gone to work in fields that their degree supposedly relates to. The fact is, most of these people are entirely unprepared for the actual WORK of that profession. The work itself must be taught to them, often from scratch, by people who're already employed in that profession. And it's my observation that in many cases someone without a degree could do the actual WORK just as well as someone with the degree; and I've seen this observation confirmed when people who did not have the degree supposedly needed for the profession had no problem at all actually mastering the work.
The only real exceptions I've discovered are professions which immerse the student in work as part of the degree. Doctors are a very good example of this.
A degree would be worth far more, I think, if the learning involved in getting that degree were modeled after the learning the doctor must go through for the same thing. That is, if much of the course of learning revolved around actual WORK in a real-world environment. Sadly this isn't a requirement of most degrees, and I think it's the reason why so many college graduates come to the work environment so utterly useless until trained. And if they have to be trained, it's often just as easy to train any smart, able-bodied person.
This might explain why more than 90% of all college graduates end up in a job unrelated to their degree. Not because they're underqualified (which they are), but because their supposed qualifications simply aren't worth that much in the work environment - and they can easily be swapped about in most work environments (as indicated by the fact that while 90% of them end up in jobs unrelated to their majors, *they do end up with jobs, most of which require college degree other than the one they got*).
Max
Unix Tools On Windows (Score:2, Interesting)
In particular, I suggest the user becomes familiar with the vi editor, as it will be required for many tasks, and is the most difficult of the basic sysadmin skills to master.
Re:Use it at home (Score:1, Interesting)
5 commands to Linux Mastery (Score:3, Interesting)
cd
mv
cp
man
Start with "man man". Most important man variation is "man -k someconcept" - eg, "man -k kernel". This will show man pages that purportedly have something to do with someconcept (in reality, that have "someconcept" as a substring in their description).
These 5 commands can help bootstrap anyone on a linux or unix system (unless you are so unfortunate to have a box that does not contain man pages).
sloth_jr