Where Should One Go for Unix/Linux Training?
jwitko asks: "I work for an international telecommunications company. They're pretty enormous when it comes to size/budget so their willingness to send employees to get training and to better themselves is pretty strong. I am simply a student who got lucky to become a part-time contractor with this company and I've loved every minute of it. My job primarily relies on working on Unix platforms and installing/configuring our product on laptops for sales people to go out and sell to telecommunications company's (ex: T-Mobile, Verizon, and so forth). However, before I came to this company I had barely ever even touched a Unix-based OS. This summer, I would like to travel to as many different seminars, lectures, and classes to really get experience with *nix based operating systems and learn a lot more about how to use them. Where are some good places to find ongoing seminars, lectures, etc. in Unix and Linux that you think would really help a somewhat-new guy learn a lot and become more experienced?"
I highly recommend LISA, although if you're truly novice it may be a bit above your level. It wasn't the most advanced training, but it did assume an intermediate knowledge of Unix when I attended in '04. There's a variety of seminars you can attend, learning about topics that interest you or discussing up and coming technologies that your company could/does make use of. I focused on the security track and got to learn some very interesting things that I later applied in my environment (about 150 systems at one point).
:)
It's a by-Unix-people for-Unix-people sort of thing, so not really formal training, but still very educational.
Of course, when I attended it was in Atlanta (Hotlanta?) which may have made it more enjoyable than this year's Washington DC location.
There has already been some good feedback - get a book, put up a sandbox system of your own to try, and finally, at the end of the day, there is no substitute for real world hands-on training.
That said, I presume you work with a finite set of operating systems. In my experience, the best training courses tend to be the certification track offerings from the OS vendor. Sun, HP, IBM, Red Hat, Novell, and the others know their operating systems very well. The drawback to this approach is that most companies depend on third-party software to perform critical functions - backup/recovery, authentication, remote management, etc. No single source will typically offer formal training on your company's stack unless you have a large training organization.
That said, many large companies do have just such a large training organization that offers specialized courses on their own environment. Take advantage of that to get better at your job, but look to the vendors for more general and reusable training.
"Adventure? Excitement? A Jedi craves not these things."
At home. Seriously. You'll learn the most by using a *nix-based system every day. You'll want to do something, then research how to do it, then you've learned. The courseware you'll find out there will be great to expanding your horizon, however, on just the possibilities on what can be done. If you come from a Windows background, it'll take you a while to realise just how flexible and endless the possibilities of a *nix system are. Get yourself a *nix system you have full control over and start tinkering.
Be relentless!
But, in everything you do, just remember: Google is your friend.
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
Check to see if your university has an extension program. I didn't know these things existed when I went to school, but I make heavy use of them now. These are where you sign up for an individual class here and there -- no commitments or programs to enroll in, no transcripts to submit, etc. Around here it's typically 1 night a week for 3-4 hours, for 6-8 weeks, around $600 a class, company pays.
Many uni's have distance learning programs, but there are so many free tutorials on the web, I like to be taught by a live person I can throw questions at, to get that kind of money's worth.
Attention zealots and haters: 00100 00100
If you do something with your own hands, the lessons tend to stick. I'd grab copies of a few Linux distros, FreeBSD, and maybe Solaris or something and try to install them at home. You can pick up a decent PC on eBay for less than $100 to use as an experimental box.
I got my initial UNIX experience (1) installing and playing with Linux and (2) taking a UNIX admin course at a local college, both in the early 1990's. The two different types of learning complimented each other well, at least in my case.
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
I have learned quite a bit from my local LUG .
Fellow members give presentations on their particular interests and can provide the opportunity to ask in-person questions with other linux enthusaists who, with respects to my LUG, have a great variety of experience.
Not to mention, it is more sociable than to RTFM and use google ^_^ / a bit obvious ?! / oh wait, most of us here are not that extraverted.
Dollar Highway Financial News
I recommend Slackware (www.slackware.com) along with the official book, Slackbook: www.slackbook.org. Slackware and Slackbook is a nice introduction to Linux. You can view it online or download a PDF.
Slackware is, as far as I know, the oldest Linux distribution in existance. It is simple and clear. I hear comments say that it is very close to pure Unix (I can't say myself, I haven't used Unix, nor any of the modern BSDs). It's a a "do it yourself" fashion, it doesn't rely on configuration "wizards". From an educational point of view, I think that it is the best way to go.
There is a "slogan" saying, "When you learn a X/Y/Z distribution (Fedora, Suse, etc), you know that X/Y/Z distribution. When you learn Slackware, you know Linux."
One suggestion: You can have a dual-boot with Slackware and another, more "automated", distribution, like Ubuntu, Suse, Fedora, etc.
If you're asking such a question, you first have to learn to learn. Seriously, I'm sure of all *nix users here on /. (and elsewhere), 90% never asked "How to [...]". They just Googled it and learned by themselves, because it's simply interesting. I don't understand why people "Ask Slashdot" while they won't even read the previous ones; because, this has been asked 1000 times, may it be "learning UNIX" or "learning to program". That's the same, you can't *know* UNIX/*nix if you don't know how to program -- and the answer's always the same: learn to learn, do it, and RTFM.
;)] or could have learned by myself (or it was just not interesting to me, like some lower level/electronics stuff).
RTFM isn't an insult, it's something that we all do; saying RTFM isn't rude, it's a service given to you; RTFM is our way to say: look by yourself, because once it becomes a reflex, you'll do whatever you want, a lot faster.
So now, what fine manual should you read to have some *nix skills? Well, TCPL seems to be a requisite, installing a GNU/Linux distro and using it (it means, ditching Windows completely, no dual boot), then some book on UNIX programming (because the POSIX/*nix system calls API shows you how UNIX is designed, and what IS actually UNIX), and then, if you're only interested in doing some techie stuff, just install and configure the most popular daemons (postfix, apache2, etc). If you start by this last step, you won't actually understand how it *works*, and it will be done in no time (since it's really easy), but you won't have learned much.
Once again, learn to learn by yourself. Don't rely on courses. The only CS interesting courses I have ever been to are software design or theorical CS (I'm a CS master student). The rest ("UNIX", programming, networking, etc) I already knew [because I had learned to learn
... and I'll add my own bit. Read a lot. I like http://safari.oreilly.com/ because I save a ton of money on books.
Install your own Linux network and way over engineer it. You'll learn lots by setting up DNS, NIS, Apache and other services.
When you don't know something Google is your friend. Lot's of people forget this. Got an error? Google it. Want to see how NIS works? Google it. It's pretty rare to have a question that hasn't been asked a hundred times before.
Pick a subsystem and study it. Do a "ps ax" and pick a process and learn what it does, how to configure it and whatnot. That's the beauty of Linux you can dig as deep as you want.
I also hear from a number of friends that installing Gentoo is a great way to learn. The docs are excellent and you learn a lot by the time you've got a base system up and running.
Never lose your curiosity for how things work. It's the key to learning.
The obscure we see eventually. The completely obvious, it seems, takes longer. - Edward R. Murrow
Build a Slackware box. That's how I started.
I want to delete my account but Slashdot doesn't allow it.
Everytime you have a problem, just post it to Ask Slashdot... seems like those are the most common questions around these parts.
Two thoughts:
:-)
- In terms of summer events, the Ottawa Linux Symposium is supposed to be a great event. I haven't made it to one yet but I've wanted to for a few years. It's July 19-22 in Ottawa (Ontario, Canada).
- [Shameless Plug] This doesn't quite match your description but I thought I'd mention it anyways: I teach at Seneca College, Toronto, and we have a 10-month intensive Linux Administration graduate certificate program that I think is one of the best Linux training programs available. We've had students from all different backgrounds including current staff from large systems vendors. We also throw a great Free Software and Open Source Symposium in October; this year we have Mike Shaver and Neil Deacon (Mozilla), Nat Freidman (Ximian/Novell), Chris Blizzard (One Laptop Per Child), and a raft of others.
And I agree that there's no substitute for getting dirt under your fingernails and actually working with the technology!
I have no idea what *nix-based operating systems you use at work, and, thusly, I have no idea which sorts of *nix you'd really like to learn; please do keep that in mind.
Pick a Linux distribution that doesn't hold your hand with graphical installers and graphical system administration tools, and preferably one without a crutch like apt-get or rpm. I would recommend Slackware, because it's one of the best distributions for learning how to run a Linux system. Google is your friend, alongside forums like Linux Questions. You might give a basic book like O'Rielly's Running Linux a look, as well, but the actual learning is going to come from your experience.
Next, pick a BSD distribution and do the same thing. FreeBSD is pretty popular, but you might also want to try OpenBSD.
Going to conferences and symposia probably wont teach you very much, unless they're intensive introduction to Linux/BSD/*nix flavour events.