Skip to content

QuantumTux/thisoldtoolbox-aix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

thisoldtoolbox-aix

This repo is part of my This Old Toolbox set of repos, which collectively host various system administration/management tools I've written over the years, for a variety of platforms and environments. I'm making them public so that others might find the ideas and/or the accumulated knowledge helpful to whatever they need to create.

Documentation

These tools have extensive in-line documentation in the form of comments.

Code Style

All over the place, really. Even in Korn shell, I try to follow the Google BASH Style Guide. However, I value thorough and well-written comments above following a specific code style.

Warranty

Absolutely none at all. I stand by my work, yes, but I wrote these things for the environment in which I operated at the time. It probably isn't the same as any other environment. If someone tries to use any of my tools without taking the time to examine and understand the code, they're asking for trouble.

The Library

These tools are written in Korn shell, specifically ksh93, and rely upon a KSH library that is part of this repo. It might seem to be a little overkill, but there's history behind it.

Why I Created a KSH Library

I started developing these particular tools in a mixed AIX 7 and SLES v15 environment. My original intention was to have a single library that worked for both BASH (SLES) and AIX. I wanted to write tools that worked in both places, using a library to insulate me from the differences between the platforms.

The tools in this repo were all written for AIX v7. I didn't want to re-factor everything when I published them here, so I kept the library.

The library should be placed in /usr/local/lib/aix_tools.ksh

The Tools

aixdiskreport

This tool is designed to gather and distill the storage configuration on an AIX LPAR.

Read more about aixdiskreport

Coming from the Linux world, I found the AIX approach to logical volume management fairly understandable. I didn't like how difficult it was to figure out storage units, and I think hard-coded names like rootvg are silly, but I still understood it. This tool is based off of a similar tool I wrote for the Linux environment.

Only storage devices managed as Physical Volumes are detected and reported by this tool.

aixnetreport

Based on my ethreport tool from Linux, this tool does something similar in AIX.

Read more about aixnetreport

While I could figure out storage in the AIX world, I found the networking component of AIX obtuse and needlessly complex. I don't understand the reason behind ent vs en devices.

I also found it astonishing that AIX didn't support detecting Link State until AIX 7.1.3.3, and even then it still required setting a specific attribute on the LPAR interface.

aixopenf

AIX didn't seem to have equivalent of the lsof tool in Linux, so I created this.

Read more about aixopenf

The purpose of this tool is to gather and display, for each Logical Volume, the running processes that have open files.

aixpsnet

Another Linux tool missing from AIX is netstat (or, more precisely, some of the functionality of the Linux tool is missing from the AIX tool bearing the same name)

Read more about aixpsnet

The purpose of this tool is to gather and display, for each TCP/IP port which is bound, the process or AIX Kernel Extension binding to the port; this is somewhat similar to Linux "netstat -anp".