Brian Smith's UNIX/Linux/AIX Portfolio

This page has links to some of my UNIX/Linux/AIX related things I have worked on in the past.

My Linkedin Profile

Published Articles

Standardizing users UID and GID numbers on AIX - IBM developerWorks, October 2011

Improve AIX Security With Password Hashes - IBM Systems Magazine, August 2012

Using Graphviz to generate automated system diagrams - IBM developerWorks, September 2012

Breaking Down Your AIX Disk Usage - Power IT Pro, December 2012

Scripting IBM AIX LPAR builds from A to Z in an IBM PowerVM environment - IBM developerWorks, February 2013

Understanding Power System LPAR Profiles - Power IT Pro, February 2013

(Republished) Scripting IBM AIX LPAR builds from A to Z in an IBM PowerVM environment(Link) - Common Connect Magazine, June 2013

Getting more done with less: Using scripts and utilities to quickly run commands across all your IBM AIX servers - IBM developerWorks, July 2013

Understanding SSH Authentication Key Basics - Power IT Pro, August 2013

(Republished) Getting more done with less: Using scripts and utilities to quickly run commands across all your IBM AIX servers - Common Connect Magazine, October 2013

Tracing IBM AIX hdisks back to IBM System Storage SAN Volume Controller (SVC) volumes - IBM developerWorks, November 2013

Boost Your Productivity with Single-Line AIX Shell Scripts - Power IT Pro, December 2013

Compare Files Easily with the comm Command - Power IT Pro, January 2014

Getting started with Nmap for system administrators - IBM developerWorks, March 2014

Published Projects / Contributions to other Projects

pslot validator / visualizer for Virtual SCSI and Virtual Fibre Channel slots in a PowerVM environment - Script to validate and visualize VSCSI and NPIV slots.  

vethgraph (Virtual Ethernet Graph) for visualizing Virtual Ethernet in a PowerVM environment  -  Visualize Virtual Ethernet topology

npivgraph for visualizing NPIV mappings in a PowerVM environment - Visualize your NPIV topology.

GraphLVM for AIX - Visualize the AIX Logical Volume Manager

prdiff - Show differences between LPAR Profile and Running configuration on IBM POWER servers

EZH - Easy HMC Command Line Interface - EZH is a script for the IBM HMC console to provide an alternate, easier to use, command line interface for many common commands and the goal of the project is to make the HMC command line interface easier to use for day to day administration tasks. 

elmon for Linux - Fork of NMON for Linux.  Added multicolumn output, interactive help menu, user controlled ordering of displayed stats, full width CPU stats,  support for sub second screen refreshes, and a new memory/swap usage graph.   No longer maintained. 

ezremaster utility for Tiny Core Linux - Application I wrote for that allows you to easily remaster the Tiny Core Linux distribution.   Allows you to easily include additional applications in the remaster, set bootcodes, and add mydata.tgz.  Included in the CorePlus distribution of Tiny Core. 

Tiny Core Linux - I am one of the developers for the Tiny Core Linux project which is a highly modular Linux distribution.  


PuTTY "Share SSH Connections" (Connection Sharing) Feature

This Week on developerWorks Webcast - Brian Smith on Tracing IBM AIX hdisks back to IBM System Storage SAN Volume Controller (SVC) volumes

Tiny Core Linux File Architecture and Boot Process

AIX expert Brian Smith: Using Graphviz to generate automated system diagrams (published by IBM developerWorks, and featured on developerWorks AIX homepage)

Shell scripting in depth: Understanding return codes, the test command, and the if statement

Video: How to reset ASMI passwords on a IBM POWER server

Video: Inside the Linux internals of the IBM POWER Server Service Processor


Show the number of CPU cores and sockets on your Linux system  -  One line scripts to determine how many CPU cores and sockets are on your Linux system.

Script to standardize user and group UID/GID's on Linux  - Perl script that will help you standardize your UID/GID numbers on Linux.

