Operating Systems
Linux UNIX
IBM AIX UNIX
IBM OS2
  MicroSoft WindowsNT
GU Interfaces
XWindows System
MicroSoft Windows95
MicroSoft Windows98
File Systems and Services
AFS (Andrew File System)
IBM DCE/DFS
SAMBA
Information
Howtos/Faqs/Infos/Tips
What is ...
Services
Google Search!
What is that Site Running?
 Want to get Linux?
AIX Frequently Asked Questions
The AIX operating system - what is it?

This is best answered by reading the text files in /usr/lpp/bos. The README file there contains general information and the bsd file contain useful information if you know BSD and/or System V. 

The last release for the RT PC is 2.2.1. The latest release for PS/2s and Intel architecture machines is AIX 1.3; for PS/2s only, 1.2.1. For the RS/6000, there are three major levels, 3.2, 4.1, 4.2, and various intermediate levels. IBM has dropped support for 3.1. 

For those who don't have a copy of /usr/lpp/bos/README or bsd, I'll sumarize: IBM tried to follow IEEE, POSIX 1003.1, ANSI C, FIPS and then X/Open Issue 3. Beyond that, AIX is a combination of System V and BSD. 

I know neither Unix nor AIX - where do I find more information?
 

If you are new to Unix, you should look at the other newsgroups in the comp.unix hierarchy, in particular comp.unix.questions. There are FAQs more most of these groups as well. 

If you need information about C programming, try comp.lang.c or comp.std.c, the latter for Standard ANSI C issues. comp.lang.c has a FAQ posting.
 

What is the Object Database?
From: Uwe Geuder <[email protected]

AIX stores most of the system management information in /etc/objrepos, /usr/lib/objrepos, and /usr/share/lib/objrepos. Files (also referred to as system object classes) in these directories are adminstered by the Object Database Manager, ODM, which is a set of library routines and
programs providing basic object oriented database facilities. 

Under most circumstances, only SMIT or the commands SMIT call (see 1.100) should be used to change the contents of the system object classes. A harmless way to look at the object database is to use odmget <Class> where <Class> is one of the files in /etc/objrepos. 

Experienced users can use the ODM editor, odme, to navigate the database in detail. Modifying the database should only be attempted if you know exactly what you are doing. 

How do I get rid of the verbose error messages?
From: Bjorn P. Brox <[email protected]

Many of the messages from the Unix commands are available in different languages. This is controlled by the LANG environment variable, the default being En_US meaning English in the US. All the default messages have a message number associated with them, e.g.: 

$ cat no-such-file
cat: 0652-050 Cannot open no-such-file. 

If you prefer the terser Unix-looking error message, set your environment variable LC_MESSAGES to C, and you will get: 

$ cat no-such-file
cat: Cannot open no-such-file. 

By default LC_MESSAGES is the same as your environment LANG. Setting LANG does also work, but should be avoided since it changes app-defaults lookup etc. See locale(): LC_ALL
 
 

Which release of AIX or other products do I have?

New with 3.2.5: The oslevel command shows OS and component levels. Run oslevel -help to see options. The command 'lslpp -h bos.obj' will show all lines referring to the BOS, Basic Operating System. E.g.: 

Fix Id Release
Status Action Date
Time User Name 

Path: /usr/lib/objrepos
bos.obj
10003.02.0000.0000 COMPLETE
COMMIT 12/31/69 18:00:00 root
U401864 03.02.0000.0000 COMPLETE COMMIT
11/12/92 20:09:35 root
U401968 03.02.0000.0000 COMPLETE COMMIT
11/12/92 23:18:21 root
U401969 03.02.0000.0000 COMPLETE COMMIT
11/12/92 23:18:20 root
..........................
U418349 03.02.0000.0000 COMPLETE COMMIT
08/28/93 15:34:13 root
U419950 03.02.0000.0000 COMPLETE COMMIT
08/28/93 15:34:11 root 

For AIX 3.2, you may come across discussions on 3.2.0, 3.2.1, 3.2.2, 3.2.3 extended, 3.2.4 and 3.2.5. There is no absolute way to tell which of these you are running since the newer releases are simply 3.2.0 with some sets of PTFs added. See above example listing. These selective
fixes could mean there are literally thousands of slightly different variations of 3.2 in use. Please see section 6 to request some useful faxes to help with this number game. 

AIX 3.2.4 and later attempts to resolve this confusion. The OS is broken down into subsystems so that updates can be applied to an entire subsystem. lslpp also sports a new option; use 'lslpp -m bos.obj' to show what level and update the system is running. You can also use the new oslevel command. Unless you have a pressing need (such as applications unsupported on > 3.2.3), it is recommended that you update to this level. Also see 1.128.
 
 

What hardware do I have? What is availible?
WITS?
From: [email protected] (C.DEIGNAN) 

The wits script is unfortunately no longer maintained. I just don't have the time, and I'm not sure it is a realistic proposition anymore. There are so many different models that have the same model-ID that it's impossible to be "definitive." 

