LINUX NEWS
Resources & Links From CramSession.com
Thursday, February 21, 2002
TABLE OF CONTENTS
1) Sean’s Notes
2) Linux News
Apache Releases 2.0 Beta
OS X on Intel - A Good Thing?
Microsoft Must Open Code
New Software Packages Provide More Cluster Management Options
3) Linux Resources
SNMP Test Suite
Mozilla Customization Hints
Administering Linux IPSec Virtual Private Networks
Advice on Becoming a Kernel Hacker
Build and Release Management
4) App o’ the week
~~~~~~~~~~~~~~~~~~~~~~ ADVERTISEMENT ~~~~~~~~~~~~~~~~~~~~~~~
Are you the neighborhood hero for rigging your gaming system for network play? Do you prefer dealing with computers rather than people? (they don’t talk back) Always wanted to be a computer network specialist? Learn Now at the International Academy of Design & Technology, Tampa.
Interested? Hit our website at: http://ad.brainbuzz.com/?RC06&AIH87
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For information on how to advertise in this newsletter please contact mailto:adsales@CramSession.com or visit http://cramsession.com/marketing/default.asp
1) Sean’s Notes
One of the questions people tend to ask soon after “How do I learn Linux?” is “Should I learn how to program?”. My answer to that is an emphatic “YES!”.
Programming in the Linux environment can take many forms. At the most useful, but least powerful, end is shell scripting. Shell scripting is basically the automation of common shell tasks. You’ve got basic logic, such as if/then, and the ability to loop.
Say one of your duties as a systems administrator is to check your users’ disk quotas every morning to see if they have to be notified to cut down on their disk usage. This could be done by hand, scanning the output of “repquota” for violations, and then sending off emails. In a shell script, you might call repquota, grep for the “over quota” indicators, and then fire off a quick email. Throw it in cron, and you’re done. Shell scripts let you be lazy in the good sense of the word.
There comes a point in time where you’ll outgrow the shell (likely much before you expected to.) Don’t get me wrong, you can do some amazing things in a shell script, but if you want to bring in things like databases, SNMP, or networking, you probably want to go to the next step. Enter Perl. Some might suggest Python, which is another excellent language, but I think you’ll appreciate the hacker like nature of Perl.
Perl offers extensive text processing features, the ability to handle complex data structures, and can tie in to almost anything you want. Need a tool to give you some simple statistics on a certain log file? Maybe a form on the company intranet? Perl is what you want.
As you begin to get into Perl, you’ll start to get ideas about the things you can do with this new language, if only you had some good system to store and catalogue data. SQL is, of course, the answer. Luckily, it’s pretty easy to pick up, and you only have to scratch the surface in order to get the utility you’ll need. Being able to take your data, transform it into tables, and then perform your queries, inserts, and deletes is all you’ll need.
In all my experience, there is very little you can’t do as a systems administrator with either the shell or Perl. The more you learn about the languages, the more projects you’ll take on.
The next logical progression in languages would be C (or C++), the language that most applications are written in. While you can create GUI tools in Perl, you might have aspirations of things more complex. Even if you don’t want to code for a living, a knowledge of C is helpful in debugging problems, and figuring out how Linux is put together. You’ll be able to make small tweaks to applications (or the kernel), and if you ever run into a program that crashes, you might even be able to fix it or at least help debug it (and usually get a mention in the credits for the program, in the case of Open Source tools). Figuring out why a patch didn’t apply, or a make fails, is made much easier if you can read the code. Another common duty of a systems administrator is supporting programmers, so your knowledge of both the OS and of C/C++ will help you to help them with some problems (compiler problems and missing include files are common).
I find that books are the best way to learn programming, outside of taking a few courses, that is.
For shell programming, I’m rarely caught without O’Reilly’s “UNIX in a Nutshell”. My version is a few editions behind, but the current version looks to have the same content. The bash man page is surprisingly helpful; a printed copy is nice to have around.
A great book from which to learn Perl is Osborne’s “Perl: The Complete Reference (2ed)”. It is a great tutorial and reference book in one. However, no Perl guru would ever be caught without the so called “Camel Book”, O’Reilly’s “Programming Perl”.
I’m afraid I don’t have any books to pass along for C (any reader suggestions will make it to a future newsletter). If you are a C programmer, though, Richard Steven’s “UNIX Network Programming” (latest edition is in two volumes) is simply superb, taking the C programmer through the Unix operating system and explaining sockets, signals, process control & communication, and much more. If you’re a Unix newbie, but have a C background, this book will make it easier to understand why everything is put together the way it is.
Another language that doesn’t get a lot of attention is TCL, specifically the Expect extensions. This lets you script interactive communication (i.e., keystrokes), letting you do stuff like log in to routers or a remote system from a script. O’Reilly’s “Exploring Expect” comes to the rescue, and it doesn’t even assume a knowledge of TCL.
Unix was originally built by programmers, for programmers. Though you can get by without knowing what a for loop is, being able to program at any level will let you automate routine work, and enhance your value as a systems administrator. Programming skills are generally transferable to other flavours of Unix, and even Windows (and beyond)! In terms of “bang for your buck”, you can’t do much better for your systems administration career than learning to program.
Long live the Penguin,
Sean swalberg@cramsession.com
2) Linux News
Apache Releases 2.0 Beta
I’ve been watching the progress of Apache from a distance, and am quite impressed with the new features and enhancements coming out in 2.0. This announcement of a beta release means the code is in a relatively stable state, so I’ll start playing with it right away!
http://www.apache.org/dist/httpd/Announcement2.html
OS X on Intel - A Good Thing?
OS X is Apple’s latest OS offering, combining the interface of the Macintosh, with the stability of a UNIX back end. What would happen if it was ported to the X86 platform? Would it give Microsoft a run for its money? Robert Cringely gives his take.
http://www.pbs.org/cringely/pulpit/pulpit20020214.html
Microsoft Must Open Code
Don’t get too excited by the headline, but Microsoft has to open their code up to inspection by the various states (not to everyone, though). If they’re claiming that the OS and features are inseparable, then it would only be fair if the government could have a see for themselves. Even though that motion was won, some others that would have helped the government’s case were not. Time will tell…
http://www.cnn.com/2002/TECH/industry/02/16/microsoft.code.reut/ind ex.html
New Software Packages Provide More Cluster Management Options
“Linux NetworX, a provider of powerful cluster supercomputing solutions, announced today the unveiling of ClusterWorX Lite, an entry-level version of its cluster management software with limited functionality, designed for cluster systems with 16 nodes or less.”
http://www.linuxnetworx.com/news/2.12.2002.45-Linux_NetworX_U.html
3) Linux Resources
SNMP Test Suite
If you’ve been reading the news, you’ll know that many SNMP implementations (including the UCD one, popular with Linux distributions) have some rather serious bugs. Here is a comprehensive set of tests that can be used to test out any SNMP setup.
http://www.ee.oulu.fi/research/ouspg/protos/testing/c06/snmpv1/inde x.html
Mozilla Customization Hints
I’m really starting to get into Mozilla, but there were a few things that were really getting to me, such as very small fonts on some web pages. Mozilla’s tweak page really helped me out – it has loads of obscure things (turn off pop up windows!) that you can tune.
http://www.mozilla.org/unix/customizing.html
Administering Linux IPSec Virtual Private Networks
IPSEC is a popular protocol for setting up VPNs over the Internet. It should be no surprise that Linux supports this protocol. The project is called Free S/WAN, and a great article on its use is here.
http://www.samag.com/documents/s@72/sam0203c/sam0203c.htm
Advice on Becoming a Kernel Hacker
This interview with a kernel developer starts out being about one of the major improvements in the 2.5 development, but finishes off with lots of great advice on becoming a kernel developer, and how to make your contributions count.
http://kerneltrap.org/node.php?id
Build and Release Management
“So, you want to write software? Don’t forget that you’ll need to build or package it, test it, fix some stuff, test it again, and ultimately release it… somehow. The “somehow” is the art and science of Build and Release Management.”
http://freshmeat.net/articles/view/392/
4) App o’ the week
Do you bill your users based on their print usage? This set of filters can bill based on toner usage (rather than per page). An interesting little system, it handles both black & white and colour, and can run in billing mode or one that simply produces reports so you can have a more accurate picture of who your toner-burning users are.
http://ieee.uow.edu.au/~daniel/software/printbill/
(C) 2002 BrainBuzz.com. All Rights Reserved.
This message is from CramSession.com.
You are currently subscribed to the Hottest Linux News and Resources as: sean@ertw.com
To un-subscribe from this newsletter by e-mail: send a blank email message to: mailto:leave-linuxnews-3825955Y@list.cramsession.com
To Subscribe to this newsletter by e-mail: send a blank email message to: