Point and Drool

I’ve just spent a little time in the Fedora IRC channel. Someone there was asking about tools for managing large numbers of systems; some type of dead simple system, which would require minimal configuration and maintenance, and would also naturally come equipped with a webified interface.

One of the chat participants then offered this piece of sage advice:

I think “point and drool” by “junior admins” and good systems management practices are mutually exclusive.

Indeed. I must use that line in $DAYJOB at my earliest opportunity. Maybe even on Monday.

-k-

Command of the Day

To me, windowing systems are fine things whose sole purpose is to facilitate the opening of multiple text terminal windows. I spend a lot of my $DAYJOB time typing arcana into terminal windows, connected to various systems in our environment.

I’ve previously documented my fondness for Cluster SSH; indeed, I wonder how I survived without it for so long. cssh makes it easy to perform the same action on multiple systems simultaneously. It is an indispensable tool for me now.

There are times when I want to open multiple windows on a single system; perhaps to start a process from one window while doing a tail -f of some logfile in another. Previously, I opened multiple gnome-terminal tabs, and made an ssh connection from each window. Tabbing between the two windows got to be a PITA, so I tried opening multiple terminal windows, only to have to drag them around and resize them. Not fun. cssh will happily let you say cssh somehost somehost, and you get two nicely aligned windows on the destination system, along with the cssh input box, which gets the focus by default. You then click each xterm window, type your command, and watch. Workable, but I’m not a huge fan of xterm for extended sessions, and invariably I type into the cssh input box, which sends the same command to the same system twice. The results of this can be anything but pretty.

Enter the terminator. It’s available from Fedora repositories via a yum install. Install it, type terminator from a shell prompt, and you are presented with a gnome terminal window. You then right click in the window, and are given the option to split it horizontally or vertically. Bam! Two windows, perfectly aligned. But here’s where the fun really begins. A right click or keyboard command renders the option to split these windows, again horizontally or vertically. Split. Rinse. Repeat. You will soon be in a maze of little windows, all alike, if you get carried away. Voice of experience here. Your individual windows remain in perfect alignment within the larger containing window, and life is good.

terminator has a wealth of other options, to wit:

[knelson@gypsy ~]$ terminator –help
Usage: terminator [options]

Options:
-h, –help show this help message and exit
-v, –version Display program version
-d, –debug Enable debugging information (twice for debug server)
-m, –maximise Open the Terminator window maximised
-f, –fullscreen Set the window into fullscreen mode
-b, –borderless Turn off the window’s borders
-n, –no-gconf ignore gnome-terminal gconf settings
-p, –profile Specify a GNOME Terminal profile to emulate
–geometry=GEOMETRY Set the preferred size and position of the window (see
X man page)
-e COMMAND, –command=COMMAND
Execute the argument to this option inside the
terminal
-x, –execute Execute the remainder of the command line inside the
terminal

Pretty neat, eh? terminator also supports tabbed windows; it enables creation of root tabs, each of which may then be subdivided as detailed above. By enabling a configuration option extreme_tabs, you can create tabs within tabs. According to the manpage:

extreme_tabs (boolean)
If set to True, tabs can be created within other tabs. Be warned
that this can be very confusing and hard to use. Default value:
False

Very confusing is an understatement, but cool to experiment with. The Voice of Experience speaking again.

I wish that saying terminator -x ssh someuser@somehost would establish subsequent connections to somehost upon splitting the window. Alas, in the current stable version, splits open additional windows on the workstation, not the target system. If I read the development roadmap properly, this feature is being planned, along with some type of cssh functionality, enabling “type once, execute multiple”.

The terminator; a tool now firmly established in my admin bag of tricks. You can’t be an admin’s admin without good tools.

-k-

Two Hours from Freedom

I’ll be at work then, handing off the stinking on-call pager to the next sad sack sysadmin professional in the barrel rotation.

I think our work group is overstaffed by a huge margin; the silver lining is that there are more candidates for the stinking on-call pager, which limits my exposure.

That’s a Good ThingTM.

-k-

Body Shops

One more time before my emeritus years, I’d dearly love to work with a small group (3-5) of sysadmins who work hard, play hard, and just get stuff done by helping each other out.