[Editor's note: I've deleted the source to the wits program from the FAQ,but it is listed as being part of the aix.tools.1.3.0.0.exe archive at Bull's freeware download site http://www-frec.bull.com. Press the "Download" button once the top page loads, then look for "The Large AIX Freeware and Shareware Archive" link.
 
 

Is IBM "dropping" AIX?

No. IBM sells and supports AIX 4. However, on January 31, 1997 IBM will "withraw AIX 3.2.5 from marketing." That is, you won't be able to purchase AIX 3.2.5 anymore. On December 31, 1997, IBM will "discontinue Program Services" for AIX 3.2.5. Translation: they will no longer respond to (most) defect reports for AIX 3.2.5. 

The US announcement letter can be read via http://www1.ibmlink.ibm.com. Pick the US as region, look for "Announcement Letters," then search for document number 996-245.
 
 

I am used to Unix systems programming, why should I learn SMIT?

Using SMIT is probably very different from your normal way of doing system administration, but could prove very useful in the long run. In some areas, in particular TCP/IP, NFS, etc., you can also do things the normal way, but it is unfortunately difficult to know exactly when the
normal way works. Again, always using SMIT is probably your best way to go, even when you have to learn a new tool. 

What SMIT actually does is build up commands with all required options to perform the functions requested and execute them. The commands called and the output they produce are stored in the files smit.script and smit.log in your home directory. Looking in smit.script may teach you more about system administration.
 
 

How do I turn off the "running man" in smit?

Use smitty, the standard curses version or add this line to your .kshrc file: alias smit="smit -C"
 
 

How do I import an /etc/passwd or /etc/group file from another box?

If the other box is non-AIX, copy the password and group entries for the non-system users into AIX's /etc/passwd and /etc/group files. Then run /bin/pwdck -t ALL. This will create the proper entries in the shadow password file (/etc/security/users). You should also run usrck and grpck. 

To duplicate the password and group entries from another AIX box, copy /etc/passwd, /etc/group, /etc/security/passwd, /etc/security/group, /etc/security/user, /etc/security/limits, /etc/security/environ. The last three are optional unless you modified them. If you modified
/etc/security/login.cfg, you should also copy that file.
 

Cleaning up utmp, who, and accounting problems 

The best way to fix this problem is to fix the programs which are causing the behavior in the first place. The short answer is to call software support and ask for the "UTMPFIX" collection of PTFs. 

Virtually all of these problems should be fixed in the 3251 PMP and the only one I've been able to prove is still broken is using ALT-F4 to close an aixterm. 

This applies if you are running an X11R5 xterm on 3.2. Add this to the top of X11R5 mit/clients/xterm/main.c: 

#ifdef AIXV3
#define USE_SYSV_UTMP
#define HAS_UTMP_UT_HOST
#define WTMP_FILENAME "/var/adm/wtmp"
#endif 

And your utmp problems should go away. If you want xterminal sessions to go into the wtmp file you need to define -DWTMP in the Imakefile and be sure the WTMP_FILENAME is set to the right place. 

Section 8.02 contains a small C program that you can use until the PTFs arrive. The program must be run as root and will periodically clean up old entries. 

Another utmp program was posted to comp.sources.unix, volume 25, issue 96 by David W. Sanderson ([email protected]) that also works on AIX 3.1.
 
 

How to fsck the root filesystem 

You can run fsck either in maintenance mode or on mounted filesystems. Try this: 

 1. boot from diskette (AIX 3 only --- AIX 4 boot from CD or tape)
 2. select maintenance mode
 3. type /etc/continue hdisk0 exit (replace hdisk0 with boot disk if  not hdisk0)
 4. fsck /dev/hd4
 
 

How can I unmount /usr to run fsck on it?
From: [email protected] (Matt Accapadi) 

[ This is for 3.2. ] 

In order to fsck /usr, it has to be unmounted. But /usr cannot be unmounted because /bin is symbolically linked to /usr/bin. Also /etc/fsck is symbolically linked to /usr/sbin/fsck. 

To work around this, when you boot from the boot/maintenance diskettes and enter maintenance mode, enter "getrootfs hdisk0 sh" instead of "getrootfs hdisk0" where hdisk0 is the name of the boot disk. Then run "fsck /dev/hd2".
 
 

How do I see/change parameters like number of processes per user?

You can use SMIT as described below or simply use lsattr/chdev. The former will list the current setting as in: 

 # lsattr -E -l sys0 -a maxuproc
 maxuproc 40 Maximum # of processes allowed per user True and you can then increase the maxuproc parameter: 

 # chdev -l sys0 -a maxuproc=200
 sys0 changed 

If you just type 'lsattr -E -l sys0' you will get a list of all parameters, some of which can be changed but not others. 

If you want to use smit, do as follows: 

smit
 System Environments and Processes Change / Show Operating System Parameters
 - on this screen you can change by overtyping
the following fields:
 - Maximum number of PROCESSES
allowed per user
 - Maximum number of pages
in block I/O BUFFER CACHE
 - Maximum Kbytes of real
memory allowed for MBUFS
 - toggle fields exist for:
 - Automatically REBOOT system
after a crash (false/true)
 - Continuously maintain
DISK I/O history (true/false) 

Info 1.30 erroneously suggests that in AIX 3.2.5 you can set different limits for different users.
 

How do I shrink the default paging space on hd6?
X-With-Changes-From: Ray Reynolds <[email protected]

1) create a paging space to use temporarily
 mkps -s 20 -a rootvg 

2) change default paging space hd6 so it is not used at next reboot
 chps -a n hd6 

