Wednesday, 29 June 2011

centos xen CheatSheet

Displays uptime for a domain

xm uptime

Monitors a host and its domains in real time

xm top

Displays domain information

xm list

Displays host information

xm info

Lists domain virtual processors

xm vcpu-list

Lists domain virtual network interfaces

xm network-list

Displays node information

virsh nodeinfo

Displays domain virtual processor information

virsh vcpuinfo

Displays the xend log

xm log

Displays domain information

virsh dominfo

Reads the xend daemon’s message buffer just like dmesg

xm dmesg

Tuesday, 28 June 2011

Resolving overflows in the /var file system:

Resolving overflows in the /var file system:

Check the following when the /var file system has become full.

You can use the find command to look for large files in the /var directory. For example:

find /var -xdev -size +2048 -ls| sort -r +6

For detailed information, see the command description for the find command.

Check for obsolete or leftover files in /var/tmp.

Check the size of the /var/adm/wtmp file, which logs all logins, rlogins and telnet sessions. The log will grow indefinitely unless system accounting is running. System accounting clears it out nightly. The /var/adm/wtmp file can be cleared out or edited to remove old and unwanted information. To clear it, use the following command:

cp /dev/null /var/adm/wtmp

To edit the /var/adm/wtmp file, first copy the file temporarily with the following command:
/usr/sbin/acct/fwtmp < /var/adm/wtmp >/tmp/out

Edit the /tmp/out file to remove unwanted entries then replace the original file with the following command:
/usr/sbin/acct/fwtmp -ic < /tmp/out > /var/adm/wtmp

Clear the error log in the /var/adm/ras directory using the following procedure. The error log is never cleared unless it is manually cleared.

Note: Never use the cp /dev/null command to clear the error log. A zero-length errlog file disables the error logging functions of the operating system and must be replaced from a backup.
Stop the error daemon using the following command:
Remove or move to a different filesystem the error log file by using one of the following commands:

rm /var/adm/ras/errlog
mv /var/adm/ras/errlog filename

Where filename is the name of the moved errlog file.

Note: The historical error data is deleted if you remove the error log file.

Restart the error daemon using the following command:


Note: Consider limiting the errlog by running the following entries in cron:

0 11 * * * /usr/bin/errclear -d S,O 30
0 12 * * * /usr/bin/errclear -d H 90

Check whether the trcfile file in this directory is large. If it is large and a trace is not currently being run, you can remove the file using the following command:

rm /var/adm/ras/trcfile

If your dump device is set to hd6 (which is the default), there might be a number of vmcore* files in the /var/adm/ras directory. If their file dates are old or you do not want to retain them, you can remove them with the rm command.

Check the /var/spool directory, which contains the queueing subsystem files. Clear the queueing subsystem using the following commands:

