Best Training in Linux Administration?
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?"
Yes, some people mock Gentoo, but installing it is once of the best linux learning experices I've ever had. Even if you don't end up running it, it'll teach you a good bit about the internals. The documentation is pretty good as well.
I did a 6-day bootcamp style training session with TrainingCamp. I successfully attained my LPIC-1. Out of the 6 people in my class 2 (including myself) had previous Linux experience and we both passed, the others failed. However, having many coworkers and friends that are teaching themselves linux, this would have given them one of the best starting points around. Highly recommended no matter what your skill level.
Personally I'd recommend the RedHat training.
This will be more of benefit to you if you actually are going to use RedHat, but of course the general principles will apply.
If I were you, I'd also get Linux on a home machine and start "fiddling" to get up to speed.
Maybe install Vmware or a similar product so you can try different things.
Personally I took a leap and went from Windows to Gentoo linux and never looked back!
Good luck with it.
You could dual-boot an existing Windows machine or run VMWARE so you c
Games Programmer And Designer
If I were you I'd stay away from an online course. From what I've found, they usually aren't much better than just reading and doing reseach on your own, the only diffrence is that they have exams and it adds to your GPA. Perhaps you should find a real class of some type (perhaps one of those weekend campy type deals) and get some real world hands on experience.
Seriously, get your co to pay for training in the most interesting setting they'll allow, where you can score a free lunch.
If you have time to "take your time", where you'll really learn is by installing at home. Have the co fork over for VMWare, and set yourself up with a nice virtual network on your home machine. You'll learn way more than through any online training course. You may even want to do this for a few weeks before starting the official training course.
This is a little off beat, but if you're totally new to unix, it might be helpful to nab a copy of Solaris x86 and put that in a vmware machine. I hate to admit this, but when I was starting I had a hard time understanding the linux man pages. The Solaris documentation was just luxurious, and the main options for commands pretty much the same. It used to be (maybe still is) free so you can probably get a copy someplace.
Good luck.
Kill, Tux, kill!
By picking the hardest distro such as an older Slackware (don't knock the new ones), you've essentially master-micro-managed all aspect of Linux administration in virtually no time.
It's no different than mastering the DOS 3.3 command set and scripting; just [infinitely?] more commands scripting, languages and widgets at your disposal.
I totally second this.
I'll add that I think that the best distro to learn the guts of Linux on is Gentoo. Go the full compile-it-yourself route. There are easy to follow, step by step instructions, and they take the time to tell you why you're doing everything. By the time you have it installed (and it will take a while), you'll be a virtual expert on Linux.
Of course, you shouldn't limit yourself to just one distro, and Gentoo probably isn't the easiest to manage. I like Debian stable for server things because it is so easy to keep up to date.
In your work lab get 2-3 computers. Set up a linux box as a DHCP and DNS server, then maybe add apache, samba, etc. These are the things that you'll likely be using linux for in the enterprise, right? You can play with firewalling and IPSec if that is your thing too.
After the initial install, go here to learn the rest:
The Linux Documentation Project
The basic sysadmin guide there will give you the basics, and the specific howto's are great for setting up DHCP, DNS, etc.
Another good guide:
IBM Linux Newbie Guide
Set up that small net, play, learn, then go to your class and learn a lot more.
Have fun!
Now, start playing. Basic install on your server, play with the interface for a bit. Get out the "Linux Network Administrator's Guide" and read it cover to cover. Read the Samba documentation in equal detail. Make a checklist of all the services you will need to support (DHCP server, DHCP client, Samba, Mail, WWW, FTP) and try them out. Get your test lab working with them.
Now, play harder. Try to make Samba a domain controller. Set up RAID on your Linux server. Do some NFS to your Linux client. A big stack of Linux books, a personal lab, and a workplan of things to try and make work will get you fully trained up, probably several years faster than I took learning a little at a time. :)
No, it's not. When you just install a distro at home and start using it you'll learn a lot, sure. But what you'll learn a scattershot and mostly just what you need to do to get a functional system, because that's what your incentive is to do. You won't learn best practices and you won't learn why things are they way they are. Heck you probably won't even learn about some fairly basic tools just because you didn't happen to need them. You really need the formality of a structured learning environment (not a class, specifically, but a structured curriculum at least) to make sure you cover everything you need to know.
I know it seems to be the number one recommended method here on Slashdot, but it really has some serious flaws that everyone seems to conveniently overlook. Following your advice leads to sloppiness and "good enough"-ness. Not exactly skills that will endear you to an employer.
- Take advantage of an off-site "bootcamp". They won't make you a Linux SysAdmin, but they will give you a very good head start and are a good introduction to Linux. Let someone coach you through the first installs in class - you'll get plenty of opportunity to beat your head against the wall on your own later.
- Definitely set up systems at home. The best way to learn is getting your hands dirty and using it every day. I'd also recommend using it as your primary workstation right off the bat at work; drink your own champaign, so to speak. With tools like rdesktop, smb4k, webmin and OpenOffice.org your should be able to do everything you need to do while you learn.
- Build a good reference library. You've already mentioned O'reilly - they're great, but also build up a library of bookmarks and make friends with google!
- Try many different distros. Everyone you ask will tell you difinitively which one is best. Don't take their word for it, find out for yourself. Besides, my recommendation for a desktop distro for my budy isn't the same as the distro I'd use for myself, and that is different still from the distro that I'd run as a web- or file-server, etc.
Personally, I'd not spend my time, initially, on an online course. In my experience, you're better off starting out in an environment where you have someone in meat-space to bounce questions off of and get answers immediately. Once you know your way around Linux a bit, then pick some specific goals or projects (set up a mail server with DNS, set up a webserver with secure areas and cgi scripting, etc.). Just going through the process of downloading the latest apache and compiling it from source (and forgetting to compile in certain functionality or having to go hunting for supporting libraries for a function you're missing) will give you invaluable insight into the whole process of fine-tuning and customizing your Linux boxes to really make them perform as you want.And if you don't know perl and php, learn them! Windows admins don't naturally think of scripting something right off the bat, at least I didn't. Now, "how can I script this?" is the first thing I ask if I find myself doing the same thing more than once. I've even loaded ActivePerl onto my Windows Servers and have my entire user and group management process scripted. over 18,000 users are created, placed in groups, have their home directories created/moved/archived, etc. based on data gleaned from HR's databases. I used to get lists of hires, fires and transfers and have to manually manage their accounts and data. Not any more. A couple of perl scripts and an Active Directory perl module with a little Win32::OLE thrown in and I spend my valuable time doing more important stuff (like post on /.)
Anyway, this is free advice, which means you get what you pay for ;-) Welcome to the club!
"terrorism" and "pedophilia" are the root passwords to the Constitution
There's nothing that even comes close to having a hardcore hacker as a good friend. Information is quickest gained through other people's personal experience.
I've done it all. I've read a whole series of O'Reilly books (don't even bother with any other publisher) on various Linux and Network related subjects--I've read at least 25 of them cover-to-cover in the last 4 years. I have a whole bookshelf lined with them.
Then I subscribed to O'Reilly's Safari online program, and will never again be without it. I'll never have to buy another tech book again. If you can tolerate reading books online, getting a subscription is an ABSOLUTE must. And if you buy (or would like to buy) an average of more then two or three books a year, this will save you loads of cash. You can read up to about 60 books a year for $10/mo.
However, when you need to come up to speed as quick as possible, by far and away the best resource is a friend who knows it all. Install Linux on all your computers, and play with every piece of software you may be even slightly interested. Read all the books, read all the man pages. Write a few scripts in Bash, Perl, Sed, Awk, and anything else you hear about. And when you get stuck (and believe me, you will), call up that friend or drop by his desk. You'll be an expert faster than you can immagine.
It's the little things, you know, that make you an expert. Anybody can copy files to another computer, but if you can come up with something like
off the top of your head, then people will start feeling the respect."With sufficient thrust, pigs fly just fine. However, this is not necessarily a good idea...."
RFC 1925
I cannot recommend LFS highly enough... http://www.linuxfromscratch.org/ 'nuff said
I started with Slackware back in the mid-'90s. I'd have to agree that it was a hard distribution to work with. At least back then, anyway. (Getting X set up took several evenings and a few scary sessions where you never knew whether your monitor would survive.) Since those days of yore, some friends have switched to Slackware from other distributions and they find it fairly simple. Of course they're not newbies tackling it any more, so...
Getting back to the original question: I'd suggest, if his employer can see that he's covered for the week and not getting yanked out of class to respond to a pager, that the fellow take the week-long class. Immerse yourself in it. Back when I was beginning to get into UNIX, I found that what worked best for me was to convert my system to run nothing else. It was DOS, Windows, VMS, and a bunch of other OSes at work but at home it was all UNIX all the time. (Technically it was Coherent but you get the idea.)
If he can swing it, I suggest getting a hold of a system that he can dedicate to use with his distribution of choice. Highly recommended. You wouldn't want to be screwing around and experimenting with dual booting the home Windows box and risking the wife's Christmas card list and the kids' term papers. (Not if you want to stay off their sh*t list, that is.) That way you can mess that system up, troubleshoot it, and fix it.
If you're not interested in fixing fouled up systems right off the bat, try doing some projects. I found several semi-work-related projects where I do some of the work at home on the new system. For example, we had some old FORTRAN code that some coworkers wanted converted to C. Heck, writing web pages for the intranet at work could be done at home on the Linux system. You'll learn one or more text editors along the way and most likely pick up some basic administrative skills at the same time. Anyway, I found it helped to have some goal when learning the new OS rather than just flipping around and trying things out randomly. Of course, YMMV.
CUR ALLOC 20195.....5804M
Learned everything I needed to know in an hour from the man pages the first time I needed to set them for users.
How the kernel knows where the root partition is.
Learned this the first time I had a disk array fail and had to restore from backup. I don't remember where I found it, probably in the LILO documentation somewhere.
What the difference between the exire time in an SOA record and the TTL in the zone file is.
Haven't set up a fresh DNS server since I switched to djbdns a few years ago, so I didn't remember this one. Ten seconds of googling refreshed my memory.
I guess my point in all of this is that it doesn't matter if you have holes in your knowledge. Instead, it is important to know that you do have them, and to know where to find the information you need. And, for what it's worth, I'm mostly self-taught, but I've taken some classes. Both are valuable.