home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / faqs / comp / answers / aix-faq / part2 < prev    next >
Internet Message Format  |  1997-10-09  |  51KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!eecs-usenet-02.mit.edu!news.kei.com!nntprelay.mathworks.com!cam-news-hub1.bbnplanet.com!news.bbnplanet.com!prodigy.com!prodigy.com!not-for-mail
  2. From: Frank Wortner <frank@sp2ctrlt.prodigy.com>
  3. Newsgroups: comp.unix.aix,comp.answers,news.answers
  4. Subject: AIX Frequently Asked Questions (Part 2 of 5)
  5. Followup-To: comp.unix.aix
  6. Date: 08 Oct 1997 16:57:01 -0400
  7. Organization: Prodigy Services Corp
  8. Lines: 1302
  9. Approved: news-answers-request@MIT.EDU
  10. Distribution: world
  11. Expires: 1 Nov 97 01:23:45 GMT
  12. Message-ID: <uc67r8ht2a.fsf@sp2ctrlt.prodigy.com>
  13. Reply-To: frank@prodigy.com
  14. NNTP-Posting-Host: sp2ctrlt.prodigy.com
  15. Summary: This posting contains AIX Frequently Asked Questions
  16.          and their answers.  AIX is IBM's version of Unix.
  17. Keywords: AIX RS/6000 questions answers
  18. X-Newsreader: Gnus v5.4.37/XEmacs 19.15
  19. Xref: senator-bedfellow.mit.edu comp.unix.aix:118423 comp.answers:28439 news.answers:114119
  20.  
  21. Archive-name: aix-faq/part2
  22. Last-modified: Oct 8, 1997
  23. Version: 5.19
  24.  
  25. ------------------------------
  26.  
  27. Subject: 1.201: How do I do remote backup?
  28.  
  29. There seems to be several ways of doing this.  The first approach is a
  30. one-liner to allow tar to reference another machine's device.  The
  31. second is more complete but uses a similar approach.  The latest
  32. addition to this section claims to be able to support mksysb on a
  33. remote machine.  Thanks to all the contibutors.
  34.  
  35.   tar -b1 -cf - . | rsh REMOTEHOST "dd ibs=512 obs=1024 of=/dev/TAPEDEVICE"
  36.  
  37. [Ed.: The usave.sh script has been moved to section 8.06.  I've verified
  38. this script works fine. However, it may be slow for large filesystems
  39. since it creates a temp file of filenames in /tmp.]
  40.  
  41. There are also several commercial solutions.  One is IBM's SYSBACK/6000
  42. product.  See Question 1.209 for more information.
  43.  
  44. Open Microsystems sells a product called DistribuTAPE which supports
  45. mksysb to a remote tape drive under AIX 3.2, 4.1 and 4.2.  DistribuTAPE
  46. supports remote tape drives by placing a pseudo tape driver on the
  47. client system, and a server daemon on the server.  More information at
  48. http://www.openmic.com/
  49.  
  50. ------------------------------
  51.  
  52. Subject: 1.202: How do I backup a multi-disk volume group?
  53. From: pack@acd.ucar.edu (Daniel Packman)
  54.  
  55. [ Ed.: I have not verified this procedure. I would actually recommend
  56.   NOT to have one volume group span multiple disks unless you really
  57.   need such big logical volumes. ]
  58.  
  59.   1. If you have a set of three or more disks in a volume group
  60.      (typically 3 for 5xx machines with three internal drives;
  61.      with only two, the procedures outlined here have to be modified
  62.      to ignore the fact that you don't have a quorum in the volume group)
  63.  
  64.   2. If one drive has failed (usually only one fails at a time :-) )
  65.  
  66. It is possible to go through a service boot (the volume group is called
  67. rootvg and one of the 2 good disks on it is called hdisk0):
  68.  
  69.   importvg -y rootvg hdisk0
  70.   varyonvg -f -n -m1 rootvg
  71.  
  72. These commands will work, but give error messages. If you wish to mount
  73. a user filesystem, say /u on logical volume /dev/lv00, then
  74.  
  75.   mount -f /dev/lv00 /v
  76.  
  77. will work only if jfslog, the journaled file system log device, is not
  78. on the damaged disk. If it is, you must (and can in any case) mount the
  79. filesystem read-only:
  80.  
  81.   mount -f -r /dev/lv00 /v
  82.  
  83. This crucial and rather obvious point baffled several level 3 support
  84. personnel at Austin as well as myself for almost a week. Once the file
  85. system(s) of interest are available, they can be saved to tape for
  86. restoration later. Of course, one can expect only about two thirds of a
  87. filesystem to be recoverable if it spans all 3 physical disks. One
  88. other point to remember is that the standard boot procedure from floppy
  89. includes the restore command but does not include the backup command.
  90.  
  91. *****************************************************************************
  92. * If you do not have other RS6000 machines at your site it is imperative    * 
  93. * that you either build a bootable tape which includes either restore or    * 
  94. * tar or cpio (a bootable floppy set will not have enough space) or at the  *
  95. * very least copy onto a spare floppy backup, cpio, or tar.  The floppy     *
  96. * should be created with backup -ivq so that its contents can be read into  *
  97. * the memory resident system after booting.                                 *
  98. *****************************************************************************
  99.  
  100. All is not lost if tar, cpio or backup are available on an undamaged
  101. disk that can be mounted. Since tar and cpio are in /bin, they may both
  102. very well be unavailable.
  103.  
  104. It is a very good idea for those who have tape devices to build a
  105. bootable tape with their desired extra commands in it. Follow the
  106. instructions from IBM but add your desired commands to the following
  107. three files:
  108.  
  109.     /usr/lpp/bosinst/tape2
  110.     /usr/lpp/bosinst/diskette/boot2
  111.     /usr/lpp/bosinst/diskette/inslist
  112.  
  113. If you have anything other than a minimum memory configuration, you
  114. should be able to add many commands.
  115.  
  116. ------------------------------
  117.  
  118. Subject: 1.203: How do I put multiple backups on a single 8mm tape?
  119. From: kerm@mcnc.org (Cary E. Burnette)
  120.  
  121. There are two possible solutions to this, both of which use /dev/rmt0.1
  122. which is non-rewinding.
  123.  
  124. SOLUTION #1
  125. -----------
  126.  
  127. To put multiple backups on a single tape, use /dev/rmt0.1, which is a
  128. no-rewind device, using either rdump or backup (both by name & inode
  129. work). Using rdump or backup "byinode" both generate the message that
  130. the tape is rewinding but actually do not. This is an example that
  131. works on my system:
  132.  
  133. # rsh remote1 -l root /etc/rdump host:/dev/rmt0.1 -Level -u /u
  134. # rsh remote2 -l root /etc/rdump host:/dev/rmt0.1 -Level -u /u
  135. # tctl -f /dev/rmt0.1 rewind       # rewinds the tape
  136.  
  137. where I am implementing the command from host.
  138. To restore a table of contents of the first I would use 
  139.  
  140. # restore -f /dev/rmt0.1 -s1 -tv
  141.  
  142. where the -s1 flag tells restore to go to the first record on the tape. 
  143. Type the exact command again to get the second record. The -s(Number)
  144. means go to Number record from this spot. It works pretty well.
  145.  
  146.  
  147. SOLUTION #2
  148. -----------
  149. Steve Knodle, Educational Resources Center, Clarkson University
  150.  
  151. I use:
  152. ------------------- Dump.sh --------------------
  153. CONTENTSFILE=`date |dd conv=lcase |sed -e 's/19//' |awk '{print $6 $2 $3}'`
  154. set -x
  155. LEVEL=$1
  156. shift
  157.  
  158. backup -c -b 56 -$LEVEL -uf /dev/rmt0.1 /
  159. backup -c -b 56 -$LEVEL -uf /dev/rmt0.1 /usr
  160. backup -c -b 56 -$LEVEL -uf /dev/rmt0.1 /u
  161. tctl -f /dev/rmt0 rewind
  162.  
  163. touch /usr/local/dumps/Contents.$CONTENTSFILE
  164. echo "Dumping /" >>/usr/local/dumps/Contents.$CONTENTSFILE
  165. restore -t -s 1 -f /dev/rmt0.1 >>/usr/local/dumps/Contents.$CONTENTSFILE
  166. echo "Dumping /usr" >>/usr/local/dumps/Contents.$CONTENTSFILE
  167. restore -t -q -s 1 -f /dev/rmt0.1 >>/usr/local/dumps/Contents.$CONTENTSFILE
  168. echo "Dumping /u" >>/usr/local/dumps/Contents.$CONTENTSFILE
  169. restore -t -q -s 1 -f /dev/rmt0.1 >>/usr/local/dumps/Contents.$CONTENTSFILE
  170. tctl -f /dev/rmt0 rewind
  171.  
  172. I process the table-of-contents first by a little program that does
  173. common prefix encoding, and then compress.
  174.  
  175. This gives a table of contents file I can keep on-line until the tape
  176. is reused.
  177.  
  178.  
  179. Solution #3
  180. -----------
  181.    mount | grep jfs | cut -c27- | cut -d" " -f1 | \
  182.      xargs -i backup -${LEVEL} -u -f /dev/rmt1.1 {} > ${DATE}.backup 2>&1
  183.  
  184. ------------------------------
  185.  
  186. Subject: 1.204: How can I make an exact duplicate of a tape over the network?
  187.  
  188. The challenge here is not to have to create a temporary file (disk space
  189. limitation) and work across heterogeneous networks.
  190.  
  191. This script might work:
  192.  
  193. LOCAL=/dev/tape_dev
  194. REMOTE=/dev/tape_dev
  195. dd if=$LOCAL ibs=64k obs=512 | rsh remote_host dd ibs=512 obs=64k of=$REMOTE
  196.  
  197.  
  198. From: pack@acd.ucar.edu (Daniel Packman)
  199.  
  200. Daniel provides the following perl script to convert from the known
  201. world's function codes to AIX for compatibility.
  202.  
  203. #!/bin/perl
  204. # Wrapper to convert input rmt requests to
  205. # AIX 3.2 ioctl numbers.  We pass on all commands we don't understand
  206. # I0 MTWEOF -> I10  STWEOF write and end-of-file record
  207. # I1 MTFSF  -> I11  STFSF  forward space file
  208. # I2 MTBSF  -> I12  STRSF  reverse space file
  209. # I3 MTFSR  -> I13  STFSR  forward space record
  210. # I4 MTBSR  -> I14  STRSR  reverse space record
  211. # I5 MTREW  -> I6   STREW  rewind
  212. # I6 MTOFFL -> I5   STOFFL rewind and unload tape
  213. # I7 MTNOP  -> I0   (no-op? should ignore following count)
  214. # I8 MTRETEN-> I8   STRETEN retension tape, leave at load point
  215. # I9 MTERASE-> I7   STERASE erase tape, leave at load point
  216. #I10 MTEOM (position to end of media ... no ibm equivalent?)
  217. #I11 MTNBSF  (backward space file to BOF ... no ibm equivalent?)
  218. @iocs = (10,11,12,13,14,6,5,0,8,7);
  219. open(RMT,"|/usr/sbin/rmt") || die "Can't open pipe to rmt\n";
  220. select(RMT);
  221. $| = 1;
  222. while (<STDIN>) {
  223.   s/(^I)(\d$)/I$iocs[$2]/;
  224.   exit 0 if $_ =~ /^[Qq]/;
  225.   print RMT $_ ; }
  226. exit 0;
  227.  
  228. ------------------------------
  229.  
  230. Subject: 1.205: What is tape block size of 0?
  231. From: benson@odi.com (Benson I. Margulies)
  232.  
  233. Tape devices are generally split into two categories: fixed block and
  234. variable block.  1/4" tape is the fixed block, and 8mm is variable.
  235.  
  236. On a fixed block size device, the kernel always sends data to the device
  237. in suitable block size lumps, and varying the size passed to write(2)
  238. (e.g., via the bs option to dd) gives the kernel more data to stream. 
  239. On a variable block size device, the kernel writes to the device
  240. whatever passed to it. On an 8mm, it had better be a multiple of 1024
  241. to get efficient tape usage.
  242.  
  243. AIX has the World's Only Variable Block Size 1/4" tape drive. If you
  244. use SMIT to set the block size to a nonzero value, AIX treats the device
  245. as fixed block size, whether it is or not. By default, 8mm drives are
  246. set to the same size as 1/4", 512 bytes. This is wasteful, but
  247. otherwise mksysb and installp would fail.
  248.  
  249. If you set the block size to 0, the device is treated as variable block
  250. size, and the size passed to write becomes the physical block size. 
  251. Then if you use a sensible block size to dd, all should be wonderful.
  252.  
  253. ------------------------------
  254.  
  255. Subject: 1.206: Resetting a hung tape drive
  256. From: Craig_Anderson@kcbbs.gen.nz (Craig Anderson)
  257.  
  258. A process accesses the tape drive. The process stops, exits, or whatever,
  259. but still hold on to the drive. When this happens, the process cannot be
  260. killed by any signal and the tape drive cannot be used by any other
  261. process until the machine is rebooted.
  262.  
  263. The following should help:
  264.  
  265. RESET:
  266.  
  267. AIX, like most UNIX systems has no reset function for tape drives. You
  268. can however send a Bus Device Reset (a standard SCSI message) to the
  269. tape drive using the following piece of code. If the tape drive does
  270. not respond to the BDR, then a SCSI Bus Reset will be sent (and this
  271. will reset every device on the SCSI Bus). SCSI Bus resets are rather
  272. extreme so you should refrain from using this program unnecessarily. 
  273. But there are times (like after you've inserted a jammed/old/bad tape in
  274. an 8mm drive), when there's no other way to reset the device other than
  275. to shutdown and reboot (obviously you can power down and up an external
  276. drive to reset it - and this would be the better choice).
  277.  
  278. This is actually documented in info, but can be hard to find and
  279. there's no complete program.
  280.  
  281. /* taperst: resets the tape drive by sending a BDR to the drive. */
  282. #include <stdio.h>
  283. #include <fcntl.h>
  284. #include <errno.h>
  285. #include <sys/scsi.h>
  286.  
  287. int main(int argc, char **argv)
  288. {
  289.          /* This can be run only by root */
  290.  
  291.          if (argc != 2) {
  292.              fprintf(stderr, "Usage: %s /dev/rmt#\n", argv[0]);
  293.              return 1;
  294.          }
  295.  
  296.          if (openx(argv[1], O_RDONLY, 0, SC_FORCED_OPEN) < 0) {
  297.              perror(argv[0]);
  298.              return 2;
  299.          }
  300.          return 0;
  301. }
  302.  
  303. ------------------------------
  304.  
  305. Subject: 1.207: How do I read a mksysb tape with tar?
  306. From: Marc Pawliger (marc@sti.com)
  307.  
  308. To recover specific files from a backup made with mksysb, try
  309. $ tctl fsf 3
  310. $ tar xvf/dev/rmt0.1 ./your/file/name
  311.  
  312.  
  313. ------------------------------
  314.  
  315. Subject: 1.208: How do I read a 5Gbyte tape on a 2Gbyte drive?
  316. Posted by: bobmet@clam.com (Robert Metcalf)
  317.  
  318. To read a 5Gbyte tape on a 2Gbyte drive, the
  319. tape needs to have been created with a density setting of 20.
  320.  
  321. The following is from IBM's electronic ASKSUPPORT repository:
  322.   
  323.    R: The 7208 011 5 GB tape drive has various density settings which are
  324.       as follows:
  325.   
  326.      +-------+--------------------------+
  327.      | DENSIT| DESCRIPTION              |
  328.      | SETTIN|                          |
  329.      +-------+--------------------------+
  330.      | 140   | Writes in 5.0GB mode and |
  331.      |       | will enable data com-    |
  332.      |       | pression; also, to do    |
  333.      |       | compression you must use |
  334.      |       | "DATA COMPRESSION = yes" |
  335.      +-------+--------------------------+
  336.      | 21    | Writes in 5.0GB mode and |
  337.      |       | will NOT do data com-    |
  338.      |       | pression                 |
  339.      +-------+--------------------------+
  340.      | 20    | Writes in 2.3GB mode and |
  341.      |       | will NOT do data com-    |
  342.      |       | pression                 |
  343.      +-------+--------------------------+
  344.      | 00    | Factory power-on default |
  345.      |       | for 5.0GB data com-      |
  346.      |       | pression mode            |
  347.      +-------+--------------------------+
  348.   
  349.      The density setting of the 7208 011 must be 20 for it to make a tape
  350.      that is readable by the 7208 001.
  351.  
  352.  
  353. ------------------------------
  354.  
  355. Subject: 1.209: What can Sysback do for me?
  356. From: johnsont@austin.ibm.com (Tony Johnson)
  357.  
  358. Sysback provides the flexibility of restoring onto the same system in
  359. the exact same manner, or onto a completely different system with
  360. differnet disk configuration, platform type, kernel, etc, while
  361. reporting any inconsistencies and allowing you to adjust to fit. For
  362. instance, you will get warnings if a particular volume group cannot be
  363. created because the original disks to not exist, or that mirroring
  364. cannot be accomplished because there is no longer enough disk space
  365. because the disks are smaller. You can then select the disks for each
  366. volume group, reduce or add space to filesystems and LVs, exclude
  367. entire VGs or filesystems, etc.  You can even add and delete mirrors,
  368. stripe or un-stripe logical volumes, etc.
  369.  
  370. In addition, all of the Sysback functions can be performed across the
  371. network, including network boot and network install, and you can
  372. perform striped backups across multipel tape drives, use sequential
  373. tape autoloaders, and perform unattended multi-volume backups with
  374. cron.
  375.  
  376. ON AIX 3.2, mksysb does not retain paging space config, disk LV
  377. placement, mirroring, etc.
  378.  
  379. On AIX 4.1, it does these on an EXACT same configuration, but does not
  380. allow any flexibility, and still does not retain non-rootvg volume
  381. groups (although you can now use additional commands to backupa nd
  382. restore these).  mksysb also does not allow you to clone onto
  383. different platforms (i.e.  rspc -> rs6k -> rs6ksmp).
  384.  
  385.  
  386. ------------------------------
  387.  
  388. Subject: 1.210: How can I get my HP 4mm DAT to work?
  389.  
  390. For HP25470/80A DDS:
  391.    MRS disabled: Set switches 3,6,7,8=0 and 1,2,4,5=1
  392.    MRS enabled:  Set switches 3,6,7=0 and 1,2,4,5,8=1
  393.  
  394. ------------------------------
  395.  
  396. Subject: 1.211: How do I copy DAT tapes?
  397.  
  398. If you have two drives try tcopy(1).  Otherwise the traditional UNIX
  399. approach is ( dd if=/dev/rmt0 bs=1024b | dd of=/dev/rmt1 bs=1024b )
  400. Put that in a while loop using a non-rewinding device to do multiple
  401. files.  To use drives from two different machines either get the GNU
  402. dd (bundled with GNU tar) or use something like.
  403.  
  404.   $ dd if=/dev/rmt0 bs=1024b | rsh hostname dd of=/dev/rmt0 bs=1024b
  405.  
  406.  
  407. ------------------------------
  408.  
  409. Subject: 1.300: Some info about the memory management system
  410. From: Michael Coggins (MCOG@CHVM1.VNET.IBM.COM).
  411.  
  412. 1. Does AIX use more paging space than other unix systems?
  413.  
  414. Under many scenarios, AIX requires more paging space than other unix
  415. systems. The AIX VMM implements a technique called "early allocation of
  416. paging space". When a page is allocated in RAM, and it is not a
  417. "client" (NFS) or a "persistent" (disk file) storage page, then it is
  418. considered a "working" storage page. Working storage pages are commonly
  419. an application's stack, data, and any shared memory segments. So, when
  420. a program's stack or data area is increased, and RAM is accessed, the
  421. VMM will allocate space in RAM and space on the paging device. This
  422. means that even before RAM is exhausted, paging space is used. This
  423. does not happen on many other unix systems, although they do keep track
  424. of total VM used.
  425.  
  426. Example 1: 
  427. Workstation with 64mb RAM is running only one small application that
  428. accesses a few small files. Everything fits into RAM, including all
  429. accessed data. On AIX, some paging space will already be used. On
  430. other unix systems, paging space will be 100% free. Clearly, this is an
  431. example that shows where we use more paging space than the other machines.
  432.  
  433. Example 2:
  434.  
  435. Same machine as above, except we are in an environment where many
  436. applications are running with inadequate RAM. Also, the system is
  437. running applications that are started, run, left idle, and not in
  438. constant use. A session of FRAME running in a window, for example. 
  439. What happens is that eventually (theoretically) all applications will be
  440. paged out at least once. On the AIX system and the other systems the
  441. total paging requirements will be the same (assuming similar malloc
  442. algorithm). The major difference is that the AIX system allocated the
  443. paging space pages before they were actually needed, and the other
  444. systems did not allocate them until they were needed. However, most
  445. other systems have an internal variable that gets incremented as virtual
  446. memory pages are used. AIX does not do this. This can cause the AIX
  447. system to run out of paging space (virtual memory), even though malloc()
  448. continues to return memory. This "feature" allows sparse memory
  449. segments to work, but requires that all normal users of malloc()
  450. (sbrk()) know how much virtual memory will be available (actually
  451. impossible), and to handle a paging space low condition. A big problem. 
  452. There are some pretty obvious pros and cons to both methods of doing
  453. Virtual Memory.
  454.  
  455. 2. How much paging space do I need?
  456.  
  457. Concerning the rule of thumb of having 2 times RAM for paging space:
  458. this is rather simplistic, as are most rules of thumb.  If the machine
  459. is in a "persistent storage environment", meaning that they have a few
  460. small programs, and lots of data, they may not need even as much as 1
  461. times RAM for paging space.  For example, a 1GB database server running
  462. on a 6000 with 256MB of RAM, and only running about 50MB of "working"
  463. storage does not need 512MB of paging space, or even 256MB.  They only
  464. need the amount of paging space that will allow all their working
  465. storage to be paged out to disk.  This is because the 1GB database is
  466. mostly "persistent storage", and will require little or no paging space. 
  467. Excessive paging space may simply mean wasted disk space.  However,
  468. avoid insufficient paging space.  Tip: Don't have more than one paging
  469. space per disk.  Tip: Put lots of RAM in your system - it will use it.
  470.  
  471. 3. Why does vmstat show no free RAM pages?
  472.  
  473. AIX uses RAM as a possibly huge disk buffer.  If you read a file in the
  474. morning, that file is read into RAM, and left there.  If no other
  475. programs need that RAM, that file will be left in RAM until the machine
  476. is halted.  This means that if you need the file again, access will be
  477. quick.  If you need that RAM, the system will simply use the pages the
  478. file were using. The pages were flushed back to disk earlier.  This
  479. means that you can get a huge speedup in disk access if you have enough
  480. RAM.  For example, a 200MB database will just ease into RAM if you have
  481. a 256MB system.
  482.  
  483. 4. Since vmstat shows no free RAM pages, am I out of RAM?
  484.  
  485. Probably not. Since disk files will be "mapped" into RAM, if vmstat
  486. shows lots of RAM pages FREE, then you probably have too much RAM (not
  487. usual on a RISC System/6000)!
  488.  
  489. 5. Shouldn't the "avm" and the "fre" fields from vmstat add up to something?
  490.  
  491. No. The "avm" field tells you how much "Active Virtual Memory" AIX
  492. thinks you are using. This will closely match the amount of paging
  493. space you are using. This number has *ABSOLUTELY* nothing to do with
  494. the amount of RAM you are using, and does *NOT* include your mapped
  495. files (disk files).  The amount of RAM can be determined with
  496. /usr/sbin/bootinfo -r
  497.  
  498. 6. Why does the "fre" field from vmstat sometimes show lots of free
  499.    RAM pages?
  500.  
  501. This will happen after an application that used a lot of RAM via
  502. "working" storage (not NFS storage, and not disk file or "persistent"
  503. storage) exits. When RAM pages that were used by working storage (a
  504. program's stack and data area) are no longer needed, there is no need to
  505. leave them around. AIX completely frees these RAM pages. The time to
  506. access these pages versus a RAM page holding a "sync'd" mapped file is
  507. almost identical. Therefore, there is no need to periodically "flush" RAM.
  508.  
  509. 7. Is the vmstat "fre" field useful?
  510.  
  511. The vmstat "fre" field represents the number of free page frames.  If
  512. the number is consistently small (less than 500 pages), this is normal. 
  513. If the number is consistently large (greater than 4000 pages), then you
  514. have more memory than you need in this machine.
  515.  
  516. ------------------------------
  517.  
  518. Subject: 1.301: How much should I trust the ps memory reports?
  519. From: chukran@austin.VNET.IBM.COM
  520.  
  521. Using "ps vg" gives a per process tally of memory usage for each running
  522. process.  Several fields give memory usage in different units, but these
  523. numbers do not tell the whole story on where all the memory goes.
  524.  
  525. First of all, the man page for ps does not give an accurate description
  526. of the memory related fields.  Here is a better description:
  527.  
  528. RSS - This tells how much RAM resident memory is currently being used
  529. for the text and data segments for a particular process in units of
  530. kilobytes.  (this value will always be a multiple of 4 since memory is
  531. allocated in 4 KB pages).
  532.  
  533. %MEM - This is the fraction of RSS divided by the total size of RAM for
  534. a particular process.  Since RSS is some subset of the total resident
  535. memory usage for a process, the %MEM value will also be lower than actual.
  536.  
  537. TRS - This tells how much RAM resident memory is currently being used
  538. for the text segment for a particular process in units of kilobytes. 
  539. This will always be less than or equal to RSS.
  540.  
  541. SIZE - This tells how much paging space is allocated for this process
  542. for the text and data segments in units of kilobytes.  If the executable
  543. file is on a local filesystem, the page space usage for text is zero. 
  544. If the executable is on an NFS filesystem, the page space usage will be
  545. nonzero.  This number may be greater than RSS, or it may not, depending
  546. on how much of the process is paged in.  The reason RSS can be larger is
  547. that RSS counts text whereas SIZE does not.
  548.  
  549. TSIZ - This field is absolutely bogus because it is not a multiple of 4
  550. and does not correlate to any of the other fields.
  551.  
  552. These fields only report on a process text and data segments.  Segment
  553. size which cannot be interrogated at this time are:
  554.  
  555.        Text portion of shared libraries (segment 13)
  556.  
  557.        Files that are in use. Open files are cached in memory as
  558.        individual segments.  The traditional kernel cache buffer
  559.        scheme is not used in AIX 3.
  560.  
  561.        Shared data segments created with shmat.
  562.  
  563.        Kernel segments such as kernel segment 0, kernel extension
  564.        segments, and virtual memory management segments.
  565.  
  566. Speaking of kernel segments, the %MEM and RSS report for process zero
  567. are totally bogus for AIX 3.1.  The reason why RSS is so big is that the
  568. kernel segment zero is counted twice.  For AIX 3.2, this has been
  569. changed, but the whole story is still not known.  The RSS value for
  570. process 0 will report a very small number of the swapper private data
  571. segment.  It does not report the size of the kernel segment 0, where the
  572. swapper code lives.
  573.  
  574. In summary, ps is not a very good tool to measure system memory usage. 
  575. It can give you some idea where some of the memory goes, but it leaves
  576. too many questions unanswered about the total usage.
  577.  
  578. ------------------------------
  579.  
  580. Subject: 1.302: Which simms do RS6000's use?
  581.  
  582. This answer is under construction... I'm trying to collect details
  583. about compatable simms.
  584.  
  585. RS/6000 220,230 USE 2 pair 70ns PS/2 style simms
  586. RS/6000 250,C10 USE 4 pair 70ns PS/2 style simms
  587.  
  588. ------------------------------
  589.  
  590. Subject: 1.303: What is kproc?
  591.  
  592. kproc (always PID 514 on AIX 3 and PID 516 on AIX 4) is the kernel's
  593. idle process.
  594.  
  595. ------------------------------
  596.  
  597. Subject: 1.304: How do I create a RAM disk in AIX?
  598. From: Jeff Wang <hjiwa@nor.chevron.com>
  599.  
  600. You can't create a RAM disk in AIX.  The closest related functionality
  601. the operating system gives you is the RAM disk buffer. Read 1.300
  602. sub-section 3.
  603.  
  604. ------------------------------
  605.  
  606. Subject: 1.305: How much RAM (real memory) does my machine have?
  607. From: Michael Abel/resnova
  608.     <Michael_Abel/resnova%RESNOVAD@notesgw.compuserve.com>
  609.  
  610. As     root:  bootinfo -r
  611. As any user:  lsattr -E -l sys0 -a realmem
  612.  
  613. lsattr -C -c memory
  614.  
  615. shows all memory adapters.  On MCA systems one may add up the values
  616. displayed for each memory card in order to sum up to the amount of
  617. total memory.  On PCI systems only one item (mem0) is
  618. displayed. Additional information may be displayed with
  619.  
  620. lsattr -E -lmem0
  621.  
  622. These commands were tested on various IBM systems running AIX relases
  623. 3.2.5 and 4.1.4
  624.  
  625. ------------------------------
  626.  
  627. Subject: 1.306: Why do PIDs run non-sequentially?
  628. From: Julianne F. Haugh <jfh@austin.ibm.com>
  629.  
  630. The answer (I was there, consider me an authority ...) is that the
  631. PIDs needed to be somewhat unpredictable.  This is because AIX was
  632. originally designed with a number of C2 and B1 features, and one of those
  633. is the notion of covert channel analysis.  Sequential PIDs are a covert
  634. channel (assuming the system has one PID namespace ...) since the value
  635. of the "next" PID is shared by all currently running processes.  So if I
  636. want to sneak some of my classified data out to your co-operating
  637. non-classified program, I can do it by carefully controlling the value
  638. of the "next" PID.
  639.  
  640. ------------------------------
  641.  
  642. Subject: 1.400: How do I make an informative prompt in the shell?
  643.  
  644. In the Korn Shell (ksh), the PS1 variable is expanded each time it is
  645. printed, so you can use:
  646.  
  647. $ export myhost=`hostname`
  648. $ PS1='$LOGNAME@$myhost $PWD \$ '
  649.  
  650. to get, e.g. 
  651.  
  652. bengsig@ieibm1 /u/bengsig $
  653.  
  654. In the C-shell, use:
  655.  
  656. % set myhost=`hostname`
  657. % alias cd 'chdir \!* > /dev/null; set prompt="$LOGNAME@$myhost $cwd % "'
  658. % cd
  659.  
  660. to get, e.g.
  661.  
  662. bengsig@dkunix9 /u/bengsig/aixfaq %
  663.  
  664. There is no easy solution in the Bourne Shell.  Use the Korn Shell instead.
  665.  
  666. ------------------------------
  667.  
  668. Subject: 1.401: How do I set up ksh for emacs mode command line editing?
  669.  
  670. The ksh has an undocumented way of binding the arrowkeys to the emacs
  671. line editing commands. In your .kshrc, add:
  672.  
  673. alias __A=`echo "\020"`   # up arrow = ^p = back a command
  674. alias __B=`echo "\016"`   # down arrow = ^n = down a command
  675. alias __C=`echo "\006"`   # right arrow = ^f = forward a character
  676. alias __D=`echo "\002"`   # left arrow = ^b = back a character
  677. alias __H=`echo "\001"`   # home = ^a = start of line
  678.  
  679. Type "set -o emacs" or put this line in your .profile.
  680.  
  681. Also, you MUST have PTF U406855 for this to work in AIX 3.2.  The APAR #
  682. for the problem is IX25982, which may have been superseded.
  683.  
  684. ------------------------------
  685.  
  686. Subject: 1.402: Listing files with ls causes a core dump
  687. From: Julianne F. Haugh <jfh@austin.ibm.com>
  688.  
  689. Scenario: a directory that is shared by N users (N >= 200).
  690. Run 'ls -l' in that directory.  It goes for a while, then
  691. Seg fault(coredump)!
  692.  
  693. It only occurs when the usernames are displayed (almost every file is
  694. owned by a different person).  The -g and -n options work fine; only -l
  695. and -o (which shows owner and not group) cause it. 
  696.  
  697. I believe that this problem was corrected by U407548.  If you have that
  698. many users that you are having core dump problems (it took over 200),
  699. you might also want to look into getting the PTF that fixes IX31403. 
  700. That APAR deals with large numbers of accounts and performance problems
  701. associated with looking them up.
  702.  
  703. ------------------------------
  704.  
  705. Subject: 1.403: How do I put my own text into InfoExplorer?
  706.  
  707. With AIX 3.1, you cannot do it.  AIX 3.2 has a product called
  708. InfoCrafter that allows you to do that.
  709.  
  710. ------------------------------
  711.  
  712. Subject: 1.404: InfoExplorer ASCII key bindings 
  713. From: mycroft@hal.gnu.ai.mit.edu (Charles Hannum)
  714.  
  715. If you just press 'Return' when it starts up, with 'Basic Screen
  716. Operations' highlighted, you'll get some help.
  717.  
  718. If you look long enough, you'll find a page named 'Using Keys and Key
  719. Sequences in the InfoExplorer ASCII Interface'.  It describes the key
  720. sequences and actions.  Here are a few to get you started.
  721.  
  722. Keys       Action
  723.  
  724. Ctrl-W     Moves between the Navigation screen and the Reading screen.
  725. If the Navigation screen is displayed, you can press Ctrl-W to display
  726. the Reading screen.  If the Reading screen is displayed, you can press
  727. Ctrl-W to display the Navigation screen.
  728.  
  729. Ctrl-O     Makes the menu bar active or inactive.  If your text cursor is
  730. located in the text area of the screen, you can press Ctrl-O to make the
  731. menu bar active.  If the menu bar is already active, you can press
  732. Ctrl-O to make it inactive, which moves the text cursor to the text area.
  733.  
  734. Tab     Moves to the next menu bar option in the menu bar.  If a pull-down
  735. menu is not displayed and you press the Right Arrow key, the next menu
  736. bar option is displayed in reverse video.
  737.  
  738. ------------------------------
  739.  
  740. Subject: *1.405: How can I add new man pages to the system?
  741. From: horst@faui63.informatik.uni-erlangen.de (Horst Luehrsen)
  742.  
  743. Put the man pages in /usr/man, e.g. /usr/man/man1/tcsh.1 for the tcsh
  744. man page.  Under AIX 3.1.10, /usr/lib/makewhatis can be used to update
  745. the makewhatis-database /usr/man/whatis so apropos and whatis know about
  746. the added manpages.  /usr/lib/makewhatis should be available on all 3.2
  747. versions.
  748.  
  749. For AIX 4.x, you can store the man pages in the /usr/share/man hierarchy.
  750. /usr/lib/makewhatis is still there.
  751.  
  752. ------------------------------
  753.  
  754. Subject: 1.406: Why can't I read man pages?  Where is nroff?
  755.  
  756. Nroff and troff aren't in the base installation.  It is shipped as
  757. part of AIX 3.2.5 but may not be installed.  Use smit to install a
  758. software package called txtfmt.tfs.obj from your 3.2.5 distribution
  759. media.
  760.  
  761. In AIX 4.x, you need bos.txt.tfs.
  762.  
  763. ------------------------------
  764.  
  765. Subject: 1.407: Why is my environment only loaded once?
  766.  
  767. The .profile file is only loaded once (for your login shell) subsequent
  768. shells should be initialized by setting ENV=$HOME/.kshrc (for ksh).
  769.  
  770. Bash users can use $HOME/.bash_profile for the login shell environment
  771. and $HOME/.bashrc.
  772.  
  773. ------------------------------
  774.  
  775. Subject: 1.408: Where is the 'nawk' command on my AIX system?
  776. From: Jeff Wang <hjiwa@nor.chevron.com>
  777.  
  778. The /bin/nawk that exists on many UNIX flavors is a superset of the
  779. 'awk' command, revised by the same original authors to include added
  780. functionality.  All the extra options normally associated with 'nawk'
  781. on other UNIXes have been incorporated into the AIX version of 'awk';
  782. the AIX 'awk' InfoExplorer or man pages include nawk-specific features
  783. such as the "-v" command line option and atan2(), rand(), srand(),
  784. match(), sub(), gsub(), system(), close(), getline functions.
  785.  
  786. If your AIX version is missing /bin/nawk (as are most AIX 3.x
  787. versions), the simplest way to get around this and maintain script
  788. portability between UNIX platforms is to make a /bin/nawk link to
  789. /bin/awk (as root, of course).  If you do not have root privilege or
  790. do not want to create a /bin/nawk link, to make the script work on
  791. different UNIXes, you may have to test `uname` first and set all
  792. 'nawk' references on AIX runs to /bin/awk.  If your script is to only
  793. run on AIX systems, you can just change all references of 'nawk' to
  794. 'awk' and everything should still work okay...but check the AIX awk
  795. script on test data prior to making actual runs.
  796.  
  797. [Editor's note: AIX 4.x already contains a link from /usr/bin/nawk
  798. to /usr/bin/awk.]
  799.  
  800. ------------------------------
  801.  
  802. 1.409: How do I copy InfoExplorer (manpages and more) to my hard drive?
  803. From: David Alexander <unilink@online.rednet.co.uk>
  804.  
  805. [Editor's note: While this is documented in one of the AIX manuals
  806. and covered in /usr/lpp/bos/bsdadm (AIX 3 only), it comes up often
  807. enough I thought I would include it here.]
  808.  
  809. Not all the Info databases are required, so do not copy them all unless the 
  810. customer specifically requests them, or has asked for the software they 
  811. refer to.  These instructions assume you have enough space on /usr.
  812.  
  813.     Install and mount the InfoExplorer CD-ROM as for use of Info 
  814.     from CD-ROM.
  815.  
  816.     Log in as Root
  817.     umount /usr/lpp/info/lib/$LANG
  818.     mkdir /mnt/$LANG
  819.     mount -v cdrfs -r /dev/cd0 /mnt/$LANG
  820.  
  821.     cd /
  822.     cd /mnt/$LANG
  823.     cp -r aix /usr/lpp/info/lib/$LANG
  824.     cp -r aix2 /usr/lpp/info/lib/$LANG
  825.     cp -r compnav /usr/lpp/info/lib/$LANG
  826.     cp -r hardware /usr/lpp/info/lib/$LANG
  827.     cp -r nav /usr/lpp/info/lib/$LANG
  828.     cp -r prog /usr/lpp/info/lib/$LANG
  829.     cp -r uiprog /usr/lpp/info/lib/$LANG
  830.  
  831.     Other sections can be copied if required:
  832.     Section                        Size
  833.     cp -r ada /usr/lpp/info/lib/$LANG        7.2  Mb
  834.     cp -r assemb /usr/lpp/info/lib/$LANG        5.23 Mb
  835.     cp -r cxx /usr/lpp/info/lib/$LANG        6.52 Mb
  836.     cp -r dce /usr/lpp/info/lib/$LANG        3.8  Mb
  837.     cp -r encina /usr/lpp/info/lib/$LANG        2.67 Mb
  838.     cp -r fortran /usr/lpp/info/lib/$LANG        6.85 Mb
  839.     cp -r graph /usr/lpp/info/lib/$LANG        9.75 Mb
  840.     cp -r graph2 /usr/lpp/info/lib/$LANG        4.1  Mb
  841.     cp -r pascal /usr/lpp/info/lib/$LANG        3.23 Mb
  842.  
  843.     umount /mnt/$LANG
  844.     eject the CD-ROM
  845.  
  846. ------------------------------
  847.  
  848. Subject: 1.410: Why can't I set my default shell to one we've just installed?
  849.  
  850. When adding new shells to the system, add them to the "shells=" line
  851. in /etc/security/login.cfg so they can be used during ftp and rlogin
  852. by users who use them as their default shell.
  853.  
  854. ------------------------------
  855.  
  856. Subject: 1.411: Why do I get the "Unable to connect socket: 3"
  857.                 starting Info-Explorer?
  858.  
  859. It's a bug in the way infod sets the initial permission on the            
  860. /tmp/.info-help socket. Do a chmod 777 on /tmp/.info-help and the
  861. message will go away. (Charlie McGuire, mcguire@cs.umt.edu)
  862.  
  863. This problem was fixed by APAR IX43230, PTF U432315
  864. (Paul Sitz, psitz@empros.com)
  865.  
  866. ------------------------------
  867.  
  868. Subject: 1.412: Why can't I write a setuid shell script?
  869. From: mww@microfocus.com (Michael Wojcik)
  870.  
  871. AIX, as of about the first release of 3.2.5* does not allow SUID scripts.
  872. (It ignores the SUID and SGID bits on scripts.)  They're a huge security
  873. hole.
  874.  
  875. If you really want to run a script SUID, you can create a small C program
  876. that does a setuid(0) and then system()'s your script.  (Actually, the
  877. setuid() call isn't necessary on all Unixes; IIRC, it's not on AIX 3.2.5,
  878. but YYMV.)  Make the program SUID.  Be very careful.
  879.  
  880. There are other similar solutions.  You might also want to look into
  881. sudo, which handles this sort of thing in a somewhat more controlled
  882. manner
  883.  
  884. * Julianne Frances Haugh (jfh@tab.com) writes:
  885.  
  886. I raised an objection to set-ID shell scripts before AIX 3.1 was
  887. golden.  ... it was finally done in the 3009 PTF for AIX 3.1.
  888.  
  889. ------------------------------
  890.  
  891. Subject: 1.500  Which release of X11 do I have?
  892.  
  893. AIX 4.x includes X11 R5 and Motif 1.2.
  894.  
  895. On AIX 3, Run 'lslpp -h X11rte.obj'.
  896. If your output has a line similar to:
  897.  
  898.             01.02.0000.0000 COMPLETE   COMMIT     03/04/93   02:05:11 root
  899.  
  900. you have X11 R4. If your output has a line similar to:
  901.  
  902.     U491068 01.02.0003.0000 COMPLETE   COMMIT     07/28/93   12:50:42 root
  903.  
  904. you have X11 R5. Some people also call these AIXwindows 1.2.0 and
  905. 1.2.3.  'lslpp -h X11rte.motif1.2.obj' should tell you if you are
  906. running Motif 1.2.
  907.  
  908.  
  909. ------------------------------
  910.  
  911. Subject: 1.501: How to prevent ctrl-alt-backspace from killing the X session
  912.  
  913. Start X with 'xinit -T' to disable ctrl-alt-backspace from stopping X.
  914.  
  915. ------------------------------
  916.  
  917. Subject: 1.502: Who has a termcap/terminfo source for the HFT console?
  918.  
  919. The console used on the RISC System/6000, PS/2 and RT can be used as a
  920. terminal on another system with the termcap below.  You can find this
  921. and other termcaps in /lib/libtermcap/termcap.src, including IBM
  922. specific ones.  The terminfo sources are stored in /usr/lib/terminfo/*.ti.
  923. This termcap can also be used from an aixterm window.
  924.  
  925. hf|hft|hft-c|ibm8512|ibm8513|IBM_High_Function_Terminal:\
  926.     :co#80:li#25:am:ht:\
  927.     :cm=\E[%i%d;%dH:ti=\E[25;1H:te=\E[20h:\
  928.     :nd=\E[C:up=\E[A:do=^J:ho=\E[H:\
  929.     :bs:sf=\E[S:ec=\E[%dX:\
  930.     :cl=\E[H\E[J:cd=\E[J:ce=\E[K:\
  931.     :AL=\E[%dL:DL=\E[%dM:al=\E[L:dl=\E[M:\
  932.     :im=\E[4h:ei=\E[4l:mi:\
  933.     :dm=\E[4h:ed=\E[4l:\
  934.     :so=\E[7m:se=\E[m:ul=\E[4m:ue=\E[m:\
  935.     :md=\E[1m:mr=\E[7m:mb=\E[5m:me=\E[m:\
  936.     :as=^N:ae=^O:sc=\E[s:rc=\E[u:\
  937.     :kl=\E[D:kb=^H:kr=\E[C:ku=\E[A:kd=\E[B:kh=\E[H:\
  938.     :kn#10:k1=\E[001q:k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:\
  939.     :k6=\E[006q:k7=\E[007q:k8=\E[008q:k9=\E[009q:k0=\E[010q:\
  940.     :is=\Eb\E[m^O\E[?7h:rs=\Eb\E[m^O\E[?7h\E[H\E[J:
  941.  
  942. ------------------------------
  943.  
  944. 1.503: How can I look at PostScript files?  Why is "dpsexec" so lousy?
  945. From: Marc Pawliger <marc@sti.com>
  946.  
  947. showps comes with the 1.2.3 (X11R5) version of the X11rte.ext.obj LPP.
  948. Very nice PS file previewer from Adobe.  Replaces xpsview which came
  949. with pre-1.2.3 Installed as /usr/lpp/DPS/showps/showps
  950.  
  951. From: VRBASS@ATLVMIC1 (Vance R. Bass)
  952.  
  953. You can look at PostScript files using either "xpreview" (in the
  954. optionally installable text formatting services) or you can get
  955. Ghostscript and Ghostview from a comp.sources.x server and build it
  956. yourself.
  957.  
  958. >From the "xpreview" man page:
  959. The xpreview command is an AIXwindows 1.2- and Motif 1.1-based
  960. application that displays output from the troff command on an AIXwindows
  961. display.  The troff command output file must be prepared for any one of
  962. the devX100, devX100K or devpsc devices.  The xpreview command also
  963. displays PostScript language files that begin with %!.
  964.  
  965. "dpsexec" is NOT intended to be a full-service document browser, but
  966. rather a simple DPS code debugger.  If you insist on using it, you can
  967. edit your PS code to remove the "showpage" (which will reset dpsexec
  968. and clear the window) to view single-page files.  It does not handle
  969. multi-page files gracefully.
  970.  
  971. ------------------------------
  972.  
  973. Subject: 1.504: unix:0 vs `hostname`:0
  974.  
  975. 1.) Is there any way to get the machine to check its local host table
  976.     first without renaming resolv.conf?
  977.  
  978. [AIX 3.2 only]
  979. PTF U412845 implements an environment variable to set the resolver
  980. time out in AIX 3.2.  This allows you to set RES_TIMEOUT to the number
  981. of seconds before it times out, a failing a DNS query the machine will
  982. consult /etc/hosts.  
  983.  
  984. 2.) How do you tell X applications where you are if the console display 
  985.     is unix:0?
  986.  
  987. From: David L. Crow <crow@waterloo.austin.ibm.com>
  988.  
  989.   I would suggest that if you have R5, use ":<display>.<screen>".  I do
  990.   not believe that R4 clients will understand :0, so I would suggest
  991.   unix:0 for them.
  992.  
  993.   Without specifying unix or the hostname, you will get the fastest
  994.   transport mechanism.  While currently there are only two transport
  995.   methods in the AIXwindows X server (Unix sockets and TCP sockets),
  996.   many vendors are looking at using shared memory as a transport method. 
  997.   If you use :0 (or :0.0 or :1, etc.), then you should get the best
  998.   performance regardless of the available transport methods.
  999.  
  1000. From: Marc Pawliger <marc@sti.com>
  1001.  
  1002.   Using "unix:0" or "hostname:0" when the X11 Shared Memory Transport
  1003. (SMT) is installed as part of the 1.2.3 X11rte.obj (X11R5) will incur
  1004. a penalty vs. using ":0" See /usr/lpp/X11/README.SMT
  1005.  
  1006. 3.) Is there a significant performance penalty incurred by using
  1007.     `hostname`:0 as DISPLAY?
  1008.  
  1009.   Yes! Using unix:0, you are using Unix sockets.  These are much faster
  1010.   than their TCP socket counterparts.
  1011.  
  1012. ------------------------------
  1013.  
  1014. Subject: 1.505: VT100 key bindings for aixterm
  1015. From: haedener@iac.unibe.ch <Konrad Haedener>
  1016.  
  1017. Add this to your .Xdefaults file and start your VAX session with
  1018. 'aixterm -v -name vt100 -e telnet MYVAXHOST'
  1019.  
  1020. -----
  1021. vt100.vt102: true
  1022. vt100.fullcursor: false
  1023. vt100.translations:    <Key>F1: string(0x1b) string("OP") \n\
  1024.                        <Key>F2: string(0x1b) string("OQ") \n\
  1025.                        <Key>F3: string(0x1b) string("OR") \n\
  1026.                        <Key>F4: string(0x1b) string("OS") \n\
  1027.                        <Key>KP_0: string(0x1b) string("Op") \n\
  1028.                        <Key>KP_1: string(0x1b) string("Oq") \n\
  1029.                        <Key>KP_2: string(0x1b) string("Or") \n\
  1030.                        <Key>KP_3: string(0x1b) string("Os") \n\
  1031.                        <Key>KP_4: string(0x1b) string("Ot") \n\
  1032.                        <Key>KP_5: string(0x1b) string("Ou") \n\
  1033.                        <Key>KP_6: string(0x1b) string("Ov") \n\
  1034.                        <Key>KP_7: string(0x1b) string("Ow") \n\
  1035.                        <Key>KP_8: string(0x1b) string("Ox") \n\
  1036.                        <Key>KP_9: string(0x1b) string("Oy") \n\
  1037.                        <Key>KP_Divide: string(0x1b) string("OQ") \n\
  1038.                        <Key>KP_Multiply: string(0x1b) string("OR") \n\
  1039.                        <Key>KP_Subtract: string(0x1b) string("OS") \n\
  1040.                        <Key>KP_Add: string(0x1b) string("Om") \n\
  1041.                        <Key>KP_Enter: string(0x1b) string("OM") \n\
  1042.                        <Key>KP_Decimal: string(0x1b) string("On") \n\
  1043.                        <Key>Next: string(0x1b) string("Ol") \n\
  1044.                        <Key>Left: string(0x1b) string("OD") \n\
  1045.                        <Key>Up: string(0x1b) string("OA") \n\
  1046.                        <Key>Right: string(0x1b) string("OC") \n\
  1047.                        <Key>BackSpace : string(0x7f) \n\
  1048.                        <Key>Down: string(0x1b) string("OB")
  1049.  
  1050. You should also add
  1051.  
  1052. XENVIRONMENT=$HOME/.Xdefaults
  1053. export XENVIRONMENT
  1054.  
  1055. to your .profile.
  1056.  
  1057. ------------------------------
  1058.  
  1059. Subject: 1.506: Is there a screen saver that does not use excessive CPU?
  1060. From: Don Buchholz <buchholz@ese.ogi.edu>
  1061.  
  1062. Try using xlock with these options:
  1063.  
  1064.     xlock -mode life -count 1500 -nice 20 -root
  1065.  
  1066.  
  1067. From: pranav@evolving.com (Pranav Vakil)
  1068.  
  1069. Use mlock -hide to hide the background. You can also modify the mlock
  1070. (/usr/local/tools/mlock) code to allow the standard X screen saver to
  1071. take effect. The timeout value is originally set to 0 which means the
  1072. screen saver is off. Modify this to be 120 (2 minutes) and set the
  1073. interval time to be 60 (1 minute). Using these intervals, I have found
  1074. that over a 24 hour period, it uses only .3 cpu minutes.
  1075.  
  1076. ------------------------------
  1077.  
  1078. Subject: 1.507: Where are the colors, available for an X session, listed.
  1079.  
  1080. /usr/lpp/x_st_mgr/bin/rgb.txt and on AIX 4.2, the file is
  1081. /usr/lpp/X11/lib/X11/rgb.txt
  1082.  
  1083. ------------------------------
  1084.  
  1085. Subject: 1.508: Why does my app hang the X server but not an X station?
  1086. From: Bjorn P. Brox <brox@corena.no>
  1087.  
  1088. /usr/lpp/X11/README.SMT X client/server communication uses a 64k
  1089. buffer by default.  The size of this buffer is controled by the
  1090. X_SHM_SIZE environment variable increasing the size of the buffer has
  1091. been used to prevent some applications from hanging the X server :)
  1092.  
  1093. ------------------------------
  1094.  
  1095. Subject: 1.509: How do I switch the control and caps lock key bindings?
  1096.  
  1097. If you are running the X window system, you can put the following into
  1098. .xmodmaprc
  1099.  
  1100.   remove Lock = Caps_Lock
  1101.   remove Control = Control_L
  1102.   keysym Control_L = Caps_Lock
  1103.   keysym Caps_Lock = Control_L
  1104.   add Lock = Caps_Lock
  1105.   add Control = Control_L
  1106.  
  1107. Hidden Hint: Use (xmodmap -e "pointer = 3 2 1") to make the mouse
  1108. lefty friendly.
  1109.  
  1110. ------------------------------
  1111.  
  1112. Subject: 1.510: Missing fonts?
  1113.  
  1114. If your Xserver supports X11R5 try running a font server (edit
  1115. /usr/lib/X11/fs/config and run fsconf && startsrc -s fs) Consult your
  1116. Xserver instructions on how to include a font server in your font
  1117. path.
  1118.  
  1119. ------------------------------
  1120.  
  1121. Subject: 1.511: What's the termcap entry for an IBM 3151 look like?
  1122.  
  1123. #
  1124. # Written by Aleksandar Milivojevic, alex@srce.hr
  1125. # 24.09.1994
  1126. #
  1127. I2|ibm3151|3151|IBM 3151 terminal:\
  1128.     :am:mi:cr=^M:sf=^J:co#80:li#24:cd=\EJ:ce=\EI:cm=\EY%+\040%+\040:\
  1129.     :cl=\EH\EJ:dc=\EQ:dl=\EO:do=\EB:le=\ED:mb=\E4$a:md=\E4(a:\
  1130.     :me=\E4@\E>B:mr=\E4!a:nd=\EC:se=\E4>b:so=\E4!a:ue=\E4=b:up=\EA:\
  1131.     :us=\E4"a:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:\
  1132.     :k1=\Ea\r:k2=\Eb\r:k3=\Ec\r:k4=\Ed\r:k5=\Ee\r:\
  1133.     :k6=\Ef\r:k7=\Eg\r:k8=\Eh\r:k9=\Ei\r:k0=\Ej\r:\
  1134.     :ti=\E>B:te=\E>B:ms:ho=\EH:bl=^G:al=\EN:ta=^I:
  1135.  
  1136. ------------------------------
  1137.  
  1138. Subject: 1.512: Errors starting X11 application binaries from aixpdslib.
  1139. From: <URL:ftp://aixpdslib.seas.ucla.edu/pub/README_X11R5_Stuff>
  1140.  
  1141. We have been aware of the problem people have with dynamic links
  1142. when running the prebuilt of X-stuffs from this library.
  1143.  
  1144. The typical error messages will be:
  1145.  
  1146.     Could not load program [program_name]
  1147.     Member shr4.o not found or file not an archive
  1148.     Member shr4.o not found or file not an archive
  1149.     Could not load library libXt.a[shr4.o]
  1150.     Error was: No such file or directory
  1151.  
  1152. It's because that we built the programs using X11 libraries of MIT
  1153. which are not compatible with those of IBM.  If this is the case,
  1154. then please get the compressed tarred file of the source code instead,
  1155. and recompile them on your system using your libraries.
  1156.  
  1157. ------------------------------
  1158. Subject: 1.513: .XShm*, .sm* (Shared memory) Link errors building 
  1159.                  Xwindows applications.
  1160.  
  1161. Link errors that refer to .XShm* often times are a result of compiling
  1162. applications to take advantage of the Shared Memory extension of the X
  1163. server.  You may either compile without shared memory or load the
  1164. shared memory extensions. (see /usr/lpp/X11/README and README.SMT) A
  1165. script for rebuilding your X server with the shared memory can be found
  1166. in /usr/lpp/X11/Xamples/server.
  1167.  
  1168. ------------------------------
  1169.  
  1170. Subject: 1.514: How do I set my DISPLAY when I login to another machine?
  1171.  
  1172. Though this is not a question specific to AIX, it appears often enough
  1173. to warrant an answer here.  There are lots of approaches, some of which
  1174. are described in the X Windows FAQ.  Most involve a little login shell
  1175. programing to parse the output of `who` or `who am i`.
  1176. <URL:ftp://boogle.uchicago.edu/pub/aix/src/hostwhence.tar.Z> by
  1177. e-siebert@uchicago.edu will help if you are willing/able to install it
  1178. suid.  See the X Windows FAQ and newsgroup for more information.
  1179.  
  1180. Hostwhence is also availabile in the "lsof" smit-installable package on
  1181. www-frec.bull.com. The installation scripts use ACLs to allow hostwhence to
  1182. read /dev/kmem without being set-uid-root.
  1183.  
  1184. ------------------------------
  1185.  
  1186. Subject: 1.515:  Why doesn't Netscape work?
  1187. From: "Gary R. Hook" <hook@austin.ibm.com>
  1188.  
  1189. The problem is that Netscape has statically linked libc into 
  1190. Mozilla.  When the AIX 3 libc code (setlocale()) tries to
  1191. load an AIX 4 locale, the two are incompatible and a core
  1192. dump ensues.  AIX 4 locales have to be loaded by AIX 4 libc.
  1193. Using LANG=C causes a lot of locale code to be bypassed, allowing
  1194. the application to avoid loading a non-C locale, and to continue
  1195. execution.
  1196.  
  1197. >From: Colin <apollo@randomc.com>
  1198. Here is a shell script that works around Netscape's problems by
  1199. setting the LANG and CLASSPATH environment variables.
  1200.  
  1201. #!/bin/sh
  1202. LANG=C
  1203. CLASSPATH=/path/to/java_30
  1204. export LANG CLASSPATH
  1205. if [ $# -eq 0 ]; then
  1206.    /path/to/netscape http://your.home.page &
  1207. else
  1208.    /path/to/netscape $* &
  1209. fi
  1210.  
  1211. ------------------------------
  1212.  
  1213. Subject: 1.600: My named dies frequently, why?
  1214. From: jpe@ee.egr.duke.edu (John P. Eisenmenger)
  1215.  
  1216. Running on 3.2, named dies frequently on network's primary name server.
  1217.  
  1218.  
  1219. Try the following:
  1220.  
  1221.      stopsrc -s named        # stop running named
  1222.      setenv MALLOCTYPE 3.1    # use 3.1 memory allocation algorithm
  1223.      /etc/named ...        # don't use smit to start named
  1224.  
  1225. You might be able to use startsrc/smit after setting MALLOCTYPE and get
  1226. the same effect, but I'm not sure.
  1227.  
  1228. [According to John, the problem is malloc() in the named code. He
  1229.  also suggests using Berkeley's bind, which he has ported and can be
  1230.  ftp'ed from ftp://ftp.egr.duke.edu/archives/bind-4.8.3.tar.gz. -ed]
  1231.  
  1232. Two ptfs should fix this problem. Get U412332 and U414752.
  1233.  
  1234. Christophe Wolfhugel <Christophe.Wolfhugel@grasp.insa-lyon.fr> reports
  1235. that bind 4.9 works fine on AIX 3.2 and without MALLOCTYPE=3.1.
  1236.  
  1237. ------------------------------
  1238.  
  1239. Subject: 1.601: How do I trace ethernet packets on an AIX system?
  1240. From: afx@muc.ibm.de (Andreas Siegert)
  1241.  
  1242. Do the following:
  1243.  
  1244.      iptrace -i en0 /tmp/ipt
  1245.  
  1246. The iptrace backgrounds.  Find its process id and kill it when you are
  1247. ready.  Then run
  1248.  
  1249.      ipreport -rns /tmp/ipt >/tmp/ipr
  1250.  
  1251. and look at the output.  The current version of Info does not document
  1252. the r, n and s options but they are quite useful for layering the output.
  1253.  
  1254. ------------------------------
  1255.  
  1256. Subject: 1.602 What is the authorized way of starting automount at boot time?
  1257. From: curt@ekhadafi.austin.ibm.com (Curt Finch)
  1258.  
  1259. I put this in my /etc/inittab:
  1260.  
  1261. automount:2:once:/usr/etc/automount -T -T -T -v >/tmp/au.se 2>&1
  1262.  
  1263. I hereby dub it authorized.
  1264.  
  1265. Jim Salter <jsalter@netscape.com> writes: You can also use the command:
  1266. 'mkitab "automount:2:once:/usr/etc/..."' to avoid editing the file by hand.
  1267.  
  1268. ------------------------------
  1269.  
  1270. Subject: 1.603: How do I set a tty port for both dial-in and dial-out?
  1271.  
  1272. Set the mode of the tty to be either 'shared' or 'delayed'. 
  1273.  
  1274. ------------------------------
  1275.  
  1276. Subject: 1.604: How to move or copy whole directory trees across a network
  1277.  
  1278. The following command will move an entire directory tree across a network 
  1279. while preserving permissions, uids and gids.
  1280.  
  1281.       $rsh RemoteHost "cd TargetDir; tar -cBf - ." | tar -xvBf -
  1282.  
  1283. Explanation:
  1284.  
  1285. The tar-create is rsh'd to the remote system and is written to
  1286. stdout (the pipe).
  1287.  
  1288. The local system is extracting the tar that is being read from
  1289. stdin (the pipe).
  1290.  
  1291. From: abeloni <abeloni@hstern.com.br>
  1292.  
  1293. Another method is:
  1294.  
  1295.     rcp -rp host1:/dir host2:/dir
  1296.  
  1297. ------------------------------
  1298.  
  1299. Subject: 1.605: How can I send mail to hosts that cannot be pinged?
  1300. From: jupiter.sun.csd.unb.ca!dedourek (John DeDourek)
  1301.  
  1302. AIX 3.2 as shipped is configured to only send mail to mail addresses
  1303. which include a host name.  Many organizations use a mail address whose
  1304. "host name" part is not a host name (technically an MX name).  To change
  1305. the configuration of the AIX mailer, login as root.  Then edit the file
  1306. /etc/sendmail.cf to remove the comment marker ("# ") at the beginning of
  1307. the line which reads:
  1308.     # OK MX
  1309.  
  1310. Now rebuild the machine readable form of the configuration with
  1311.     sendmail -bz
  1312.  
  1313. and finally restart signal sendmail to load the new configuration by one
  1314. of the following:
  1315.      reboot
  1316. or
  1317.      stopsrc -s sendmail
  1318.      startsrc -s sendmail
  1319. or 
  1320.      kill -1 `cat /etc/sendmail.pid`
  1321.  
  1322.