stopsrc -s qdaemon
rm /var/spool/lpd/qdir/*
rm /var/spool/lpd/stat/*
rm /var/spool/qdaemon/*
startsrc -s qdaemon

Check the /var/adm/acct directory, which contains accounting records. If accounting is running, this directory may contain several large files.

Check the /var/preserve directory for terminated vi sessions. Generally, it is safe to remove these files. If a user wants to recover a session, you can use the vi -r command to list all recoverable sessions. To recover a specific session, usevi -r filename.

Modify the /var/adm/sulog file, which records the number of attempted uses of the su command and whether each was successful. This is a flat file and can be viewed and modified with a favorite editor. If it is removed, it will be recreated by the next attempted su command. Modify the /var/tmp/snmpd.log, which records events from the snmpd daemon. If the file is removed it will be recreated by the snmpd daemon.

Note: The size of the /var/tmp/snmpd.log file can be limited so that it does not grow indefinitely. Edit the /etc/snmpd.conf file to change the number (in bytes) in the appropriate section for size.

Issue a find - command to select those files older than e.g. 8 days and delete them.
This command can be put into the crontab file and be executed on a daily basis.

00 04 * * * find /var/adm/cron/log -ctime +8 -exec rm -f {} \;
(will delete all files older then 8 days, every day at 4am)

hardware devices

Listing hardware devices:
To learn about the hardware characteristics of your system, you can use the following commands:

·         lsdev    Displays devices on the system and their characteristics.
·         lspv      Displays information about a physical volume within a volume group.
·         lsattr    Displays information about the attributes of a given device or kind of

For example:

·         To list the tapes on your system, use the lsdev -C -c tape command.
·         To list the disks on your system, use the lsdev -C -c disk command.

Using the lsdev command:

You can use the lsdev command to display information about devices in the device configuration database. You can use this command to display information from either the Customized Devices object class in ODM using the -C flag or the Predefined Devices object class in ODM using the -P flag.

Listing devices in the predefined ODM database

lsdev -P –H

Listing devices in customized ODM database

lsdev -C –H

To list the adapters that are in the Available state in the Customized Devices object class, enter:

lsdev -C -c adapter -S a

To list all the classes of supported devices on your system, on the command line enter:

lsdev -P -r class

Using the lspv command:

The lsdev command obtains general information about the devices installed on your system; however, you can find out specific information about your physical volumes using the lspv command.

For example, to display the physical volumes on your system, enter:


hdisk0 00615147ce54a7ee rootvg
hdisk1 00615147a877976a rootvg

To display the status and characteristics of physical volume hdisk0, use the lspv command as follows:

lspv hdisk0

To list the status and characteristics of physical volume hdisk0 by physical partition number, use the lspv command as follows:

lspv -p hdisk0

Monday, 27 June 2011

AIX JFS error

How to resolve issues with local JFS file systems that have run out of available space.
Resolving full filesystems:
To resolve an out-of-filesystem-space issue, complete these steps: 
·         Determine what filesystems are full. 
·         Determine where space is allocated within the source filesystem.
·         Take the required steps to resolve the out-of-space condition. 
Once the above steps have been completed, the situation should be resolved,
or the reason for the problem should be understood.
If these steps do not resolve the issue, filesystem corruption MAY be involved.Unmount the filesystem and run a full fsck against it to verify that no corruption problems exist.
Determining what filesystems are full ?
The df command is used to get filesystem status information. The relevant 
field to consider is %Used.
%Used = percentage of total filesystem space currently allocated
   Filesystem   1024-blocks      Free %Used    Iused %Iused Mounted on
   /dev/hd4           12288        68   99%     1823    23% /
   /dev/hd2          409600     20436   96%    16181    16% /usr
   /dev/hd9var         8192      6088   26%      163     8% /var
   /dev/hd3           12288     11340    8%       87     3% /tmp
   /dev/hd1           57344     13872   76%     1459    11% /home
In this example, most of the available free space in the root filesystem / 
is allocated. At this point, we have determined free-space problems on the / filesystem. The next issue is to determine what kind of space problem exists. 
Keep in mind that the mounts are hierarchical and have a bottom-up precedent. 
In other words, a filesystem mounted below a second filesystem cannot access 
data in the second filesystem. For example, if you have a mount entry called 
/myfilesystem/mydata immediately followed by a mount entry called /myfilesystem,then the /myfilesystem mount point cannot access the /myfilesystem/mydata filesystem and any data that resides there. 
Determining where space is allocated within each filesystem?
There are two commands generally used to determine how and where filesystem
allocation is placed: df and du . 
df uses the space in a filesystem that is currently unallocated to determine
the space that is used in a filesystem. For instance, if you have a filesystem that consists of 8192 512-byte blocks, and 4096 of those blocks are currently not allocated to anything, then the total space being used by the filesystem would be 4096 512-byte blocks. 
Allocated Storage = Total Storage - Unallocated Storage
df is inherently the most reliable command to report filesystem usage, because df reports information based on the filesystem as a whole.
du is a file-oriented command. It reports the space allocated to a specified 
file or directory. du must have a destination parameter, and is not isolated 
to a filesystem. For instance, running du / would give allocation information 
for all files in / . This would include all files in the / filesystem and any 
other filesystem mounted under / , such as /tmp, /var, and /usr . You could use the -x option of du to keep the operations within the filesystem, but there are cases where the results of using this option may be incomplete. 
du will only report space taken by files. It will not report space taken by 
filesystem metadata, such as inodes, inode maps, or disk maps. inode/disk maps and other reserved areas for filesystem use will take up a negligable portion of the filesystem space, but the areas reserved for inodes can be substantial, and is ultimately based on the NBPI (Number of Bytes Per Inode) chosen when the filesystem was created. Each inode uses 128 bytes of filesystem space, so the amount of space taken for inode use will be the percentage defined below:
  (128 / NBPI) * 100 
By default, a filesystem will use a NBPI of 4096, so the general overhead for
a filesystem will be about 3%. 
To determine what the NBPI is for the filesystem in question, issue the lsfs 
command with the -q option on the mount point of the filesystem
# lsfs -q /
Name      Nodename   Mount Pt    VFS   Size    Options   Auto  Accounting
/dev/hd4  --         /           jfs   81920   --        yes   no 
(lv size: 24576, fs size: 24576, frag size: 4096, nbpi: 4096, compress: no, bf : false, ag: 8)
du will only show allocated information about files it can reference. There are two cases where du may not show information about allocated storage. 
The file is hidden because a filesystem or file has been mounted on top of this entry. If you had a file that was stored in /bobby, and then mounted a 
filesystem on top of /bobby, then du would no longer see what was in the 
directory /bobby. It would only see the information in the filesystem that was mounted over /bobby.
The file is open by other applications, and the file has been removed. In this case, the storage for that file will remain allocated until all references to that file have been closed. Without a filesystem entry, du will not show allocated space for that file, though df will show this space taken from the filesystem as a whole.
Determining files that are using space in a filesystem
To address the situation presented in case 1 in the previous section, mount 
the primary mount point of the desired filesystem on a secondary mount point. 
This has the effect of negating any filesystem mounted under the primary 
mount point. 
   mount / /mnt
In the above example, we mounted the / filesystem over /mnt . The effect is 
that if we go into /mnt , we see all the information about the / filesystem 
and no other filesystem mounted under / . If we run cd /mnt/tmp , then we are 
actually in the directory /tmp in the / filesystem, and not in the /tmp
filesystem. Also, if we run du -sk /mnt , it should closely match the %Used 
for / from the df command. If it does not, then this indicates that case 2 
may be occurring. For now, we will proceed with case 1. 
We can now investigate disk usage accurately. First, go into the root directory of this filesystem. 
   cd /mnt
Run the du command to get an accurate accounting of the space that can be seen for all accessible files in this filesystem. 
# du -sk /mnt
11778   /mnt
This will report the accounted space taken for files in kilobytes. If you add
the overhead of the filesystem described above, this figure should closely
match that given by the df command. 
# df -vk /
Filesystem  1024-blocks  Used  Free  %Used  Iused   Ifree %Iused  Mounted on
/dev/hd4    12288        12220  68     99%   1823    1249   23%      /
The overhead in this case will be (128/4096) * 12288K = 368K 
The total space that can be accounted for is 11778K + 368K = 12146K versus the reported space taken from df of 12220K. This outcome is accurate and indicates that any space seen is accounted for in a file somewhere in the filesystem. If the difference between the two is large, then this indicates case 2 is more likely to be occurring. The next section , "Resolving Space Taken by Open Files That Have Been Deleted" addresses the situation in case 2. If not, continue with the following steps.
Run the following command on the new mount point of this filesystem to get 
a sorted disk usage of the filesystem's root directory. 
   ls -A . | while read name; do du -sk $name; done | sort -nr
   # ls -A . | while read name; do du -sk $name; done | sort -nr
   2168    etc
   192     lpp
   168     sbin
    40     dev
    28     export
    12     smit.log
     4     var
     4     usr
     4     tmp
     4     tftpboot
     4     src
     4     smit.script
     4     mnt
     4     .sh_history
     4     .profile
     0     unix
     0     u
     0     lib
     0     bootrec
     0     bin
This command sorts disk usage for all files in the current directory by size, 
in decreasing order. If the file we suspect happens to be a directory, we can 
then change into that directory, and re-run the preceding command to determine what is taking up space within that directory. Continue these steps until you find the desired file or files, at which point you can take appropriate actions. 
Resolving space taken by open files that have been deleted
In case 2, there are files within the filesystems that are opened by 
applications but have been removed from the filesystem tree. This behavior 
is documented in the unlink() system call as follows.
When all links to a file are removed and no process has the file open, all 
resources associated with the file are reclaimed, and the file is no longer 
accessible. If one or more processes have the file open when the last link 
is removed, the directory entry disappears.
However, the removal of the file contents is postponed until all references
to the file are closed. 
You can use the fuser command with the -dV flag on the full path to the 
device on which the filesystem resides. This will display files that have
been removed but are still open. It will also report the inode number and 
size of such files. Using the process ID returned for these files, you can
instruct the source application to close these files, or you can exit the 
application. Once this has occurred, and fuser no longer shows this deleted 
file, the space will be returned to the filesystem for general use. 

AIX QuickSheet

compress -c file.txt > file.Z           Create a compressed file.
uuencode (infile) (extract-file-name) > (output file)
Converts a binary file to an ASCII file for transfer by modem or email
uudecode (encoded file)
Extracts a binary file from encoded file and calls it the extract-file-name 
examples :-
uuencode maymap maymap > maymap.enc
uudecode maymap.enc
od -c /tmp            Displays contents of the /tmp directory file
ls -i                 Lists files with their inode numbers
echo *                Lists files, can be used if ls is corrupt/missing
chtz (timezone eg GMT0BST)        Changes the timezone in /etc/environment file
chlang (language eg En_GB)        Changes the language in /etc/environment file
ar -v -t (archive file)           List contents of an archive
ar -v -x (archive file)           Extracts the archive
ar -v -t /usr/lib/libC-r.a        Lists contents of the libC_r.a library
find /source -print | cpio -pdm /target
Copying directories using cpio, creates /target/source directory.
dump -nTv (binary executable)     Displays the contents of an executable file
dump -c        Displays string information
dump -o        Displays object file headers
dump -l        Displays line numbers
dump -s        Displays the text section
snap -ao /dev/rmt0         Create a snapshot onto tape
snap -ad (directory)       Create a snapshot into a named directory other
                           than the default (/tmp/ibmsupt)
/usr/dt/bin/dtconfig -d    Disables desktop logins
/usr/dt/bin/dtconfig -e    Enables desktop logins
/var/dt/Xpid               PID of the dtlogin process
                        LICENSES / SOFTWARE INSTALLATION
lslicense                    Displays number of current user licenses
chlicense -u (number)        Changes the number of user licenses
( ftp,rexec and rsh (without -i flag) do not need an AIX user license to be
  able to access the system. )
oslevel                       Returns operating system level
     5 . 3 . 3 . 0 <--------- Preventive Maintenance Level
     |   |   |
     |   |   +----------------Modification
     |   +--------------------Release
oslevel -l            Displays all filesets that are "downlevel"
whence (program)              Returns full path of program
whereis (program)             Returms full path of program
what (program)                Displays identifying info from the executable
                              like version number, when compiled.
lslpp -L all                  list all installed software
lslpp -L (program set name)   Check if software installed
lslpp -f                      Lists filesets vs packages
lslpp -ha                     Lists installation history of filesets
lslpp -w /usr/bin/swapon      Lists the fileset that the file belongs to
lppchk -c                     Checks file checksums against SWVPD
lppchk -l                     Checks symbolic links against SWVPD
instfix -ik (fix number eg IX66617)     Checks id fix is installed
instfix -ik 5330-02_AIX_ML
instfix -i | grep ML                    Displays all ML's installed
instfix -k IX38794 -d /dev/cd0          Installs a fix from cdrom
/usr/sbin/install_assist                Smitty Installation Assistant
/usr/sys/inst.images/sys.bundles        Software bundle files
alt_disk_install -c hdisk1       Clones a running rootvg onto hdisk1
alt_disk_install -w              Wakes up alt vg
alt_disk_install -s              Sends alt vg to sleep !
alt_disk_install -x              Removes alt vg from disk
/usr/lpp/bosinst/blvset -d /dev/hdisk0 -p 5.3
Resets the pad string in the BLV to the correct AIX version. Needed if the
migration option is missing when installing.
installp -ad (device) (fileset) (level)     Install apply and commit fileset
installp -pad (device) (fileset) (level)    Preview install
installp -u (fileset)                       Remove fileset
installp -ld (device)                       List all software on device
installp -pad /dev/rmt0 X11.base
installp -C      Cleans up after a premature cancel or interrupted installation.
                           TERMINALS / DISPLAYS
/usr/share/lib/terminfo    Directory with all support terminal info files.
tty            Displays what the tty/pty number of the terminal is.
termdef        reports the termtype setup in smit for the tty port
               that termdef is run on.
chdev -l (device eg tty1) -a term=vt100     Sets tty to a vt100 terminal type
penable tty0      adds getty line into /etc/inittab for tty0 and starts getty
pdisable tty0     disables the getty line and disables getty
penable / pdisable -a option is for all
stty erase ^?     Set backspace key for vt100 terminals
stty erase ^H     Set backspace key for wyse50 terminals
lscons                                            Displays the console device
chcons -a login=enable (device eg /dev/tty1)      Changes the console device
lsdisp            Display adapter device information
chdisp            Change default display used by LFT subsystem
portmir -t /dev/tty0     Mirror current terminal onto /dev/tty0
portmir -o               Turns off port mirroring
host (ip or hostname)      Resolves a hostname / ip address
hostname                   Displays hostname
hostname (hostname)        Sets the hostname until next reboot
lsdev -Cc if               Lists all available/defined network interfaces
chdev -l (device name) -a hostname=(hostname)    Changes hostname permanently
chdev -l inet0 -a hostname=santosh
ifconfig (device name)              Displays network card settings
ifconfig (device name) up           Turns on network card
chdev -l (device name) -a state=up  Turns on network card
ifconfig (device name) down         Turns off network card
ifconfig (device name) detach       Removes the network card from the
                                    network interface list
ifconfig en0 inet netmask up
ifconfig lo0 alias      Create alias ip address for loopback
route (add/delete) (-net/-host) (destination) (gateway)
Adds or deletes routes to other networks or hosts, does not update
the ODM database and will be lost at reboot.
route add -net
chdev -l inet0 -a "net,-hopcount,1,-netmask,,,"
                                                          (destination) ( gateway )
Adds route and adds entry into ODM, route survives a reboot,
route -rn                             Display route table
odmget -q "attribute=route" CuAt      Displays routes in the ODM.
lsattr -EHl inet0                  Displays routes set in ODM and hostname
odmget -q "name=inet0" CuAt        Displays routes set in ODM and hostname
refresh -s inetd           Refresh inetd after changes to inetd.conf
kill -1 (inetd PID)        Refresh inetd after changes to inted.conf
netstat -i                             Displays interface statistics
entstat -d (ethernet adapter eg en0)   Displays ethernet statistics
arp -a         Displays ip to mac address table from arp cache
no -a          Displays network options use -o to set individual options or
               -d to set individual options to default.
               no -o option=value (this value is reset at reboot)
               no -o "ipforwarding=1"
traceroute (name or ipaddress)        Displays all the hops from source to
                                      destination supplied.
ping -R (hostname or ipaddress)       Same as traceroute except repeats.
spray (hostname or ipaddress)         Send a stream of packets to a host
stopsrc -g tcpip            Stops all running TCP/IP daemons
/etc/tcp.clean              Stops all running TCP/IP daemons and removes all 
                            lock files
/etc/rc.tcpip               Start all TCP/IP daemons. 
                            Do not use startsrc -g tcpip as this will start             all TCP/IP daemons including routed & gated
exportfs                        Lists all exported filesystems
exportfs -a                     Exports all fs's in /etc/exports file
exportfs -u (filesystem)        Un-exports a filesystem
mknfs                           Configures and starts NFS services
rmnfs                           Stops and un-configures NFS services
mknfsexp -d /directory          Creates an NFS export directory
mknfsmnt                        Creates an NFS mount directory
mount hostname:/filesystem /mount-point    Mount an NFS filesystem
nfso -a                                    Display NFS Options
nfso -o option=value                       Set an NFS Option
nfso -o nfs_use_reserved_port=1
mkszfile -f                 Creates / file 
mkszfile -X                 Creates /fs.size file    
mksysb -i (device of file)  Creates a mksysb image
mksysb does not save any raw data and will not backup a filesystem that
is not mounted.
savevg -if (device or file) (vg)   Creates a savevg image
restvg -q -f (device or file)      Restore from a savevg image
                                   Ensure that the restvg command is run from /
mkvgdata (vg)                      Creates new file
find (filesystem) -print | cpio -ocv > (filename or device)
eg find ./usr/ -print | cpio -ocv > /dev/rmt0
cpio -ict < (filename or device) | more        Lists archive
cpio -icdv < (filename or device)
cpio -icdv < (filename or device) ("files or directories to restore")
eg cpio -icdv < /dev/rmt0 "tcpip/*"             Restore directory and contents
   cpio -icdv < /dev/rmt0 "*resolve.conf"       Restore a named file
tar -cvf (filename or device) ("files or directories to archive")
eg tar -cvf /dev/rmt0 "/usr/*"
tar -tvf (filename or device)                        Lists archive
tar -xvf (filename or device)                        Restore all
tar -xvf (filename or device) ("files or directories to restore")
use -p option for restoring with orginal permissions
eg: tar -xvf /dev/rmt0 "tcpip"                   Restore directory and contents
   tar -xvf /dev/rmt0 "tcpip/resolve.conf"      Restore a named file
find (filesystem) -print | backup -iqvf (filename or device)
Backup by filename.
eg find /usr/ -print | backup -iqvf /dev/rmt0
backup -(backup level 0 to 9) -f (filename or device) ("filesystem")
Backup by inode.
eg backup -0 -f /dev/rmt0 "/usr"        -u option updates /etc/dumpdates file
restore -qTvf (filename or device)                        Lists archive
restore -qvxf (filename or device)                        Restores all
restore -qvxf (filename or device) ("files or directories to restore")
        (use -d for restore directories)
restore -qvxf /dev/rmt0.1 "./etc/passwd"     Restore /etc/passwd file
restore -s4 -qTvf /dev/rmt0.1                Lists contents of a mksysb tape
To run the backup on a local machine (cpio) and backup on the remote 
machine's (remhost) tape drive (/dev/rmt0)
find /data -print | cpio -ocv | dd obs=32k | rsh remhost \ 
"dd ibs=32k obs=64k of=/dev/rmt0"
To restore/read the backup (cpio) on the remote machine
dd ibs=64k if=/dev/rmt0 | cpio -icvt
To restore/read the backup (cpio) on the local machine from the remote
machine's (remhost) tape drive (/dev/rmt0)
rsh remhost "dd ibs=64k obs=32k if=/dev/rmt0" | dd ibs=32k \
| cpio -icvt
To run the backup (cpio) on a remote machine (remhost) and backup to
the local machines tape drive (/dev/rmt0)
rsh remhost "find /data -print | cpio -ocv | dd ibs=32k" \
| dd ibs=32k obs=64k of=/dev/rmt0
tar cBf - .  | rsh remhost "dd ibs=512 obs=512 of=/dev/rmt0"
Same as above but using tar instead of cpio.
                        Copying diskettes and tape
dd if=/dev/fd0 of=(filename) bs=36b
dd if=(filename) of=/dev/fd0 bs=36b conv=sync         or flcopy
dd if=/dev/rmt0 of=(filename)        
dd if=(filename) of=/dev/rmt0        or tcopy
                                VI Commands
:g/xxx/s//yyy/   global change where xxx is to be changed by yyy
sed 's(ctrl v ctrl m)g//g' old.filename > new.filename                
Strips out ^M characters from ascii files that have been transferred as binary.To enter control characters type ctrl v then ctrl ? where ? is whatever ctrl character you need.
lscfg                          lists all installed devices
lscfg -v                       lists all installed devices in detail
lscfg -vl (device name)        lists device details
bootinfo -b                    reports last device the system booted from
bootinfo -k                    reports keyswitch position
                               1=secure, 2=service, 3=normal
bootinfo -r                    reports amount of memory (/ by 1024)
bootinfo -s (disk device)      reports size of disk drive
bootinfo -T                    reports type of machine 
                               ie rspc,rs6ksmp,rspc or chrp
lsattr -El sys0 -a realmem     reports amount of useable memory
mknod (device) c (major no) (minor no)        Creates a /dev/ device file.
mknod /dev/null1 c 2 3
lsdev -C        lists all customised devices ie installed
lsdev -P        lists all pre-defined devices ie supported
lsdev -(C or P) -c (class) -t (type) -s (subtype)
chdev -l (device) -a (attribute)=(new value)      Change a device attribute
chdev -l sys0 -a maxuproc=80
lsattr -EH -l (device) -D         Lists the defaults in the pre-defined db
lsattr -EH -l sys0 -a modelname
rmdev -l (device)           Change device state from available to defined
rmdev -l (device) -d        Delete the device
rmdev -l (device) -SR       S stops device, R unconfigures child devices
lsresource -l (device)  Displays bus resource attributes of a device.
cfgmgr                  Configures devices
cfgmgr -i /dev/cd0      Configure devices and install drivers from /dev/cd0
                        if required
cfgmgr -S               Run in serial, used with a larger number of disks
cfgmgr -l scsi0         Configure devices on adapter scsi0 only
diag                    Run hardware diagnostic menu 
smitty diag             Run hardware diagnostic menu
( 7020-40P and 7248-43P machines cannot run diagnostics, use diagnostics
  in the SMS menus instead )
diag -d (device)        Run diagnostics against a device.
lsslot                  Displays all hot swap slots
lsslot -c pci           Lists all pci hot swap slots
lsslot -c pci -a        Lists all available pci hot swap slots
drslot                               Reconfgiures PCI hot-plug slots
drslot -i -c pci -s U0.1-P1-I3        Display a slot, flashes the LED next to
                                      the slot so that it can be identified.
Power Management (PCI machines)
pmctrl -a            Displays the Power Management state
rmdev -l pmc0        Unconfigure Power Management
mkdev -l pmc0        Configure Power Management
                                TAPE DRIVES
rmt0.x where x = A + B + C
A = density        0 = high      4 = low
B = retension      0 = no        2 = yes
C = rewind         0 = yes       1 = no
tctl -f (tape device) fsf (No)        Skips forward (No) tape markers
tctl -f (tape device) bsf (No)        Skips back (No) tape markers
tctl -f (tape device) rewind          Rewind the tape
tctl -f (tape device) offline         Eject the tape
tctl -f (tape device) status          Show status of tape drive
chdev -l rmt0 -a block_size=512        changes block size to 512 bytes
                                       (4mm = 1024, 8mm = variable but 
                                        1024 recommended)
dd if=/dev/rmt0 bs=128k count=1 | wc -c
Displays the block size of an unknow tape. Set block size to 0 first.
bootinfo -e             answer of 1 = machine can boot from a tape drive
                        answer of 0 = machine CANNOT boot from tape drive
diag -c -d (tape device)        Hardware reset a tape drive.
diag -c -d rmt0
tapechk (No of files)           Checks Number of files on tape.
< /dev/rmt0                     Rewinds the tape !!!
                        PRINTERS / PRINT QUEUES
splp (device)                   Displays/changes printer driver settings 
splp /dev/lp0
export $LPDEST="pqname"         Set default printer queue for login session 
lsvirprt                        Lists/changes virtual printer attributes.
lsallq                          Displays all queues
rmvirprt -q queuename -d queuedevice        Removes a virtual printer
qpri -#(job No) -a(new priority)            Change a queue job priority.
qhld -#(job No)                Put a hold on hold
qhld -r #(job No)              Release a held job
qchk -A                        Status of jobs in queues
lpstat -p(queue)               Status of jobs in a named queue
qcan -x (job No)               Cancel a job from a queue
cancel (job No)                                
enq -U -P(queue)               Enable a queue
enable (queue)                                
enq -D -P(queue)               Disable a queue
disable (queue)                                
qmov -m(new queue) -#(job No)  Move a job to another queue
startsrc -s qdaemon            Start qdaemon sub-system
lssrc -s qdaemon               List status of qdaemon sub-system
stop -s qdaemon                Stop qdaemon sub-system
                                FILE SYSTEMS
Physical Volumes (PV's)
lspv                        Lists all physical volumes (hard disks)
lspv (pv)                   Lists the physical volume details
lspv -l (pv)                Lists the logical volumes on the physical volume
lspv -p (pv)                Lists the physical partition usage for that PV
lspv -M (pv)                Lists the PP allocation table for that PV.
If the PV state is "missing" but the disk is okay, use "varyonvg vg" to change the state of the PV to "active".
chdev -l (pv) -a pv=yes     Makes a new hdisk a pysical volume.
chpv -v r (pv)              Removes a disk from the system.
chpv -v a (pv)              Adds the removed disk back into the system.
chpv -a y (pv)              Changes pv allocatable state to YES
chpv -a n (pv)              Changes pv allocatable state to NO
migratepv (old pv) (new pv)     Moves all LV's from one PV to another PV, both
                                PV's must be in the same volume group.
Migratepv cannot migrate striped logical volumes, use cplv and rmlv.
replacepv (old pv) (new pv)     
Volume Groups (VG's)
lsvg              Lists all volume groups
lsvg (vg)         Lists the volume group details
lsvg -l (vg)      Lists all logical volumes in the volume group
lsvg -p (vg)      Lists all physical volumes in the volume group
lsvg -o           Lists all varied on volume groups
varyonvg (vg)           Vary On a volume group
varyonvg -f (vg)        Forces the varyon process
varyonvg -s (vg)        Vary on a VG in maintenance mode. LV commands can be 
                        used on VG, but LV,s cannot be opened for I/O.
varyoffvg (vg)          Vary Off a volume group
synclvodm (vg)          Tries to resync VGDA, LV control blocks and ODM.
synclvodm -v (vg)       Rebuilds the LVCB.
(the vg needs to be varied on before running synclvodm)
mkvg -y(vg) -s(PP size) (pv)    Create a volume group
mkvg -y datavg -s 4 hdisk1
reducevg (vg) (pv)       Removes a volume group
reducevg -d (vg) (pv)    Removes a volume group and delete all LV's on the PV
reducevg (vg) (PVID)     Removes the PVID disk reference from the VGDA when a
                         disk has vanished without the reducevg (vg) (pv)
                         command being run first.
reducevg -df (vg) (pv)   Deletes all LV's from the VG and removes the VG
                         from the disk. If the last disk in the VG then
                         the VG is deleted.
extendvg (vg) (new pv)   Adds another PV into a VG.
exportvg (vg)            Exports the volume group, removes the VG entries and
                         removes all FS entries from /etc/filesystems but
                         leaves the mount points.
Note : Cannot export a VG if it has active paging space, turn off paging,
       reboot before exporting VG. Exporting removes entries from filesystems
       file but does not remove the mount points.
chvg -a y (vg)                  Auto Vary On a volume group at system start.
chvg -u (vg)                    Unlocks a locked volume group.
lqueryvg -Atp (pv)              Details volume group info for the hard disk.
importvg -y (vg name) (pv)      Import a volume group from a disk.
importvg (pv)                   Same as above but VG will be called vg00 etc.
chvg -Q (y/n) (vg name)         Turns on/off Quorum checking on a VG.
reorgvg (vg) (lv)        Reorganised a fragmented LV, must state an LV at the 
                         command line else the first LV in the VG is picked.
                         Does not reorg the PP's of striped LV's.
Logical Volumes (LV's)
lslv (lv)                   Lists the logical volume details
lslv -l (lv)                Lists the physical volume which the LV is on
lsattr -EHl (lv)            Displays more logical volume details
mklv (vg) (No of PP's) (pv Name optional)       Create a logical volume
mklv -y (lv) (PP's) (pv name optional)          Creates a named logical volume
( use -t jfs2 when creating an LV for a JFS2 filesystem )
chlv -n (new lv) (old lv)                       Rename a logical volume
chlv -x (number) (lv)                           Change max no of PP's
chlv -s n (lv)                                  Turns of strickness on the LV
extendlv (lv) (extra No of PP's)                Increase the size of an LV
rmlv (lv)                                       Remove a logical volume
cplv -v (vg to copy to) -y (new lv) (lv)        Copy an LV to a new LV
If copying a filesystem LV, umount the filesystem before copying, otherwise you will have to fsck the the new LV before the filesystem can be mounted.
If copying a striped LV to an LV that is already created, and the stripe 
size is different ( or not even striped ), then these new parameters are
maintained when the data is copied to the new LV.
cplv -e (new lv) (old lv)                     Copy to an existing LV
( new lv must have type as copy use chlv -t copy (new lv) to change )
mklv/extendlv -a = PP alocation policy
-am = middle   -ac = center   -ae = edge
-aie = inner edge    -aim = inner middle
migratepv -l (lv) (old pv) (new pv)
Move a logical volume between physical volumes. Both physical volumes
must be in the same volume group !
mklv -y (lv) -t jfslog (vg) (No of PP's) (pv Name optional)
Creates a JFSlog logical volume.
logform (/dev/lv)       Initialises an LV for use as an JFSlog
getlvcb -AT (lv)        Displays Logical Volume Control Block information
File Systems (FS's)
lsfs            Lists all filesystems
lsfs -q (fs)    Lists the file system details
lsjfs           Displays data about all filesystems in CSV style format
mount               Lists all the mounted filesystems
mount (fs or lv)    Mounts a named filesystem
mount -a            Mounts all filesystems
mount all 
mount -r -v cdrfs /dev/cd0 /cdrom        mounts cd0 drive over /cdrom
crfs -v jfs -d(lv) -m(mount point) -A yes
Will create a file system on the whole of the logical volume, adds entry into
/etc/filesystems and will create mount point directory if it does not exist. 
( use -v jfs2 for JFS2 filesystems )
crfs -v jfs -g(vg) -m(mount point) -a size=(size of fs) -A yes
Will create a logical volume on the volume group and create the file system on the logical volume. All at the size stated. Will add entry into 
/etc/filesystems and will create the mount point directory if it does not exist.
Use attribute "-a log=/dev/log01" to specify a jfslog devices   
Use attrubute "-a bf=true" for a large file enabled filesystem           
chfs -A yes (fs)                 Change file system to Auto mount in 
chfs -a size=(new fs size)(fs)   Change file system size
chfs -m (new-mount-point) (fs)   Change the file system mount point.
rmfs (fs)            Removes the file system and will also remove the
                     LV if there are no onther file systems on it.
defrag -q (fs)       Reports the fragment status of the file system.
defragfs -r (fs)     Runs in report only defrag mode (no action).
defragfs (fs)        Defragments a file system.
fsck (fs)            Verify a file system, the file system must be unmounted!
fsck (-y or -n) (fs) Pre-answer questions either yes or no !
fsck -p (fs)         Will restore primary superblock from backup copy if the
                     superblock is corrupt.
              ( or dd count=1 bs=4k skip=31 seek=1 if=/dev/lv00 of=/dev/lv00 )
mklv -y (lv) -c(copies 2 or 3) (vg) (No of PP's) (PV Name optional)
Creates a mirrored named logical volume.
mklvcopy -s n (lv) (copies 2 or 3) (pv)
Creates a copy of a logical volume onto another physical volume. The physical
volume MUST be in the same volume group as the orginal logical volume !
rmlvcopy (lv) (copies 1 or 2)             Removes logical volume copies.
rmlvcopy (lv) (copies 1 or 2) (pv)        From this pv only!
syncvg -p (pv)                            Synchronize logical partion copies
syncvg -l (lv)
syncvg -v (vg)
mirrorvg (vg) (pv)                
Mirrors the all the logical volumes in a volume group onto a new physical
volume. New physical volume must already be part of the volume group.
chfs -a splitcopy=/backup -a copy=2 /data1
Splits off a copy of a 3 way mirror and mount read only for use as an
offline backup.
NOTE: Mirroring does not work with the BLV as it is not a true logical volume,bosboot must be run against the other disk after mirroring the rootvg.
bootlist -m (normal or service) -o                       displays bootlist
bootlist -m (normal or service) (list of devices)        change bootlist
bootinfo -b                  Identifies the bootable disk
bootinfo -t                  Specifies type of boot 
bosboot -a -d (/dev/pv)      Creates a complete boot image on a physical volume.
mkboot -c -d (/dev/pv)       Zero's out the boot records on the physical volume.
savebase -d (/dev/pv)        Saves customised ODM info onto the boot device.
lslv -m hd5                  Find out which disk the BLV is on.
bootinfo -y                  Displays which kernel can be used, 32 or 64 bit
genkex                       Reports all loaded kernel extensions.
lsdev -Cc processor          Lists all processors
lsattr -EHl proc0            Displays attributes of processor 0. AIX 5.1L will
                             display processor clock frequency.
                                SYSTEM DUMP
NOTE: Primary dump device must be in the rootvg
 Secondary dump device can be outside rootvg unless it is a paging device.
sysdumpdev -l        Lists current dump destination.
sysdumpdev -e        Estimates dumpsize of the current system in bytes.
sysdumpdev -L        Displays information about the previous dump.
sysdumpstart -p      Starts a dump and writes to the primary dump device.
sysdumpstart -s      Starts a dump and writes to the secondary dump device.
sysdumpdev -p (dump device) -P        Sets the default dump device, permanently
Analyse dump file :-
echo "stat\n status\n t -m" | crash /var/adm/ras/vmcore.0
snap -gfkD -o /dev/rmt0     Copy dump to tape to send to IBM support, uses tar.
                                PAGING SPACE (PS's)
lsps -a                        Lists out all paging space
lsps -s                        Displays total paging and total useage
lsps (ps)                
swappon /dev/ps                Activates a paging device eg /dev/paging00
swappoff /dev/ps               Deactivates a paging device ( AIX 5.x only )
mkps -s(No of PP's) -n -a (vg)
mkps -s(No of PP's) -n -a (vg) (pv)
-n = don't activate/swapon now                -a = activate/swapon at reboot
mklv -b n -t paging -y hd6 (vg) (No of PP's) (pv)
Creates paging space using the mklv command.
chps -a n (ps)                  Turns off paging space.
chps -s(No of PP's) (ps)        Increases paging space.
chps -d(No of PP's) (ps)        Decreases paging space ( AIX 5.x only )
chlv -n (new name) (old name)        Change paging space name
rmps (ps)               Remove paging space. PS must have been turned off 
                        and then the system rebooted before it can be removed.
Note : Need to change the swapon entry in /sbin/rc.boot script if you are
       changing the default paging space from /dev/hd6. You also need to
       do a "bosboot -a -d /dev/hdiskx" before the reboot.
/etc/swapspaces               File that lists all paging space devices that are
                              activated/swapon during reboot.
crontab -l                        List out crontab entrys
crontab -e                        Edit crontab entrys
crontab -l > (filename)           Output crontab entrys to a file
crontab (filename)                Enter a crontab from a file
crontab -r                        Removes all crontab entrys
crontab -v                        Displays crontab submission time.
/var/adm/cron/cron.allow        File containing users allowed crontab use.
/var/adm/cron/cron.deny         File containing users denied crontab use.
/var/adm/cron/crontab           Directory containing users crontab entries.
/var/adm/cron/log               Cron log file.
at (now + 2 minutes, 13:05, etc) {return}        Schedule a job using at
Command or schell script {return}
echo "shutdown -Fr" | at now + 1 minute
at -l                                
atq                      Lists out jobs scheduled to run via at command
at -r (at job No)
atrm  (at job No)        Removes an at job scheduled to run.
/var/adm/cron/at.allow   File containing users allowed at use.
/var/adm/cron/at.deny    File containing users denied at use.
/var/adm/cron/atjobs     Directory containing users at entries.
nulladm /var/adm/wtmp      To recreate/clear down the wtmp file.
groups           Lists out the groups that the user is a member of
setgroups        Shows user and process groups
chmod abcd (filename)        Changes files/directory permissions
Where a is  (4 SUID) + (2 SGID)  + (1 SVTX)
      b is  (4 read) + (2 write) + (1 execute)  permissions for owner
      c is  (4 read) + (2 write) + (1 execute)  permissions for group
      d is  (4 read) + (2 write) + (1 execute)  permissions for others
-rwxrwxrwx   -rwxrwxrwx   -rwxrwxrwx
  |||             |||             |||
   -               -               -
   |               |               |
Owner           Group           Others
-rwSrwxrwx = SUID   -rwxrwSrwx = SGID   drwxrwxrwt = SVTX
chown (new owner) (filename)        Changes file/directory owners
chgrp (new group) (filename)        Changes file/directory groups
chown (new owner).(new group) (filename)        Do both !!!
umask                            Displays umask settings
umask abc                        Changes users umask settings
where ( 7 - a = new file read permissions)
      ( 7 - b = new file write permissions) 
      ( 7 - c = new file execute permissions)
eg umask 022 = new file permissions of 755 = read write and execute for owner   
                                             read ----- and execute for group
                                             read ----- and execute for other
mrgpwd > file.txt      Creates a standard password file in file.txt
passwd                 Change current user password
pwdadm (username)      Change a users password
pwdck -t ALL           Verifies the correctness of local authentication
lsgroup ALL                      Lists all groups on the system
mkgroup (new group)              Creates a group
chgroup (attribute) (group)      Change a group attribute
rmgroup (group)                  Removes a group
                           USERS / ENVIRONMENT
passwd -f                        Change current users gecos (user description)
passwd -s                        Change current users shell
chfn (username)                  Changes users gecos
chsh (username) (shell)          Changes users shell
env              Displays values of environment variables
id               Displays current user's uid and gid details
id (user)        Displays user uid and gid details
whoami           Displays current user details
who am i         (or who -m)        
who              Displays details of all users currently logged in.
who -b           Displays system reboot time
uptime           Displays number of users logged in, time since last
                 reboot, and the machine load averages.
lsuser ALL                              Lists all users details
lsuser (username)                       Lists details for user
lsuser -a(attribute) (username or ALL)  Lists user attributes
lsuser -a home ALL 
mkuser -a(attributes) (newuser)         Add a new user
chuser (attributes) (user)              Change a user
chuser login=false (user)               Lock a user account
rmuser -p (user)              Removes a user and all entries in security files
usrck -t ALL                  Checks all the user entires are okay.
fuser -u (logical volume)     Displays processes using the files in that LV
fuser -k /dev/lv02            Will send a kill signal to all processes using
lsattr -D -l sys0 -a maxuproc        Displays max number of processes per user
chdev -l sys0 -a maxuproc=(number)   Changes max number of processes per user
chlang (language)             Changes the language settings for system or user.
         En_GB   = PC850 code pages
         en_GB   = ISO8859 code pages (Great Britain)
           C     = posix
su - (user)      Switch to new user and change to the new users environment.
su (user)        Switch to new user, current environment is propated to the
                 new shell.
                             REMOTE USERS
ruser -a -f (user)       Adds entry into /etc/ftpusers file
ruser -a -p (host)       Adds entry into /etc/host.lpd file
ruser -a -r (host)       Adds entry into /etc/hosts.equiv file
ruser -d -f (user)       Deletes entry in /etc/ftpusers file
ruser -d -p (host)       Deletes entry in /etc/host.lpd file
ruser -d -r (host)       Deletes entry in /etc/hosts.equiv file
ruser -s -F              Shows all entries in /etc/ftpusers file
ruser -s -P              Shows all entries in /etc/host.lpd file
ruser -s -R              Shows all entries in /etc/hosts.equiv file
ruser -X -F              Deletes all entries in /etc/ftpusers file
ruser -X -P              Deletes all entries in /etc/host.lpd file
ruser -X -R              Deletes all entries in /etc/hosts.equiv file
telinit S                Switches to single user mode.
telinit 2                Switches to multi user mode.
telinit q                Re-examines /etc/inittab
lsitab -a                Lists all entries in inittab
lsitab (ident eg tty1)   Lists the tty1 entry in inittab 
mkitab ("details")       Creates a new inittab entry
chitab ("details")       Ammends an existing inittab entry
rmitab (ident eg tty1)   Removes an inittab entry.
chitab "tty1:2:respawn:/usr/bin/getty /dev/tty1"
odmget -q "name=lp1" CuDv |more     Gets lp1 info from pre-defined database.
odmget -q "name-lp1" CuAt |more     Gets lp1 info from customised database.
odmdelete -o CuAt -q "name=lp1"     Deletes lp1 info from customised db.
odmget -q "name=lp1" CuAt > lp1.CuAt     Export ODM info to text file.
odmadd lp1.CuAt                          Import ODM info from text file.
odmshow CuAt         Displays fields and record structures of CuAt
                        ERROR LOGGING / LOGS
/usr/lib/errdemon -l         Displays errorlog attributes.
/usr/lib/errdemon            Starts error logging.
/usr/lib/errstop             Stops error logging.
errpt                        Displays summary errorlog report.
errpt -a                     Displays detailed errorlog report.
errpt -j (identifier)        Displays singe errorlog report.
Note : errorlog classes are H=Hardware S=Software O=Information V=Undetermined
errclear (days)              Deletes all error classes in the errorlog.
errclear -d (class) (days)   Deletes all error class entries in errlog.
Note : The errclear command will delete all entries older than the numbers of
       days specified in the days paramenter. To delete ALL entries used 0.
errlogger "message up to 230 chrs"  
Enters an operator notifaction message into the errorlog.
alog -L                      Lists all logs define in the alog db
alog -o -t (type)            Display contents of log (type)
alog -o -t boot
cat /tmp/boot.log | alot -q -t (type)    Copies contects of a file to a log
vmstat (drive) (interval) (count)         Reports virtual memory statistics.
vmstat hdisk0 5 20
vmstat -s              Diplays number of paging events since system start.
vmstat -f              Diplays number of forks since system start.
vmstat -i              Diplays number of interupts by device since system start.
iostat (drive) (interval) (count)         Reports i/o and cpu statistics.
iostat hdisk0 5 20
iostat -d (drive) (interval) (count)      Limits report to drive statistics.
iostat -t (interval) (count)              Limits report to tty statistics.
sar -u -P ALL 10 10         Displays %usr %sys %wio %idle for all processors
/usr/samples/kernel/vmtune  Displays "Virtual Memory Manager" settings
                                      DOS DISKETTES
dosdir                    Reads directory listing of a diskette
dosdir (directory)        Reads directory listing of a named directory
dosread -D/dev/fd0 C41.TXT c41.txt        Gets C41.TXT from diskette drive fd0
dosread -D/dev/fd0 DIRECTORY/C41.TXT c41.txt  
(-D option can be dropped if using fd0)
doswrite -D/dev/fd0 (unixfile) (dosfile)        Writes a file to diskette
dosdel (dosfile)                                Deletes a dos file on diskette
dosformat                                       Formats the diskette
sendmail -bi       Creates new aliase db from /etc/aliase file.
sendmail -bp       Displays the contents of the mail queue
sendmail -q        Processe the sendmail queue NOW
sendmail -bt -d0.4 < /dev/null
Prints out sendmail version, compile defines and system information
refresh -s sendmail      Restart sendmail, will re-read /etc/
kill -l (sendmail PID)
stopsrc -s sendmail                 Stops the sendmail daemon
startsrc -s sendmail "-bd -q30m"     Starts the sendmail daemon

Twitter Bird Gadget