3) For AIX 3.1, edit /etc/rc.boot4 and change swapon /dev/hd6;
 for AIX 3.2 and 4.x, edit /sbin/rc.boot and change swapon /dev/hd6
 swapon /dev/paging00 

3a)Since the default system dump device is /dev/hd6 in 4.1.x, it has to be changed to the temporary swap device before you remove the old swap device. 

 sysdumpdev -p /dev/paging00 

4) Update information in boot logical volume bosboot -a
(3.1) bosboot -a -d hdisk0 (3.2 & 4) 

5) shutdown and reboot 

6) remove current hd6 and create a new one of smaller size rmps hd6
 mklv -y hd6 -t paging rootvg size of PS in 4 Meg blocks 

7) Re-edit /etc/rc.boot4 (3.1), /sbin/rc.boot (3.2) to swap to /dev/hd6 swapon /dev/hd6 

7a)On AIX 4, change the dump device back to hd6: 

 sysdumpdev -p /dev/hd6 

8) Update information in boot logical volume bosboot -a
(3.1) bosboot -a -d hdisk0 (3.2 & 4.1) 

9) change current paging device (paging00) so it is inactive at next boot
 chps -a n /dev/paging00 

10) shutdown, reboot, remove paging00 using the command:  rmps paging00 

You can check your paging space with `lsps -a`
 
 

The swapper seems to use enormous amounts of paging space, why?

When you run ps, you may see a line like: 

USER PID %CPU %MEM SZ RSS
TT STAT TIME CMD
root 0 0.0% 14% 386528 8688
- S 17:06 swapper 

This is normal behavior, the swapper looks to ps like it has the entire paging space plus real memory allocated.
 
 

How much paging space do I need?

See answer 2 in question.
 
 

How do I mount a floppy disk as a filesystem?
From: [email protected] (Olaf Pors) 

You can build a filesystem on a floppy and mount it, however the filesystem will be read only. The reason that the filesystem will be read only is because AIX Version 3.1.5 cannot create a journal log on a diskette. The intended use is for temporary access to read only data. The diskette file system must be unmounted after use and during system backup procedures or errors could occur. 

To make the read only filesystem on a floppy: 

1. Make a subdirectory on an existing filesystem and place all of the files that the diskette will contain into this subdirectory. 

2. Enter the following command to create a prototype file containing information about the new filesystem, in the example /dir_struct is the pathname of the subdirectory created in step 1,
and proto_filename is the name of the prototype file to be created. 

 proto /dir_struct > proto_filename 

3. Place a formatted floppy into the drive. 

4. Edit the prototype file and replace the first line with the following: 

 noboot 0 0 

5. Enter the following command to make the filesystem on your floppy: 

 mkfs -p proto_filename -V jfs /dev/fd0 

6. Create the directory upon which you will mount the floppy based filesystem, or you can use /mnt. Mount the filesystem: 

 mount -r -V jfs /dev/fd0 /your_mount_point 

7. To unmount the filesystem: 

 umount /dev/fd0 

Since the filesystem is read-only it may be of limited use but if you are going to use it for utility programs and other data that does not change much, it may still be useful. If you need to change the data, you can copy the directory from the floppy into another directory, make
your modifications, and remake the filesystem using this procedure.
 
 

How do I remove a committed lpp?

AIX 3.2.5: you can get rid of COMMITTED lpps/ptfs by installing with the force option and then rejecting the package. 

AIX 4.1 users: installp has a new option, uninstall (-u) which can be used to remove lpps.
 
 

How can I recover space after installing updates?
From: Milt Cloud <[email protected]

Note: If you are a /usr server, do not use this because the files mentioned below are needed by /usr clients and cannot be deleted. 

Installp creates numerous files in /usr to clean up after failed/rejected installs and also for de-installing uncommitted lpps. Once you have COMMITted packages you can remove these files safely. Depending on your installation activity the numbers can be significant: hundreds-to-thousands of files, megabytes of data. 

Files eligible for removal are associated with each "product" you have installed; the largest collection being due to bos. After COMMITting bos lpps, you may safely remove all files of the form:
 

/usr/lpp/bos/deinstl* 

/usr/lpp/bos/inst_U4* 

/usr/lpp/bosadt/deinstl* and /usr/lpp/bosadt/inst_U4* 

You may repeat this for all additional COMMITted products (e.g., bostext1, bosnet, xlc) you have on your system. 

This problem of lingering install files is a known defect in installp. If you have installed PTF U411711 (or any superseder of it: U412397, U413366, U413425) the deadwood in /usr will not be quite as prevalent. No single PTF currently available completely corrects this problem. 

On my own 320, the following freed up 12.4M in /usr: # rm -R /usr/lpp/bos/deinstl*
 # rm -R /usr/lpp/bos/inst_U4*
 
 

Where are the AIX log files kept?
From: [email protected] (Dirk Coldewey) 

AIX logs messages as specified in /etc/syslog.conf. Here's an example
# *.err;kern.debug;auth.notice;user.none /dev/console
*.err;kern.debug;daemon,auth.notice;mail.crit;user.none /var/adm/messages lpr.debug
/var/adm/lpd-errs 

*.alert;kern.err;daemon.err;user.none operator
*.alert;user.none root
*.emerg;user.none

