Home > Enterprise Linux Tips > Administrator > Arnold Robbins' basic programming tips for sys admins
Enterprise Linux Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

ADMINISTRATOR

Arnold Robbins' basic programming tips for sys admins


Jan Stafford
06.09.2004
Rating: -5.00- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


Most people drive cars and don't know how they work. However, a professional truck driver will save time, trouble and money by knowing and being able to tweak an engine. The same analogy fits computer hobbyists versus system administrators. The former can get by with packaged software, but the latter will be better off knowing how to tweak or even build software, according to Arnold Robbins, author of Linux Programming By Example: The Fundamentals from Addison-Wesley/Prentice Hall PTR.

In this interview, Robbins explains why and how programming skills can make a good admin a stellar admin, and he offers a basic curriculum for those who want to bone up on programming. He also weighs in on why programs written in GNU are better than those written in Unix.

Does a system administrator need to have some knowledge of programming when working in a Linux and/or Linux/Unix enterprise environment? Why, or why not?

Robbins: It depends upon how you define programming. Shell programming and some basic familiarity with the standard Unix tools are absolutely essential. Although many vendors provide GUI tools for admin and that works OK for desktop systems, I'm of the old school and feel that understanding what's going on under the hood is really necessary to manage things when they go wrong, or if you need to do something that the GUI's author didn't anticipate.

I don't think it's essential to have C programming and Unix API knowledge, but it certainly will help. If you understand how the shell and other programs do their job at the C level, it'll help you form the correct "mental model" of how the tools work. As I said, shell and scripting skills, such as awk or perl, would be valuable. Python is also a good tool for the tool box.

Actual experience and a knowledgeable mentor are handy, too.

Could you offer examples of programming tasks that an IT manager or system administrator could do to make everyday administration easier?

Robbins: At the shell level, things like daily checks for the 10 biggest consumers of disk space or CPU time, programs to check for connections that have been idle for too long (if you have a modem pool, for instance), and scripts to manage incremental backups.

Big sites almost always need some solution for which there is no product that is 100% perfect out of the box.

In your book, you suggest that learning programming should be viewed as a "10-year" project. Could you offer a course guide for the time-strapped sys admin?

Robbins: Start with Bourne shell programming. Avoid the csh like the plague, it should never be used for scripting.

  • The Unix toolset. These two are usually covered in most shell programming books.
  • System Administration, including filesystem management, including backups; users and groups and permissions; process and load management; and, network configuration and administration.
  • Security, including local system security (setuid programs, Trojans, etc.); network security; vendor patch/update management; and, some system for producing local documentation, such as troff, TeX or Open Office.
  • C programming and the Unix APIs

In the first chapter of your new book, you say that GNU are programs better than standard Unix programs. Why?

Robbins: The primary reason is because they are

  • free as in freedom, not free beer. The guaranteed availability of source code frees users and administrators from vendor lock-in and vendor schedule constraints on getting things fixed or improved.

    Here's where the C programming skills are helpful: If I'm an administrator and a tool isn't working the way I think it should, I can go in and fix it myself instead of having to find someone to do it for me, possibly for pay.

    A secondary reason is that they're often designed and implemented better, from a technical standpoint. One of the guiding principles of GNU software development is "no arbitrary limits" and this leads to more robust software.



    Share your expertise! Write a tip. Win a prize! Send us a technical tip or description of a best practice, or tell us about how you fixed an IT problem. Every one who sends a tip will receive a recently-published IT book. The writer of the top-ranked tip of every batch of 10 entered and published will receive a $100 gift certificate. E-mail your tip today!

    Rate this Tip
    To rate tips, you must be a member of SearchEnterpriseLinux.com.
    Register now to start rating these tips. Log in if you are already a member.


    Submit a Tip




    Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



    RELATED RESOURCES
    2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
    Search Bitpipe.com for the latest white papers and business webcasts
    Whatis.com, the online computer dictionary

    DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



  • Enterprise Linux Web Server & Application Server
    HomeNewsTopicsITKnowledge ExchangeTipsBlogsAsk the ExpertsMultimediaWhite PapersIT Downloads
    About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
    SEARCH 
    TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

    TechTarget Corporate Web Site  |  Media Kits  |  Site Map




    All Rights Reserved, Copyright 2003 - 2010, TechTarget | Read our Privacy Policy
      TechTarget - The IT Media ROI Experts