neofetch icon indicating copy to clipboard operation
neofetch copied to clipboard

Proposal for Changes to AIX

Open d-little opened this issue 3 years ago • 2 comments

AIX Changes Proposal

AIX currently displays information similar to the following:

           `:+ssssossossss+-`              root@SERVERNAME
        .oys///oyhddddhyo///sy+.           --------------------
      /yo:+hNNNNNNNNNNNNNNNNh+:oy/         OS: AIX 7.2.0.0 powerpc
    :h/:yNNNNNNNNNNNNNNNNNNNNNNy-+h:       Host: IBM,9119-MME
  `ys.yNNNNNNNNNNNNNNNNNNNNNNNNNNy.ys      Uptime: 18 days, 11 hours, 12 mins
 `h+-mNNNNNNNNNNNNNNNNNNNNNNNNNNNNm-oh     Packages: 105 (rpm)
 h+-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN.oy    Shell: ksh
/d`mNNNNNNN/::mNNNd::m+:/dNNNo::dNNNd`m:   CPU: PowerPC_POWER8 (2) @ 4.190GHz
h//NNNNNNN: . .NNNh  mNo  od. -dNNNNN:+y   Memory: 6469MiB / 40960MiB
N.sNNNNNN+ -N/ -NNh  mNNd.   sNNNNNNNo-m
N.sNNNNNs  +oo  /Nh  mNNs` ` /mNNNNNNo-m
h//NNNNh  ossss` +h  md- .hm/ `sNNNNN:+y
:d`mNNN+/yNNNNNd//y//h//oNNNNy//sNNNd`m-
 yo-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNm.ss
 `h+-mNNNNNNNNNNNNNNNNNNNNNNNNNNNNm-oy
   sy.yNNNNNNNNNNNNNNNNNNNNNNNNNNs.yo
    :h+-yNNNNNNNNNNNNNNNNNNNNNNs-oh-
      :ys:/yNNNNNNNNNNNNNNNmy/:sy:
        .+ys///osyhhhhys+///sy+.
            -/osssossossso/-

I'm proposing that a number of changes can be made to improve some of the feedback

Switch oslevel output from oslevel to oslevel -s

The OS output is 'limited' in its feedback using just oslevel.

Take the following differences example:

# oslevel
7.2.0.0
# oslevel -s
7200-05-02-2114

oslevel -s displays not only the current 'version' of the operating system, but the Technology Level and Service Pack information, where
7200 refers to the base OS level of 7.2.0.0, -05 is the Technology Level 5, and -02 is the Service Pack level. All 3 sets of these pieces of information is crucial to diagnose anything on an AIX server. The final -2114 number is build information, less 'useful' for most day-to-day operations but still more data.

Add SMT count to CPU information

Modern AIX servers use 'Simultaneous Multithreading'. This is very important from a performance/knowledge angle.

It can be found using:

# lsattr -El proc0
frequency   4190000000     Processor Speed       False
smt_enabled true           Processor SMT enabled False
smt_threads 8              Processor SMT threads False
state       enable         Processor state       False
type        PowerPC_POWER8 Processor type        False

An example use of this may be:

if [[ "$(lsattr -El proc0 -a smt_enabled -F value 2>&1)" == 'true' ]]; then
    smt_threads=$(lsattr -El proc0 -a smt_threads -F value)
else
   smt_threads="disabled/unavailable"
fi

and:

# echo "SMT Threads: ${smt_threads}"
SMT Threads: 8

ifix information

Unsure if this is necessary, but IBM releases interim fixes called 'ifixes'. The output already lists rpm count, we could also include ifix counts or even ifix identifiers.

Example ifix output:

#  emgr -l

ID  STATE LABEL      INSTALL TIME      UPDATED BY ABSTRACT
=== ===== ========== ================= ========== ======================================
1    S    IJ31604s2a 07/26/21 18:10:04            ifix for IJ31604
2    S    IJ33279s2a 07/29/21 21:05:17            IJ33279 for AIX 7.2 TL05 SP00 to SP02
3    S    IJ30557s2a 08/01/21 21:39:10            security issue exists in ksh.

STATE codes:
 S = STABLE
 M = MOUNTED
 U = UNMOUNTED
 Q = REBOOT REQUIRED
 B = BROKEN
 I = INSTALLING
 R = REMOVING
 T = TESTED
 P = PATCHED
 N = NOT PATCHED
 SP = STABLE + PATCHED
 SN = STABLE + NOT PATCHED
 QP = BOOT IMAGE MODIFIED + PATCHED
 QN = BOOT IMAGE MODIFIED + NOT PATCHED
 RQ = REMOVING + REBOOT REQUIRED

Possible way of outputting the data:

# printf "Installed Ifixes: %s\n" "$(emgr -l | awk '/^[1-9]/{printf "%s %s",sep,$3; sep=","} END{print ""}')"
Installed Ifixes:  IJ31604s2a, IJ33279s2a, IJ30557s2a

AIX Logo has been updated.

I'm no artist, but, could use what I threw together below. I'm not going to push on this one, not really necessary, but fun.

       AAA        IIIIIIIIII  XXXX    XXXX
      aAAAa       iIIIIIIIIi   XXXX  XXXX
     aAAaAAa         IIII       XXXxxXXX
    aAAa aAAa        IIII        xXXXXx
   aAAA   AAAa       IIII        xXXXXx
  aAAAAAAAAAAAa      IIII       XXXxxXXX
 aAAAa     aAAAa  iIIIIIIIIi   XXXX  XXXX
aAAAa       aAAAa IIIIIIIIII  XXXX    XXXX

Updating for VIOS

Most modern AIX systems use a virtual I/O server (VIOS) that runs AIX, but has a few key differences under the cover. This script identifies the server as an AIX system, but with none of the VIOS specifics.

Proposing to add some checks for VIOS, and listing some details specific to the current VIOS level. Exact details TBD.

d-little avatar Dec 20 '21 06:12 d-little

Fellow Power8 AIX'er here, I agree with everything on this post, like. its prefect

TMinusBlastedRocket avatar Sep 02 '23 18:09 TMinusBlastedRocket

# printf "Installed Ifixes: %s\n" "$(emgr -l | awk '/^[1-9]/{printf "%s %s",sep,$3; sep=","} END{print ""}')"
Installed Ifixes:  IJ31604s2a, IJ33279s2a, IJ30557s2a

That looks useful however I think we should perhaps be using only at S (stable = installed) patches for the report (or somehow make look different those which are not stable)

jose1711 avatar Feb 18 '24 23:02 jose1711