improve your linux skills

How can I continue to improve my Linux skills?

If you want to use Linux as a platform for a very advanced application or application set, you will be interested in aspects of the system such as kernel hacking, the differences between various filesystems, and other nitty-gritty details.

Another skill set that is often needed for high-end applications (or games) is fine-tuning a Linux machine, cluster, or network for optimum performance. This includes expertise in things such as multiprocessing, threading, clusters, and other arcane but sophisticated points of system administration. Understanding these aspects of Linux aren't quite as gritty as actual kernel hacking, but can nonetheless get pretty hairy.

IBM Learning Services offers classes that cover everything from the basics to development to highly specialized skills—as well as certification (more about this later). IBM Developer solutions offers articles and howtos on IBM products, and the greater IBM Web site offers many resources, many if not most of which also run on Linux. And IBM developerWorks offers articles, tutorials, and resources on Linux as well as several other open or free technologies including XML, Wireless, Web services, Java technology, and Grid computing.


Improving your Linux Skills

I came across a few interesting web sites that are excellent resources if you want to improve your Linux skills:

I think there are a few skills that are pretty important.

  • You must be able to configure the network using just cli tools like ifconfig, route, and ip.

    • A few times a client has called saying their a Linux box had failed. I had them boot a livecd. But the server was on a network without DHCP (it was the DHCP). Once the system was booted I need to walk them through starting the network and SSH so I could remotely connect and help them diagnose and fix what was broken.
    • You may be at a point where you cannot access the Internet, and you will need to know how to get online.
  • I think you should know how do a full backup of the system using tar, rsync, or dd. If you don't know how to do a backup and restore things you almost certainly should not touching systems. You do need to also actually make sure backups are made before making system changes.

  • I think you should know how to access the filesystems from a livecd on your servers. This means you should know how to activate LVM, and Software RAID based drives, access partition information, and mount the file-systems.

    • If your server is unbootable, you may need to access the file-system and fix something. It will be pretty painful trying to figure out how to actually mount things in an emergency. Be prepared ahead of time.
  • You should be familiar enough with the boot process to be able to change things at boot. Most systems use GRUB, but you may run into LILO.
    • Importantly, know how boot into different run-levels such as single-user.
  • I think you should have at least a working knowledge of how to do some basic captures with tcpdump and be able to read the results. All the nice GUI features in Wireshark are nice, but if something is broken you may not actually be able to access Wireshark.
    • There are a large number of networking problems that I was able to quickly identify and solve just by running tcpdump.

In addition to the other answers :

I think you should also know your way around the processes are handled :

  • basic knowledge where to find stuff in /proc
  • the ps, top, vmstat and some of their more sophisticated spin-offs (ntop, htop, etc.)
  • know how to interpret output of at least one good monitoring tool like nagios (might be overkill) or munin.

I think you don't need to master sed (I kow I don't at least), I manage to get by with one of the greps (grep,egrep,zgrep,etc) easily. You have to know basic regular expression syntax, though.

I think you should know basic commands to manipulate and/or monitor MTA (postfix or exim) and MDA (dovecot, cyrus, courier) if you maintain a mail server. Even if you don't run one you'll have to be able to run basic SMTP tests on a MTA, if only for local delivery issues.

You should know your way around the authentication system your using (PAM, LDAP). Where are your passwords stored? using what procedures? What applications use what authentication mechanisms



No comments:

Other Articles

Enter your email address: