Linux Filter: Calling out all Linux experts, searching for the best route to learn Linux!
November 10, 2008 12:19 AM   Subscribe

Linux filter: Calling out all Linux experts. I need to learn administrative Linux in a rather short period. Looking for the best online resources, tutorials, cheat sheets, tips etc.

I am a relative beginner as far as Linux goes. I have used the platform for various things, but never delved really deep into the command line control of it. With my new job, that is all about to change. I need to be very comfortable with the inner workings, understand most terminology and have an overall command of the CLI.

So I have done all the standard google searches, and have found quite a bit of quality resources. I am currently going through many of them, but I wanted to make sure that I have access to the absolute best material and find out if there is anything I am missing.

I am looking for online tutorials, video/audio tutorials, free sites, pay sites anything. I just want to maximize my learning process as I have a really short time period to truly understand everything. Think of me as a complete noob, as I want to go over even the basics just to make sure I fully comprehend everything.

As of right now, I have Fedora 9 on a bootable USB that I use as a personal testing ground. Plus beginning mid-week, I will have access to the Red Hat Enterprise testbed that I really need to have down pat.

Not sure if I'm giving enough information, so please ask away if I omitted anything.

Thanks to all that even bothered to read this!
posted by wile e to Computers & Internet (10 answers total) 17 users marked this as a favorite
Define "administrative". What exactly is the function of the machine(s) you're going to be the admin of? Web server? Database server, if so MySQL or Postgres or something else? File server, if so NFS or Samba? Narrow it down that way. There's no way you're going to be able to truly fully understand "everything", because nobody really does. It's impossible. On the other hand, if you're looking for just like a basic tutorial on using the shell to navigate the filesystem, delete and create files/directories, etc. there are about a million tutorials on that and they're all basically of equal quality. Determine exactly what you need to accomplish and focus on that, and ignore everything else for now. Also, you can't really learn server-level administration by reading about it, memorizing, and then doing it, you learn by reading about it while doing it, only accumulating enough knowledge at a go to solve whatever problem you have, then filing that away and moving on to the next problem. Do that for a while and you become really proficient without even "trying".
posted by DecemberBoy at 12:35 AM on November 10, 2008

Response by poster: DecemberBoy:

Well a little of each. One system will have Oracle DBs running on there. One system will have Samba running on it. Another will have J2ee applications running. I'm not looking for everything right now but moreso to understand how to interact with each system first.

I don't need to be an 'expert' right away. I need to understand whats going on mainly, and then go from there. I am not going to try to memorize this, I have a basic linux setup to play with 24/7 and in a few days I will have access to the RHE via shell access to play with until I am content.

Did I make it any clearer?
posted by wile e at 1:14 AM on November 10, 2008

System Administrator's Guide
posted by rhizome at 1:24 AM on November 10, 2008

Sounds like you're in for a steep but fun learning experience. My application for a Linux-only job has just been rejected last week, so take the following with a grain of salt, but here's what I'd do:

- If what you'll be working on are just RHEL systems, do your learning on Redhat/Fedora based system. You can broaden your horizons to include other flavors later.
- Focus on being very good on the CLI first. You'll look incompetent if you can't do some basic redirects and pipes, those should come natural without having to think about them.
- Install and deinstall some stuff and get it to work. Install Apache, MySQL, and Tomcat and then get some opensource j2ee webapp to work with that stack. You'll likely fail many times. Don't give up, try to figure it out and fix the problem. Try not using the web, try using only man pages. Know how to stop and start a service.
- Learn where stuff is in the filesystem. You should be able to wake up at 3a.m. and know exactly where to find the various system logs, at least.
- Try do to some tuning - can you make the system boot faster? Apache to service more requests? How can you tell if the server is overloaded?
posted by dhoe at 1:40 AM on November 10, 2008

Following on DecemberBoy's advice. Now that you have identified some of those areas you could think of tasks necessary to work with those systems.

For example, if you're going to be dealing with Oracle, things you could do would include:
- install it
- patching it
- security issues
- create basic database
- setup backups and practice restores