This is contrasted to bloated staffs, each member of which gets tasks assigned from a sort of job jar, without regard to the degree of difficulty of the task, or how the task assigned fits into the larger picture. Systems Administration means care and feeding of not only hardware and software, but of processes, people, and best practice standards.

Not that I have any real world comparisons on this, mind you.

Nonetheless:

Your old men will dream dreams. Joel 2:28.

-k-

A Tribute to Gnome Terminal Scrollback Buffers

I worked like a trooper today, generalizing a several-year-old script which creates metadevices and metadevice mirrors for Solaris Volume Manager. It’s not rocket science, every admin has one, and it was time to make mine more generally useful. To that end, I rearranged my previous script, and abstracted out a set of shell functions, which pass the proper parameters to the SVM meta commands. The script was taking commmand-line parameters for root disk, mirror disk, and the disk slices that make up SVM’s meta databases.

And it was going swimmingly, and at about when it should have been quitting time, I thought it time for the script to clean up after itself, getting rid of temp files, etc. I moved all the clean up stuff into a function, called at the end of the script. One of the lines in the cleanup function was
rm ${0}
The good news is that the cleanup worked flawlessly. The bad news was that I hadn’t saved a copy of the script anyplace, being in the code-test-code phase. So, when I wanted to look at my handiwork again, there was a whole lot of not much there there.

Fortuitously, I had configured my gnome terminal with a gargantuan scrollback buffer. By trolling back through the buffer, I extracted my script, one function at a time, catt’ed all the functions, plus the main part of the script, into a file. I made not one, but two, backups of the file, reran it, and all was well.

Such things make me want to break out into a cussing fit, but I had no one to blame but myself. So, to the mighty gnome terminal scrollback buffer, this Shiner’s for you. And the script goes into RCS posthaste.

-k-
[stags]Work, sysadmin, scripting, gnome terminal[/stags]

Indulge Me

I’m still pondering the fine points of WordPress 2.3 tagging. Or maybe I’ve not progressed to where I’m even entitled to contemplate the fine points.

If I have any regrets about my many years in information technology, it’s that I’m not as fluent in web apps, and the coding thereof, as I’d like. I can write some mean sysadmin related scripts, but a lot of PHP looks like line noise to me. And style sheets; man, I can take a beautiful theme, apply some of my artistic hacks, and wind up with something that looks like fingerpaint day at the pre-school.

Part of me wants to be the expert at everything, to be a sysadmin’s sysadmin, to have a blog that dazzles as much with its beauty as with its writing. I’ve got a leg up on the first one, and will chip away at the latter two. There will be bumps along the way; as my Dad would say “Stay in the buggy.”

-k-

[stags] PHP,sysadmin,wordpress[/stags]

Resumin’

Barely tenable work situations, combined with living in a place one detests, compels one to seek other opportunities. Over the weekend, the search begins.

I’ve said/thought/blogged about it before, but this time, it’s for real.

So, if my small but loyal group of readers knows of anyone needing a good, blue-collar mentality sysadmin, contact me using the form in the right sidebar.

In the meantime, the propagation of my resume will commence.

Thanks.

-k-

GTD – Electronic Cleanup

I spent today at home, tending to a tender left foot.  and decided to clean out my Delicious bookmarks.  I dropped the bookmark count from 941 to around 645, and painstakingly retagged the balance of them into at least a semblance of order.

Here’s an example of my new tag structure : RedHat.SysAdmin.Tools.ssh.  This is more directory-like than tag-like, and I hope I haven’t painted myself into some big delicious unusability corner, but I how have far fewer tags, and my delicious page is ever so tidy.

I only hope I can find the stuff I need.

-k-
[tags] GTD, del.icio.us[/tags]

Stiffed

Guess what I came home with tonight?

The stinking on-call pager. The junior putz admin who was scheduled for the duty was a no-show today; turns out today was his AWS1 Day.
He neglected to note his AWS day on the group calendar; he didn’t call, stop by to pick up the pager, or a damn thing. This breaks two codes of the sysadmin:

  1. Let your coworkers know when you won’t be there;
  2. Don’t leave your coworkers in the lurch.

This is the same mope who called me at home at 3am a few weeks back; he was in a bind. I helped.

When next he needs help, my recollection of what to do, not to mention my willingness to help, will be in inverse proportion to the vividness of my recollection of his antics today.

-k-


1 Alternate Work Schedule, last refuge of sluggards.