# for loghost mach ines, to have authentication messages (su, login, etc.)
# logged to a file, un-comment out the following line and adjust the file name as appropriate.
#
# if a non-loghost machine chooses to have such messages sent to the loghost machine, un-comment # out the following line.
#
auth.notice /var/log/authlog
mail.debug /var/log/syslog 

# following line for compatibility with old sendmails. they will send messages with no facility # code, which will be turned into "user" messages
# by the local syslog daemon. only the "loghost" machine needs the following
# line, to cause these old sendmail log messages to be logged in the
# mail syslog file.
#
user.alert /var/log/syslog
#
# non-loghost machines will use the following lines to cause "user"
# log messages to be logged locally.
#
user.err /dev/console
user.err /var/adm/messages
user.alert `root, operator' user.emerg *
 
 

How can I log information about ftp accesses to a file?
From: [email protected] (Ed Ravin)
From: [email protected] (Michael Page) 

1) In /etc/syslog.conf, add the line: daemon.debug /tmp/daemon.log 

2) # touch /tmp/daemon.log
   # refresh -s syslogd 

3) Modify your inetd.conf so that ftpd is called with the "-l" flag. You may also want the "-d" flag. This can be done with 'smit inetdconf'. 

All the syslog messages from various system daemons should now appear in the file /tmp/daemon.log".
 
 

How do I find a file name from the inode number?
From: /G=Bill/S=Mansfield/O=P00S38E/OU1=notes/DD.HPNOTES=Bill_Mansfield/mcd/us#a#[email protected] (Bill Mansfield) 

ncheck -i nnnn /mntpoint
 
 

How do I set up postscript accounting?
From: [email protected] (Vince Taluskie) 

Ephraim Vider originally wrote this program to configure postscript page accounting. It acts as a backend wrapper which logs accounting information in /etc/qconfig and can be ftp'd from utpapa.ph.utexas.edu in /pub/aix/psacct.tar.Z. 

Compile with: 

cc pswrap.c -o pswrap -lqb 

and then make this program suid root: 

chown root pswrap
chmod u+s pswrap 

If this step is not done, the printer will hang. 

Then start up SMIT and go to : 

Spooler
 Manage Local Printer Subsystem
 Local Printer Queue Devices
 Change / Show Characteristics of a Queue
Device
 <Select Queue>
 <Select Device> 

and change "BACKEND PROGRAM pathname" to the full pathname of pswrap since pswrap will now handle the backend interface with the queue. 

A stream of info will be written to a logfile in /tmp (prob lp0.log) but this file is mainly used for status info and raw pagecounts. If the accounting data is going to the qconfig-specified acctfile, then use the 'pac' command to read it. I prefer to have readable ascii data files instead, so I just comment out the '#define WANT_PAC' line and it will only go to the ACCTFILE specfied in pswrap.c. 

[pswrap.c source has been moved to section 8.03]
 
 

How do I create boot diskettes?

In AIX 4.1.x and 4.2 you cannot, the kernel and ram drive don't fit on a diskette. You should get "0301-174 bosboot: Invalid device /dev/fd0 specified!" if you try. 

For AIX 3.2.x you will need to have four formatted diskettes. 

boot disk:
bosboot -d /dev/fd0 -a
display disk:
mkdispdskt
display extension disk: mkextdskt
Install/Maintenance disk: mkinstdskt 

AIX 3.2.5 may require a fifth boot diskette if you have a FDDI adapter in the machine. It is the "communications extension" diskette.
 
 

Where can I find tools for performance monitoring?

Free X based performance watcher: xsysstats - <ftp://ftp.x.org/contrib/> 

For 3.2 a few tools are available in /usr/lpp/bosperf. There are tools to monitor traces, I/O events, CPU, virtual memory, disk block usage, kernel extensions, etc. It even has a simulator, rmss, that allows one to try out different memory size configurations to see how it impacts
performance. See 6.05 for the AIX Performance and Tuning Guide. 

The Monitor program is an AIX/6000 System performance monitor program. Monitor can be used to display system statistics of various short time performance values. Monitor program is available for anonymous ftp from ftp://ftp.funet.fi/pub/unix/AIX/rs6000/monitor-2.1.1.tar.Z -file. 

New to version 2 (released as version 2.1.1)
 * Allow logging of information on interval basis in ascii format. The logfile can be specified    as a strftime string and can be compressed.
 * Synchronize sample/interval time on wall clock (from 00:00).
 * Sample/interval time is now accurate to around 10 milliseconds (depending on system load).
 * User counts for remote and inactive users, and average inactive time.
 * System uptime is printed.
 * Highlighted headers
 * In logmode, filesystem usage is logged
 * support for Symmetric multiprocessing cpuinfo (-smp option or 's' character command).
 * help page in interactive mode 'h' or '?' character commands
 
 

How can I tell what virtual printer a print queue is using?
From: [email protected] (Stuart R. Yoder) 

Use the command 'lsvirprt'. Don't use any parameters and it will run in an interactive mode that will give you a menu of all virtual printers on the system with the queue and device for each one.
 
 

Two srcmstr's are less useful than one?
From: [email protected] (Bernhard Zeller) 

This can happen on systems that have no console, or systems with an async terminal as the console but not attached or turned off. One of the symptoms is a second srcmstr got run. But the second srcmstr is worthless as we can't use the stop/startsrc commands, refresh inetd, qdaemon
won't start, etc. 

To resolve this, type: 

smit chgtty and add the keyword 'clocal' in following lines: 

 STTY attributes for RUN TIME
 STTY attributes for LOGIN
 
 

How do I set the tty name associated with a physical port?
From: [email protected] (Matt Accapadi) 

Let's say you wanted to make a tty on the s1 port and call it rs0000 and a tty on the s2 port and call it rs0001. You could run: 

mkdev -c tty -s rs232 -t tty -l rs0000 -p sa0 -w s1 # creates rs0000 and
mkdev -c tty -s rs232 -t tty -l rs0001 -p sa1 -w s2 # creates rs0001
 
 
 

How do I use mksysb to clone a system?
From: [email protected] (Jo Ann Malina) 

I  use the following steps on the master machine to clone an AIX system:
1) Remove the password from root.
2) Remove the NIS line from the end of the /etc/group file (the last line with the +: )
3) Change most of the level '2' designations in /etc/inittab to level '3' to prevent them from          being started up when the new system is booted (the minimum ones to change are rc.nfs and    rc.tcpip)
4) Boot in service mode and change the name and ip address to a "spare" set to avoid address    collision.
5) Clear /tmp, /usr/tmp and /usr/spool/lpd/stat.
6) Run mkszfile and edit it to be sure /usr is as small as possible; then mksysb from the    command line. 

The above changes allow me to boot in normal mode the first time, get in as root, change the above files back and do the other things necessary to configure the new system. 

Then, of course, I go back and clean up and reboot my master machine. 

Note: 1 and 2 lets you log in even if you can't get on the network. It prevents the login process from trying to reach an NIS server. Step 2 needed only if you use NIS.
 
 
 

How do I retain timestamps with mksysb?
Originally From: [email protected] ( Graeme Moffat) 

As of AIX 3.2.5 bosrest preserves timestamps and permissions as does pax. 

In AIX 3.2.2 /usr/lpp/bosinst/bosnet (for net installs), and bosrest (tape), the 'pax' commands all have '-pmop' options. m = "DON'T retain modification times". So, simply change all the '-pmop' to '-pop' and remake inst/maint diskettes or mksysb tapes.
 

Updating to 3.2.5
From: [email protected] (Frank Kraemer)

(Ed. The following is useful if you have to update a large number of systems, large being > 3.) 

*** WARNING : Modify the scripts if you need dataless, diskless ***  *** or remote /usr support. *** 

1) Receive the PMP3250 tape from your AIX support center the PTF number is U493250.
2) Create a filesystem with 240 MB of space (60 PP's) and mount it as /dev/pmp3250 -    /pub/pmp3250
3) Insert the tape (blocksize is 512) and install PTF U422467
   # installp -BXacgq -d /dev/rmt0 bos.obj 3.2.0.0.U422467
4) Use the following script to load the tape in the new filesystem
   # cd /pub/pmp3250
   # mktape2disk.sh 0 447 read 447 files from rmt0 

[ The mktape2disk.sh script has been moved to section 8.05 ]
 
 

 AIX fix strategy
From: [email protected] (Dennis Lee, PMP Release Manager) 

First, a little history... 

The maintenance strategy for AIX 3.1 was cumulative updates. Every few months, we'd put all available fixes in one large package and ship it. There was no real strategy for providing a single fix. Although we'd occasionally produce an emergency patch, there was no method for
tracking them; if you got a second one, it might overwrite the first. So, after a few of these patches, it's hard to track. 

In AIX 3.2 we introduced a "selective fix" strategy to support individual fixes. The package contained information about other fixes that were required for that fix to work correctly. For example, a Korn shell fix might require a change in libc.a, which might in turn require a fix in the kernel. This strategy allowed us to keep track of which fixes were installed to make sure we didn't overwrite one with another, and make sure they all worked together. But the initial selective fix design still had a few problems. 

 o None of the fixes were cumulative. If you got a fix for Korn shell, you may not receive all of the fixes for Korn shell. This left the possibility of rediscovering other problems that
were already fixed. 

 o Since we chose to fix everything possible that was reported as a problem, instead of deferring them to the next release, the number of available fixes became quite large. 

 o The number of additional fixes required by any given fix could also be quite large. Since the installation program ran once for each fix, the size and complexity of the fix packages
grew, and  installation time lengthens greatly. 

While developing the AIX 3.2.4 upgrade, we undertook a large effort to resolve the selective fix concerns, and dramatically increase the quality of AIX 3.2. The base operating system and most of the optional program products were split into subsystems. A subsystem is a group of
logically related files. The division was made such that changes to a given subsystem were less likely to affect other subsystems. In total there are approximately 500 subsystems, but in practice, files have been modified in only about half of them. The advantages of the new
packaging strategy are: 

 o Each subsystem package is cumulative, containing all of the fixes and enhancements to date for that subsystem. 

 o The cumulative subsystem package is tested as an entity. 

 o The number of fix packages is greatly reduced because the number of subsystems is far fewer than the number of fixes and enhancements. 

 o The number of other fixes required by any given fix is also greatly reduced because a subsystem package has requisites only on other subsystem packages. 

 o The reduced number of fix packages greatly reduced installation time. 

Some customers also told us that they liked the maintenance level strategy that we used in AIX 3.1. They liked being able to install all of the known fixes, and they liked knowing what "level" of AIX they had. To meet these requirements, we produced a Preventive Maintenance Package (PMP). The PMP is simply a collection of the latest cumulative subsystem packages tied together in such a way that it can be installed by selecting a single fix. We also added flags to the lslpp command and added a new command, oslevel, to show which PMP is installed. Now we had both! The good attributes of selective fix along with the good attributes of maintenance levels. 

A few Q&As: 

Q. Why is the fix I just received 130 megabytes!@#? I already have the AIX 3.2.4 update installed!
A. Your fix may be part of the AIX 3.2.5 update. AIX 3.2.5 is another PMP that contains all of the fixes to date, as well as enhancements to support the PowerPC model 250, and the new high-end RS/2 models 590 and 990, as well as support for new disk and tape drives, graphics adapters and more. 

Q. Why can't you just build my fix on 3.2.4?
A. There really isn't such a thing as 3.2.1 or 3.2.2 or even 3.2.4. They're just collections of fixes and enhancements built on a 3.2 base. If the fix for your problem was built prior to 3.2.5, you can get the older version. But if your fix was built for the first time in a 3.2.5
subsystem, that's the only version of the fix that exists. 

Are passwords limited to 8 char?

AIX passwords are only significant to 8 characters. You can set a passwd to more than 8 characters but anything over eight are ignored. No messages or warnings are given. 

Be careful if you're running NIS. You probably want to limit passwords to 8 char on all machines (6000 and others) to be compatible. 

Someone mentioned that DCE supports kerberos which supports passwords greater than 8 characters.
 
 

How do I increase the number of ptys > 64?
From: [email protected] (Mickey Coggins) 

SMIT only allows 64. Try this: 

odmget -q"attribute=num and uniquetype=pty/pty/pty" PdAt | sed "s/0-64/0-512/" |
odmchange -q"attribute=num and uniquetype=pty/pty/pty" -o PdAt 

chdev -l pty0 -anum=256 -P
reboot
 
 

Where can I find patches for CERT advisories?

Patches (APARs in IBMspeak) for CERT advisories (system security problems) can be found at http://service.software.ibm.com. You should have a copy of Fixdist ftp://service.software.ibm.com/aix/tools/fixdist/fd.tar.Z handy to deal with translating APAR and PTF numbers into downloadable files. See question 1.142 for more information about fixdist.
 
 

How do I remove a non-existant physical volume?
Thanks to Johnny Shieh ([email protected]

To delete a phantom disk from the ODM use reducevg with the pvid instead of the disk name. You are running some command such as lsvg or varyonvg and it is griping about a disk that is no longer findable right? In that warning message, it should give you a pvid.
Try one of the following, (note: reducevg updates the VGDA but not the ODM). 

reducevg -f vgname pvid 

ldeletepv -g VGid -p PVid
 -g Required, specify the VGid of the volume group you are removing the physical volume from
 -p Required, specify the PVid of the PV to be removed
 
 

How do I kill a process that ignores 

kill -QUIT -KILL -STOP 

If there is i/o pending in a device driver, and the driver does not catch the signal, you can't kill it - a reboot is the only way to clear it. 

Furthermore, if the process stays hung for more than a few minutes, you can find out what device is wedged by doing this -- % echo trace -k $(expr pid / 256) | crash | tee stack 

If you can't figure out what is wrong, print that trace out and call 1-800-237-5511 and tell them that something is broken. Tell them you want to fax in the nice stack trace that you have as your testcase.
 
 

How can I see "console" messages?
From: [email protected] (David L. Crow) 

Use the swcons command to redirect the console to a file. Or use chcons to do it permanently.
 
 

Where can I find TOP for AIX? 

TOP functionality is included in an AIX package called Monitor.
 

How can I restrict root logins to specific terminals?
From: [email protected] (Julianne F. Haugh) 

Read FAX 2737 availible from the 800-IBM-4FAX number discussed in section 6.02. Refer to APAR IX45701 for fixes related to the rsh style commands.
 
 

How do I merge my /etc/password and 

/etc/security/password for Crack? 

/usr/sbin/mrgpwd. You must have permissions to read /etc/security/password.
 
 

I lost the root password, what should I do?
From: [email protected] (Donald E. Ramm) 

Boot from boot diskettes, bootable tape, or bootable CD. At the Installation/Maint menu select item 4, "Start a limited function maintenance shell. At the subsequent "#" prompt enter the command: getrootfs hdiskN (where "N" is replaced by the number of a disk on your system that is in rootvg.) That will run for about a minute or so and you get a # prompt back. At this point you are logged in as root in single user mode. Change to /etc/security and edit the passwd file. Delete the three lines under root: password, update time (or whatever it's called), and flags. Save the file. Then at the prompt, give root a new password. Shutdown/reboot in normal mode. Log in with new password.
 
 

How can I resolve DEV_WAIT status for a local print queue?
From: [email protected] (Chuah Teik Chye) 

Try "qadm -k && qadm -U"
 
 

SMIT problems forcing/overwriting install?

Installp does not support overwriting and installing prerequisite software at the same time.
 
 

Which distribution tape do I have?
From: [email protected] (Thomas Braunbeck) 

 AIX 3.2.5 (3250-04-09) 

| | |

| | |

| | | Revision level 

| | Enhancement level 

| Preventive Maintenance Package (PMP) level 

AIX Version, Release, Modification level
 
 

How can I get PTF (fixes) via ftp? What is fixdist?

Get a copy of IBM's fixdist package. This X-windows (and curses) program can help you find and transfer PTFs from IBM to your machine. It is availible from ftp://aix.boulder.ibm.com/aix/tools/fixdist and further instructions are displayed after you login. It is worth noting here that the files fixdist retrieves are often quite large and therefore not recommended for those with slow connections. 

Ciaran Deignan [email protected] says that Bull offers AIX PTFs at <http://www-opensup.bull.com. The basic download facility requires that you have the right PTF number. The "Consult" facility allows you to search for PTFs that apply to a given fileset (bos.rte.tty, for example). The "search" facility allows a PTF to be selected on a wide range of criteria. 

Apple has their own fixdist site with all the fixes that has been approved on the Apple Network Servers. Apple usersers should NOT use the fixes available from IBM and their mirrors, but only from: <ftp://fixdist.support.apple.com/> (130.43.6.8).
 
 
 

Is there an easy way to determine if AIX has a PTF applied or not?

lslpp -Bl Uxxxxxxx 

Where Uxxxxxxx is the PTF id.
 
 

How do I recreate a deleted /dev/null?
From: [email protected] (Tom Weaver) 

/bin/mknod /dev/null c 2 2
 
 

What is a checkstop error?
From: [email protected] (Tom Weaver) 

While this may not be the official definition, what it means is that the hardware has detected a condition that it cannot resolve, and which prevents normal operation. So, it stops executing instructions, responding to interrupts, etc. Usually it means that some component of the hardware is broken.
 
 

How do I recover deleted files?

Preferably from a backup. If you don't have a backup, at least one company, Compunix, claims to have a product that will recover deleted files. More information is available at http://www.catalog.com/compunix.
 
 

What questions are on the AIX Certified 

User/SystemAministrator/etc., exam?

If you want more information, look at http://www.rs6000.ibm.com/support/aixcert. 

There's also a self assessment exam available at http://www.rs6000.ibm.com/cgi-bin/TC2/tc2_reg.cgi. The questions are supposedly *derived from the same sources* as the AIX Certification exams. I assume that this means the actual exams cover much of the same information. 

I assume that the actual questions (and especially the answers) are protected by copyright and possibly other laws, so disclosing them without IBM's permission would not be wise or legal.
 
 

How can I run a command or commands at system shutdown?

"Stock" AIX 4.1.x doesn't have any obvious place to add commands to the shutdown sequence. You can 1) modify /etc/shutdown (it's a shell script); 2) add your commands to /etc/netware-clean (shutdown invokes this program if it exists) or 3) install APAR IX65326 ("ADD /ETC/RC.SHUTDOWN TO SHUTDOWN SCRIPT IN AIX4.1.5) which adds a user-defined /etc/rc.shutdown script to the shutdown sequence. AIX 4.2 already has a similar feature.
 
 

How to install LPPs on a shared disk?
From: Ciaran Deignan <[email protected]

I have an LPP that I want to install on all my AIX machines (for example the "perl" freeware), but I want to minimize the disk-space used on the network of machines. Can I selectively mount part of /usr on another machine? 

In general it is not possible to share an LPP with several machines. Sometimes it is possible to use a dedicated filesystem to install freeware which can then be shared. 

However for anything packaged as an LPP it is possible to use a script that replaces  usr/sbin/inurest, and that redirects files delivered by the LPP to the shared disk. 

One script that does this is called Ninstallp, and it is available (with instructions) from
http://www.geocities.com/ResearchTriangle/5428/ninstallp.html
 

How can I reduce the size of /var/adm/wtmp ?

The file /var/adm/wtmp grows with each login, but is never reduced. The contents of wtmp is used (only?) by the command "last", which shows, in reverse order, all the logins and reboots that happened since the start of the wtmp file. 

The file should not be deleted, but the contents can be discarded using the following command:
# > /var/adm/wtmp 

Alternatively the freeware utility "tidysys" can remove all the entries from wtmp that are older than (say) 15 days. Tidysys was written by Terry Murray <[email protected]> for AIX 3.2 and is available from ftp://ftp.frontiernet.net/pub/aix/tsys220.tar. 

Tidysys was ported to AIX 4.1 by C. Deignan and is available from http://www-frec.bull.com.
 
 

Some info about tape backups
From: Craig Anderson 

The following supplements the information on rmt devices in InfoExplorer. It is based on my own personal experience with IBM tape drives running on AIX 3.1. No warranty is expressed or implied. 

CONFIGURING THROUGH SMIT: BLOCK size (0=variable length)(ALL) Sets the tape block size. When reading, the block size must be set to the block size set when the tape was written. When using some commands, tapes written with ANY block size can be read if the block size is set to 0 (variable length) (see "BLOCK SIZES" below). 

Use DEVICE BUFFERS during writes (ALL)
Set to yes, the device will buffer data internally on writes. This greatly improves performance, but under certain cases may be undesirable since the data is not written to tape before  returning a good indication. 

Use EXTENDED file marks (8mm only). Extended file marks take up much more space than short (or non-extended) file marks. But extended file marks can be overwritten, allowing data not at the beginning of tape to be overwritten (see "FILE MARKS" below). 

RETENSION on tape change or reset (1/4" only). If set to "no" then the tape will not be retentioned automatically when the tape is inserted. Note that this will take effect only after the device is used.
 

FILE MARKS: Tape devices support multiple tape files. Tape files are the result of a backup/cpio/tar/dd type command, where the device is opened, written to, and closed. Because tapes allow large  quantities of data to be written on a single tape, several backups (that is, tape files), may be combined on one physical tape. Between each tape file is a "tape file mark"
or simply "file mark". These file marks are used by the device driver to indicate where one tape file ends and another begins.
 

B E 

------- O O -------> 

T T 

__ ____________________________ _______________
physical | \
| | \
|physical
 beginning| \
| tape | \
| end
 of |
\ | file |
\ | of
 tape |
\ | mark |
\ | tape 

|_____\________|_______|__________\_________| 

Note that there is a distinction between the beginning of tape (BOT) side of a file mark and the end of tape (EOT) side of a file  mark. If the head is on the BOT side of a file- mark, "tctl fsf  1" command will move only to the EOT side of the same file mark. 

With the 1/4" tape drive, writing can only take place sequentially, or after blank tape has been detected. You cannot write over data on the tape (except at BOT). If you wish to add data to a tape which has been written and then rewound you should space forward file mark until an error occurs. Only then can you start writing again. 

With an 8mm tape drive, writing can only take place before blank tape, an EXTENDED file mark, or at BOT. Thus if several backups have been made on one tape and you wish to overwrite one of the backups, position the tape to the place you wish to start writing and issue the following commands: 

tctl bsf 1
tctl eof 1 

The first command skips back to the BOT side of the same file mark. The second command rewrites the file mark (writing is allowed before extended file marks). The erase head will erase data ahead of the write head, so that after writing the file mark the head will be positioned before blank tape. Only after this may you start writing over data in the middle of the tape. (All
data beyond where you are currently writing will be lost). Note that you cannot write over short file marks. In order for this to work, the tape must have been written with extended file marks (use smit to change this). 

With the 9-track drive writing can take place anywhere on the tape although overwriting single blocks of data is not supported. 

On the 8mm drive extended filemarks use 2.2 megabytes of tape and can take up to 8.5 seconds to write. Short filemarks use 184K and take up to 1.5 seconds to write. 

BLOCK SIZES: When data is written to tape it is written in blocks. The blocks on a tape are separated by inter-record gaps. It is important to understand the structure of the written tape in order to understand the problems which can occur with changing block sizes. 

In fixed block size mode all blocks on the tape are the same size. They are the size of the block size set in the device configuration. All read()s and write()s to the tape drive must be a multiple of the fixed block size. 

In fixed block mode a read() will return as many blocks as needed to satisfy the read() request. If a file mark is encountered while reading the tape only the data up until the file mark will be returned. 

It is not possible for the tape drive to read a tape whose block size is not the same as the block size in the device configuration. (Unless the device configuration is in variable size blocks.) 

In variable block size (0) mode, the blocks written on the tape are the size of the read() and write() requests to the device driver. In this case, the actual block sizes on the tape can be changed using the options to the backup commands (tar -C, cpio -C, backup -C). 

In variable mode, read() requests greater than size of the block on the tape will return only the data from the next block on the tape. It is this feature that allows tapes written in any block size (fixed or variable) to read with the dd command (the output from the dd command may be piped to restore, tar, or cpio for example.) Note that backup, tar, and cpio cannot read all tapes by using a large block size because they assume there is an error if they get a short read(). 

dd ibs=128k obs=16k if=/dev/rmt0 | ... 

The tape head is always positioned at an inter-record gap, file mark, or blank tape after reading or writing. 

With the 8mm tape drive, using a fixed block size which is not a multiple of 1K is inefficient. The 8mm tape drive always writes internally in 1K blocks. It simulates the effect of variable block sizes, but, for example, using a fixed block size of 512 bytes (or using variable block size and write()ing 512 bytes at a time) wastes one half of the tape capacity and gives only one half the maximum transfer rate. 

To figure out a tape's actual block size try: 

 1). Set the tape to variable block size.
 2). "dd if=<tape> of=/tmp/dummy bs=128k count=1"
 3). "ls -l /tmp/dummy"
 4). The number of bytes in "/tmp/dummy" is the physical block size. 

EXCHANGING DATA WITH NON-UNIX AND OTHER VENDORS MACHINES: Many tape drives support both variable and fixed block sizes. 

Variable block mode writes block sizes the size of the write command issued (tar and backup specify this with the -b option). In fixed mode, block sizes are fixed and all writes must be a multiple of the fixed block size. 

Unix often internally chops larger reads and writes up into manageable pieces (often 65535, 65534, or 65532 bytes) before doing the actual reads and writes. This means reads and writes of 64K bytes are often broken up into a 65535 byte record and a 1 byte record (In fixed mode the write will fail). Block sizes >= 64K (-C128 and greater) should be avoided for this reason. AIX does not break up read and write requests, but be aware of the situation on other machines. 

If the tape is written in an unknown block size then set the device configuration in smit to use variable size blocks, use the "dd" command with a large input block size, and pipe it to the restore command. For example: chdev -l rmt0 -a block_size=0  dd if=/dev/rmt0 ibs=128k obs=16k | tar -tvf- 


The contents of this website are Copyleft 1998 by Baypoint Systems.
Website questions? Email the WebMaster [email protected]
 

@Home Networkgraphica by Gimp