Try to think of other tasks that might come up? Who are you supporting? What problems might they have? If you can anticipate the problem before it happens then you can plan for it. This is usually only possible to a point though, so be prepared to deal with lots of issues you hadn't thought of.

Also, do you run Linux as your main operating system at home?

I say this all as a web developer, not a systems guy, so YMMV.
posted by Gomez_in_the_South at 1:44 AM on November 10, 2008

Linux From Scratch
posted by ghost of a past number at 1:44 AM on November 10, 2008

The most important skill in Linux system administration is absolute mastery of one of the standard text editors. You will likely be living in it day in and day out. I'd recommend learning either VIM or emacs backwards and forwards. VI is installed everywhere, but emacs has significant capabilities that can be hard to replicate in VI and is usually a trivial addition. There is a perennial flame-war between advocates of one editor and the other, so make sure you don't pick the wrong one. Identifying the wrong editor is an exercise left to the reader.

Spend some time browsing around your own linux installation; preferably in a virtual machine so you don't break anything you can't put back. The most important directories are probably /etc and /proc . Pay special attention to the files in /etc/init.d, as they control what services are started when the system is brought online.

The man command is a great place to learn; try reading the man pages on commands you use every day (ls, less, tail, grep) to learn their full capabilities- they almost always have hidden depths that are worth knowing about. man -k will search for all man pages that discuss that topic.

I'd also recommend learning how to use monitoring systems to keep an eye on your boxes. Basic systems like nagios and Munin will be extremely helpful in making sure your servers stay up- and the struggle to configure them will also be a great learning experience.

Finally, you should definitely learn how to write support scripts- either using the bash or using a dynamic language such as python or perl- I believe some folks are scripting in Ruby and Groovy these days as well, which may make sense (or not) depending on your history and what systems your users will run. It's amazing how much of a system administrator's job can be automated.

Welcome to the brotherhood! Your secret decoder ring is in the mail.

posted by jenkinsEar at 7:06 AM on November 10, 2008

as someone who makes their living as a linux sysadmin, let me offer my two cents:

in the short term, it sounds like you've got some test machines. good. get in there and start poking around, ASAP.

as others have mentioned, you need to learn basic text-editing commands. The time you spend familiarizing yourself with a text editor now will be repaid infinitely later. I recommend you start with vi (it's installed everywhere) and at a bare minimum you need to know how to do the following tasks, blindfolded: open a file, edit the file, search for a string within the file, do a search and replace on a string in the file, save and close the file.
on redhat, vim will almost certainly be available, and you should be able to launch vimtutor from the command line. do so.

man, apropos, and info are your friends. these are the commands that will teach you how to use all the other commands.

you'll also want to ensure you're familiar with how to start and stop services cleanly. This will vary only slightly from distribution to distribution, and can almost be guaranteed to be some variant on /etc/init.d/servicename start|stop|restart
on redhat, the 'service' command takes care of this for you. learn this inside and out, especially for the services you are supporting.

a basic overview of how linux is partitioned / how filesystems work will be helpful, and know how to tell when a partition is full (basic, but full filesystems can cause lots of non-obvious problems)

learn where log files are kept by default and where most configuration files live.

learn how to install, remove, and update packages.

that's a good start for a short period of time.

medium-term, learn your shell. like vi above, learning the shell and the majority of its nuances will repay thousandfold later. learn how to customize your environment, and learn why command aliases, when used properly, will save your sanity.

longer-term, if this is a career-path that interests you, you'll want to get your RHCE (I typically harbor disdain towards certs, but the RHCE is a practical exam AND it did wonders for my resume), and don't limit your knowledge to redhat. learn other distributions, other package management formats, how to build from source, how to create a new package. lots more - keep reading those excellent resources you mentioned, and you

good luck! feel free to mefi mail if you have any specific questions.
posted by namewithoutwords at 11:05 AM on November 10, 2008

LPI Linux Certification in a Nutshell, Second Edition. I haven't read it, but the table of contents looks good and O'reilly has a track record of great books.
posted by PueExMachina at 9:48 PM on November 10, 2008

« Older Views of LA at night.   |   Can I make my wedding ring from this? Newer »
This thread is closed to new comments.