What is a good tutorial/book to learn the basics of Ubuntu Server Admining?

8 points by chromedude ↗ HN
I am brand new to ubuntu server administration (server administration for that matter) and really need a good tutorial (preferably) or book to learn it as soon as possible. Any suggestions?

7 comments

[ 2.7 ms ] story [ 26.8 ms ] thread
Not specifically Ubuntu, but O'Reilly's Linux Pocket Guide is really useful for your basic bash commands. I've found it to be really useful.
A large part of it is learn as you go, but if you can learn the programs you will be using such as vim or nano/pico and bash and how linux works (for you specifically how ubuntu/debian do things) it can help a lot.

As for specifics there is a lot of good stuff in here: http://www.debian.org/doc/manuals/debian-reference/

If you come from windows avoid using X and GUIs as that really shouldn't be needed in a server environment.

Official Ubuntu Server Book, Kyle Rankin & Benjamin Mako Hill, if you want something in paper to skim, and something you can often find at Barnes & Noble if you want to grab locally, (or of course you can Amazon it)

2nd edition, copyright 2010, covers 10.04 LTS; the 1st edition copyright 2009 covers 8.04 LTS.

Check out the "Community" section of any of the major VPS hosting companies - some of them have really detailed admin tutorials for their customers.

What I start with whenever I need to do Ubuntu admin is the Linode Library ( http://library.linode.com/ ). Their guides are fairly comprehensive for most sysadmin tasks, easy to follow and kept up to date, eg http://library.linode.com/lamp-guides/ubuntu-11.10-oneiric .

I've been a sysadmin for a few years in a Linux environment. I had never touched Linux prior to that. I would like to say that the quickest way is to break things. When you break it and have to fix it, you learn the subject better. Obviously don't try this on the production box :)

Everyone's environment is radically different. At my last job we had LDAP & Active Directory. At my current job we have Active Directory + NIS. There are a few constants like DNS, DHCP that you should probably learn, but beyond that you've got chef, cfengine, puppet and spacewalk, and that's just for package management. There's so many different permutations of setting the environment up that you can't learn it unless you learn as you go.

Some constants:

- vi - always installed

- (ba)sh - It's the default shell in most places, though I have seen csh

- perl - also always installed

- DNS - Most groups with a sysadmin have DNS rather than NetBIOS type resolution of names

- SMB - Because you have your Windows users

- NFS - Linux file sharing

- DHCP - Some people use AD for DHCP and then just static the Linux boxes as it's easier, and you get autoregistration in DNS. For folks with more Linux boxes you might have a Linux DHCP server.

- AD - You'd be hard pressed to find a pure *Nix shop

- LDAP - Depending on the situation, AD could be primary or these could be 2 standalone authentication systems with matching accounts.

To add to the constants list: rsync, some sort of firewall (iptables, apf-firewall, etc.), netstat, sed, awk, logrotate, lsof.

Hanging out with other sysadmins is better than a book. I find that information in books becomes outdated pretty quickly. Try new stuff in a development environment, and then pray they work the same when you go to production (often they won't - so follow the golden rule - back up everything).