Tiny Core Linux - File Architecture and Boot Process


Tracing Virtual SCSI / Shared Storage Pool Disks on AIX to VIO resources (and a script to automate this)  - Trace Virtual SCSI and Shared Storage Pools from the AIX server through to the VIO server.   Includes script that produces a detailed HTML report of the mappings. 

Report on your AIX users - Script to produce a detailed CSV report of your AIX users. 

Don't let your AIX passwords expire  -  Script to produce a report showing when passwords will expire for AIX accounts. 

AIX User Attributes In Depth - Show if user attributes are set or are being defaulted.   Show what effect changing a default user attribute will have on users. 

Find your HMC the easy way  -  Script to produce a HTML webpage listing all managed systems and LPAR's attached to an HMC.  

VIO VSCSI hdisk Mapping - save the headache and map them the easy way.  - Script to automate the process of mapping VSCSI disks on VIO servers. 

Decoding the cryptic smit "show command" output  -  Method to take the "show command" output from smit and turn it in to something useful. 

Show AIX device dependency tree - Script to show a tree view of AIX devices. 

Show tree view of AIX device classes and subclasses - Script to show tree view of AIX device classes and subclasses. 

Make sure all your LV's are mirrored in a AIX volume group - How to check to see if an AIX volume group is fully mirrored and a script to automate this. 

Script crontab additions/removals on AIX - How to automate making changes to the AIX crontab from a script. 

Configuring VIO servers to be VSCSI clients of another VIO server - Shows how it is possible (but not supported) to setup a VIO server to be a VSCSI client of another VIO server. 

Save LPAR running configs to profiles for all LPAR's on a frame - One line script to save running configurations to profiles for all LPAR's on a frame. 

Cloning LPAR configurations to save time and for Disaster Recovery - One line script to clone a LPAR configuration. 

Scripting directly within the HMC restricted shell - It can be done!  - Method to write scripts on the HMC within the restricted shell. 

Script to migrate AIX users and groups to Linux

Determine which processes have listening ports on AIX - script to list out which processes have ports TCP ports open.

Reset padmin VIO password from the HMC with zero downtime

Scripting importvg on AIX

Deciphering AIX Volume Group limitations and types

Decoding hdisk PVID's on AIX

Quickly estimating mksysb size on AIX

Script to calculate Virtual Processor to Core Ratio on POWER

Visualizing Shared Processor Pool allocations on Power Systems

Show which hdisk(s) each of your filesystems reside on for AIX

Scripting the stop and restart of SRC controlled processes on AIX

Copying AIX password hashes between servers

In depth cron access control for AIX

Getting the Linux "watch" command functionality on AIX

Doing POWER System Firmware updates from the HMC hard drive

Script to show Etherchannel "Tree" view on AIX

Find that long lost AIX SMIT menu you can't seem to get back to


Analyzing user/group UID/GID conflicts for UNIX/Linux/AIX  -   Analyzing UID and GID numbers so you can work on stardardizing them. 

SSH host keys - know when to keep em and when to change them - Information on SSH host keys, what they are for, how to migrate them, and how to change them. 

Script file edits with the "ed" editor - Methods to use the "ed" editor from a script to automate editing files.   Applies to UNIX/Linux/AIX. 

Managing filessytem mount point permissions (AIX/Linux/UNIX) - Tips and tricks for managing mount point permissions. 

Extracting text using sed and regular expressions (Linux/UNIX/AIX) - How to use sed to extract text with regular expressions. 

Edit sudoers file from a script - How to edit sudoers file from a script in a safe manner. 

Every possible UNIX/Linux file permission: Listed and explained (All 4,096 of them)

Every possible UNIX/Linux umask mode.. Plus scripts to generate these lists

Using uuencode to embed binaries in scripts and copy/paste transfer files between servers

Understanding the AND && and the OR || Shell operators

The best scripting/programming langauge for UNIX/Linux SysAdmins

When to use Expect scripting and when to avoid it