<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1070082241374893356</id><updated>2012-01-10T14:16:44.708+08:00</updated><category term='linux'/><category term='nagios'/><category term='aix'/><category term='ldap'/><category term='hmc'/><category term='solaris'/><category term='rsyslog'/><category term='misc'/><category term='oracle'/><category term='vio'/><title type='text'>(uN)Tech  blogs</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-3021763287881135421</id><published>2011-12-07T14:52:00.000+08:00</published><updated>2011-12-07T14:52:19.227+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>scripting parted</title><content type='html'>lots of SAN disks added today.&amp;nbsp; So to create partitions&lt;br /&gt;on them, I use the following: &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#!/bin/sh&lt;br /&gt;for i in $(multipath -ll | grep sd | awk '{print $3}')&lt;br /&gt;do&lt;br /&gt;# create a label first&lt;br /&gt;parted /dev/$i --script -- mklabel msdos&lt;br /&gt;# create partition take whole disk&lt;br /&gt;parted /dev/$i --script -- mkpart primary 0 -1&lt;br /&gt;# set type lvm&lt;br /&gt;parted /dev/$i --script -- set 1 lvm on&lt;br /&gt;parted /dev/$i --script print&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;WARNING: THIS CAN WIPE OUT YOUR LOCAL DISK PARTITIONS!&lt;br /&gt;this is for a new system (all disks have no data) and the&lt;br /&gt;local storage is on a H/W raid (/dev/c0dX).&lt;br /&gt;&lt;br /&gt;hth.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-3021763287881135421?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/3021763287881135421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2011/12/scripting-parted.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3021763287881135421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3021763287881135421'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2011/12/scripting-parted.html' title='scripting parted'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-369343211131392727</id><published>2011-07-04T17:47:00.000+08:00</published><updated>2011-07-04T17:47:52.283+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>Cloning an LPAR using an ISO via  VIO Virtual Media Library</title><content type='html'>Cloning an LPAR using VIO Virtual Media Library&lt;br /&gt;&lt;br /&gt;This is a short howto on cloning an AIX LPAR using the&lt;br /&gt;VIO Virtual Media Library. An ISO file will be created&lt;br /&gt;from an AIX mksysb image of the source LPAR. This&lt;br /&gt;iso file is then loaded thru the VIO server as a&lt;br /&gt;virtual optical device to be used by the target LPAR.&lt;br /&gt;&lt;br /&gt;For this howto, the mksysb and ISO files were created&lt;br /&gt;on the same LPAR. This is not a requirement.Just make&lt;br /&gt;sure ISO generation is on  a system that is at least&lt;br /&gt;the same level as the mksysb's source.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CREATE THE MKSYSB IMAGE&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;[root@HESTIA]/&gt;mksysb -eim /export/mksysb/AIX53TL12SP1.img&lt;br /&gt;&lt;br /&gt;Creating information file (/image.data) for rootvg.&lt;br /&gt;&lt;br /&gt;Creating list of files to back up ..&lt;br /&gt;Backing up 124218 files....................&lt;br /&gt;&lt;br /&gt;124218 of 124218 files backed up (100%)&lt;br /&gt;0512-038 mksysb: Backup Completed Successfully.&lt;br /&gt;&lt;br /&gt;[root@HESTIA]/&gt;&lt;b&gt;du -ms /export/mksysb/AIX53TL12SP1.img&lt;/b&gt;&lt;br /&gt;2923.00 /export/mksysb/AIX53TL12SP1.img&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I have excluded directories to reduce size of mksysb image. Also,&lt;br /&gt;/export is from another volumen group.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CREATE THE ISO IMAGE&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;[root@HESTIA]/&gt; &lt;b&gt;mkcd -L -S -I /export/iso/ -m /export/mksysb/AIX53TL12SP1.img&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;from mkcd man page:&lt;br /&gt;&lt;br /&gt;-L creates final CD images that are DVD sized (up to 4.38 GB)&lt;br /&gt;-S stops mkcd before writing to the CD-R, DVD-R or DVD-RAM &lt;br /&gt; without removing the final CD images.&lt;br /&gt;-I cd_image_dir specifies the directory or file system where&lt;br /&gt; the final CD images are stored before writing to &lt;br /&gt; the CD-R, DVD-R or DVD-RAM device.&lt;br /&gt;-m mksysb_image specifies a previously created mksysb image. &lt;br /&gt; if not specified, mkcd will run the mksysb command.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;[root@HESTIA]/&gt; &lt;b&gt;mkcd -L -S -I /export/iso/ -m /export/mksysb/AIX53TL12SP1.img&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Initializing mkcd log: /var/adm/ras/mkcd.log...&lt;br /&gt;Verifying command parameters...&lt;br /&gt;Creating temporary file system: /mkcd/cd_fs...&lt;br /&gt;Populating the CD or DVD file system...&lt;br /&gt;Building chrp boot image...&lt;br /&gt;Copying backup to the CD or DVD file system...&lt;br /&gt;...&lt;br /&gt;Creating Rock Ridge format image: /export/iso//cd_image_299194&lt;br /&gt;Running mkisofs ...&lt;br /&gt;...&lt;br /&gt;mkrr_fs was successful.&lt;br /&gt;&lt;br /&gt;Making the CD or DVD image bootable...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Removing temporary file system: /mkcd/cd_fs...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;VIO SIDE &lt;/b&gt;&lt;br /&gt;as padmin, create the  Repository on the VIO server&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ &lt;b&gt;lsrep&lt;/b&gt;&lt;br /&gt;The DVD repository has not been created yet.&lt;br /&gt;&lt;br /&gt;$ &lt;b&gt;lssp&lt;/b&gt;&lt;br /&gt;Pool              Size(mb)   Free(mb)  Alloc Size(mb)    BDs Type&lt;br /&gt;rootvg              279552     222464             256      0 LVPOOL&lt;br /&gt;&lt;br /&gt;$ &lt;b&gt;mkrep -sp rootvg -size 9G&lt;/b&gt;&lt;br /&gt;Virtual Media Repository Created&lt;br /&gt;Repository created within "VMLibrary" logical volume&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;NOTE: a new FS /var/vio/VMLibrary will be created and mounted.&lt;br /&gt;&lt;br /&gt;then as root, copy the CD ISO image:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;# pwd&lt;br /&gt;/var/vio/VMLibrary&lt;br /&gt;# scp ZEUS:/Apps/iso/cd_image_545020 AIX53TL12.iso&lt;br /&gt;root@ZEUS's password:&lt;br /&gt;cd_image_545020                                                             100% 3264MB  35.1MB/s   01:33&lt;br /&gt;# ls -ltr&lt;br /&gt;total 15809960&lt;br /&gt;-r--r--r--    1 root     staff    3129395200 Jun 25 09:00 AIX53TL12SP1.iso&lt;br /&gt;-r--r--r--    1 root     staff    3422056448 Jun 25 09:00 AIX53TL12.iso&lt;br /&gt;-r--r--r--    1 root     staff    1543245824 Jul 04 09:00 AIX61TL4SP7.iso&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;List the pool:&lt;br /&gt;&lt;pre&gt;$ &lt;b&gt;lsrep&lt;/b&gt;&lt;br /&gt;Size(mb) Free(mb) Parent Pool         Parent Size      Parent Free&lt;br /&gt;    9179     1458 rootvg                   279552           222464&lt;br /&gt;&lt;br /&gt;Name                                    File Size Optical         Access&lt;br /&gt;AIX53TL12.iso                                3264 None            ro&lt;br /&gt;AIX53TL12SP1.iso                             2985 None            ro&lt;br /&gt;AIX61TL4SP7.iso                              1472 None            ro&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;create the adapter&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ &lt;b&gt;mkvdev -fbo -vadapter vhost1&lt;/b&gt;&lt;br /&gt;vtopt0 Available&lt;br /&gt;&lt;br /&gt;from mkvdev man page:&lt;br /&gt;&lt;br /&gt;The -fbo flag is used to create a virtual target device which maps &lt;br /&gt;the VirtualServerAdapter to a file backed virtual optical device. &lt;br /&gt;Virtual optical devices cannot be used until virtual media is &lt;br /&gt;loaded into the device.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$ &lt;b&gt;lsmap -vadapter vhost1&lt;/b&gt;&lt;br /&gt;SVSA            Physloc                                      Client Partition ID&lt;br /&gt;--------------- -------------------------------------------- ------------------&lt;br /&gt;vhost1          U8233.E8B.0633B8P-V1-C4                      0x00000003&lt;br /&gt;&lt;br /&gt;VTD                   vtopt0&lt;br /&gt;Status                Available&lt;br /&gt;LUN                   0x8100000000000000&lt;br /&gt;Backing device&lt;br /&gt;Physloc&lt;br /&gt;Mirrored              N/A&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;load the image:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ &lt;b&gt;mkvdev -fbo -vadapter vhost1&lt;/b&gt;&lt;br /&gt;vtopt0 Available&lt;br /&gt;&lt;br /&gt;$ loadopt -f -vtd vtopt0 -disk AIX53TL12SP1.iso&lt;br /&gt;&lt;br /&gt;$ lsrep&lt;br /&gt;Size(mb) Free(mb) Parent Pool         Parent Size      Parent Free&lt;br /&gt;    9179     1458 rootvg                   279552           222464&lt;br /&gt;&lt;br /&gt;Name                                    File Size Optical         Access&lt;br /&gt;AIX53TL12.iso                                3264 None            ro&lt;br /&gt;AIX53TL12SP1.iso                             2985 vtopt0          ro&lt;br /&gt;AIX61TL4SP7.iso                              1472 None            ro&lt;br /&gt;&lt;br /&gt;$ &lt;b&gt;lsmap -vadapter vhost1&lt;/b&gt;&lt;br /&gt;&lt;b&gt;SVSA            Physloc                                      Client Partition ID&lt;br /&gt;--------------- -------------------------------------------- ------------------&lt;br /&gt;vhost1          U8233.E8B.0633B8P-V1-C4                      0x00000003&lt;br /&gt;&lt;br /&gt;VTD                   HESTIAsys00&lt;br /&gt;Status                Available&lt;br /&gt;LUN                   0x8200000000000000&lt;br /&gt;Backing device        hdisk5&lt;br /&gt;Physloc               U5796.001.0620413-P1-C1-T1-W50001FE1501C6C69-L2000000000000&lt;br /&gt;Mirrored              false&lt;br /&gt;&lt;br /&gt;VTD                   vtopt0&lt;br /&gt;Status                Available&lt;br /&gt;LUN                   0x8100000000000000&lt;br /&gt;Backing device        /var/vio/VMLibrary/AIX53TL12SP1.iso&lt;br /&gt;Physloc&lt;br /&gt;Mirrored              N/A&lt;/b&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;then boot the LPAR from the scsi device detected&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;b&gt; SMS 1.7 (c) Copyright IBM Corp. 2000,2008 All rights reserved.                 &lt;br /&gt;------------------------------------------------------------------------------- &lt;br /&gt; Select Task                                                                    &lt;br /&gt;                                                                                &lt;br /&gt;SCSI CD-ROM                                                                     &lt;br /&gt;    ( loc=U8233.E8B.0633B8P-V3-C2-T1-L8100000000000000 )                        &lt;br /&gt;                                                                                &lt;br /&gt; 1.   Information                                                               &lt;br /&gt; 2.   Normal Mode Boot                                                          &lt;br /&gt; 3.   Service Mode Boot                                                         &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt; -------------------------------------------------------------------------------&lt;br /&gt; Navigation keys:                                                               &lt;br /&gt; M = return to Main Menu                                                        &lt;br /&gt; ESC key = return to previous screen         X = eXit System Management Services&lt;br /&gt; -------------------------------------------------------------------------------&lt;/b&gt;&lt;br /&gt; Type menu item number and press Enter or select Navigation key:2               &lt;br /&gt;                                                                                &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;b&gt; Version AL710_097                                                              &lt;br /&gt; SMS 1.7 (c) Copyright IBM Corp. 2000,2008 All rights reserved.                 &lt;br /&gt;------------------------------------------------------------------------------- &lt;br /&gt; Device Information                                                             &lt;br /&gt;    /vdevice/v-scsi@30000002/disk@8100000000000000                              &lt;br /&gt;                   :  (Bootable)                                                &lt;br /&gt;DEVICE             : SCSI CD-ROM                                                &lt;br /&gt;    ( loc=U8233.E8B.0633B8P-V3-C2-T1-L8100000000000000 )                        &lt;br /&gt;NAME               : disk                                                       &lt;br /&gt;DEVICE-TYPE        : block                                                      &lt;br /&gt;                                                                                &lt;br /&gt; Parent Information                                                             &lt;br /&gt;IBM,FW-ADAPTER-NAME: Virtual SCSI                                               &lt;br /&gt;NAME               : v-scsi                                                     &lt;br /&gt;DEVICE-TYPE        : vscsi                                                      &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt; -------------------------------------------------------------------------------&lt;br /&gt; Navigation keys:                                                               &lt;br /&gt; M = return to Main Menu                                                        &lt;br /&gt; ESC key = return to previous screen         X = eXit System Management Services&lt;br /&gt; -------------------------------------------------------------------------------&lt;/b&gt;&lt;br /&gt; Type menu item number and press Enter or select Navigation key:                &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM     &lt;br /&gt;IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM     &lt;br /&gt;IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM     &lt;br /&gt;IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM     &lt;br /&gt;IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM     &lt;br /&gt;IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM     &lt;br /&gt;IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM     &lt;br /&gt;|                                                                               &lt;br /&gt;Elapsed time since release of system processors: 352759 mins 32 secs            &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;                                                                                &lt;br /&gt;------------------------------------------------------------------------------- &lt;br /&gt;                                Welcome to AIX.                                 &lt;br /&gt;                       boot image timestamp: 07:07 07/04                        &lt;br /&gt;                 The current time and date: 08:35:48 07/04/2011                 &lt;br /&gt;               number of processors: 2    size of memory: 4096MB                &lt;br /&gt;boot device: /vdevice/v-scsi@30000002/disk@8100000000000000:\ppc\chrp\bootfile.e&lt;br /&gt;                     kernel size: 12544763; 32 bit kernel                       &lt;br /&gt;------------------------------------------------------------------------------- &lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Once done with the image, unload it:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ &lt;b&gt;unloadopt -release -vtd vtopt0&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;$ &lt;b&gt;lsmap -vadapter vhost1&lt;/b&gt;&lt;br /&gt;SVSA            Physloc                                      Client Partition ID&lt;br /&gt;--------------- -------------------------------------------- ------------------&lt;br /&gt;vhost1          U8233.E8B.0633B8P-V1-C4                      0x00000003&lt;br /&gt;&lt;br /&gt;VTD                   HESTIAsys00&lt;br /&gt;Status                Available&lt;br /&gt;LUN                   0x8200000000000000&lt;br /&gt;Backing device        hdisk5&lt;br /&gt;Physloc               U5796.001.0620413-P1-C1-T1-W50001FE1501C6C69-L2000000000000&lt;br /&gt;Mirrored              false&lt;br /&gt;&lt;br /&gt;VTD                   vtopt0&lt;br /&gt;Status                Available&lt;br /&gt;LUN                   0x8100000000000000&lt;br /&gt;Backing device&lt;br /&gt;Physloc&lt;br /&gt;Mirrored              N/A&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and if the Virtual adapter is no longer needed:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ &lt;b&gt;rmdev -dev vtopt0&lt;/b&gt;&lt;br /&gt;vtopt0 deleted&lt;br /&gt;$ &lt;b&gt;lsmap -vadapter vhost1&lt;/b&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-369343211131392727?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/369343211131392727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2011/07/cloning-lpar-using-iso-via-vio-virtual.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/369343211131392727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/369343211131392727'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2011/07/cloning-lpar-using-iso-via-vio-virtual.html' title='Cloning an LPAR using an ISO via  VIO Virtual Media Library'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-6748198312043192053</id><published>2011-06-08T17:33:00.007+08:00</published><updated>2011-08-05T17:21:23.055+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='nagios'/><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>check_printq - AIX QUEUE MONITOR NRPE PLUGIN FOR NAGIOS</title><content type='html'>There are instances when some of our AIX printer queues encounter&lt;br /&gt;problems on their corresponding physical devices (most commonly paper&lt;br /&gt;supply) causing jobs to build up. Since I couldn't find one that will&lt;br /&gt;show the status the way I wanted to, I created a simple script called&lt;br /&gt;"check_printq".&lt;br /&gt;Its a crude one but it works. You can find the script below. &lt;br /&gt;&lt;br /&gt;tested on:&lt;br /&gt;AIX 5.3/6.1 with Version 2.5.x&lt;br /&gt;Nagios® Core™ 3.2.3 &lt;br /&gt;Icinga 1.3.1&lt;br /&gt;NRPE Version: 2.12&lt;br /&gt;&lt;br /&gt;&lt;b&gt;WHAT THE SCRIPT DOES&lt;/b&gt;&lt;br /&gt;it will monitor specific queues on the AIX machine. Since our NRPE&lt;br /&gt;setup was compiled without command argument processing, each monitored&lt;br /&gt;queue needs to be defined in the corresponding nrpe configuration.&lt;br /&gt;although the script can be used with arguments if your NRPE daemon&lt;br /&gt;supports it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DEFINING IT IN NRPE (AIX SIDE):&lt;/b&gt;&lt;br /&gt;edit:&lt;br /&gt;/opt/nagios/etc/nrpe_check_commands.cfg&lt;br /&gt;&lt;br /&gt;add:&lt;br /&gt;&lt;pre&gt;command[check_PTISAP11]=/opt/nagios/libexec/check_printq  -Q PTISAP11 -w 3 -c 10&lt;br /&gt;command[check_PTISAP05]=/opt/nagios/libexec/check_printq  -Q PTISAP05 -w 4 -c 5&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;reload nrpe daemon:&lt;br /&gt;&lt;br /&gt;kill -1 $PID&lt;br /&gt;or restart:&lt;br /&gt;/opt/nagios/sbin/nrpe -n -c /opt/nagios/etc/nrpe.cfg -d&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NAGIOS SERVER SIDE DEFINITION&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;define service{&lt;br /&gt;        hostgroup_name          AIX-TEST&lt;br /&gt;        service_description     PTISAP11&lt;br /&gt;        check_command           check_nrpe!check_PTISAP11&lt;br /&gt;        use                     template-service-test&lt;br /&gt;        }&lt;br /&gt;define service{&lt;br /&gt;        hostgroup_name          AIX-TEST&lt;br /&gt;        service_description     PTISAP05&lt;br /&gt;        check_command           check_nrpe!check_PTISAP05&lt;br /&gt;        use                     template-service-test&lt;br /&gt;        }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;save and do a syntax check;&lt;br /&gt;sudo nagios -v ../nagios.cfg&lt;br /&gt;&lt;br /&gt;and then reload nagios.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SAMPLE RESULTS&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;qchk -WA&lt;br /&gt;Queue                Dev            Status       Job Files              User         PP   %  Blks  Cp Rnk&lt;br /&gt;-------------------- -------------- --------- ------ ------------------ ---------- ---- --- ----- --- ---&lt;br /&gt;PTISAP11             hp@PTISAP11    DOWN&lt;br /&gt;                                    QUEUED      1193 STDIN.426216       root                    1   1   1&lt;br /&gt;PTISAP08             hp@PTISAP08    READY&lt;br /&gt;PTISAP0801           hp@PTISAP08    READY&lt;br /&gt;PTISAP05             hp@PTISAP05    READY&lt;br /&gt;PTISAP0501           hp@PTISAP05    READY&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;nagios image:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-635Ylf8cK6U/Te8_JDlmOVI/AAAAAAAAAXw/hGVUNpH7q2k/s1600/qprint02.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="31" src="http://4.bp.blogspot.com/-635Ylf8cK6U/Te8_JDlmOVI/AAAAAAAAAXw/hGVUNpH7q2k/s320/qprint02.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-vAhGJx1-Tsc/Te8_I_IdSDI/AAAAAAAAAXg/8hKK7Eq4jow/s1600/qprint01.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="31" src="http://2.bp.blogspot.com/-vAhGJx1-Tsc/Te8_I_IdSDI/AAAAAAAAAXg/8hKK7Eq4jow/s320/qprint01.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bvAIG-iLz-U/Te9C-AH3hNI/AAAAAAAAAX4/ek0b18GKYmA/s1600/qprint04.png" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="54" width="320" src="http://1.bp.blogspot.com/-bvAIG-iLz-U/Te9C-AH3hNI/AAAAAAAAAX4/ek0b18GKYmA/s320/qprint04.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;THE SCRIPT&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;#! /bin/sh&lt;br /&gt;#####&lt;br /&gt;#  check_printq - plugin to check AIX printer queues&lt;br /&gt;#  will show queue status and queue job number&lt;br /&gt;#  v1.2 - updated some queue checking codes&lt;br /&gt;####&lt;br /&gt;ECHO="/usr/bin/echo"&lt;br /&gt;QCHK="/usr/bin/qchk"&lt;br /&gt;GREP="/usr/bin/egrep"&lt;br /&gt;PROGNAME=`/usr/bin/basename $0`&lt;br /&gt;PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'`&lt;br /&gt;REVISION=`echo '$Revision: 1.2 $' | sed -e 's/[^0-9.]//g'`&lt;br /&gt;&lt;br /&gt;. $PROGPATH/utils.sh&lt;br /&gt;&lt;br /&gt;ShowUsage() {&lt;br /&gt;    echo "Usage: $PROGNAME -Q QueueName -w # -c #"&lt;br /&gt;    echo "Usage: $PROGNAME --help"&lt;br /&gt;    echo "Usage: $PROGNAME --version"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;ShowHelp() {&lt;br /&gt;    print_revision $PROGNAME $REVISION&lt;br /&gt;    echo ""&lt;br /&gt;    ShowUsage&lt;br /&gt;    echo ""&lt;br /&gt;    echo "AIX Qdaemon monitor for Nagios"&lt;br /&gt;    echo ""&lt;br /&gt;    support&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Make sure the correct number of command line&lt;br /&gt;# arguments have been supplied&lt;br /&gt;&lt;br /&gt;if [ $# -lt 1 ]; then&lt;br /&gt;    ShowUsage&lt;br /&gt;    exit $STATE_UNKNOWN&lt;br /&gt;fi&lt;br /&gt;# Grab the command line arguments&lt;br /&gt;exitstatus=$STATE_WARNING #default&lt;br /&gt;while test -n "$1"; do&lt;br /&gt;    case "$1" in&lt;br /&gt;        --help)&lt;br /&gt;            ShowHelp&lt;br /&gt;            exit $STATE_OK&lt;br /&gt;            ;;&lt;br /&gt;        -h)&lt;br /&gt;            ShowHelp&lt;br /&gt;            exit $STATE_OK&lt;br /&gt;            ;;&lt;br /&gt;        --version)&lt;br /&gt;            print_revision $PROGNAME $VERSION&lt;br /&gt;            exit $STATE_OK&lt;br /&gt;            ;;&lt;br /&gt;        -V)&lt;br /&gt;            print_revision $PROGNAME $VERSION&lt;br /&gt;            exit $STATE_OK&lt;br /&gt;            ;;&lt;br /&gt;        -Q)&lt;br /&gt;            qNAME=$2&lt;br /&gt;            shift&lt;br /&gt;            ;;&lt;br /&gt;        -w)&lt;br /&gt;            qWarnCount=$2&lt;br /&gt;           shift&lt;br /&gt;                ;;&lt;br /&gt;        -c)&lt;br /&gt;            qCritCount=$2&lt;br /&gt;           shift&lt;br /&gt;                ;;&lt;br /&gt;        *)&lt;br /&gt;            echo "Unknown argument: $1"&lt;br /&gt;            ShowUsage&lt;br /&gt;            exit $STATE_UNKNOWN&lt;br /&gt;        ;;&lt;br /&gt;esac&lt;br /&gt;shift&lt;br /&gt;done&lt;br /&gt;# check if valid printer queue&lt;br /&gt;qCheck=`${QCHK} -WP${qNAME} &gt; /dev/null 2&gt;&amp;1 ; echo $?`&lt;br /&gt;#invalid queue will spit code 64&lt;br /&gt;if [ ${qCheck} -ne 0 ]&lt;br /&gt;then&lt;br /&gt;#if not valid, exit&lt;br /&gt;        exit  $STATE_UNKNOWN&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# get jobcount and compare with threshold&lt;br /&gt;qJobCount=`${QCHK} -P${qNAME} | ${GREP} -c QUEUED`&lt;br /&gt;nSTATUS=$STATE_OK&lt;br /&gt;if [ ${qJobCount} -gt  ${qWarnCount} -a  ${qJobCount}  -lt ${qCritCount}  ]&lt;br /&gt;then&lt;br /&gt;        nSTATUS=$STATE_WARNING&lt;br /&gt;else&lt;br /&gt;  if [ ${qJobCount} -gt  ${qWarnCount} -o  ${qJobCount}  -gt ${qCritCount}  ]&lt;br /&gt;    then&lt;br /&gt;        nSTATUS=$STATE_CRITICAL&lt;br /&gt;  fi&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# check status if queue is DOWN, READY or RUNNING&lt;br /&gt;qSTAT=`${QCHK} -WP${qNAME} | ${GREP} ${qNAME} | awk '{print $3}'`&lt;br /&gt;case "${qSTAT}" in&lt;br /&gt;READY)&lt;br /&gt;    $ECHO "$qNAME is ${qSTAT} with [ ${qJobCount} ] queued Jobs"&lt;br /&gt;    exit $nSTATUS&lt;br /&gt;        ;;&lt;br /&gt;RUNNING)&lt;br /&gt;    $ECHO "$qNAME is ${qSTAT} with [ ${qJobCount} ] queued Jobs"&lt;br /&gt;    exit $nSTATUS&lt;br /&gt;        ;;&lt;br /&gt;DOWN)&lt;br /&gt;    $ECHO "$qNAME is ${qSTAT} with [ ${qJobCount} ] queued Jobs"&lt;br /&gt;    exit $STATE_CRITICAL&lt;br /&gt;        ;;&lt;br /&gt;*)&lt;br /&gt;        # any other state = unknown&lt;br /&gt;    ${ECHO} "[ ${qSTAT} ] queued Jobs with Unknown STATUS: ${qSTAT}"&lt;br /&gt;        nSTATUS=$STATE_UNKNOWN&lt;br /&gt;        exit $STATE_UNKNOWN&lt;br /&gt;        ;;&lt;br /&gt;esac&lt;br /&gt;    exit $nSTATUS&lt;br /&gt;## EOF&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;CHECKING THE SCRIPT&lt;/b&gt;&lt;br /&gt;checking from AIX side (local to the script):&lt;br /&gt;run it using:&lt;br /&gt;sh -x /opt/nagios/libexec/check_printq  -Q PTISAP11 -w 2 -c 10&lt;br /&gt;this will run the script in debug mode and will show you&lt;br /&gt;what exactly is happening.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;from nagios server side:&lt;br /&gt;[user@NAGIOS objects]$ /usr/lib64/nagios/plugins/check_nrpe  -H UX0017 -n -p 5666 -c check_PTISAP11; echo $?&lt;br /&gt;PTISAP11 is DOWN with [ 0 ] queued Jobs&lt;br /&gt;2&lt;br /&gt;&lt;br /&gt;[user@NAGIOS objects]$ /usr/lib64/nagios/plugins/check_nrpe  -H UX0017 -n -p 5666 -c check_PTISAP05; echo $?&lt;br /&gt;PTISAP05 is READY with [ 0 ] queued Jobs&lt;br /&gt;0&lt;br /&gt;&lt;br /&gt;this will verify the return codes needed for the monitoring based on the defined NAGIOS PLUGIN RETURN CODES.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Further reading:&lt;br /&gt;http://nagiosplug.sourceforge.net/developer-guidelines.html#PLUGOUTPUT&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-6748198312043192053?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/6748198312043192053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2011/06/checkprintq-aix-queue-monitor-nrpe.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/6748198312043192053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/6748198312043192053'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2011/06/checkprintq-aix-queue-monitor-nrpe.html' title='check_printq - AIX QUEUE MONITOR NRPE PLUGIN FOR NAGIOS'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-635Ylf8cK6U/Te8_JDlmOVI/AAAAAAAAAXw/hGVUNpH7q2k/s72-c/qprint02.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-8944942542574032990</id><published>2011-03-31T10:36:00.002+08:00</published><updated>2011-03-31T16:05:12.289+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>SOLARIS 10 x86 Jumpstart Server on GNU/Linux</title><content type='html'>okay i know this maybe a bit late but i'll post this anyway.&lt;br /&gt;i got too busy the past few months (translation: i got lazy :D).&lt;br /&gt;&lt;br /&gt;This is how I've set my Centos box for both kickstart and jumpstart.&lt;br /&gt;&lt;br /&gt;Centos machine is a kickstart Server for RHEL/CENTOS releases. &lt;br /&gt;i'll be using the same dhcp and tftp server to serve the Solaris&lt;br /&gt;installation.&lt;br /&gt;&lt;br /&gt;Jumpstart server:&lt;br /&gt;CENTOS 5.5&lt;br /&gt;&lt;br /&gt;SOLARIS 10 u8 target machines&lt;br /&gt;LX0050 - ProLiant BL460c G1 with Smart Array E200i controller&lt;br /&gt;LX0130 - HP ProLiant BL45p G1 Smart Array 6i Controller&lt;br /&gt;&lt;br /&gt;components of my JumpStart server:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DHCP server - dhcpd config&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;## start of /etc/dhcpd.conf&lt;br /&gt;authoritative;&lt;br /&gt;ddns-update-style none;&lt;br /&gt;allow booting;&lt;br /&gt;allow bootp;&lt;br /&gt;option grubmenu code 150 = text;&lt;br /&gt;&lt;br /&gt;subnet 10.129.6.0 netmask 255.255.255.0 {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option routers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.129.6.1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option subnet-mask&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 255.255.255.0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option domain-name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "mydomain.org";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option domain-name-servers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.129.8.11;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option ntp-servers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.129.8.19;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; range dynamic-bootp 10.129.6.101&amp;nbsp; 10.129.6.101;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default-lease-time 21600;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max-lease-time 43200;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option tftp-server-name "10.129.6.125";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;host LX0130.mydomain.org{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; next-server 10.129.6.125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hardware ethernet 00:16:35:C4:89:00;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fixed-address 10.129.6.74;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; filename "/solaris/pxegrub.sol10u8";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;host LX0050.mydomain.org{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; next-server 10.129.6.125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hardware ethernet 00:18:FE:30:C1:F2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fixed-address 10.129.6.201;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; filename "/solaris/pxegrub.sol10u8";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;## end of /etc/dhcpd.conf&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;TFTP server tree &lt;/b&gt;&lt;br /&gt;&lt;pre&gt;/tftpboot/&lt;br /&gt;|-- solaris&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- pxegrub.sol10u6&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- pxegrub.sol10u8&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- sol10u6.miniroot&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- sol10u6.multiboot&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- sol10u8.miniroot&lt;br /&gt;|&amp;nbsp;&amp;nbsp; `-- sol10u8.multiboot&lt;br /&gt;|-- menu.lst.01001635C48900&lt;br /&gt;`-- menu.lst.010018FE30C1F2&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;contents of /tftpboot/menu.lst.&amp;lt;MAC&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;## menu.lst.01001635C48900&lt;br /&gt;default=0&lt;br /&gt;timeout=4&lt;br /&gt;title Solaris_10 Jumpstart&lt;br /&gt;kernel /solaris/sol10u8.multiboot kernel/unix -v -m verbose&amp;nbsp; install w nfs://10.129.6.125/tools/solaris/sol10u8/config/LX0050.tar&amp;nbsp; -B install_media=10.129.6.125:/tools/solaris/sol10u8/image&lt;br /&gt;module /solaris/sol10u8.miniroot&lt;br /&gt;## end of&amp;nbsp; menu.lst.01001635C48900&lt;br /&gt;&lt;br /&gt;## menu.lst.010018FE30C1F2&lt;br /&gt;default=0&lt;br /&gt;timeout=4&lt;br /&gt;title Solaris_10 Jumpstart&lt;br /&gt;kernel /solaris/sol10u8.multiboot kernel/unix -v -m verbose&amp;nbsp; install w nfs://10.129.6.125/tools/solaris/sol10u8/config/LX0050.tar&amp;nbsp; -B install_media=10.129.6.125:/tools/solaris/sol10u8/image&lt;br /&gt;module /solaris/sol10u8.miniroot&lt;br /&gt;## end of menu.lst.010018FE30C1F2&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;- 01001635C48900 and 010018FE30C1F2 are MAC addresses of the first&lt;br /&gt;network interface for the machines i'm install with solaris:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- the *.miniroot and *.miniboot are from the image/boot of the Solaris 10 image.&lt;br /&gt;&lt;br /&gt;NOTE: installation for the HP proliant blades I use&amp;nbsp; require a modified miniroot files.&lt;br /&gt;I included the CPQary3 modules for the HP SMART Arrays. more details. pls follow these links:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://h20000.www2.hp.com/bc/docs/support/SupportManual/c01153970/c01153970.pdf?jumpid=reg_R1002_USEN"&gt;Solaris installation guide for HP proliant servers&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="ftp://ftp.hp.com/pub/softlib2/software1/pubsw-windows/p1220948930/v64640/HP_Smart_Array_Controller_Driver_User_Guide.pdf"&gt;for the smart array driver i use&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NFS (hosting Solaris installation image and installation scripts)&lt;/b&gt;&lt;br /&gt;here's an overview of the nfs tree i use for solaris:&lt;br /&gt;&lt;pre&gt;/tools/solaris/sol10u8/&lt;br /&gt;|-- config&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- LX0050.tar&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- LX0130.tar&lt;br /&gt;|&amp;nbsp;&amp;nbsp; `-- LXISAP0140.tar&lt;br /&gt;|-- image&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- Copyright&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- JDS-THIRDPARTYLICENSEREADME&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- License&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- Solaris_10&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- boot&lt;br /&gt;|&amp;nbsp;&amp;nbsp; `-- installer&lt;br /&gt;`-- share&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; |-- CPQary3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; `-- CPQary3.pkg&lt;br /&gt;&lt;/pre&gt;contents for /tools/solaris/sol10u8/image&lt;br /&gt;&lt;br /&gt;creating the solaris installation tree:&lt;br /&gt;&lt;br /&gt;create a&amp;nbsp; "/bin/bar" symlink to "/bin/tar" &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;ln -s /bin/tar /bin/bar&lt;br /&gt;ln -s /bin/sed /usr/bin/sed&lt;br /&gt;ln -s /usr/bin/gdb /usr/bin/adb&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and for the "mach" script:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;echo "#!/bin/bash" &amp;gt; /bin/mach&lt;br /&gt;echo "uname -p" &amp;gt;&amp;gt; /bin/mach&lt;br /&gt;chmod +x /bin/mach&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;from the downloaded solaris x86 ISO:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;sudo mount -o loop sol-10-u8-ga-x86-dvd.iso /mnt/iso&lt;br /&gt;ls -ltr /mnt/iso&lt;br /&gt;total 490&lt;br /&gt;-r--r--r-- 1 root root 487593 Aug 22&amp;nbsp; 2009 JDS-THIRDPARTYLICENSEREADME&lt;br /&gt;-r--r--r-- 1 root root&amp;nbsp;&amp;nbsp; 6582 Aug 22&amp;nbsp; 2009 Copyright&lt;br /&gt;-r-xr-xr-x 1 root root&amp;nbsp;&amp;nbsp;&amp;nbsp; 257 Sep 17&amp;nbsp; 2009 installer&lt;br /&gt;dr-xr-xr-x 2 root root&amp;nbsp;&amp;nbsp; 2048 Sep 17&amp;nbsp; 2009 License&lt;br /&gt;dr-xr-xr-x 7 root root&amp;nbsp;&amp;nbsp; 2048 Sep 17&amp;nbsp; 2009 Solaris_10&lt;br /&gt;dr-xr-xr-x 5 root root&amp;nbsp;&amp;nbsp; 2048 Sep 17&amp;nbsp; 2009 boot&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cd /mnt/iso/Solaris_10/Tools&lt;br /&gt;&lt;br /&gt;sudo ./setup_install_server /tools/solaris/sol10u8/image&lt;br /&gt;Verifying target directory...&lt;br /&gt;Calculating the required disk space for the Solaris_10 product&lt;br /&gt;|\b\c&lt;br /&gt;/\b\c&lt;br /&gt;-\b\c&lt;br /&gt;\ \b\b\c&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and wait for it to finish.&lt;br /&gt;&lt;br /&gt;my installation source tree looks like this:&lt;br /&gt;&lt;pre&gt;/tools/solaris/sol10u8/image&lt;br /&gt;|-- Copyright&lt;br /&gt;|-- JDS-THIRDPARTYLICENSEREADME&lt;br /&gt;|-- License&lt;br /&gt;|&amp;nbsp;&amp;nbsp; `-- 819-0764-10_SLA_Multi.pdf&lt;br /&gt;|-- Solaris_10&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- Docs&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- Misc&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- Patches&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- Product&lt;br /&gt;|&amp;nbsp;&amp;nbsp; `-- Tools&lt;br /&gt;|-- boot&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- amd64&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- grub&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- multiboot&lt;br /&gt;|&amp;nbsp;&amp;nbsp; |-- platform&lt;br /&gt;|&amp;nbsp;&amp;nbsp; `-- x86.miniroot&lt;br /&gt;`-- installer&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;contents for /tools/solaris/sol10u8/config/&lt;br /&gt;this serves the tar files of the automation files needed for the &lt;br /&gt;jumpstart installation:&lt;br /&gt;&lt;br /&gt;LX0050.tar&lt;br /&gt;LX0130.tar&lt;br /&gt;LXISAP0140.tar&lt;br /&gt;&lt;br /&gt;LX0050.tar has the following contents:&lt;br /&gt;&lt;br /&gt;tar tf LX0050.tar&lt;br /&gt;&lt;br /&gt;LX0050&lt;br /&gt;LX0050_post.sh&lt;br /&gt;rules&lt;br /&gt;rules.ok&lt;br /&gt;sysidcfg&lt;br /&gt;&lt;br /&gt;ff are the contents of the files.&lt;br /&gt;&lt;pre&gt;## LX0050&lt;br /&gt;install_type    initial_install&lt;br /&gt;system_type     standalone&lt;br /&gt;partitioning    explicit&lt;br /&gt;filesys c1t0d0s0 8192 /&lt;br /&gt;filesys c1t0d0s1 4096 /tmp&lt;br /&gt;filesys c1t0d0s4 8192 swap&lt;br /&gt;filesys c1t0d0s5 3000 /var&lt;br /&gt;filesys c1t0d0s6 5000 /usr&lt;br /&gt;filesys c1t0d0s7 4096 /u01&lt;br /&gt;# the packages here include those needed&lt;br /&gt;# for an oracle instllation&lt;br /&gt;#cluster SUNWCall&lt;br /&gt;cluster SUNWCrnet&lt;br /&gt;cluster SUNWCssh add&lt;br /&gt;package SUNWbash add&lt;br /&gt;package SUNWgss  add&lt;br /&gt;package SUNWarc add&lt;br /&gt;package SUNWbtool add&lt;br /&gt;package SUNWhea add&lt;br /&gt;package SUNWlibm add&lt;br /&gt;package SUNWlibms  add&lt;br /&gt;package UNWsprot add&lt;br /&gt;package SUNWtoo add&lt;br /&gt;package SUNWi1of add&lt;br /&gt;package SUNWi1cs add&lt;br /&gt;package SUNWi15cs add&lt;br /&gt;package SUNWxwfnt add&lt;br /&gt;package SUNWman add&lt;br /&gt;package SUNWdoc add&lt;br /&gt;package SUNWnfscr add&lt;br /&gt;package SUNWnfscu add&lt;br /&gt;package SUNWnfsckr add&lt;br /&gt;package SUNWdtrp add&lt;br /&gt;package SUNWdtrc add&lt;br /&gt;# tcp/ip tools&lt;br /&gt;package SUNWbip add&lt;br /&gt;# needed by Veritas SF&lt;br /&gt;package SUNWscpr add&lt;br /&gt;package SUNWscpu add&lt;br /&gt;package SUNWrcmdc add&lt;br /&gt;package SUNWtftp add&lt;br /&gt;package SUNWtnetc add&lt;br /&gt;package SUNWpool add&lt;br /&gt;package SUNWntpu add&lt;br /&gt;## end of LX0050&lt;br /&gt;&lt;br /&gt;## LX0050_post.sh&lt;br /&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;# Add packages&lt;br /&gt;BASE=/a&lt;br /&gt;MNT=/a/mnt&lt;br /&gt;ADMIN_FILE=/a/tmp/admin&lt;br /&gt;&lt;br /&gt;mkdir ${MNT}&lt;br /&gt;mount -f nfs 10.129.y.d:/tools/solaris/sol10u8/share/ ${MNT}&lt;br /&gt;cat &amp;gt;${ADMIN_FILE} &amp;lt;&amp;lt;DONT_ASK&lt;br /&gt;mail=root&lt;br /&gt;instance=overwrite&lt;br /&gt;partial=nocheck&lt;br /&gt;runlevel=nocheck&lt;br /&gt;idepend=nocheck&lt;br /&gt;rdepend=nocheck&lt;br /&gt;space=ask&lt;br /&gt;setuid=nocheck&lt;br /&gt;conflict=nocheck&lt;br /&gt;action=nocheck&lt;br /&gt;basedir=default&lt;br /&gt;DONT_ASK&lt;br /&gt;&lt;br /&gt;/usr/sbin/pkgadd -a ${ADMIN_FILE} -d ${MNT} -R ${BASE} CPQary3&lt;br /&gt;umount ${MNT}&lt;br /&gt;rmdir ${MNT}&lt;br /&gt;&lt;br /&gt;# Customize root's environment&lt;br /&gt;#&lt;br /&gt;echo "***adding customizations in /.cshrc"&lt;br /&gt;test -f /a/.cshrc || {&lt;br /&gt;cat &amp;gt;&amp;gt; /a/.cshrc &amp;lt;&amp;lt;EOF&lt;br /&gt;set history=100 savehist=200 filec ignoreeof prompt="\$user@`uname -n`&amp;gt; "&lt;br /&gt;alias cp cp -i&lt;br /&gt;alias mv mv -i&lt;br /&gt;alias rm rm -i&lt;br /&gt;alias ls ls -FC&lt;br /&gt;alias h history&lt;br /&gt;alias c clear&lt;br /&gt;unset autologout&lt;br /&gt;EOF&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;echo "***adding customizations in /etc/profile"&lt;br /&gt;test -f /a/.cshrc || {&lt;br /&gt;cat &amp;gt;&amp;gt; /a/.cshrc &amp;lt;&amp;lt;EOF&lt;br /&gt;set history=100 savehist=200 filec ignoreeof prompt="\$user@`uname -n`&amp;gt; "&lt;br /&gt;alias cp cp -i&lt;br /&gt;alias mv mv -i&lt;br /&gt;alias rm rm -i&lt;br /&gt;alias ls ls -FC&lt;br /&gt;alias h history&lt;br /&gt;alias c clear&lt;br /&gt;unset autologout&lt;br /&gt;EOF&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;### NET related&lt;br /&gt;echo "***adding network customizations..."&lt;br /&gt;# resolv.conf&lt;br /&gt;cat &amp;gt; /a/etc/resolv.conf &amp;lt;&amp;lt; EOF&lt;br /&gt;nameserver 10.129.x.a&lt;br /&gt;nameserver 10.129.x.b&lt;br /&gt;nameserver 10.129.x.3&lt;br /&gt;search mydomain.org&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;# motd and issue/.net&lt;br /&gt;cat &amp;gt; /a/etc/motd &amp;lt;&amp;lt; EOF&lt;br /&gt;----------------------------------&lt;br /&gt;Access to this system is strictly for authorized personnel only.&lt;br /&gt;If you are not authorized, please disconnect now!&lt;br /&gt;Any unauthorized access attempts shall be prosecuted.&lt;br /&gt;-----------------------------------&lt;br /&gt;&lt;br /&gt;EOF&lt;br /&gt;cat &amp;gt; /a/etc/issue &amp;lt;&amp;lt; EOF&lt;br /&gt;----------------------------------&lt;br /&gt;Access to this system is strictly for authorized personnel only.&lt;br /&gt;If you are not authorized, please disconnect now!&lt;br /&gt;Any unauthorized access attempts shall be prosecuted.&lt;br /&gt;-----------------------------------&lt;br /&gt;&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;# ssh&lt;br /&gt;/usr/bin/ed &amp;lt;&amp;lt;EOT /a/etc/ssh/sshd_config&lt;br /&gt;/^PermitRootLogin&lt;br /&gt;s/no/yes&lt;br /&gt;.&lt;br /&gt;w&lt;br /&gt;q&lt;br /&gt;EOT&lt;br /&gt;&lt;br /&gt;#this sets the second interface&lt;br /&gt;cat &gt; /a/etc/hostname.bge1 &lt;&lt; EOF&lt;br /&gt;192.168.100.130&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;cat &gt;&gt; /a/etc/hosts &lt;&lt; EOF&lt;br /&gt;192.168.100.50  node01&lt;br /&gt;192.168.100.130 node02&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;cat &gt;&gt; /a/etc/system &lt;&lt; EOF&lt;br /&gt;set lwp_default_stksize=0x6000&lt;br /&gt;set rpcmod:svc_default_stksize=0x6000&lt;br /&gt;EOF&lt;br /&gt;### end of NET related&lt;br /&gt;&lt;br /&gt;## end of LX0050_post.sh&lt;br /&gt;&lt;br /&gt;## rules&lt;br /&gt;hostname&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LX0050 -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LX0050 LX0050_post.sh&lt;br /&gt;any&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; any_machine LX0050_post.sh&lt;br /&gt;# version=2 checksum=num&lt;br /&gt;## end of rules&lt;br /&gt;&lt;br /&gt;# rules.ok = rules - this basically make sure&lt;br /&gt;# rules file is correct&lt;br /&gt;## rules.ok&lt;br /&gt;hostname&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LX0050 -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LX0050 LX0050_post.sh&lt;br /&gt;any&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; any_machine LX0050_post.sh&lt;br /&gt;# version=2 checksum=num&lt;br /&gt;## end of rules.ok&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# this automates most the basic stuff&lt;br /&gt;&lt;br /&gt;## sysidcfg&lt;br /&gt;system_locale=en_US&lt;br /&gt;keyboard=US-English&lt;br /&gt;terminal=xterms&lt;br /&gt;network_interface=PRIMARY&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {hostname=LX0050&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip_address=10.129.x.201&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default_route=10.129.x.1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; netmask=255.255.255.0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protocol_ipv6=no}&lt;br /&gt;security_policy=none&lt;br /&gt;name_service=DNS{ domain_name=mydomain.org&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name_server=10.129.8.11&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; search=mydomain.org}&lt;br /&gt;nfs4_domain=dynamic&lt;br /&gt;timezone=Singapore&lt;br /&gt;timeserver=localhost&lt;br /&gt;root_password=$1$8op9W$5kF3KWEmEJ8Du0fL/MIo31&lt;br /&gt;#keyboard=us101 {kbdfile=us101.kbd}&lt;br /&gt;## end of sysid cfg&lt;br /&gt;&lt;/pre&gt;once done with the automation files, put them in the tar filenamed LX0050.tar.add the ff to /etc/sysconfig/nfs:&lt;pre&gt;RPCNFSDARGS="--no-tcp --no-nfs-version 4"&lt;br /&gt;&lt;/pre&gt;and to /etc/exports:&lt;pre&gt;/tools/solaris LX0130(ro,no_root_squash) LX0050(ro,no_root_squash)&lt;br /&gt;&lt;/pre&gt;start the services:&lt;pre&gt;sudo /sbin/service dhcpd restart&lt;br /&gt;sudo /sbin/chkconfig tftp on&lt;br /&gt;sudo /sbin/service nfs restart&lt;br /&gt;&lt;/pre&gt;installation images:&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-jTP5iiNVyvg/TZPfqjcai2I/AAAAAAAAAW4/F6WG5vt7zZ0/s1600/linsoljstart00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/-jTP5iiNVyvg/TZPfqjcai2I/AAAAAAAAAW4/F6WG5vt7zZ0/s1600/linsoljstart00.png" width="320"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-AOqKHI0ztyM/TZPfrEQ0f3I/AAAAAAAAAW8/nq-lUyIqU3g/s1600/linsoljstart01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://4.bp.blogspot.com/-AOqKHI0ztyM/TZPfrEQ0f3I/AAAAAAAAAW8/nq-lUyIqU3g/s1600/linsoljstart01.png" width="320"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-FWQkZxElI74/TZPfrSpIu2I/AAAAAAAAAXA/rfc90arqDRg/s1600/linsoljstart02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/-FWQkZxElI74/TZPfrSpIu2I/AAAAAAAAAXA/rfc90arqDRg/s1600/linsoljstart02.png" width="320"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-cUv-dLoQars/TZPfryjdkDI/AAAAAAAAAXE/MAah5ogboxk/s1600/linsoljstart03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://4.bp.blogspot.com/-cUv-dLoQars/TZPfryjdkDI/AAAAAAAAAXE/MAah5ogboxk/s1600/linsoljstart03.png" width="320"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-UrOFvbFX0-A/TZPfsDIujEI/AAAAAAAAAXI/fvlwPd0o644/s1600/linsoljstart04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://4.bp.blogspot.com/-UrOFvbFX0-A/TZPfsDIujEI/AAAAAAAAAXI/fvlwPd0o644/s1600/linsoljstart04.png" width="320"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-f8UtlnUSH50/TZPfsXYgX9I/AAAAAAAAAXM/9Awe-GEPjKk/s1600/linsoljstart05.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/-f8UtlnUSH50/TZPfsXYgX9I/AAAAAAAAAXM/9Awe-GEPjKk/s1600/linsoljstart05.png" width="320"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-J9tYgp1NuXc/TZPfs_jFkFI/AAAAAAAAAXQ/8GHdQXWddVY/s1600/linsoljstart06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://3.bp.blogspot.com/-J9tYgp1NuXc/TZPfs_jFkFI/AAAAAAAAAXQ/8GHdQXWddVY/s1600/linsoljstart06.png" width="320"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-HoWh6Bol0r8/TZPftSXnUnI/AAAAAAAAAXU/rigo3upaP0g/s1600/linsoljstart07.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://3.bp.blogspot.com/-HoWh6Bol0r8/TZPftSXnUnI/AAAAAAAAAXU/rigo3upaP0g/s1600/linsoljstart07.png" width="320"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-KFDJpRskXsk/TZPftnJeoVI/AAAAAAAAAXY/qGP7Wc-VwEE/s1600/linsoljstart08.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://2.bp.blogspot.com/-KFDJpRskXsk/TZPftnJeoVI/AAAAAAAAAXY/qGP7Wc-VwEE/s1600/linsoljstart08.png" width="320"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-8944942542574032990?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/8944942542574032990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2011/03/solaris-10-x86-jumpstart-server-on.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/8944942542574032990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/8944942542574032990'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2011/03/solaris-10-x86-jumpstart-server-on.html' title='SOLARIS 10 x86 Jumpstart Server on GNU/Linux'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-jTP5iiNVyvg/TZPfqjcai2I/AAAAAAAAAW4/F6WG5vt7zZ0/s72-c/linsoljstart00.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-9016376771783927443</id><published>2010-12-22T11:27:00.001+08:00</published><updated>2010-12-22T11:37:18.416+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>PXE Booting Damn Small Linux</title><content type='html'>&lt;a href="http://www.damnsmalllinux.org/"&gt;Damn Small Linux&lt;/a&gt; is very compact Linux distribution. This howto shows how to boot a machine via PXE boot using DSL&lt;br /&gt;&lt;br /&gt;download the initrd ISO here:&lt;br /&gt;&lt;br /&gt;http://ftp.heanet.ie/mirrors/damnsmalllinux.org/current/&lt;br /&gt;http://ftp.heanet.ie/mirrors/damnsmalllinux.org/current/dsl-4.4.10-initrd.iso&lt;br /&gt;&lt;br /&gt;(Thanks to heanet.ie for the very fast mirror.)&lt;br /&gt;&lt;br /&gt;loopback mount the iso:&lt;br /&gt;&lt;br /&gt;sudo mount -o loop dsl-4.4.10-initrd.iso  /mnt/iso&lt;br /&gt;&lt;br /&gt;sudo cp -pR /mnt/iso /tftpboot/linux-install/DSL&lt;br /&gt;&lt;br /&gt;network settings&lt;br /&gt;dhcp/pxeboot server - ip: 192.168.1.1&lt;br /&gt;pxeclient - ip: 192.168.1.23&lt;br /&gt;mac address: 00:18:fe:30:d1:f4&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;in /etc/dhcpd.conf:&lt;br /&gt;&lt;pre&gt;#DSL boot&lt;br /&gt;host LX0050 {&lt;br /&gt;        next-server 192.168.1.1;&lt;br /&gt;        hardware ethernet  00:18:fe:30:d1:f4;&lt;br /&gt;        fixed-address 192.168.1.23;&lt;br /&gt;        filename "linux-install/pxelinux.0";&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;TFTP layout:&lt;br /&gt;&lt;pre&gt;/tftpboot/linux-install/DSL/&lt;br /&gt;|-- boot.cat&lt;br /&gt;|-- boot.msg&lt;br /&gt;|-- f2&lt;br /&gt;|-- f3&lt;br /&gt;|-- german.kbd&lt;br /&gt;|-- isolinux.bin&lt;br /&gt;|-- linux24&lt;br /&gt;|-- logo.16&lt;br /&gt;`-- minirt24.gz&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;in /tftpboot/linux-install/pxelinux.cfg/, i have a file named dsl.cfg&lt;br /&gt;with ff contents:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;PROMPT 1&lt;br /&gt;DISPLAY DSL/boot.msg&lt;br /&gt;F1 DSL/boot.msg&lt;br /&gt;F2 DSL/f2&lt;br /&gt;F3 DSL/f3&lt;br /&gt;LABEL dsl&lt;br /&gt;KERNEL DSL/linux24&lt;br /&gt;APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=DSL/minirt24.gz nomce noapic quiet BOOT_IMAGE=knoppix&lt;br /&gt;LABEL memtest&lt;br /&gt;KERNEL memtest&lt;br /&gt;APPEND initrd=&lt;br /&gt;LABEL dsl-txt&lt;br /&gt;KERNEL DSL/linux24&lt;br /&gt;APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=normal initrd=DSL/minirt24.gz nomce noapic quiet BOOT_IMAGE=knoppix&lt;br /&gt;LABEL expert&lt;br /&gt;KERNEL DSL/linux24&lt;br /&gt;APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=DSL/minirt24.gz nomce BOOT_IMAGE=expert&lt;br /&gt;LABEL fb1280x1024&lt;br /&gt;KERNEL DSL/linux24&lt;br /&gt;APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=794 xmodule=fbdev initrd=DSL/minirt24.gz nomce noapic quiet BOOT_IMAGE=knoppix&lt;br /&gt;LABEL fb1024x768&lt;br /&gt;KERNEL DSL/linux24&lt;br /&gt;APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 xmodule=fbdev initrd=DSL/minirt24.gz nomce noapic quiet BOOT_IMAGE=knoppix&lt;br /&gt;LABEL fb800x600&lt;br /&gt;KERNEL DSL/linux24&lt;br /&gt;APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=788 xmodule=fbdev initrd=DSL/minirt24.gz nomce noapic quiet BOOT_IMAGE=knoppix&lt;br /&gt;LABEL lowram&lt;br /&gt;KERNEL DSL/linux24&lt;br /&gt;APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=normal initrd=DSL/minirt24.gz noscsi noideraid nosound nousb nofirewire noicons minimal nomce noapic noapm quiet BOOT_IMAGE=knoppix&lt;br /&gt;LABEL install&lt;br /&gt;KERNEL DSL/linux24&lt;br /&gt;APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=normal initrd=DSL/minirt24.gz noscsi noideraid nosound nofirewire legacy base norestore _install_ nomce noapic noapm quiet BOOT_IMAGE=knoppix&lt;br /&gt;LABEL failsafe&lt;br /&gt;KERNEL DSL/linux24&lt;br /&gt;APPEND ramdisk_size=100000 init=/etc/init lang=us vga=normal atapicd nosound noscsi nousb nopcmcia nofirewire noagp nomce nodhcp xmodule=vesa initrd=DSL/minirt24.gz BOOT_IMAGE=knoppix&lt;br /&gt;LABEL userdef&lt;br /&gt;KERNEL DSL/linux24&lt;br /&gt;APPEND ###############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;these contents are from the isolinux.cfg file from the DSL ISO image&lt;br /&gt;with the linux24 and minirt24.gz path modified (notice the DSL/ entries&lt;br /&gt;in the lines above). of course, these paths may vary with your setup, so&lt;br /&gt;keep it in mind.&lt;br /&gt;this will show the menu as seen when booting DSL from a CD/DVD or ISO image.&lt;br /&gt;&lt;br /&gt;to prep the setup, the command sequence:&lt;br /&gt;&lt;br /&gt;as root:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;cd /tftpboot/linux-install/pxelinux.cfg&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;./iptohex.pl 192.168.1.23&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;IP address 192.168.1.23, converts to Hex: C0A80117&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;ln -fs dsl.cfg C0A80117&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;service dhcpd start&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;chkconfig tftp on&lt;/b&gt;&lt;/i&gt;  (or service xinetd restart)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and booting up the machine:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/TRFrLEUODdI/AAAAAAAAAUw/MZEQdxzATTI/s1600/dsl00.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="106" src="http://1.bp.blogspot.com/_5ILb082Zo70/TRFrLEUODdI/AAAAAAAAAUw/MZEQdxzATTI/s1600/dsl00.jpg" width="408"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5ILb082Zo70/TRFrL6WsrnI/AAAAAAAAAU0/-MnJBHvV2YY/s1600/dsl01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://2.bp.blogspot.com/_5ILb082Zo70/TRFrL6WsrnI/AAAAAAAAAU0/-MnJBHvV2YY/s1600/dsl01.jpg" width="320"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/TRFrMbB1qDI/AAAAAAAAAU4/biwdDDRz5hY/s1600/dsl02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="122" src="http://1.bp.blogspot.com/_5ILb082Zo70/TRFrMbB1qDI/AAAAAAAAAU4/biwdDDRz5hY/s1600/dsl02.jpg" width="412"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/TRFrNO7xyOI/AAAAAAAAAU8/RLCrQT9lqlg/s1600/dsl03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/_5ILb082Zo70/TRFrNO7xyOI/AAAAAAAAAU8/RLCrQT9lqlg/s1600/dsl03.jpg" width="320"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Credits:&lt;br /&gt;&lt;a href="http://www.sun.com/bigadmin/jsp/descFile.jsp?url=descAll/ip_to_hex"&gt;IPtoHex&lt;/a&gt; is a perl script from Yngve Berthelsen&lt;br /&gt;and downloaded from BigAdmin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-9016376771783927443?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/9016376771783927443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/12/pxe-booting-damn-small-linux.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/9016376771783927443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/9016376771783927443'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/12/pxe-booting-damn-small-linux.html' title='PXE Booting Damn Small Linux'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5ILb082Zo70/TRFrLEUODdI/AAAAAAAAAUw/MZEQdxzATTI/s72-c/dsl00.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-9027130708281012463</id><published>2010-11-29T11:28:00.002+08:00</published><updated>2010-12-02T15:26:11.541+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>RHEL4 kickstart for oracle 9i install</title><content type='html'>i missed posting part of my ks file for an oracle 9iR2 installation.&lt;br /&gt;this one is for a RH Enterprise Linux 4 (update 8 to be exact).&lt;br /&gt;also tested on Centos 4.x.&lt;br /&gt;&lt;br /&gt;you need to change:&lt;br /&gt;- NFS source entries&lt;br /&gt;- disk entry in the partition layout&lt;br /&gt;- network entries&lt;br /&gt;- shared memory entries (sysctl.conf)&lt;br /&gt;&lt;br /&gt;CAUTION: This will erase all data on the target disk!&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;### START of ks file&lt;br /&gt;&lt;br /&gt;install&lt;br /&gt;nfs --server=10.129.a.xyz --dir=/export/isapsys/redhat/RHEL4U8/x86_64&lt;br /&gt;lang en_US.UTF-8&lt;br /&gt;langsupport --default=en_US.UTF-8 en_US.UTF-8&lt;br /&gt;keyboard us&lt;br /&gt;skipx&lt;br /&gt;network --device eth0 --bootproto static --ip 10.129.a.bc --netmask 255.255.255.0 --gateway 10.129.x.1 --nameserver 10.129.x.yy --hostname LX0130&lt;br /&gt;# password is rootroot &lt;br /&gt;rootpw --iscrypted $1$2jq4s/$u/xCKr9Gpk.ynPy.V/LbW.&lt;br /&gt;firewall --disabled&lt;br /&gt;selinux --disabled&lt;br /&gt;authconfig --enableshadow --passalgo=md5&lt;br /&gt;timezone Asia/Shanghai&lt;br /&gt;reboot&lt;br /&gt;device scsi cciss&lt;br /&gt;clearpart --all --initlabel --drives=cciss/c0d0&lt;br /&gt;bootloader --location=mbr --driveorder=cciss/c0d0&lt;br /&gt;part /boot --fstype ext3 --size=250 --ondisk=cciss/c0d0 --asprimary&lt;br /&gt;part pv.17 --size=100 --grow --ondisk=cciss/c0d0 --asprimary&lt;br /&gt;volgroup vg00 --pesize=32768 pv.17&lt;br /&gt;logvol / --fstype ext3 --name=lvsys00 --vgname=vg00 --size=8192&lt;br /&gt;logvol swap --fstype swap --name=lvsys01 --vgname=vg00 --size=16384&lt;br /&gt;logvol /var --fstype ext3 --name=lvsys02 --vgname=vg00 --size=4096&lt;br /&gt;logvol /opt --fstype ext3 --name=lvsys03 --vgname=vg00 --size=1024&lt;br /&gt;logvol /tmp --fstype ext3 --name=lvsys04 --vgname=vg00 --size=2048&lt;br /&gt;logvol /home --fstype ext3 --name=lvsys05 --vgname=vg00 --size=1024&lt;br /&gt;logvol /apps --fstype ext3 --name=lvapps00 --vgname=vg00 --size=8192&lt;br /&gt;&lt;br /&gt;%packages&lt;br /&gt;e2fsprogs&lt;br /&gt;e2fsprogs.i386&lt;br /&gt;kernel&lt;br /&gt;kernel-devel&lt;br /&gt;kernel-largesmp&lt;br /&gt;kernel-largesmp-devel&lt;br /&gt;openssh-clients&lt;br /&gt;openssh-server&lt;br /&gt;postfix&lt;br /&gt;vnc-server&lt;br /&gt;device-mapper&lt;br /&gt;device-mapper-multipath&lt;br /&gt;net-snmp&lt;br /&gt;net-snmp-utils&lt;br /&gt;lm_sensors&lt;br /&gt;&lt;br /&gt;#oracle&lt;br /&gt;ntp&lt;br /&gt;strace&lt;br /&gt;libaio&lt;br /&gt;libaio-devel&lt;br /&gt;ncompress&lt;br /&gt;sg3_utils&lt;br /&gt;ncurses&lt;br /&gt;openssl&lt;br /&gt;openssl-devel&lt;br /&gt;openmotif&lt;br /&gt;openmotif21&lt;br /&gt;xorg-x11-deprecated-libs-devel&lt;br /&gt;xorg-x11-deprecated-libs&lt;br /&gt;#gnome-libs-devel&lt;br /&gt;sysstat&lt;br /&gt;compat-gcc-32&lt;br /&gt;compat-libstdc++-33&lt;br /&gt;compat-gcc-32-c++&lt;br /&gt;compat-libgcc-296&lt;br /&gt;compat-glibc-headers&lt;br /&gt;compat-glibc.x86_64&lt;br /&gt;libgcc&lt;br /&gt;libgcc.i386&lt;br /&gt;compat-libstdc++-296&lt;br /&gt;compat-db&lt;br /&gt;gcc&lt;br /&gt;gcc-c++&lt;br /&gt;glibc-devel&lt;br /&gt;glibc-devel.i386&lt;br /&gt;ncurses.i386&lt;br /&gt;compat-glibc.i386&lt;br /&gt;glibc.i686&lt;br /&gt;&lt;br /&gt;#java-1.4.2-gcj-compat&lt;br /&gt;# VNCserver requirements&lt;br /&gt;#xorg-x11- does not exist in RHEL5&lt;br /&gt;xorg-x11-twm&lt;br /&gt;xorg-x11-tools&lt;br /&gt;xterm&lt;br /&gt;screen&lt;br /&gt;sharutils&lt;br /&gt;pdksh&lt;br /&gt;krb5-libs&lt;br /&gt;krb5-libs.i386&lt;br /&gt;&lt;br /&gt;#nagios nrpe&lt;br /&gt;perl-Digest-HMAC&lt;br /&gt;perl-Digest-SHA1&lt;br /&gt;&lt;br /&gt;# remove&lt;br /&gt;-openldap&lt;br /&gt;-bluez-hcidump&lt;br /&gt;-bluez-bluefw&lt;br /&gt;-desktop-file-utils&lt;br /&gt;-irda-utils&lt;br /&gt;-nano&lt;br /&gt;-isdn4k-utils&lt;br /&gt;-NetworkManager&lt;br /&gt;-pcmcia-cs&lt;br /&gt;-switchdesk&lt;br /&gt;-kudzu&lt;br /&gt;-bluez-libs&lt;br /&gt;-rsh&lt;br /&gt;-redhat-menus&lt;br /&gt;-fontconfig&lt;br /&gt;-minicom&lt;br /&gt;-wpa_supplicant&lt;br /&gt;-bluez-utils&lt;br /&gt;-rp-pppoe&lt;br /&gt;-ppp&lt;br /&gt;-wvdial&lt;br /&gt;-gcc-java&lt;br /&gt;-libgcj-devel&lt;br /&gt;-java-1.4.2-gcj-compat&lt;br /&gt;-libgcj&lt;br /&gt;-gtk2&lt;br /&gt;-pango&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;%post&lt;br /&gt;# Modify DNS Search&lt;br /&gt;/bin/cat &amp;lt;&amp;lt;EOT &amp;gt; /etc/resolv.conf&lt;br /&gt;nameserver 10.129.x.y&lt;br /&gt;options attempts:5&lt;br /&gt;options timeout:15&lt;br /&gt;EOT&lt;br /&gt;&lt;br /&gt;# KERNEL PARAMS&lt;br /&gt;cat &amp;gt; /etc/sysctl.conf &amp;lt;&amp;lt; EOT&lt;br /&gt;net.ipv4.ip_forward = 0&lt;br /&gt;net.ipv4.conf.default.rp_filter = 1&lt;br /&gt;net.ipv4.conf.default.accept_source_route = 0&lt;br /&gt;kernel.sysrq = 0&lt;br /&gt;kernel.core_uses_pid = 1&lt;br /&gt;net.ipv4.ip_local_port_range = 1024 65000&lt;br /&gt;net.ipv4.tcp_syncookies = 1&lt;br /&gt;net.ipv4.conf.all.accept_redirects = 0&lt;br /&gt;net.ipv4.conf.all.rp_filter = 1&lt;br /&gt;net.ipv4.icmp_echo_ignore_broadcasts = 1&lt;br /&gt;net.ipv4.icmp_ignore_bogus_error_responses = 1&lt;br /&gt;net.ipv4.tcp_fin_timeout = 30&lt;br /&gt;net.ipv4.tcp_keepalive_time = 1800&lt;br /&gt;net.ipv4.tcp_sack = 0&lt;br /&gt;net.ipv4.tcp_timestamps = 0&lt;br /&gt;net.ipv4.tcp_window_scaling = 0&lt;br /&gt;kernel.shmall = 3617282&lt;br /&gt;kernel.shmmax = 14816389632&lt;br /&gt;kernel.shmmni = 4096&lt;br /&gt;kernel.sem = 1010 129280 1010 128&lt;br /&gt;net.core.rmem_default=262144&lt;br /&gt;net.core.wmem_default=262144&lt;br /&gt;net.core.rmem_max=4194304&lt;br /&gt;net.core.wmem_max=1048576&lt;br /&gt;vm.swappiness=40&lt;br /&gt;EOT&lt;br /&gt;&lt;br /&gt;# oracle user and groups&lt;br /&gt;/usr/sbin/groupadd -g 1001 dba&lt;br /&gt;/bin/mkdir /home/DBA&lt;br /&gt;/bin/chgrp -R dba /home/DBA&lt;br /&gt;# oracle pass - oracl3pass&lt;br /&gt;/usr/sbin/useradd -u 1001 -g dba -d '/home/DBA/oracle' -p '$1$AIlZX$tJxG2xWT8SfSOAPGjnhuu.' oracle&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Add hangcheck-timer module for RAC&lt;br /&gt;#echo "options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180" &amp;gt;&amp;gt; /etc/modprobe.conf&lt;br /&gt;#echo "modprobe hangcheck-timer" &amp;gt;&amp;gt; /etc/rc.local&lt;br /&gt;&lt;br /&gt;cat &amp;gt;&amp;gt; /etc/bashrc &amp;lt;&amp;lt; EOF&lt;br /&gt;alias rm='rm -i'&lt;br /&gt;alias cp='cp -i'&lt;br /&gt;alias mv='mv -i'&lt;br /&gt;set -o vi&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;# .bash_profile&lt;br /&gt;cat &amp;gt; /home/DBA/oracle/.bash_profile &amp;lt;&amp;lt; EOF&lt;br /&gt;# .bash_profile&lt;br /&gt;&lt;br /&gt;# Get the aliases and functions&lt;br /&gt;if [ -f ~/.bashrc ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . ~/.bashrc&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# User specific environment and startup programs&lt;br /&gt;export ORACLE_BASE=/apps/oracle&lt;br /&gt;export ORACLE_HOME=\${ORACLE_BASE}/product/9i&lt;br /&gt;export ORA_CRS_HOME=/apps/crs&lt;br /&gt;export ORACLE_PATH=\${ORACLE_BASE}/common/oracle/sql:.:\${ORACLE_HOME}/rdbms/admin&lt;br /&gt;export CV_JDKHOME=/usr/local/java&lt;br /&gt;export LD_ASSUME_KERNEL=2.4.19&lt;br /&gt;&lt;br /&gt;# Each RAC node must have a unique ORACLE_SID. (i.e. orcl1, orcl2,...)&lt;br /&gt;export ORACLE_SID=ISITEST&lt;br /&gt;&lt;br /&gt;export PATH=.:\${JAVA_HOME}/bin:${PATH}:$HOME/bin:\${ORACLE_HOME}/bin&lt;br /&gt;export PATH=\${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin&lt;br /&gt;export PATH=\${PATH}:\${ORACLE_BASE}/common/oracle/bin&lt;br /&gt;export ORACLE_TERM=xterm&lt;br /&gt;export TNS_ADMIN=\${ORACLE_HOME}/network/admin&lt;br /&gt;export ORA_NLS10=\${ORACLE_HOME}/nls/data&lt;br /&gt;export LD_LIBRARY_PATH=\${ORACLE_HOME}/lib&lt;br /&gt;export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:\${ORACLE_HOME}/oracm/lib&lt;br /&gt;export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib&lt;br /&gt;export CLASSPATH=\${ORACLE_HOME}/JRE&lt;br /&gt;export CLASSPATH=\${CLASSPATH}:\${ORACLE_HOME}/jlib&lt;br /&gt;export CLASSPATH=\${CLASSPATH}:\${ORACLE_HOME}/rdbms/jlib&lt;br /&gt;export CLASSPATH=\${CLASSPATH}:\${ORACLE_HOME}/network/jlib&lt;br /&gt;export THREADS_FLAG=native&lt;br /&gt;export TEMP=/tmp&lt;br /&gt;export TMPDIR=/tmp&lt;br /&gt;alias ls="ls -FA"&lt;br /&gt;set -o vi&lt;br /&gt;&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;# limits&lt;br /&gt;cat &amp;gt;&amp;gt; /etc/security/limits.conf &amp;lt;&amp;lt;EOF&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soft&amp;nbsp;&amp;nbsp;&amp;nbsp; nofile&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 65536&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hard&amp;nbsp;&amp;nbsp;&amp;nbsp; nofile&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101062&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soft&amp;nbsp;&amp;nbsp;&amp;nbsp; nproc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16384&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hard&amp;nbsp;&amp;nbsp;&amp;nbsp; nproc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101062&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soft&amp;nbsp;&amp;nbsp;&amp;nbsp; memlock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unlimited&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hard&amp;nbsp;&amp;nbsp;&amp;nbsp; memlock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unlimited&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;# vncserver stuff&lt;br /&gt;cat &amp;lt;&amp;lt; EOT &amp;gt; /opt/vnc_xstartup&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;# run vncserver and copy to your $HOME/.vnc/xstartup file&lt;br /&gt;# Uncomment the following two lines for normal desktop:&lt;br /&gt;# unset SESSION_MANAGER&lt;br /&gt;# exec /etc/X11/xinit/xinitrc&lt;br /&gt;&lt;br /&gt;[ -x /etc/vnc/xstartup ] &amp;amp;&amp;amp; exec /etc/vnc/xstartup&lt;br /&gt;[ -r $HOME/.Xresources ] &amp;amp;&amp;amp; xrdb $HOME/.Xresources&lt;br /&gt;xsetroot -solid grey&lt;br /&gt;vncconfig -iconic &amp;amp;&lt;br /&gt;xterm -geometry 130x30+12+12 -ls -bg black -fg green -title "$VNCDESKTOP Desktop" &amp;amp;&lt;br /&gt;mwm &amp;amp;&lt;br /&gt;EOT&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;### END of ks file&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-9027130708281012463?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/9027130708281012463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/11/rhel4-kickstart-for-oracle-9i-install.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/9027130708281012463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/9027130708281012463'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/11/rhel4-kickstart-for-oracle-9i-install.html' title='RHEL4 kickstart for oracle 9i install'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-3677987786079617382</id><published>2010-11-18T16:03:00.000+08:00</published><updated>2010-11-18T16:03:08.244+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>The Awesome Kinect</title><content type='html'>i'm taking a timeout just to express some excitement that I had&lt;br /&gt;yesterday (17 November Singapore) - i got KINECTed (if thats a term. :D)).&lt;br /&gt;&lt;br /&gt;there is a large crowd lining up to purchase the Kinect controller and the xbox 360 S package with kinect controller. got the controller for my old Xbox 360 from the pre-launch held&lt;br /&gt;at Plaza Singapura. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/TOTaS5CIhpI/AAAAAAAAATc/4ba5sd7Zqk0/s1600/kinect00.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/_5ILb082Zo70/TOTaS5CIhpI/AAAAAAAAATc/4ba5sd7Zqk0/s1600/kinect00.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5ILb082Zo70/TOTaPRPpBWI/AAAAAAAAATY/foMlKAXQT4k/s1600/kinect01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://2.bp.blogspot.com/_5ILb082Zo70/TOTaPRPpBWI/AAAAAAAAATY/foMlKAXQT4k/s1600/kinect01.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;the included game Kinect Adventures is pretty good.&lt;br /&gt;my son, athrun karl, is still learning to use it though.&lt;br /&gt;we've tried kinect joy ride two player mode - very nice (no pics/vids to post here&lt;br /&gt;though).&lt;br /&gt;&lt;br /&gt;I'm so awed by this gadget. And I believe the Kinect controller is a major breakthrough and the very one piece of technology that will re-shape how we interact with machines.&lt;br /&gt;I won't be surprised if Kinect usage becomes widespread outside the gaming world.&lt;br /&gt;could be very useful to help people with disability and also with robotics.&lt;br /&gt;&lt;br /&gt;maybe Sony (PS3) and Nintendo (Wii) should try to intergrate Kinect with their gaming consoles. frankly speaking - i've lost interest with Wii when i used the Kinect yesterday. good thing i never bought a wii. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-3677987786079617382?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/3677987786079617382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/11/awesome-kinect.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3677987786079617382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3677987786079617382'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/11/awesome-kinect.html' title='The Awesome Kinect'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5ILb082Zo70/TOTaS5CIhpI/AAAAAAAAATc/4ba5sd7Zqk0/s72-c/kinect00.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-4379233043983412528</id><published>2010-11-18T14:07:00.022+08:00</published><updated>2010-12-02T16:29:15.261+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>RHEL6 64-bit and Oracle 11g R2</title><content type='html'>ok so RH Enterprise Linux 6 has been released. I'm installing it to test an oracle 11g installation. included below is the kickstart script used.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;BIG CAUTION: ORACLE 11g (nor any other oracle versions afaik) is not certified (yet) to run on RHEL6. SO DON'T PUT THIS ON PRODUCTION.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;first issue encountered is the installation over NFS. my NFS RHEL6 sources are on anAIX 5L machine. and anaconda won't mount the export.&lt;br /&gt;&lt;br /&gt;i resorted to using an RHEL5U5 system to host the ISOs.&lt;br /&gt;&lt;br /&gt;here's the directory structure:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;/apps/erik/RHEL6/&lt;br /&gt;&lt;br /&gt;|-- i386&lt;br /&gt;|   |-- images&lt;br /&gt;|   |   |-- README&lt;br /&gt;|   |   |-- TRANS.TBL&lt;br /&gt;|   |   |-- install.img&lt;br /&gt;|   |   |-- product.img&lt;br /&gt;|   |   `-- pxeboot&lt;br /&gt;|   |-- rhel-server-6.0-i386-dvd.iso&lt;br /&gt;|   |-- rhel-server-supplementary-6.0-i386-dvd.iso&lt;br /&gt;|   `-- sha256sum.txt&lt;br /&gt;`-- x86_64&lt;br /&gt;    |-- images&lt;br /&gt;    |   |-- README&lt;br /&gt;    |   |-- TRANS.TBL&lt;br /&gt;    |   |-- efiboot.img&lt;br /&gt;    |   |-- efidisk.img&lt;br /&gt;    |   |-- install.img&lt;br /&gt;    |   |-- product.img&lt;br /&gt;    |   `-- pxeboot&lt;br /&gt;    |-- rhel-server-6.0-x86_64-dvd.iso&lt;br /&gt;    |-- rhel-server-supplementary-6.0-x86_64-dvd.iso&lt;br /&gt;    `-- sha256sum.txt&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;the "images" directory is copied from the server iso image. the nfs based installationwon't proceed without that directory. appears to be a mandatory requirement now for the NFS install.&lt;br /&gt;&lt;br /&gt;kickstart file used:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#START of ks file&lt;br /&gt;# Kickstart file automatically generated by anaconda.&lt;br /&gt;&lt;br /&gt;#version=RHEL6&lt;br /&gt;install&lt;br /&gt;nfs --server=LXISAP0050 --dir=/apps/erik/RHEL6/x86_64&lt;br /&gt;lang en_US.UTF-8&lt;br /&gt;keyboard us&lt;br /&gt;network --device eth0 --bootproto static --ip 10.a.b.c --netmask 255.255.255.0 --gateway 10.a.6.1 --nameserver 10.a.8.11 --hostname LX0130.local&lt;br /&gt;#r00tpassw0rd&lt;br /&gt;rootpw  --iscrypted $1$ib6Rr/$wuTR7.6MF4DalT4WdirT90&lt;br /&gt;# System services&lt;br /&gt;services --disabled="sendmail,xfs,bluetooth,kudzu,firstboot,cups,ip6tables"&lt;br /&gt;# Reboot after installation&lt;br /&gt;reboot&lt;br /&gt;firewall --disabled&lt;br /&gt;authconfig --enableshadow --passalgo=sha512 --enablefingerprint&lt;br /&gt;selinux --enforcing&lt;br /&gt;timezone --utc Asia/Singapore&lt;br /&gt;bootloader --location=mbr --driveorder=cciss/c0d0 --append="crashkernel=auto crashkernel=auto rhgb quiet" &lt;br /&gt;clearpart --linux --initlabel --drives=cciss/c0d0&lt;br /&gt;part /boot --fstype=ext4 --asprimary --size=200&lt;br /&gt;part pv.None --grow --size=200&lt;br /&gt;volgroup vg00 --pesize=16384 pv.None&lt;br /&gt;logvol / --fstype=ext4 --name=lvsys00 --vgname=vg00 --size=1024&lt;br /&gt;logvol swap --name=lvsys01 --vgname=vg00 --size=8192&lt;br /&gt;logvol /usr --fstype=ext4 --name=lvsys02 --vgname=vg00 --size=2048&lt;br /&gt;logvol /var --fstype=ext4 --name=lvsys03 --vgname=vg00 --size=1024&lt;br /&gt;logvol /opt --fstype=ext4 --name=lvsys04 --vgname=vg00 --size=1024&lt;br /&gt;#this will produce error during oracle install&lt;br /&gt;logvol /tmp --fstype ext4 --name=lvsys05 --vgname=vg00 --size=2048 --fsoptions=noexec,nodev&lt;br /&gt;logvol /home --fstype ext4 --name=lvsys06 --vgname=vg00 --size=1024&lt;br /&gt;logvol /apps --fstype ext4 --name=lvora00 --vgname=vg00 --size=2048 --grow&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;%packages&lt;br /&gt;@Base&lt;br /&gt;@Core&lt;br /&gt;@additional-devel&lt;br /&gt;@base&lt;br /&gt;@compat-libraries&lt;br /&gt;@console-internet&lt;br /&gt;@core&lt;br /&gt;@hardware-monitoring&lt;br /&gt;@legacy-software-support&lt;br /&gt;binutils&lt;br /&gt;compat-db gcc&lt;br /&gt;compat-gcc-34-c++&lt;br /&gt;compat-glibc&lt;br /&gt;compat-glibc-headers&lt;br /&gt;compat-glibc.i386&lt;br /&gt;compat-libgcc-296&lt;br /&gt;compat-libstdc++-296&lt;br /&gt;compat-libstdc++-33&lt;br /&gt;dejavu-lgc-fonts&lt;br /&gt;device-mapper&lt;br /&gt;device-mapper-event&lt;br /&gt;device-mapper-multipath&lt;br /&gt;e2fsprogs&lt;br /&gt;elfutils-libelf&lt;br /&gt;elfutils-libelf-devel&lt;br /&gt;gcc&lt;br /&gt;gcc-c++&lt;br /&gt;glibc&lt;br /&gt;glibc-common&lt;br /&gt;glibc-devel&lt;br /&gt;glibc-headers&lt;br /&gt;kernel&lt;br /&gt;libX11-devel&lt;br /&gt;libXext&lt;br /&gt;libXp&lt;br /&gt;libXt&lt;br /&gt;libXtst&lt;br /&gt;libXxf86dga&lt;br /&gt;libXxf86misc&lt;br /&gt;libaio&lt;br /&gt;libaio-devel&lt;br /&gt;libdmx&lt;br /&gt;libgcc&lt;br /&gt;libgcc.i386&lt;br /&gt;libstdc++&lt;br /&gt;libstdc++-devel&lt;br /&gt;make&lt;br /&gt;ncompress&lt;br /&gt;ncurses&lt;br /&gt;ncurses.i386&lt;br /&gt;ntp&lt;br /&gt;openmotif&lt;br /&gt;openssh-clients&lt;br /&gt;openssh-server&lt;br /&gt;pdksh&lt;br /&gt;postfix&lt;br /&gt;pyOpenSSL&lt;br /&gt;sg3_utils&lt;br /&gt;strace&lt;br /&gt;sysstat&lt;br /&gt;unixODBC&lt;br /&gt;unixODBC-devel&lt;br /&gt;vnc-server&lt;br /&gt;xorg-x11-deprecated-libs&lt;br /&gt;xorg-x11-deprecated-libs-devel&lt;br /&gt;xorg-x11-utils&lt;br /&gt;xterm&lt;br /&gt;yum&lt;br /&gt;-bluez-gnome&lt;br /&gt;-bluez-utils&lt;br /&gt;-firstboot-tui&lt;br /&gt;-ftp&lt;br /&gt;-irda-utils&lt;br /&gt;-nano&lt;br /&gt;-notification-daemon&lt;br /&gt;-openswan&lt;br /&gt;-pango&lt;br /&gt;-ppp&lt;br /&gt;-rdist&lt;br /&gt;-rp-pppoe&lt;br /&gt;-rsh&lt;br /&gt;-setserial&lt;br /&gt;-talk&lt;br /&gt;-usbutils&lt;br /&gt;-wireless-tools&lt;br /&gt;-wpa_supplicant&lt;br /&gt;%end&lt;br /&gt;&lt;br /&gt;%post --log=/root/ks-post.log&lt;br /&gt;{&lt;br /&gt;#~-&amp;gt; Remove GRUB's splash image&lt;br /&gt;/bin/ed &amp;lt;&lt;eot #splashimage="" #~-="" .="" 1,$="" ^splashimage="" eot="" etc="" grub.conf="" s="" wq=""&gt; User limits&lt;br /&gt;ed /etc/security/limits.conf &amp;lt;&amp;lt; EOF&lt;br /&gt;$&lt;br /&gt;.a&lt;br /&gt;oracle       soft    nofile          65536&lt;br /&gt;oracle       hard    nofile          101062&lt;br /&gt;oracle       soft    nproc           16384&lt;br /&gt;oracle       hard    nproc           101062&lt;br /&gt;.&lt;br /&gt;w&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;#kernel params&lt;br /&gt;/bin/cat &amp;lt;&lt;eof_sysctl&gt; /etc/sysctl.conf&lt;br /&gt;net.ipv4.ip_forward = 0&lt;br /&gt;net.ipv4.conf.default.rp_filter = 1&lt;br /&gt;net.ipv4.conf.default.accept_source_route = 0&lt;br /&gt;kernel.sysrq = 0&lt;br /&gt;kernel.core_uses_pid = 1&lt;br /&gt;net.ipv4.ip_local_port_range = 9000 65500&lt;br /&gt;net.ipv4.tcp_syncookies = 1&lt;br /&gt;net.ipv4.conf.all.accept_redirects = 0&lt;br /&gt;net.ipv4.conf.all.rp_filter = 1&lt;br /&gt;net.ipv4.icmp_echo_ignore_broadcasts = 1&lt;br /&gt;net.ipv4.icmp_ignore_bogus_error_responses = 1&lt;br /&gt;net.ipv4.tcp_fin_timeout = 30&lt;br /&gt;net.ipv4.tcp_keepalive_time = 1800&lt;br /&gt;net.ipv4.tcp_sack = 0&lt;br /&gt;net.ipv4.tcp_timestamps = 0&lt;br /&gt;net.ipv4.tcp_window_scaling = 0&lt;br /&gt;fs.file-max = 6815744&lt;br /&gt;kernel.shmall = 10523004&lt;br /&gt;kernel.shmmax = 6465333657&lt;br /&gt;kernel.shmmni = 4096&lt;br /&gt;kernel.sem = 250 32000 100 128&lt;br /&gt;net.core.rmem_default=262144&lt;br /&gt;net.core.wmem_default=262144&lt;br /&gt;net.core.rmem_max=4194304&lt;br /&gt;net.core.wmem_max=1048576&lt;br /&gt;fs.aio-max-nr = 1048576&lt;br /&gt;EOF_sysctl&lt;br /&gt;&lt;br /&gt;/bin/chown root:root /etc/sysctl.conf&lt;br /&gt;/bin/chmod 0600 /etc/sysctl.conf&lt;br /&gt;/sbin/sysctl -p&lt;br /&gt;&lt;br /&gt;# create group&lt;br /&gt;/usr/sbin/groupadd -g 306 dba&lt;br /&gt;/bin/mkdir --mode=0750 /home/dba&lt;br /&gt;chgrp dba /home/dba&lt;br /&gt;# temp password - oracl3pass&lt;br /&gt;/usr/sbin/useradd -c 'oracle user' -d /home/dba/oracle -u 306 -p '$1$diNEr/$gu0FHftsYmIm/T6PT9yIN/' -g dba -G dba   oracle&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# oracle user .bash_profile&lt;br /&gt;cat &amp;gt; /home/dba/oracle/.bash_profile &amp;lt;&amp;lt; EOF&lt;br /&gt;# .bash_profile&lt;br /&gt;&lt;br /&gt;# Get the aliases and functions&lt;br /&gt;if [ -f ~/.bashrc ]; then&lt;br /&gt;      . ~/.bashrc&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# User specific environment and startup programs&lt;br /&gt;export ORACLE_BASE=/apps/oracle&lt;br /&gt;export ORACLE_HOME=\${ORACLE_BASE}/product/11g/&lt;br /&gt;export ORA_CRS_HOME=/apps/crs&lt;br /&gt;export ORACLE_PATH=\${ORACLE_BASE}/common/oracle/sql:.:\${ORACLE_HOME}/rdbms/admin&lt;br /&gt;export CV_JDKHOME=/usr/local/java&lt;br /&gt;# Each RAC node must have a unique ORACLE_SID. (i.e. orcl1, orcl2,...)&lt;br /&gt;export ORACLE_SID=ISITEST&lt;br /&gt;export PATH=.:\${JAVA_HOME}/bin:${PATH}:$HOME/bin:\${ORACLE_HOME}/bin&lt;br /&gt;export PATH=\${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin&lt;br /&gt;export PATH=\${PATH}:\${ORACLE_BASE}/common/oracle/bin&lt;br /&gt;export ORACLE_TERM=xterm&lt;br /&gt;export TNS_ADMIN=\${ORACLE_HOME}/network/admin&lt;br /&gt;export ORA_NLS10=\${ORACLE_HOME}/nls/data&lt;br /&gt;export LD_LIBRARY_PATH=\${ORACLE_HOME}/lib&lt;br /&gt;export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:\${ORACLE_HOME}/oracm/lib&lt;br /&gt;export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib&lt;br /&gt;export CLASSPATH=\${ORACLE_HOME}/JRE&lt;br /&gt;export CLASSPATH=\${CLASSPATH}:\${ORACLE_HOME}/jlib&lt;br /&gt;export CLASSPATH=\${CLASSPATH}:\${ORACLE_HOME}/rdbms/jlib&lt;br /&gt;export CLASSPATH=\${CLASSPATH}:\${ORACLE_HOME}/network/jlib&lt;br /&gt;export THREADS_FLAG=native&lt;br /&gt;export TEMP=/tmp&lt;br /&gt;export TMPDIR=/tmp&lt;br /&gt;alias ls="ls -FA"&lt;br /&gt;set -o vi&lt;br /&gt;EOF&lt;br /&gt;# end oracle profile&lt;br /&gt;chown -R oracle.dba /apps&lt;br /&gt;%end&lt;br /&gt;} 1&amp;gt;/root/ks-post.log 2&amp;gt;&amp;amp;1&lt;br /&gt;##END of kickstart file&lt;br /&gt;&lt;/eof_sysctl&gt;&lt;/eot&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;AFTER RHEL6 Install&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;[root@LX0130 /]# uname -a&lt;br /&gt;Linux LX0130.isap.asia.cib 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux&lt;br /&gt;&lt;br /&gt;[root@LX0130 /]# cat /etc/redhat-release&lt;br /&gt;Red Hat Enterprise Linux Server release 6.0 (Santiago)&lt;br /&gt;&lt;br /&gt;[root@LX0130 /]# df -Ph | column -t&lt;br /&gt;Filesystem                Size   Used  Avail  Use%  Mounted   on&lt;br /&gt;/dev/mapper/vg00-lvsys00  1008M  203M  754M   22%   /&lt;br /&gt;tmpfs                     1.9G   0     1.9G   0%    /dev/shm&lt;br /&gt;/dev/cciss/c0d0p1         194M   25M   159M   14%   /boot&lt;br /&gt;/dev/mapper/vg00-lvsys06  1008M  34M   924M   4%    /home&lt;br /&gt;/dev/mapper/vg00-lvsys04  1008M  34M   924M   4%    /opt&lt;br /&gt;/dev/mapper/vg00-lvsys05  2.0G   68M   1.9G   4%    /tmp&lt;br /&gt;/dev/mapper/vg00-lvsys02  2.0G   1.5G  471M   76%   /usr&lt;br /&gt;/dev/mapper/vg00-lvsys03  1008M  92M   866M   10%   /var&lt;br /&gt;/dev/mapper/vg00-lvora00  51G    180M  49G    1%    /apps&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;the kickstart install sets an oracle user and needed environment for&lt;br /&gt;an 11g installation. my oracle11g sources are hosted on an AIX 5L machine&lt;br /&gt;(UX0027). installation will be done via vnc session.&lt;br /&gt;&lt;br /&gt;the usual nfs mounting procedure won't work. it spits out an error:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;mount.nfs   UX0027:/export/isapsys/oracle11g /mnt/nfs   -v&lt;br /&gt;mount.nfs: timeout set for Tue Nov 16 14:36:19 2010&lt;br /&gt;mount.nfs: trying text-based options 'vers=4,addr=UX0027,clientaddr=LX013'&lt;br /&gt;mount.nfs: mount(2): Remote I/O error&lt;br /&gt;mount.nfs: Remote I/O error&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;the fix is to use v3 or v2 option:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;[root@LX0130 ~]# mount.nfs   UX0027:/export/isapsys/oracle11g /mnt/nfs -o v3&lt;br /&gt;[root@LX0130 ~]# ls /mnt/nfs&lt;br /&gt;AIX  AIXclient  Linux64  Linuxclient  linux.x64_11gR1_database_1013.zip&lt;br /&gt;[root@LX0130 ~]#&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Installation of Oracle 11g R2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;in a vnc session, running runInstaller encountered a permission denied&lt;br /&gt;error due to the mount optins of /tmp:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;/dev/mapper/vg00-lvsys05 on /tmp type ext4 (rw,noexec,nodev)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;to fix (just for the install)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;[root@LX0130 ~]# mount -o exec,remount /tmp&lt;br /&gt;[root@LX0130 ~]# mount | grep /tmp&lt;br /&gt;/dev/mapper/vg00-lvsys05 on /tmp type ext4 (rw,nodev)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;install then started but encountered another error during a pre-req&lt;br /&gt;check - there are "missing" packages:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;libaio-0.3.105&lt;br /&gt;compat-libstdc++-33-3.2.3&lt;br /&gt;libaio-devel-0.3.105&lt;br /&gt;libgcc-3.4.6&lt;br /&gt;libstdc++-3.4.6&lt;br /&gt;unixODBC-2.2.11&lt;br /&gt;unixODBC-devel-2.2.11&lt;br /&gt;pdksh-5.2.14&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;these packages are old versions. RHEL6 ships with the following:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;libaio-0.3.107-10.el6.x86_64&lt;br /&gt;libaio-0.3.107-10.el6.i686&lt;br /&gt;libaio-devel-0.3.107-10.el6.x86_64&lt;br /&gt;libaio-devel-0.3.107-10.el6.i686&lt;br /&gt;compat-libstdc++-33-3.2.3-69.el6.x86_64&lt;br /&gt;compat-libstdc++-33-3.2.3-69.el6.i686&lt;br /&gt;libgcc-4.4.4-13.el6.x86_64&lt;br /&gt;libgcc-4.4.4-13.el6.i686&lt;br /&gt;unixODBC-2.2.14-11.el6.x86_64&lt;br /&gt;unixODBC-devel-2.2.14-11.el6.x86_64&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;(these packages will be installed by the kickstart file above).&lt;br /&gt;&lt;br /&gt;pdksh is no longer part of rhel6. i did install the following:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;ksh-20100621-2.el6.x86_64&lt;br /&gt;mksh-39-4.el6.x86_64&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So i chose "Ignore All" and continued the installation. it finished with&lt;br /&gt;no additional complaints.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/TOTBgpiEoMI/AAAAAAAAATQ/UwxFiBHV_RQ/s1600/rhel6ora11ginstall10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/_5ILb082Zo70/TOTBgpiEoMI/AAAAAAAAATQ/UwxFiBHV_RQ/s1600/rhel6ora11ginstall10.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5ILb082Zo70/TOTCfo3wJgI/AAAAAAAAATU/s73FKwYMMKc/s1600/rhel6ora11ginstall14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://2.bp.blogspot.com/_5ILb082Zo70/TOTCfo3wJgI/AAAAAAAAATU/s73FKwYMMKc/s1600/rhel6ora11ginstall14.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre&gt;[oracle@LX0130 ~]$ env | grep ORA&lt;br /&gt;ORA_CRS_HOME=/apps/crs&lt;br /&gt;ORACLE_PATH=/apps/oracle/common/oracle/sql:.:/apps/oracle/product/11g//rdbms/admin&lt;br /&gt;ORA_NLS10=/apps/oracle/product/11g//nls/data&lt;br /&gt;ORACLE_SID=ISITEST&lt;br /&gt;ORACLE_BASE=/apps/oracle&lt;br /&gt;ORACLE_TERM=xterm&lt;br /&gt;ORACLE_HOME=/apps/oracle/product/11g/&lt;br /&gt;[oracle@LX0130 ~]$ which sqlplus&lt;br /&gt;/apps/oracle/product/11g/bin/sqlplus&lt;br /&gt;[oracle@LX0130 ~]$ sqlplus -v&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 11.2.0.1.0 Production&lt;br /&gt;&lt;br /&gt;[oracle@LX0130 ~]$&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;hth.&lt;br /&gt;&lt;br /&gt;update (in reference of comments below from Bob):&lt;br /&gt;&lt;br /&gt;i did a re-install. this time with a database created. it proceeded with no problems. haven't tried doing it manually AFTER oracle SW only installation.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5ILb082Zo70/TPdV-PWeHWI/AAAAAAAAATg/Iy-B5bzgE8I/s1600/rhel611gwithDBinstall01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://2.bp.blogspot.com/_5ILb082Zo70/TPdV-PWeHWI/AAAAAAAAATg/Iy-B5bzgE8I/s1600/rhel611gwithDBinstall01.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5ILb082Zo70/TPdWAMerPdI/AAAAAAAAATk/W0-XxPf5KZQ/s1600/rhel611gwithDBinstall02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://4.bp.blogspot.com/_5ILb082Zo70/TPdWAMerPdI/AAAAAAAAATk/W0-XxPf5KZQ/s1600/rhel611gwithDBinstall02.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5ILb082Zo70/TPdYaaoABxI/AAAAAAAAATs/Z6pAIFFtaFE/s1600/rhel611gwithDBinstall03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://3.bp.blogspot.com/_5ILb082Zo70/TPdYaaoABxI/AAAAAAAAATs/Z6pAIFFtaFE/s1600/rhel611gwithDBinstall03.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-4379233043983412528?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/4379233043983412528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/11/rhel6-64-bit-and-oracle-11g-r2.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/4379233043983412528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/4379233043983412528'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/11/rhel6-64-bit-and-oracle-11g-r2.html' title='RHEL6 64-bit and Oracle 11g R2'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5ILb082Zo70/TOTBgpiEoMI/AAAAAAAAATQ/UwxFiBHV_RQ/s72-c/rhel6ora11ginstall10.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-5301128876057161991</id><published>2010-11-10T10:14:00.000+08:00</published><updated>2010-11-10T10:14:31.954+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>vncserver not accessible/won't start in AIX 6.1</title><content type='html'>after installing vncserver under AIX 6.1 (TL3), vncserver won't run properly to accept incoming vncviewer connections.&lt;br /&gt;&lt;br /&gt;NOTE: vncserver version here is rather old - so be warned.&lt;br /&gt;&lt;br /&gt;from the logfile in user's $HOME/.vnc/ directory:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;29/10/10 14:22:47 Xvnc version 3.3.3r2&lt;br /&gt;29/10/10 14:22:47 Copyright (C) AT&amp;amp;T Laboratories Cambridge.&lt;br /&gt;29/10/10 14:22:47 All Rights Reserved.&lt;br /&gt;29/10/10 14:22:47 See http://www.uk.research.att.com/vnc for information on VNC&lt;br /&gt;29/10/10 14:22:47 Desktop name 'X' (DEMETER:1)&lt;br /&gt;29/10/10 14:22:47 Protocol version supported 3.3&lt;br /&gt;29/10/10 14:22:47 Listening for VNC connections on TCP port 5901&lt;br /&gt;29/10/10 14:22:47 Listening for HTTP connections on TCP port 5801&lt;br /&gt;29/10/10 14:22:47   URL http://DEMETER:5801&lt;br /&gt;Font directory '/usr/lib/X11/fonts/Speedo/' not found - ignoring&lt;br /&gt;&lt;br /&gt;Fatal server error:&lt;br /&gt;could not open default font 'fixed'&lt;br /&gt;xrdb: A remote host refused an attempted connect operation.&lt;br /&gt;1356-605 xrdb: Can't open display 'DEMETER:1'&lt;br /&gt;1356-265 xsetroot:  Unable to open display:  DEMETER:1.&lt;br /&gt;xterm Xt error: Can't open display: DEMETER:1&lt;br /&gt;twm:  unable to open display "DEMETER:1"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;solution was to edit the script /usr/bin/X11/vncserver&lt;br /&gt;&lt;br /&gt;and add this line (in my system its in line 151:&lt;br /&gt;&lt;pre&gt;$cmd .= " -fp /usr/lib/X11/fonts/,/usr/lib/X11/fonts/misc/";&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;after saving the changes and starting vncserver:&lt;br /&gt;&lt;pre&gt;29/10/10 14:44:03 Xvnc version 3.3.3r2&lt;br /&gt;29/10/10 14:44:03 Copyright (C) AT&amp;amp;T Laboratories Cambridge.&lt;br /&gt;29/10/10 14:44:03 All Rights Reserved.&lt;br /&gt;29/10/10 14:44:03 See http://www.uk.research.att.com/vnc for information on VNC&lt;br /&gt;29/10/10 14:44:03 Desktop name 'X' (DEMETER:1)&lt;br /&gt;29/10/10 14:44:03 Protocol version supported 3.3&lt;br /&gt;29/10/10 14:44:03 Listening for VNC connections on TCP port 5901&lt;br /&gt;29/10/10 14:44:03 Listening for HTTP connections on TCP port 5801&lt;br /&gt;29/10/10 14:44:03   URL http://DEMETER:5801&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;i can now access the vnc session.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ps -ef | grep vnc&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;user04 4644886 6135868   1 14:47:24  pts/0  0:00 grep vnc&lt;br /&gt;  user04 6004822       1   0 14:44:02  pts/0  0:04 Xvnc :1 -desktop X -httpd /usr/local/vnc/classes -auth /home/admin/user04/.Xauthority -geometry 1024x768 -depth 8 -rfbwait 120000 -rfbauth /home/admin/user04/.vnc/passwd -rfbport 5901 -fp /usr/lib/X11/fonts/,/usr/lib/X11/fonts/misc/&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-5301128876057161991?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/5301128876057161991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/11/vncserver-not-accessiblewont-start-in.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5301128876057161991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5301128876057161991'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/11/vncserver-not-accessiblewont-start-in.html' title='vncserver not accessible/won&apos;t start in AIX 6.1'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-2275528814382286674</id><published>2010-11-10T10:07:00.001+08:00</published><updated>2010-11-10T10:09:52.387+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>installing vncserver in AIX 6.1</title><content type='html'>installing vncserver rpm (this is an outdated version) complaints of some dependency problems:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;root@DEMETER]# rpm -ivh vnc-3.3.3r2-3.aix5.1.ppc.rpm&lt;br /&gt;error: failed dependencies:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libX11.a(shr4.o) is needed by vnc-3.3.3r2-3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libXext.a(shr.o) is needed by vnc-3.3.3r2-3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libXt.a(shr4.o) is needed by vnc-3.3.3r2-3&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;even if the libraries are already there.&lt;br /&gt;&lt;br /&gt;to fix:&lt;br /&gt;&lt;br /&gt;run &lt;br /&gt;&lt;br /&gt;&lt;b&gt;/usr/sbin/updtvpkg&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;[root@DEMETER]# &lt;b&gt;/usr/sbin/updtvpkg&lt;/b&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;Please wait...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@DEMETER]# rpm -ivh vnc-3.3.3r2-3.aix5.1.ppc.rpm&lt;br /&gt;vnc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #################################################################&lt;/pre&gt;&lt;br /&gt;$ &lt;b&gt;vncserver&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;1356-364 xauth:&amp;nbsp; creating new authority file /home/DBA/oracle/.Xauthority&lt;br /&gt;&lt;br /&gt;New 'X' desktop is DEMETER:1&lt;br /&gt;&lt;br /&gt;Creating default startup script /home/DBA/oracle/.vnc/xstartup&lt;br /&gt;Starting applications specified in /home/DBA/oracle/.vnc/xstartup&lt;br /&gt;Log file is /home/DBA/oracle/.vnc/DEMETER:1.log&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-2275528814382286674?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/2275528814382286674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/11/installing-vncserver-in-aix-61.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/2275528814382286674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/2275528814382286674'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/11/installing-vncserver-in-aix-61.html' title='installing vncserver in AIX 6.1'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-28016280001159505</id><published>2010-08-24T09:54:00.001+08:00</published><updated>2010-08-24T10:11:06.259+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>AIX 5L IPSec (packet filtering)</title><content type='html'>This short howto sets an ipsec Filter that allows all connections by default&lt;br /&gt;and then how to create rule to block certain hosts and ports.&lt;br /&gt;&lt;br /&gt;This is tested on two TLs:&lt;br /&gt;&lt;br /&gt;5300-12-01-1016&lt;br /&gt;5300-08-07-0920&lt;br /&gt;&lt;br /&gt;Default installation of AIX 5L has IPSec disabled:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;lsfilt -a -v4 -O&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Can not open device /dev/ipsec4_filt.&lt;br /&gt;&lt;br /&gt;to Start IPSEc, use smitty:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;smitty ipsec4&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Select Start/Stop IP SEcurity &amp;gt; Start IPsecurity&lt;br /&gt;Deny All Non_Secure IP Packets                     [no]&lt;br /&gt;&lt;br /&gt;then ENTER, this will set default to PERMIT.&lt;br /&gt;the filter will then look like the ff by default:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;lsfilt -a -v4 -O&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;1|*** Dynamic filter placement rule for IKE tunnels ***|no&lt;br /&gt;2|permit|0.0.0.0|0.0.0.0|0.0.0.0|0.0.0.0|yes|all|any|0|any|0|both|both|no|all packets|0|all|0|||&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;now to edit the ruleset, export default rule to a file:&lt;br /&gt;&lt;br /&gt;(NOTE: i only ran the export command so i can have the param names)&lt;br /&gt;&lt;br /&gt;[root@UXI0017]/root&amp;gt;&lt;i&gt;&lt;b&gt;expfilt -v4  -f /tmp/ip_sec/ -l all -r&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;Filter rule(s) have been exported to /tmp/ip_sec/ipsec_fltr_rule.exp successfully.&lt;br /&gt;&lt;br /&gt;the file &lt;b&gt;/tmp/ip_sec/ipsec_fltr_rule.exp &lt;/b&gt;will then have the following:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#IPver:flt_id:act:src_addr:src_mask:dst_addr:dst_mask:src_rte:proto:src_p_op:src_p:dst_p_op:dst_p:if:scope:dir:log:frag:tun_id:auto_gen:exptime:pattern_type:pattern&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;which is actully just the name of the parameters used by a filter.&lt;br /&gt;&lt;br /&gt;for an example ruleset, this will block (deny) ftp  (20/21)  from one host and&lt;br /&gt;then block ssh from another. other machines are allowed access:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#IPver:flt_id:act:src_addr:src_mask:dst_addr:dst_mask:src_rte:proto:src_p_op:src_p:dst_p_op:dst_p:if:scope:dir:log:frag:tun_id:auto_gen:exptime:pattern_type:pattern&lt;br /&gt;4 3 deny 10.129.6.122 255.255.255.255 0.0.0.0 0.0.0.0 y tcp any 0 eq  20 all local inbound yes yes 0 no 0 patt_none&lt;br /&gt;4 3 deny 10.129.6.122 255.255.255.255 0.0.0.0 0.0.0.0 y tcp any 0 eq  21 all local inbound yes yes 0 no 0 patt_none&lt;br /&gt;4 4 deny 10.129.12.116 255.255.255.255 0.0.0.0 0.0.0.0 y tcp any 0 eq  22 all local inbound yes yes 0 no 0 patt_none&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;#import the rule&lt;br /&gt;&lt;br /&gt;[root@UX0017]/root&amp;gt;&lt;i&gt;&lt;b&gt;impfilt -v4 -f /tmp/ip_sec/&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;Filter rule 3 for IPv4 imported as rule 3.&lt;br /&gt;Filter rule 3 for IPv4 imported as rule 4.&lt;br /&gt;Filter rule 4 for IPv4 imported as rule 5.&lt;br /&gt;Filter rule(s) have been imported successfully.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;# update/activate the new ruleset&lt;br /&gt;[root@UX0017]/root&amp;gt;&lt;i&gt;&lt;b&gt;mkfilt -v4 -u&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;#list/check the running v4 ruleset&lt;br /&gt;[root@UX0017]/root&amp;gt;&lt;i&gt;&lt;b&gt;lsfilt -a -v4 -O&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;1|*** Dynamic filter placement rule for IKE tunnels ***|no&lt;br /&gt;2|deny|10.129.6.122|255.255.255.255|0.0.0.0|0.0.0.0|yes|tcp|any|0|eq|20|local|inbound|yes|all packets|0|all|0|||&lt;br /&gt;3|deny|10.129.6.122|255.255.255.255|0.0.0.0|0.0.0.0|yes|tcp|any|0|eq|21|local|inbound|yes|all packets|0|all|0|||&lt;br /&gt;4|deny|10.129.12.116|255.255.255.255|0.0.0.0|0.0.0.0|yes|tcp|any|0|eq|22|local|inbound|yes|all packets|0|all|0|||&lt;br /&gt;5|permit|0.0.0.0|0.0.0.0|0.0.0.0|0.0.0.0|yes|all|any|0|any|0|both|both|no|all packets|0|all|0|||&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;hth.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-28016280001159505?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/28016280001159505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/08/aix-5l-ipsec-packet-filtering.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/28016280001159505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/28016280001159505'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/08/aix-5l-ipsec-packet-filtering.html' title='AIX 5L IPSec (packet filtering)'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-5863210605255970469</id><published>2010-07-01T12:05:00.021+08:00</published><updated>2010-08-27T22:49:50.659+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Kickstart file for oracle 11g R2 on CEntOS5 / RHEL5 x86_64</title><content type='html'>what my kickstart file does&lt;br /&gt;- installs the OS via cmdline mode (no gui/tui)&lt;br /&gt;- creates the oracle user and filesystem&lt;br /&gt;- sets kernel parameters needed for 11g install&lt;br /&gt;- install required packages for 11g install&lt;br /&gt;- creates an oracle group and user&lt;br /&gt;- sets an oracle environemt var declaration (via .bash_profile)&lt;br /&gt;this is tested&amp;nbsp; with CENTOS5u5/RHEL5u5 x86_64&lt;br /&gt;&lt;br /&gt;NOTE: &lt;br /&gt;you need to change the following for your environment&lt;br /&gt;- installation source (here i'm using NFS)&lt;br /&gt;- network settings (ip address, network interface, etc)&lt;br /&gt;- disk drive (i'm using an HP blade with Smart Array 6i controllers&lt;br /&gt;hence the cciss/c0d0 and ccissc0d1 disks&lt;br /&gt;&lt;br /&gt;here's the kickstart contents (some company&lt;br /&gt;specific entries here were removed):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;##START of kickstart file&lt;br /&gt;&lt;b&gt;install&lt;br /&gt;reboot&lt;br /&gt;skipx&lt;br /&gt;cmdline&lt;br /&gt;nfs --server=&amp;lt;your_nfs_server&amp;gt; --dir=/export/centos/CENTOS5U5/x86_64&lt;br /&gt;lang en_US.UTF-8&lt;br /&gt;keyboard us&lt;br /&gt;#uncomment for RHEL5 install&lt;br /&gt;#key --skip&lt;br /&gt;#network --device eth0 --onboot no --bootproto dhcp --hostname LX0040&lt;br /&gt;#network --device eth1 --onboot no --bootproto dhcp --hostname LX0040&lt;br /&gt;network --device eth2 --bootproto static --ip 10.129.a.b --netmask 255.255.255.0 --gateway 10.129.a.1 --nameserver 10.129.c.d --hostname LX0040&lt;br /&gt;#network --device eth3 --onboot no --bootproto dhcp --hostname LX0040&lt;br /&gt;# root pass is r00tm3pass&lt;br /&gt;rootpw --iscrypted $1$4Y6Je/$CF8Cts/dWgo4d7DpasKSu0&lt;br /&gt;firewall --disabled&lt;br /&gt;authconfig --enableshadow --enablemd5&lt;br /&gt;selinux --permissive&lt;br /&gt;timezone Asia/Singapore&lt;br /&gt;device scsi cciss&lt;br /&gt;bootloader --location=mbr --driveorder=cciss/c0d0,cciss/c0d1 --append="rhgb quiet"&lt;br /&gt;##############################&lt;br /&gt;##this is for a two SMart Array volume setup&amp;nbsp; &lt;br /&gt;## CHANGE THIS FOR YOUR MACHINE!!!&lt;br /&gt;clearpart --linux --initlabel --drives=cciss/c0d0,cciss/c0d1&lt;br /&gt;part /boot --fstype ext3 --size=100 --ondisk=cciss/c0d0 --asprimary&lt;br /&gt;part pv.6 --size=100 --grow --ondisk=cciss/c0d0 --asprimary&lt;br /&gt;part pv.7 --size=100 --grow --ondisk=cciss/c0d1 --asprimary&lt;br /&gt;volgroup vg00 --pesize=32768 pv.6&lt;br /&gt;volgroup vgdata00 --pesize=32768 pv.7&lt;br /&gt;logvol / --fstype ext3 --name=lvsys00 --vgname=vg00 --size=512&lt;br /&gt;logvol swap --fstype swap --name=lvsys01 --vgname=vg00 --size=8192&lt;br /&gt;logvol /usr --fstype ext3 --name=lvsys02 --vgname=vg00 --size=2048&lt;br /&gt;logvol /var --fstype ext3 --name=lvsys03 --vgname=vg00 --size=1024&lt;br /&gt;logvol /opt --fstype ext3 --name=lvsys04 --vgname=vg00 --size=256&lt;br /&gt;#will produce error during oracle install&lt;br /&gt;#logvol /tmp --fstype ext3 --name=lvsys05 --vgname=vg00 --size=2048 --fsoptions=noexec,nodev&lt;br /&gt;logvol /tmp --fstype ext3 --name=lvsys05 --vgname=vg00 --size=2048&lt;br /&gt;logvol /home --fstype ext3 --name=lvsys06 --vgname=vg00 --size=256&lt;br /&gt;logvol /tools --fstype ext3 --name=lvtools00 --vgname=vg00 --size=5000&lt;br /&gt;logvol /u01 --fstype ext3 --name=lvora00 --vgname=vgdata00 --size=10000&lt;br /&gt;&lt;br /&gt;services --disabled sendmail,xfs,bluetooth,kudzu,firstboot,cups,ip6tables,iptables&lt;br /&gt;&lt;br /&gt;%packages&lt;br /&gt;@legacy-software-support&lt;br /&gt;e2fsprogs&lt;br /&gt;kernel&lt;br /&gt;openssh-clients&lt;br /&gt;openssh-server&lt;br /&gt;postfix&lt;br /&gt;vnc-server&lt;br /&gt;yum&lt;br /&gt;device-mapper&lt;br /&gt;device-mapper-multipath&lt;br /&gt;device-mapper-event&lt;br /&gt;&lt;br /&gt;#oracle&lt;br /&gt;ntp&lt;br /&gt;strace&lt;br /&gt;ncompress&lt;br /&gt;sg3_utils&lt;br /&gt;ncurses&lt;br /&gt;xorg-x11-deprecated-libs-devel&lt;br /&gt;xorg-x11-deprecated-libs&lt;br /&gt;xorg-x11-utils&lt;br /&gt;libX11-devel&lt;br /&gt;libXext&lt;br /&gt;libdmx&lt;br /&gt;libXxf86misc&lt;br /&gt;libXxf86dga&lt;br /&gt;sysstat&lt;br /&gt;compat-gcc-34-c++&lt;br /&gt;compat-libgcc-296&lt;br /&gt;compat-glibc-headers&lt;br /&gt;compat-glibc&lt;br /&gt;libgcc&lt;br /&gt;compat-db&lt;br /&gt;gcc&lt;br /&gt;gcc-c++&lt;br /&gt;ncurses.i386&lt;br /&gt;compat-glibc.i386&lt;br /&gt;glibc-devel&lt;br /&gt;dejavu-lgc-fonts&lt;br /&gt;xterm&lt;br /&gt;#system-config-cluster&lt;br /&gt;binutils&lt;br /&gt;compat-libstdc++-296&lt;br /&gt;compat-libstdc++-33&lt;br /&gt;elfutils-libelf&lt;br /&gt;gcc&lt;br /&gt;gcc-c++&lt;br /&gt;glibc&lt;br /&gt;glibc-common&lt;br /&gt;glibc-devel&lt;br /&gt;glibc-headers&lt;br /&gt;libaio&lt;br /&gt;libaio-devel&lt;br /&gt;libgcc.i386&lt;br /&gt;libstdc++&lt;br /&gt;libstdc++-devel&lt;br /&gt;libXp&lt;br /&gt;libXt&lt;br /&gt;libXtst&lt;br /&gt;make&lt;br /&gt;openmotif&lt;br /&gt;sysstat&lt;br /&gt;unixODBC&lt;br /&gt;unixODBC-devel&lt;br /&gt;pyOpenSSL&lt;br /&gt;#11g&lt;br /&gt;elfutils-libelf-devel&lt;br /&gt;pdksh&lt;br /&gt;&lt;br /&gt;#unwanted&lt;br /&gt;-ftp&lt;br /&gt;-talk&lt;br /&gt;-setserial&lt;br /&gt;-wireless-tools&lt;br /&gt;-rp-pppoe&lt;br /&gt;-ppp&lt;br /&gt;-wpa_supplicant&lt;br /&gt;-bluez-utils&lt;br /&gt;-bluez-gnome&lt;br /&gt;-rsh&lt;br /&gt;-rdist&lt;br /&gt;-pango&lt;br /&gt;-notification-daemon&lt;br /&gt;-usbutils&lt;br /&gt;-irda-utils&lt;br /&gt;-firstboot-tui&lt;br /&gt;&lt;br /&gt;%post --log=/root/ks-post.log&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;#~-&amp;gt; Remove GRUB's splash image&lt;br /&gt;/bin/ed &amp;lt;&amp;lt;EOT /etc/grub.conf&lt;br /&gt;1,$ s/^splashimage/#splashimage/&lt;br /&gt;.&lt;br /&gt;wq&lt;br /&gt;EOT&lt;br /&gt;&lt;br /&gt;#~-&amp;gt; User limits&lt;br /&gt;ed /etc/security/limits.conf &amp;lt;&amp;lt; EOF&lt;br /&gt;$&lt;br /&gt;.a&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soft&amp;nbsp;&amp;nbsp;&amp;nbsp; nofile&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 65536&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hard&amp;nbsp;&amp;nbsp;&amp;nbsp; nofile&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101062&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soft&amp;nbsp;&amp;nbsp;&amp;nbsp; nproc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16384&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hard&amp;nbsp;&amp;nbsp;&amp;nbsp; nproc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101062&lt;br /&gt;.&lt;br /&gt;w&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;#kernel params&lt;br /&gt;/bin/cat &amp;lt;&amp;lt;EOF_sysctl &amp;gt; /etc/sysctl.conf&lt;br /&gt;# Controls IP packet forwarding&lt;br /&gt;net.ipv4.ip_forward = 0&lt;br /&gt;&lt;br /&gt;# Controls source route verification&lt;br /&gt;net.ipv4.conf.default.rp_filter = 1&lt;br /&gt;&lt;br /&gt;# Do not accept source routing&lt;br /&gt;net.ipv4.conf.default.accept_source_route = 0&lt;br /&gt;&lt;br /&gt;# Controls the System Request debugging functionality of the kernel&lt;br /&gt;kernel.sysrq = 0&lt;br /&gt;&lt;br /&gt;# Controls whether core dumps will append the PID to the core filename.&lt;br /&gt;# Useful for debugging multi-threaded applications.&lt;br /&gt;kernel.core_uses_pid = 1&lt;br /&gt;&lt;br /&gt;# increase the local port range&lt;br /&gt;net.ipv4.ip_local_port_range = 9000 65500&lt;br /&gt;&lt;br /&gt;# enable tcp syn cookie protection&lt;br /&gt;net.ipv4.tcp_syncookies = 1&lt;br /&gt;&lt;br /&gt;# disable icmp redirect acceptance&lt;br /&gt;net.ipv4.conf.all.accept_redirects = 0&lt;br /&gt;&lt;br /&gt;# enable ip spoofing protection&lt;br /&gt;net.ipv4.conf.all.rp_filter = 1&lt;br /&gt;&lt;br /&gt;# log spoofed/source routed/redirected packets&lt;br /&gt;#net.ipv4.conf.all.log_martians = 1&lt;br /&gt;&lt;br /&gt;# want to become a smurf amplifier?&lt;br /&gt;net.ipv4.icmp_echo_ignore_broadcasts = 1&lt;br /&gt;&lt;br /&gt;# enable bad error message protection&lt;br /&gt;net.ipv4.icmp_ignore_bogus_error_responses = 1&lt;br /&gt;&lt;br /&gt;# decrease time default value for tcp_fin_timeout connection&lt;br /&gt;net.ipv4.tcp_fin_timeout = 30&lt;br /&gt;&lt;br /&gt;# decrease time default value for tcp_keepalive_time connection&lt;br /&gt;net.ipv4.tcp_keepalive_time = 1800&lt;br /&gt;&lt;br /&gt;# turn off tcp_sack&lt;br /&gt;net.ipv4.tcp_sack = 0&lt;br /&gt;&lt;br /&gt;# turn off tcp_timestamps&lt;br /&gt;net.ipv4.tcp_timestamps = 0&lt;br /&gt;&lt;br /&gt;# turn off tcp_window_scaling&lt;br /&gt;net.ipv4.tcp_window_scaling = 0&lt;br /&gt;&lt;br /&gt;fs.file-max = 6815744&lt;br /&gt;&lt;br /&gt;kernel.shmall = 10523004&lt;br /&gt;kernel.shmmax = 6465333657&lt;br /&gt;kernel.shmmni = 4096&lt;br /&gt;kernel.sem = 250 32000 100 128&lt;br /&gt;&lt;br /&gt;# Default setting in bytes of the socket receive buffer&lt;br /&gt;net.core.rmem_default=262144&lt;br /&gt;# Default setting in bytes of the socket send buffer&lt;br /&gt;net.core.wmem_default=262144&lt;br /&gt;# Maximum socket receive buffer size which may be set by using the SO_RCVBUF socket option&lt;br /&gt;net.core.rmem_max=4194304&lt;br /&gt;# Maximum socket send buffer size which may be set by using the SO_SNDBUF socket option&lt;br /&gt;net.core.wmem_max=1048576&lt;br /&gt;fs.aio-max-nr = 1048576&lt;br /&gt;EOF_sysctl&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/bin/chown root:root /etc/sysctl.conf&lt;br /&gt;/bin/chmod 0600 /etc/sysctl.conf&lt;br /&gt;/sbin/sysctl -p&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Modify DNS Search&lt;br /&gt;/bin/cat &amp;lt;&amp;lt;EOT &amp;gt; /etc/resolv.conf&lt;br /&gt;nameserver 10.129.c.20&lt;br /&gt;nameserver 10.129.c.21&lt;br /&gt;domain example.com&lt;br /&gt;options attempts:5&lt;br /&gt;options timeout:15&lt;br /&gt;EOT&lt;br /&gt;&lt;br /&gt;# create group&lt;br /&gt;/usr/sbin/groupadd -g 306 dba&lt;br /&gt;/bin/mkdir --mode=0750 /home/dba&lt;br /&gt;&lt;br /&gt;chgrp dba /home/dba&lt;br /&gt;#oracle password is oracl3pass&lt;br /&gt;/usr/sbin/useradd -c 'oracle user' -d /home/dba/oracle -u 306 -p '$1$F.iIe/$vfXBG1CqjXB5xOu.LLEdJ.' -g dba -G dba&amp;nbsp;&amp;nbsp; oracle&lt;br /&gt;&lt;br /&gt;cat &amp;lt;&amp;lt;EOT &amp;gt;&amp;gt; /etc/auto.isapsys&lt;br /&gt;oracle11g -ro,soft,intr,rsize=8192,wsize=8192 uxisap0027:/export/isapsys/oracle11g&lt;br /&gt;EOT&lt;br /&gt;&lt;br /&gt;# vncserver stuff&lt;br /&gt;cat &amp;lt;&amp;lt; EOT &amp;gt; /opt/vnc_xstartup&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;# run vncserver and copy to your $HOME/.vnc/xstartup file&lt;br /&gt;# Uncomment the following two lines for normal desktop:&lt;br /&gt;# unset SESSION_MANAGER&lt;br /&gt;# exec /etc/X11/xinit/xinitrc&lt;br /&gt;&lt;br /&gt;[ -x /etc/vnc/xstartup ] &amp;amp;&amp;amp; exec /etc/vnc/xstartup&lt;br /&gt;[ -r $HOME/.Xresources ] &amp;amp;&amp;amp; xrdb $HOME/.Xresources&lt;br /&gt;xsetroot -solid grey&lt;br /&gt;vncconfig -iconic &amp;amp;&lt;br /&gt;#xterm -geometry 130x30+12+12 -ls -bg black -fg green -title "$VNCDESKTOP Desktop" &amp;amp;&lt;br /&gt;xterm -geometry 130x30+12+12 -ls -title "$VNCDESKTOP Desktop" &amp;amp;&lt;br /&gt;mwm &amp;amp;&lt;br /&gt;EOT&lt;br /&gt;&lt;br /&gt;# oracle user .bash_profile&lt;br /&gt;cat &amp;gt; /home/dba/oracle/.bash_profile &amp;lt;&amp;lt; EOF&lt;br /&gt;# .bash_profile&lt;br /&gt;&lt;br /&gt;# Get the aliases and functions&lt;br /&gt;if [ -f ~/.bashrc ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . ~/.bashrc&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# User specific environment and startup programs&lt;br /&gt;export ORACLE_BASE=/u01/app/oracle&lt;br /&gt;export ORACLE_HOME=\${ORACLE_BASE}/product/11g/db_1&lt;br /&gt;export ORA_CRS_HOME=/u01/app/crs&lt;br /&gt;export ORACLE_PATH=\${ORACLE_BASE}/common/oracle/sql:.:\${ORACLE_HOME}/rdbms/admin&lt;br /&gt;export CV_JDKHOME=/usr/local/java&lt;br /&gt;# Each RAC node must have a unique ORACLE_SID. (i.e. orcl1, orcl2,...)&lt;br /&gt;export ORACLE_SID=orcl1&lt;br /&gt;export PATH=.:\${JAVA_HOME}/bin:${PATH}:$HOME/bin:\${ORACLE_HOME}/bin&lt;br /&gt;export PATH=\${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin&lt;br /&gt;export PATH=\${PATH}:\${ORACLE_BASE}/common/oracle/bin&lt;br /&gt;export ORACLE_TERM=xterm&lt;br /&gt;export TNS_ADMIN=\${ORACLE_HOME}/network/admin&lt;br /&gt;export ORA_NLS10=\${ORACLE_HOME}/nls/data&lt;br /&gt;export LD_LIBRARY_PATH=\${ORACLE_HOME}/lib&lt;br /&gt;export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:\${ORACLE_HOME}/oracm/lib&lt;br /&gt;export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib&lt;br /&gt;export CLASSPATH=\${ORACLE_HOME}/JRE&lt;br /&gt;export CLASSPATH=\${CLASSPATH}:\${ORACLE_HOME}/jlib&lt;br /&gt;export CLASSPATH=\${CLASSPATH}:\${ORACLE_HOME}/rdbms/jlib&lt;br /&gt;export CLASSPATH=\${CLASSPATH}:\${ORACLE_HOME}/network/jlib&lt;br /&gt;export THREADS_FLAG=native&lt;br /&gt;export TEMP=/tmp&lt;br /&gt;export TMPDIR=/tmp&lt;br /&gt;alias ls="ls -FA"&lt;br /&gt;set -o vi&lt;br /&gt;EOF&lt;br /&gt;# end oracle profile&lt;br /&gt;chown -R oracle.dba /u01&lt;br /&gt;mount | column -t&lt;br /&gt;} 1&amp;gt;/root/ks-post.log 2&amp;gt;&amp;amp;1&lt;br /&gt;&lt;/b&gt;##END of kickstart file&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;ks install in progress:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5ILb082Zo70/S-LNRyszbpI/AAAAAAAAAR4/U3cCvNeIcT8/s1600/waco.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="199" src="http://4.bp.blogspot.com/_5ILb082Zo70/TCwUapCH1vI/AAAAAAAAASg/UJ6xChz35oY/s320/ks00.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;space usage after the install:&lt;br /&gt;&lt;pre&gt;Filesystem                    Size  Used   Avail  Use%  Mounted   on&lt;br /&gt;&lt;b&gt;/dev/mapper/vg00-lvsys00      496M  238M   234M   51%   /&lt;br /&gt;/dev/mapper/vg00-lvsys03      992M  56M    885M   6%    /var&lt;br /&gt;/dev/mapper/vg00-lvsys02      2.0G  1012M  870M   54%   /usr&lt;br /&gt;/dev/mapper/vg00-lvsys06      248M  11M    226M   5%    /home&lt;br /&gt;/dev/mapper/vg00-lvsys04      248M  11M    226M   5%    /opt&lt;br /&gt;/dev/mapper/vg00-lvsys05      2.0G  70M    1.8G   4%    /tmp&lt;br /&gt;/dev/cciss/c0d0p1             99M   13M    82M    14%   /boot&lt;br /&gt;tmpfs                         3.9G  0      3.9G   0%    /dev/shm&lt;br /&gt;/dev/mapper/vg00-lvtools00    4.8G  138M   4.4G   4%    /tools&lt;br /&gt;/dev/mapper/vgdata00-lvora00  9.5G  4.1G   4.9G   46%   /u01&lt;/b&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;After the OS install, system will reboot. from here on, Oracle 11g R2 installation&lt;br /&gt;is a breeze. I just login as oracle user, start vncserver and connect via&lt;br /&gt;vncviewer from my workstation to start the install.&lt;br /&gt;&lt;br /&gt;these are the last part of the oracle installation via&lt;br /&gt;vnc-viewer session:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5ILb082Zo70/TCwUpSHE9II/AAAAAAAAASo/Wf2Lfu4wAxA/s1600/11g00.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://4.bp.blogspot.com/_5ILb082Zo70/TCwUpSHE9II/AAAAAAAAASo/Wf2Lfu4wAxA/s320/11g00.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5ILb082Zo70/TCwUxP37fVI/AAAAAAAAASw/lZw6kzh1W6o/s1600/11g01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="221" src="http://2.bp.blogspot.com/_5ILb082Zo70/TCwUxP37fVI/AAAAAAAAASw/lZw6kzh1W6o/s320/11g01.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5ILb082Zo70/TCwU3ycRU2I/AAAAAAAAAS4/bngtTyZgxWU/s1600/11g03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="166" src="http://3.bp.blogspot.com/_5ILb082Zo70/TCwU3ycRU2I/AAAAAAAAAS4/bngtTyZgxWU/s320/11g03.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-5863210605255970469?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/5863210605255970469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/07/kickstart-file-for-oracle-11g-r2-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5863210605255970469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5863210605255970469'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/07/kickstart-file-for-oracle-11g-r2-on.html' title='Kickstart file for oracle 11g R2 on CEntOS5 / RHEL5 x86_64'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5ILb082Zo70/TCwUapCH1vI/AAAAAAAAASg/UJ6xChz35oY/s72-c/ks00.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-7265463956016969865</id><published>2010-04-27T14:58:00.013+08:00</published><updated>2010-08-24T10:11:19.847+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Wacom Bamboo Pen in Debian Linux</title><content type='html'>This is how I configured a Wacom Bamboo Pen (model CTL-460) inside&lt;br /&gt;a Debion (5.0.3) based HP Thinclient workstation for use in a Citrix&lt;br /&gt;session.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5ILb082Zo70/S-LNRyszbpI/AAAAAAAAAR4/U3cCvNeIcT8/s1600/wacom_bamboo_pen.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_5ILb082Zo70/S-LNRyszbpI/AAAAAAAAAR4/U3cCvNeIcT8/s320/wacom_bamboo_pen.jpg" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/S-LNKSSTruI/AAAAAAAAARw/N4_adV21ILE/s1600/Debian_thinclient_session.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5ILb082Zo70/S-LNKSSTruI/AAAAAAAAARw/N4_adV21ILE/s320/Debian_thinclient_session.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.  downloaded the linuxwacom tar ball from sourceforge.net:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_5ILb082Zo70/S9aNEbmK6eI/AAAAAAAAARo/UaJD-JF_kVk/s1600/Debian_thinclient_session.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/S9aM_8atYTI/AAAAAAAAARg/d21x5JzHyZA/s1600/wacom_bamboo_pen.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;/a&gt;http://linuxwacom.sourceforge.net/&lt;br /&gt;&lt;br /&gt;then extract:&lt;br /&gt;&lt;br /&gt;tar jxvf linuxwacom-0.8.6.tar.bz&lt;br /&gt;&lt;br /&gt;go into the new directory&lt;br /&gt;&lt;br /&gt;cd /home/user/linuxwacom-0.8.6&lt;br /&gt;&lt;br /&gt;then run this&lt;br /&gt;./configure --enable-wacom --prefix=/usr&lt;br /&gt;&lt;br /&gt;output:&lt;br /&gt;&lt;pre&gt;##############################################&lt;br /&gt;----------------------------------------&lt;br /&gt;BUILD ENVIRONMENT:&lt;br /&gt;architecture - i486-linux-gnu&lt;br /&gt;linux kernel - yes 2.6.26&lt;br /&gt;module versioning - no &lt;br /&gt;kernel source - yes /lib/modules/2.6.26-2-686/build&lt;br /&gt;XFree86 source - no &lt;br /&gt;Xorg SDK - yes /usr/include/xorg&lt;br /&gt;XSERVER64 - no&lt;br /&gt;dlloader - yes&lt;br /&gt;XLib - yes /usr/lib&lt;br /&gt;xf86config - no&lt;br /&gt;TCL - yes /usr/include/tcl8.5&lt;br /&gt;TK - no &lt;br /&gt;ncurses - no&lt;br /&gt;&lt;br /&gt;BUILD OPTIONS:&lt;br /&gt;wacom.o - yes&lt;br /&gt;wacdump - no &lt;br /&gt;xidump - yes (no ncurses)&lt;br /&gt;libwacomcfg - yes&lt;br /&gt;libwacomxi - no&lt;br /&gt;xsetwacom - yes&lt;br /&gt;wacomxrrd - no&lt;br /&gt;hid.o - no &lt;br /&gt;wacom_drv.so - yes /usr/lib/xorg/modules/input &lt;br /&gt;wacom_drv.o - no&lt;br /&gt;wacom*_drv quirks - libc-wrapper IsXExtensionPointer key-events dixScreenOrigins Uninit-called&lt;br /&gt;----------------------------------------&lt;br /&gt;##############################################&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;- Check kernel version&lt;br /&gt;&lt;br /&gt;uname -r&lt;br /&gt;&lt;pre&gt;##############################################&lt;br /&gt;mine is:&lt;br /&gt;2.6.26-2-686&lt;br /&gt;##############################################&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;if the configure command above is OK, cd into&lt;br /&gt;&lt;br /&gt;/home/user/linuxwacom-0.8.6/src/2.6.26&lt;br /&gt;&lt;br /&gt;contents:&lt;br /&gt;&lt;pre&gt;##############################################&lt;br /&gt;-rwxr-xr-x 1 user user 23584 2010-04-10 07:02 wacom_sys.c&lt;br /&gt;-rwxr-xr-x 1 user user  6807 2010-04-10 07:02 wacom.h&lt;br /&gt;-rwxr-xr-x 1 user user  1491 2010-04-10 07:02 Makefile.in&lt;br /&gt;-rwxr-xr-x 1 user user  2746 2010-04-26 11:11 wacom_wac.h&lt;br /&gt;-rwxr-xr-x 1 user user 50431 2010-04-26 11:11 wacom_wac.c&lt;br /&gt;-rw-r--r-- 1 user user     0 2010-04-26 11:11 Module.symvers&lt;br /&gt;-rw-r--r-- 1 user user    64 2010-04-26 11:11 modules.order&lt;br /&gt;-rw-r--r-- 1 user user  1491 2010-04-26 11:26 Makefile&lt;br /&gt;##############################################&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;now run make:&lt;br /&gt;&lt;pre&gt;##############################################&lt;br /&gt;user@TCISAP8610:~/linuxwacom-0.8.6/src/2.6.26$ make&lt;br /&gt;cp -f ../2.6.27/wacom_wac.c .&lt;br /&gt;cp -f ../2.6.27/wacom_wac.h .&lt;br /&gt;Building linuxwacom drivers for 2.6 kernel.&lt;br /&gt;***Note: Drivers not enabled as modules in your kernel config but requested through configure are NOT built&lt;br /&gt;make -C /lib/modules/2.6.26-2-686/build M=/writable/home/user/linuxwacom-0.8.6/src/2.6.26&lt;br /&gt;make[1]: Entering directory `/usr/src/linux-headers-2.6.26-2-686'&lt;br /&gt;LD      /writable/home/user/linuxwacom-0.8.6/src/2.6.26/built-in.o&lt;br /&gt;CC [M]  /writable/home/user/linuxwacom-0.8.6/src/2.6.26/wacom_wac.o&lt;br /&gt;CC [M]  /writable/home/user/linuxwacom-0.8.6/src/2.6.26/wacom_sys.o&lt;br /&gt;LD [M]  /writable/home/user/linuxwacom-0.8.6/src/2.6.26/wacom.o&lt;br /&gt;Building modules, stage 2.&lt;br /&gt;MODPOST 1 modules&lt;br /&gt;CC      /writable/home/user/linuxwacom-0.8.6/src/2.6.26/wacom.mod.o&lt;br /&gt;LD [M]  /writable/home/user/linuxwacom-0.8.6/src/2.6.26/wacom.ko&lt;br /&gt;make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-2-686'&lt;br /&gt;##############################################&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;New files will be produced (kernel  modules):&lt;br /&gt;&lt;pre&gt;##############################################&lt;br /&gt;-rwxr-xr-x 1 user user 23584 2010-04-10 07:02 wacom_sys.c&lt;br /&gt;-rwxr-xr-x 1 user user  6807 2010-04-10 07:02 wacom.h&lt;br /&gt;-rwxr-xr-x 1 user user  1491 2010-04-10 07:02 Makefile.in&lt;br /&gt;-rw-r--r-- 1 user user     0 2010-04-26 11:11 Module.symvers&lt;br /&gt;-rw-r--r-- 1 user user  1491 2010-04-26 11:26 Makefile&lt;br /&gt;-rwxr-xr-x 1 user user  2746 2010-04-26 11:28 wacom_wac.h&lt;br /&gt;-rwxr-xr-x 1 user user 50431 2010-04-26 11:28 wacom_wac.c&lt;br /&gt;-rw-r--r-- 1 user user     8 2010-04-26 11:28 built-in.o&lt;br /&gt;-rw-r--r-- 1 user user 24328 2010-04-26 11:28 wacom_wac.o&lt;br /&gt;-rw-r--r-- 1 user user  9504 2010-04-26 11:28 wacom_sys.o&lt;br /&gt;-rw-r--r-- 1 user user 31965 2010-04-26 11:28 wacom.o&lt;br /&gt;-rw-r--r-- 1 user user  5387 2010-04-26 11:28 wacom.mod.c&lt;br /&gt;-rw-r--r-- 1 user user    64 2010-04-26 11:28 modules.order&lt;br /&gt;-rw-r--r-- 1 user user 10376 2010-04-26 11:28 wacom.mod.o&lt;br /&gt;-rw-r--r-- 1 user user 41728 2010-04-26 11:28 wacom.ko&lt;br /&gt;##############################################&lt;br /&gt;&lt;/pre&gt;2. Install the module&lt;br /&gt;&lt;br /&gt;now, as root, copy the new module to kernel module directory:&lt;br /&gt;&lt;br /&gt;cd /home/user/linuxwacom-0.8.6/src/2.6.26&lt;br /&gt;&lt;br /&gt;cp wacom.ko /lib/modules/$(uname -r)/kernel/drivers/input/tablet/&lt;br /&gt;&lt;br /&gt;in my system, the command will be&lt;br /&gt;&lt;br /&gt;cp wacom.ko /lib/modules/2.6.26-2-686/kernel/drivers/input/tablet/&lt;br /&gt;&lt;pre&gt;##############################################&lt;br /&gt;user@TCISAP8610:~/linuxwacom-0.8.6$ ls -ltr /lib/modules/2.6.26-2-686/kernel/drivers/input/tablet&lt;br /&gt;total 88&lt;br /&gt;-rw-r--r-- 1 root root  7437 Aug 19  2009 kbtab.ko&lt;br /&gt;-rw-r--r-- 1 root root 10395 Aug 19  2009 gtco.ko&lt;br /&gt;-rw-r--r-- 1 root root 20841 Aug 19  2009 aiptek.ko&lt;br /&gt;-rw-r--r-- 1 root root  7501 Aug 19  2009 acecad.ko&lt;br /&gt;-rw-r--r-- 1 root root 41728 Apr 26 11:12 wacom.ko&lt;br /&gt;##############################################&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Then run the following (as root)&lt;br /&gt;&lt;br /&gt;(as root)&lt;br /&gt;depmod -a&lt;br /&gt;&lt;br /&gt;modprobe -r wacom&lt;br /&gt;&lt;br /&gt;modprobe wacom&lt;br /&gt;&lt;br /&gt;3. Test it&lt;br /&gt;&lt;br /&gt;Plug in the wacom device to a test hp thinclient workstation.&lt;br /&gt;&lt;br /&gt;from dmesg&lt;br /&gt;&lt;pre&gt;[20188.832647] usb-storage: device scan complete&lt;br /&gt;[20188.833742] scsi 0:0:0:0: Direct-Access     RIM      BlackBerry       1002 PQ: 0 ANSI: 4 CCS&lt;br /&gt;[20188.852275] usb-storage: device scan complete&lt;br /&gt;[20188.855377] scsi 1:0:0:0: Direct-Access     RIM      BlackBerry SD    0002 PQ: 0 ANSI: 0 CCS&lt;br /&gt;[20189.077568] Driver 'sd' needs updating - please use bus_type methods&lt;br /&gt;[20189.082293] sd 0:0:0:0: [sda] Attached SCSI removable disk&lt;br /&gt;[20189.085329] sd 1:0:0:0: [sdb] Attached SCSI removable disk&lt;br /&gt;[20652.800029] usb 3-2: new full speed USB device using ohci_hcd and address 2&lt;br /&gt;[20652.964009] usb 3-2: configuration #1 chosen from 1 choice&lt;br /&gt;[20652.981247] input: Wacom Bamboo 4x5 Pen as /class/input/input6&lt;br /&gt;[20653.026234] input: Wacom Bamboo 4x5 Finger as /class/input/input7&lt;br /&gt;[20653.063422] usb 3-2: New USB device found, idVendor=056a, idProduct=00d4&lt;br /&gt;[20653.063434] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0&lt;br /&gt;[20653.063439] usb 3-2: Product: CTL-460&lt;br /&gt;[20653.063443] usb 3-2: Manufacturer: Wacom Co.,Ltd.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;via lsmod | grep wacom&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;wacom                  28768  0&lt;br /&gt;usbcore               118192  6 usb_storage,wacom,usbhid,ehci_hcd,ohci_hcd&lt;br /&gt;&lt;/pre&gt;via lsusb&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Bus 006 Device 003: ID 0fca:8004 Research In Motion, Ltd.&lt;br /&gt;Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;Bus 004 Device 003: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse&lt;br /&gt;Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;Bus 003 Device 002: ID 056a:00d4 Wacom Co., Ltd&lt;br /&gt;Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The bamboo should be responding by now. &lt;br /&gt;&lt;br /&gt;to make it persistent across reboots, edit the file (as root):&lt;br /&gt;&lt;br /&gt;/etc/modules&lt;br /&gt;&lt;br /&gt;and append wacom (as show below):&lt;br /&gt;&lt;pre&gt;##############################################&lt;br /&gt;# /etc/modules: kernel modules to load at boot time.&lt;br /&gt;#&lt;br /&gt;# This file contains the names of kernel modules that should be loaded&lt;br /&gt;# at boot time, one per line. Lines beginning with "#" are ignored.&lt;br /&gt;# Parameters can be specified after the module name.&lt;br /&gt;&lt;br /&gt;# Load the ALSA OSS emulation layer&lt;br /&gt;# The only known application which require OSS still&lt;br /&gt;# is ICA hopefully they will switch to modern APIs someday&lt;br /&gt;# padsp should also be checked out in the future so everything&lt;br /&gt;# goes through PulseAudio&lt;br /&gt;snd-pcm-oss&lt;br /&gt;lp&lt;br /&gt;wacom&lt;br /&gt;# end of /etc/modules&lt;br /&gt;##############################################&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Then reboot. Inside a citrix session, i'm able to use the bamboo pen&lt;br /&gt;device inside MS paint. the device is positioned horizontally on my desk &lt;br /&gt;- where the  cableend is at my lefthand side.&lt;br /&gt;&lt;br /&gt;Below is the xorg.conf file i'm using&lt;br /&gt;(resolution is 1440x900 - with a samsung SyncMaster 933 LCD monitor)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;##############################################&lt;br /&gt;# start xorg.conf&lt;br /&gt;Section "Files"&lt;br /&gt;FontPath "/usr/share/fonts/X11/misc"&lt;br /&gt;FontPath "/usr/X11R6/lib/X11/fonts/misc"&lt;br /&gt;FontPath "/usr/share/fonts/X11/cyrillic"&lt;br /&gt;FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"&lt;br /&gt;FontPath "/usr/share/fonts/X11/100dpi/:unscaled"&lt;br /&gt;FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"&lt;br /&gt;FontPath "/usr/share/fonts/X11/75dpi/:unscaled"&lt;br /&gt;FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"&lt;br /&gt;FontPath "/usr/share/fonts/X11/Type1"&lt;br /&gt;FontPath "/usr/X11R6/lib/X11/fonts/Type1"&lt;br /&gt;FontPath "/usr/share/fonts/X11/100dpi"&lt;br /&gt;FontPath "/usr/X11R6/lib/X11/fonts/100dpi"&lt;br /&gt;FontPath "/usr/share/fonts/X11/75dpi"&lt;br /&gt;FontPath "/usr/X11R6/lib/X11/fonts/75dpi"&lt;br /&gt;# path to defoma fonts&lt;br /&gt;FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"&lt;br /&gt;EndSection &lt;br /&gt;Section "Module"&lt;br /&gt;Load "bitmap"&lt;br /&gt;Load "ddc"&lt;br /&gt;Load "dri"&lt;br /&gt;Load "extmod"&lt;br /&gt;Load "freetype"&lt;br /&gt;Load "glx"&lt;br /&gt;Load "int10"&lt;br /&gt;Load "vbe"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "InputDevice"&lt;br /&gt;Identifier "Generic Keyboard"&lt;br /&gt;Driver  "kbd"&lt;br /&gt;Option          "XLeds" "1 2 3"&lt;br /&gt;Option  "CoreKeyboard"&lt;br /&gt;Option  "XkbRules" "xorg"&lt;br /&gt;Option "XkbModel" "pc104"&lt;br /&gt;Option "XkbLayout" "us"&lt;br /&gt;Option "XkbVariant" ""&lt;br /&gt;EndSection&lt;br /&gt;Section "Monitor"&lt;br /&gt;Identifier "Primary Monitor"&lt;br /&gt;Option  "DPMS"  "true"&lt;br /&gt;Option  "TargetRate"  "60"&lt;br /&gt;Option  "TargetRefresh"  "60"&lt;br /&gt;Option  "PreferredMode" "1440x900"&lt;br /&gt;EndSection&lt;br /&gt;Section "Monitor"&lt;br /&gt;Identifier "Secondary Monitor"&lt;br /&gt;Option  "DPMS" "true"&lt;br /&gt;Option  "TargetRate"  "60"&lt;br /&gt;Option  "TargetRefresh"  "60"&lt;br /&gt;Option  "PreferredMode" "1440x900"&lt;br /&gt;EndSection&lt;br /&gt;Section "Device"&lt;br /&gt;Identifier "Driver0"&lt;br /&gt;Screen  0&lt;br /&gt;Driver  "fglrx"  &lt;br /&gt;BusID  "PCI:01:05:0" &lt;br /&gt;Option  "Monitor-CRT1" "Primary Monitor" &lt;br /&gt;EndSection&lt;br /&gt;Section "Device"&lt;br /&gt;Identifier "Driver1"&lt;br /&gt;Screen  1&lt;br /&gt;Driver  "fglrx"  &lt;br /&gt;BusID  "PCI:01:05:0" &lt;br /&gt;Option  "Monitor-DFP2" "Secondary Monitor" &lt;br /&gt;EndSection&lt;br /&gt;Section "Screen"&lt;br /&gt;Device  "Driver0"&lt;br /&gt;Monitor  "Primary Monitor"&lt;br /&gt;Identifier "Primary Screen"&lt;br /&gt;DefaultDepth 24&lt;br /&gt;SubSection "Display"&lt;br /&gt;Viewport 0 0&lt;br /&gt;Modes "1440x900"&lt;br /&gt;EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;Section "Screen"&lt;br /&gt;Device  "Driver1"&lt;br /&gt;Monitor  "Secondary Monitor"&lt;br /&gt;Identifier "Secondary Screen"&lt;br /&gt;DefaultDepth 24&lt;br /&gt;SubSection "Display"&lt;br /&gt;Viewport 0 0&lt;br /&gt;Modes "1440x900"&lt;br /&gt;EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;Section "ServerLayout"&lt;br /&gt;Identifier "Default Layout"&lt;br /&gt;InputDevice "Generic Keyboard"&lt;br /&gt;Screen  0 "Primary Screen" 0 0&lt;br /&gt;Screen  1 "Secondary Screen" RightOf "Primary Screen" &lt;br /&gt;Option  "xinerama" "on" &lt;br /&gt;EndSection&lt;br /&gt;Section "DRI"&lt;br /&gt;Mode 0666&lt;br /&gt;EndSection&lt;br /&gt;Section "ServerFlags"&lt;br /&gt;Option "DontVTSwitch" "true"&lt;br /&gt;Option "DontZap" "true"&lt;br /&gt;Option "DontZoom" "true" &lt;br /&gt;EndSection&lt;br /&gt;# end xorg.conf&lt;br /&gt;##############################################&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-7265463956016969865?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/7265463956016969865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/04/wacom-bamboo-pen-in-debian-linux.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/7265463956016969865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/7265463956016969865'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/04/wacom-bamboo-pen-in-debian-linux.html' title='Wacom Bamboo Pen in Debian Linux'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5ILb082Zo70/S-LNRyszbpI/AAAAAAAAAR4/U3cCvNeIcT8/s72-c/wacom_bamboo_pen.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-1054489693564704837</id><published>2010-04-22T11:06:00.005+08:00</published><updated>2010-08-24T10:08:55.229+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Removing multipath disks</title><content type='html'>in one of our RHEL4 blade servers, i need to remove&lt;br /&gt;1x500G HP XP1000 LUN:&lt;br /&gt;&lt;pre&gt;PV         VG             Fmt  Attr PSize   PFree&lt;br /&gt;  /dev/dm-17 lx0080apps00vg lvm2 a-   200.00G  11.50G&lt;br /&gt;  /dev/dm-18 lx0080apps00vg lvm2 a-   200.00G  11.50G&lt;br /&gt;  /dev/dm-19 lx0080apps02vg lvm2 a-   500.00G 100.00G&lt;br /&gt;  /dev/dm-20 lx0080apps01vg lvm2 a-   250.00G  50.00G&lt;br /&gt;  /dev/dm-21 lx0080apps01vg lvm2 a-   100.00G  50.00G&lt;br /&gt;  /dev/dm-22 lx0080apps01vg lvm2 a-   200.00G  10.00G&lt;br /&gt;  /dev/dm-23 lx0080apps01vg lvm2 a-   200.00G  10.00G&lt;br /&gt;  /dev/dm-24 lx0080apps01vg lvm2 a-   200.00G  10.00G&lt;br /&gt;  /dev/sda2  vg00           lvm2 a-    67.88G   4.47G&lt;br /&gt;&lt;/pre&gt;[root@lx0080 ~]# &lt;b&gt;&lt;i&gt;pvdisplay /dev/dm-19&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;--- Physical volume ---&lt;br /&gt;  PV Name               /dev/dm-19&lt;br /&gt;  VG Name               lx0080apps02vg&lt;br /&gt;  PV Size               500.00 GB / not usable 1.25 MB&lt;br /&gt;  Allocatable           yes&lt;br /&gt;  PE Size (KByte)       4096&lt;br /&gt;  Total PE              128000&lt;br /&gt;  Free PE               25600&lt;br /&gt;  Allocated PE          102400&lt;br /&gt;  PV UUID               O9b3hw-oSUO-pUpe-oGJw-zEBp-tKXo-3ba2g9&lt;br /&gt;&lt;/pre&gt;so here's how to do it without causing disruptions on the machine:&lt;br /&gt;btw, this machine hosts a test environment.&lt;br /&gt;&lt;br /&gt;CAUTION: DON'T DO THIS IN PRODUCTION ENVIRONMENT ON A REGULAR&lt;br /&gt;BUSINESS DAY (Even if you are sure it won't cause any problems)&lt;br /&gt;&lt;br /&gt;make sure no i/o activity on the disk&lt;br /&gt;- i've removed it from nfs exports&lt;br /&gt;- unmounted the FS&lt;br /&gt;remove from VG group&lt;br /&gt;remove from multipath definitions&lt;br /&gt;delete from system&lt;br /&gt;&lt;br /&gt;below here are the actual steps.&lt;br /&gt;&lt;br /&gt;1. remove from VG group&lt;br /&gt;&lt;br /&gt;[root@lx0080 ~]# &lt;b&gt;&lt;i&gt;vgremove lx0080apps02vg&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;Found duplicate PV O9b3hwoSUOpUpeoGJwzEBptKXo3ba2g9: using /dev/sdb1 not /dev/sdq1&lt;br /&gt;Do you really want to remove volume group "lx0080apps02vg" containing 1 logical volumes? [y/n]: y&lt;br /&gt;Do you really want to remove active logical volume "lx0080apps02LV"? [y/n]: y&lt;br /&gt;  Logical volume "lx0080apps02LV" successfully removed&lt;br /&gt;  Volume group "lx0080apps02vg" successfully removed&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;pvs&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;PV         VG             Fmt  Attr PSize   PFree&lt;br /&gt;  /dev/dm-17 lx0080apps00vg lvm2 a-   200.00G  11.50G&lt;br /&gt;  /dev/dm-18 lx0080apps00vg lvm2 a-   200.00G  11.50G&lt;br /&gt;&lt;b&gt;  /dev/dm-19                lvm2 --   500.00G 500.00G&lt;/b&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;/dev/dm-20 lx0080apps01vg lvm2 a-   250.00G  50.00G&lt;br /&gt;  /dev/dm-21 lx0080apps01vg lvm2 a-   100.00G  50.00G&lt;br /&gt;  /dev/dm-22 lx0080apps01vg lvm2 a-   200.00G  10.00G&lt;br /&gt;  /dev/dm-23 lx0080apps01vg lvm2 a-   200.00G  10.00G&lt;br /&gt;  /dev/dm-24 lx0080apps01vg lvm2 a-   200.00G  10.00G&lt;br /&gt;  /dev/sda2  vg00           lvm2 a-    67.88G   4.47G&lt;/pre&gt;as you can see - /dev/dm-19 is now an orphan. since its the only 500G&lt;br /&gt;LUN in the server, its easy to identify.&lt;br /&gt;&lt;br /&gt;2. remove from multipath&lt;br /&gt;&lt;br /&gt;from multipath -ll (other entries removed):&lt;br /&gt;&lt;pre&gt;mpath8 (360060e8004a51a000000a51a00000200)&lt;br /&gt;[size=500 GB][features="1 queue_if_no_path"][hwhandler="0"]&lt;br /&gt;\_ round-robin 0 [active]&lt;br /&gt; \_ 3:0:0:0 sdb 8:16   [active][ready]&lt;br /&gt; \_ 4:0:0:0 sdq 65:0   [active][ready]&lt;br /&gt;&lt;/pre&gt;it has two active paths.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;multipath -f mpath8&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;(-f     flush a multipath device map specified as parameter, if unused)&lt;br /&gt;&lt;br /&gt;[root@lx0080 ~]# &lt;b&gt;&lt;i&gt;multipath -f mpath8&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;[root@lx0080 ~]# &lt;b&gt;&lt;i&gt;multipath -ll | grep 360060e8004a51a000000a51a00000200&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;360060e8004a51a000000a51a00000200 is the UUID of the disk from&lt;br /&gt;scsi_id -gus /block/sdb (or /block/sdq)&lt;br /&gt;&lt;br /&gt;now the multipath map is removed. but the disk is still in the system.&lt;br /&gt;&lt;br /&gt;[root@lx0080 ~]# &lt;b&gt;&lt;i&gt;fdisk -l /dev/sdq&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;Disk /dev/sdq: 536.8 GB, 536877465600 bytes&lt;br /&gt;255 heads, 63 sectors/track, 65271 cylinders&lt;br /&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;&lt;br /&gt;   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;/dev/sdq1               1       65271   524289276   8e  Linux LVM&lt;br /&gt;&lt;/pre&gt;[root@lx0080 ~]# &lt;b&gt;&lt;i&gt;fdisk -l /dev/sdb&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;Disk /dev/sdb: 536.8 GB, 536877465600 bytes&lt;br /&gt;255 heads, 63 sectors/track, 65271 cylinders&lt;br /&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;&lt;br /&gt;   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;/dev/sdb1               1       65271   524289276   8e  Linux LVM&lt;br /&gt;&lt;/pre&gt;[root@lx0080 ~]#&lt;br /&gt;&lt;br /&gt;[root@lx0080 ~]# &lt;b&gt;&lt;i&gt;pvs&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;Found duplicate PV O9b3hwoSUOpUpeoGJwzEBptKXo3ba2g9: using /dev/sdb1 not /dev/sdq1&lt;br /&gt;  PV         VG             Fmt  Attr PSize   PFree&lt;br /&gt;  /dev/dm-17 lx0080apps00vg lvm2 a-   200.00G  11.50G&lt;br /&gt;  /dev/dm-18 lx0080apps00vg lvm2 a-   200.00G  11.50G&lt;br /&gt;  /dev/dm-20 lx0080apps01vg lvm2 a-   250.00G  50.00G&lt;br /&gt;  /dev/dm-21 lx0080apps01vg lvm2 a-   100.00G  50.00G&lt;br /&gt;  /dev/dm-22 lx0080apps01vg lvm2 a-   200.00G  10.00G&lt;br /&gt;  /dev/dm-23 lx0080apps01vg lvm2 a-   200.00G  10.00G&lt;br /&gt;  /dev/dm-24 lx0080apps01vg lvm2 a-   200.00G  10.00G&lt;br /&gt;  /dev/sda2  vg00           lvm2 a-    67.88G   4.47G&lt;br /&gt;  /dev/sdb1                 lvm2 --   500.00G 500.00G&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;3. delete from the system&lt;br /&gt;&lt;br /&gt;[root@lx0080 ~]# &lt;b&gt;&lt;i&gt;echo 1 &amp;gt; /sys/block/sdb/device/delete&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;[root@lx0080 ~]# &lt;b&gt;&lt;i&gt;echo 1 &amp;gt; /sys/block/sdq/device/delete&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;[root@lx0080 ~]# &lt;b&gt;&lt;i&gt;dmesg&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;Synchronizing SCSI cache for disk sdb:&lt;br /&gt;Synchronizing SCSI cache for disk sdq:&lt;br /&gt;&lt;/pre&gt;[root@lx0080 ~]# &lt;b&gt;&lt;i&gt;fdisk -l /dev/sdb&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;[root@lx0080 ~]# &lt;b&gt;&lt;i&gt;fdisk -l /dev/sdq&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;here are some entries generated thru syslog:&lt;br /&gt;&lt;br /&gt;- when multipath -f was run:&lt;br /&gt;&lt;pre&gt;Apr 22 09:17:20 lx0080 multipathd: dm map mpath8 removed&lt;br /&gt;Apr 22 09:17:20 lx0080 udevd[2444]: udev done!&lt;br /&gt;&lt;/pre&gt;- when deleting sdb&lt;br /&gt;&lt;pre&gt;Apr 22 09:22:52 lx0080 kernel: Synchronizing SCSI cache for disk sdb:&lt;br /&gt;Apr 22 09:22:52 lx0080 multipathd: remove sdb path checker&lt;br /&gt;Apr 22 09:22:52 lx0080 udevd[2444]: udev done!&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;- when deleting sdq&lt;br /&gt;&lt;pre&gt;Apr 22 09:22:57 lx0080 kernel: Synchronizing SCSI cache for disk sdq:&lt;br /&gt;Apr 22 09:22:57 lx0080 multipathd: remove sdq path checker&lt;br /&gt;Apr 22 09:22:57 lx0080 udevd[2444]: udev done!&lt;br /&gt;Apr 22 09:23:02 lx0080 udevd[2444]: udev done!&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;our storage admin can now remove the disk definition from storage&lt;br /&gt;server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-1054489693564704837?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/1054489693564704837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/04/removing-multipath-disks.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/1054489693564704837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/1054489693564704837'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/04/removing-multipath-disks.html' title='Removing multipath disks'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-1703878979961508141</id><published>2010-04-13T13:45:00.001+08:00</published><updated>2010-08-24T10:07:22.369+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Adding multipath disks without rebooting</title><content type='html'>this is done on a CEntOS 5.3 x86_64 Box with HP EVA 8000 LUNs.&lt;br /&gt;HBA is Emulex.&lt;br /&gt;&lt;br /&gt;after disks have been presented on the OS, they can be "discovered"&lt;br /&gt;by scanning the hba ports. &lt;br /&gt;&lt;br /&gt;doing a scsi bus rescan or reset causes connectivity problems&lt;br /&gt;and should be avoided if you can't stop I/O activities on&amp;nbsp; the&lt;br /&gt;server.&lt;br /&gt;&lt;br /&gt;i'm doing this on a CEntOs 5.3 machine with several existing&lt;br /&gt;HP EVA 8000 LUNs with multipath as shown below:&lt;br /&gt;&lt;pre&gt;mpath2 (3600508b40005459d0000c00001120000) dm-10 HP,HSV210&lt;br /&gt;[size=200G][features=1 queue_if_no_path][hwhandler=0][rw]&lt;br /&gt;\_ round-robin 0 [prio=110][active]                      &lt;br /&gt; \_ 1:0:0:2 sdc 8:32  [active][ready]                    &lt;br /&gt; \_ 2:0:0:2 sdh 8:112 [active][ready]                    &lt;br /&gt; \_ 2:0:1:2 sdm 8:192 [active][ready]                    &lt;br /&gt;mpath1 (3600508b40005459d0000c000010f0000) dm-9 HP,HSV210&lt;br /&gt;[size=200G][features=1 queue_if_no_path][hwhandler=0][rw]&lt;br /&gt;\_ round-robin 0 [prio=110][active]                      &lt;br /&gt; \_ 1:0:0:1 sdb 8:16  [active][ready]                    &lt;br /&gt; \_ 2:0:0:1 sdg 8:96  [active][ready]                    &lt;br /&gt; \_ 2:0:1:1 sdl 8:176 [active][ready]                    &lt;br /&gt;mpath5 (3600508b40005459d0000e00000450000) dm-13 HP,HSV210&lt;br /&gt;[size=500G][features=1 queue_if_no_path][hwhandler=0][rw] &lt;br /&gt;\_ round-robin 0 [prio=70][active]                        &lt;br /&gt; \_ 1:0:0:5 sdf 8:80  [active][ready]                     &lt;br /&gt; \_ 2:0:0:5 sdk 8:160 [active][ready]                     &lt;br /&gt; \_ 2:0:1:5 sdp 8:240 [active][ready]                     &lt;br /&gt;mpath4 (3600508b40005459d0000c000011a0000) dm-12 HP,HSV210&lt;br /&gt;[size=200G][features=1 queue_if_no_path][hwhandler=0][rw] &lt;br /&gt;\_ round-robin 0 [prio=110][active]                       &lt;br /&gt; \_ 1:0:0:4 sde 8:64  [active][ready]                     &lt;br /&gt; \_ 2:0:0:4 sdj 8:144 [active][ready]                     &lt;br /&gt; \_ 2:0:1:4 sdo 8:224 [active][ready]                     &lt;br /&gt;mpath3 (3600508b40005459d0000c00001150000) dm-11 HP,HSV210&lt;br /&gt;[size=200G][features=1 queue_if_no_path][hwhandler=0][rw] &lt;br /&gt;\_ round-robin 0 [prio=110][active]                       &lt;br /&gt; \_ 1:0:0:3 sdd 8:48  [active][ready]                     &lt;br /&gt; \_ 2:0:0:3 sdi 8:128 [active][ready]                     &lt;br /&gt; \_ 2:0:1:3 sdn 8:208 [active][ready] &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5ILb082Zo70/S7yBXBRseoI/AAAAAAAAAQI/G31EHV27Ip4/s1600/storage00.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="290" src="http://3.bp.blogspot.com/_5ILb082Zo70/S7yBXBRseoI/AAAAAAAAAQI/G31EHV27Ip4/s320/storage00.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;what's needed:&lt;br /&gt;1. current LUN IDs of the server (via multipath -ll&amp;nbsp; or lsscsi)&lt;br /&gt;2. WWN of the storage server&lt;br /&gt;3. the number and channel of HBA&lt;br /&gt;&lt;br /&gt;current LUN IDs are shown in the multipath -ll output above.&lt;br /&gt;or, via lsscsi, its in the leftmost column, the 4th number: &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/S7yBZO72EDI/AAAAAAAAAQQ/561zYpYk5_M/s1600/storage01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5ILb082Zo70/S7yBZO72EDI/AAAAAAAAAQQ/561zYpYk5_M/s320/storage01.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre&gt;[2:0:1:1]    disk    HP       HSV210           5000  /dev/sdl&lt;br /&gt;[2:0:1:2]    disk    HP       HSV210           5000  /dev/sdm&lt;br /&gt;[2:0:1:3]    disk    HP       HSV210           5000  /dev/sdn&lt;br /&gt;[2:0:1:4]    disk    HP       HSV210           5000  /dev/sdo&lt;br /&gt;[2:0:1:5]    disk    HP       HSV210           5000  /dev/sdp&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;the current LUN ids are 1,2,3,4 and 5.&lt;br /&gt;&lt;br /&gt;0x50001fe1500a7340&amp;nbsp; is the WWN of the storage server&lt;br /&gt;(from /sys/class/fc_transport/target1\:0\:0/node_name)&lt;br /&gt;&lt;br /&gt;to list all existing hba number/channel, run:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;grep 0x50001fe1500a7340 /sys/class/fc_transport/*/node_name&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;/sys/class/fc_transport/target1:0:0/node_name:0x50001fe1500a7340&amp;nbsp; -&amp;gt; 1st path&lt;br /&gt;/sys/class/fc_transport/target2:0:0/node_name:0x50001fe1500a7340&amp;nbsp; -&amp;gt; 2nd path&lt;br /&gt;/sys/class/fc_transport/target2:0:1/node_name:0x50001fe1500a7340&amp;nbsp; -&amp;gt; 3rd path&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;now let the OS know of the new storage device(s):&lt;br /&gt;&lt;br /&gt;&lt;b&gt;echo "c t l" &amp;gt; /sys/class/scsi_host/hosth/scan&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;h is the HBA number&lt;br /&gt;c is the channel on the HBA&lt;br /&gt;t is the SCSI target ID,&amp;nbsp;&amp;nbsp; &lt;br /&gt;l is the LUN.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;in my case, i need to use the following commands:&lt;br /&gt;&lt;pre&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;echo "0 0 06" &amp;gt; /sys/class/scsi_host/host1/scan&lt;/b&gt;&lt;br /&gt;&lt;b&gt;echo "0 0 06" &amp;gt; /sys/class/scsi_host/host2/scan&lt;/b&gt;&lt;br /&gt;&lt;b&gt;echo "0 1 06" &amp;gt; /sys/class/scsi_host/host2/scan&lt;/b&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;from dmesg, the following is for the first echo command:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/S7yEIu4APII/AAAAAAAAAQY/NQ4w3E8DrXE/s1600/scan01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://1.bp.blogspot.com/_5ILb082Zo70/S7yEIu4APII/AAAAAAAAAQY/NQ4w3E8DrXE/s320/scan01.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;and for the next two echo commands:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5ILb082Zo70/S7yELacOwNI/AAAAAAAAAQg/3B_vP1DoZW0/s1600/scan02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://2.bp.blogspot.com/_5ILb082Zo70/S7yELacOwNI/AAAAAAAAAQg/3B_vP1DoZW0/s320/scan02.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;now we have 3 new disk: sdq, sdr and sds (these are not persistent&lt;br /&gt;and may change during reboots).&lt;br /&gt;&lt;br /&gt;to verify, run scs_id on each new disks to see&lt;br /&gt;if they have the same UID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/S7yE6gMAHAI/AAAAAAAAAQo/ynGlZifWMyM/s1600/disk00.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="76" src="http://1.bp.blogspot.com/_5ILb082Zo70/S7yE6gMAHAI/AAAAAAAAAQo/ynGlZifWMyM/s320/disk00.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;now i run fdisk on /dev/sdq to create one partition wity type 8e &lt;br /&gt;(Linux LVM):&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5ILb082Zo70/S7yE9HwDSpI/AAAAAAAAAQw/SwiRSYwzQXg/s1600/disk01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="294" src="http://2.bp.blogspot.com/_5ILb082Zo70/S7yE9HwDSpI/AAAAAAAAAQw/SwiRSYwzQXg/s320/disk01.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;and then to re-enable multipath for the new drive, run:&lt;br /&gt;&lt;br /&gt;[root@LXI*****60 ~]#&lt;b&gt;multipath&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;mpath6 is then created:&lt;br /&gt;&lt;br /&gt;[root@LXI*****60 ~]# &lt;b&gt;multipath -ll&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;mpath6 (3600508b40005459d0000e00001370000) dm-22 HP,HSV210&lt;br /&gt;[size=750G][features=1 queue_if_no_path][hwhandler=0][rw] &lt;br /&gt;\_ round-robin 0 [prio=70][active]                        &lt;br /&gt; \_ 1:0:0:6 sdq 65:0  [active][ready]                     &lt;br /&gt; \_ 2:0:0:6 sdr 65:16 [active][ready]                     &lt;br /&gt; \_ 2:0:1:6 sds 65:32 [active][ready] &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Adding to existing Volume Group&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;run kpartx on the new mpath to list available mapping&lt;br /&gt;&lt;br /&gt;[root@LXI*****60 ~]#&lt;b&gt;kpartx -l /dev/mapper/mpath6&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;mpath6p1 : 0 1572859827 /dev/mapper/mpath6 63&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;now create the partition mappings:&lt;br /&gt;&lt;br /&gt;[root@LXI*****60 ~]# &lt;b&gt;kpartx -a /dev/mapper/mpath6&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[root@LXI*****60 ~]# &lt;b&gt;ls /dev/mapper/mpath6*&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;/dev/mapper/mpath6&amp;nbsp; /dev/mapper/mpath6p1&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;[root@LXISAP0060 ~]# &lt;b&gt;ls -ltr /dev/mapper/mpath6*&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;brw-rw---- 1 root disk 253, 22 Apr&amp;nbsp; 7 12:00 /dev/mapper/mpath6&lt;br /&gt;brw-rw---- 1 root disk 253, 23 Apr&amp;nbsp; 7 13:43 /dev/mapper/mpath6p1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;initiliaze the device for LVM use:&lt;br /&gt;&lt;br /&gt;[root@LXI*****60 ~]# &lt;b&gt;pvcreate /dev/mapper/mpath6p1&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;returns:&lt;br /&gt;&lt;pre&gt;Physical volume "/dev/mapper/mpath6p1" successfully created&lt;/pre&gt;&lt;br /&gt;listing via pvs:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/S7yE-b_dV6I/AAAAAAAAAQ4/MazWwOT371s/s1600/disk02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="74" src="http://1.bp.blogspot.com/_5ILb082Zo70/S7yE-b_dV6I/AAAAAAAAAQ4/MazWwOT371s/s320/disk02.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;/dev/dm-23 is the one to be used:&lt;br /&gt;&lt;br /&gt;[root@LXI*****60 ~]# &lt;b&gt;vgextend lx0060apps00vg /dev/dm-23&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&amp;nbsp; Volume group "lx0060apps00vg" successfully extended&lt;/pre&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5ILb082Zo70/S7yFATXXxpI/AAAAAAAAARA/2TBBjFXJgB0/s1600/disk03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="148" src="http://3.bp.blogspot.com/_5ILb082Zo70/S7yFATXXxpI/AAAAAAAAARA/2TBBjFXJgB0/s320/disk03.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Resizing logical volume and the FS&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[root@LXI*****60 ~]# &lt;b&gt;lvresize -i1 -L +200G /dev/mapper/lx0060apps00vg-lx0060data00LV&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&amp;nbsp; Extending logical volume lx0060data00LV to 930.00 GB&lt;br /&gt;&amp;nbsp; Logical volume lx0060data00LV successfully resized&lt;/pre&gt;&lt;br /&gt;and then for the fs:&lt;br /&gt;&lt;br /&gt;[root@LXI*****60 ~]# &lt;b&gt;resize2fs /dev/mapper/lx0060apps00vg-lx0060data00LV&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/S7yFCvwIL0I/AAAAAAAAARI/jjmDBKH7_vI/s1600/disk04.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="74" src="http://1.bp.blogspot.com/_5ILb082Zo70/S7yFCvwIL0I/AAAAAAAAARI/jjmDBKH7_vI/s320/disk04.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;till next time. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-1703878979961508141?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/1703878979961508141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/04/adding-multipath-disks-without.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/1703878979961508141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/1703878979961508141'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/04/adding-multipath-disks-without.html' title='Adding multipath disks without rebooting'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5ILb082Zo70/S7yBXBRseoI/AAAAAAAAAQI/G31EHV27Ip4/s72-c/storage00.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-4509458653890528172</id><published>2010-03-30T10:50:00.003+08:00</published><updated>2010-08-24T10:04:48.245+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hmc'/><title type='text'>HMC V7  "Connection to the Command Server failed"</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;searching via google about the error and found this:&lt;/div&gt;&lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;http://www-01.ibm.com/support/docview.wss?uid=isg3T1011162&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;(steps to fix are also mentioned there).&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;our HMCs have all the symptoms mentioned there.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;here are two snapshots:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5ILb082Zo70/S7FmTrOrq5I/AAAAAAAAAP4/D_1knlmArv8/s1600/hmcerr000.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="135" nt="true" src="http://1.bp.blogspot.com/_5ILb082Zo70/S7FmTrOrq5I/AAAAAAAAAP4/D_1knlmArv8/s320/hmcerr000.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5ILb082Zo70/S7FmFCwgoOI/AAAAAAAAAPw/9qwr4NYx2ec/s1600/hmcerr001.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="81" nt="true" src="http://4.bp.blogspot.com/_5ILb082Zo70/S7FmFCwgoOI/AAAAAAAAAPw/9qwr4NYx2ec/s320/hmcerr001.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_5ILb082Zo70/S7FkbJPwQQI/AAAAAAAAAPo/8ytOMIWKJLM/s1600/hmcerr000.jpg" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;/a&gt;i decided to do a clean install of a new version. so from IBM's&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;fix central, i need to get the following:&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;HMC V7R3.5.0M0 Released 30 Oct 2009 MH01194 &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;(which i can use to a fresh install - i don't have any&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;special settings with our HMC so reconfiguration is easy).&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;HMC V7R3.5.0M1 MH01212 &lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;(This is the current recommended HMC Service Pack for MH01194&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;and was made available on 15 Mar 2010).&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5ILb082Zo70/S7Fma4-UCLI/AAAAAAAAAQA/nbn8woM6B-0/s1600/hmcerr0002.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" nt="true" src="http://3.bp.blogspot.com/_5ILb082Zo70/S7Fma4-UCLI/AAAAAAAAAQA/nbn8woM6B-0/s320/hmcerr0002.jpg" width="298" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;a href="http://4.bp.blogspot.com/_5ILb082Zo70/S7FkbJPwQQI/AAAAAAAAAPo/8ytOMIWKJLM/s1600/hmcerr000.jpg" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5ILb082Zo70/S7FkbJPwQQI/AAAAAAAAAPo/8ytOMIWKJLM/s1600/hmcerr000.jpg" imageanchor="1" style="cssfloat: left; margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;info for above updates are available from the following links:&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;http://www-933.ibm.com/support/fixcentral/firmware/readme?fixid=MH01194&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;http://www-933.ibm.com/support/fixcentral/firmware/readme?fixid=MH01212&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;installation is straight forward (make sure you have notes of the HMC and&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;managed systems' network settings and logins where applicable.&lt;br /&gt;&lt;br /&gt;(psss...blogger is getting harder and harder to use everytime i make a new post. :()..&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-4509458653890528172?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/4509458653890528172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/03/hmc-v7-connection-to-command-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/4509458653890528172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/4509458653890528172'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/03/hmc-v7-connection-to-command-server.html' title='HMC V7  &quot;Connection to the Command Server failed&quot;'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5ILb082Zo70/S7FmTrOrq5I/AAAAAAAAAP4/D_1knlmArv8/s72-c/hmcerr000.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-5695318930756722139</id><published>2010-03-10T15:15:00.005+08:00</published><updated>2010-08-24T10:11:45.651+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>postfix canonical maps</title><content type='html'>mail admins complain that there are bounces messages&lt;br /&gt;due to invalid non-routable email addresses in our environments.&lt;br /&gt;since our *nix servers send out regular system and application&lt;br /&gt;messages with the sender local to those systems, there are a lot&lt;br /&gt;of instances were replies to these bounce back or sent to&lt;br /&gt;mail admin catch-all folders due to the invalid&lt;br /&gt;addresses.&lt;br /&gt;&lt;br /&gt;example:&lt;br /&gt;&lt;br /&gt;hostA.localdomain.cib sends out messages (from root) to&lt;br /&gt;an application user.with email user@validdomain.com,&lt;br /&gt;user is on vacation and has set out an out-of-office&lt;br /&gt;reply.&lt;br /&gt;ooo reply sends out email addressed to root@hostA.localdomain.cib&lt;br /&gt;with the message bouncing back to user@validdomain.com or&lt;br /&gt;gets sent to a mail admin inbox folder.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5ILb082Zo70/S5dGJbR1dxI/AAAAAAAAAPA/IcmNz17Eves/s1600-h/mail00.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5ILb082Zo70/S5dGJbR1dxI/AAAAAAAAAPA/IcmNz17Eves/s320/mail00.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;so as not to touch any application settings, canonical&lt;br /&gt;mappings in postfix have been used.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;in /etc/postfix/canonical&lt;br /&gt;&lt;pre&gt;@localdomain.cib&amp;nbsp;&amp;nbsp;&amp;nbsp; admin.user@validdomain.com&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;then run (cwd is /etc/postfix):&lt;br /&gt;&lt;b&gt;&lt;i&gt;postmap canonical&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;(the file /etc/postfix/canonical.db gets created or updated)&lt;br /&gt;&lt;br /&gt;in /etc/postfix/main.cf&lt;br /&gt;&lt;pre&gt;canonical_maps = hash:/etc/postfix/canonical&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;then run:&lt;br /&gt;&lt;b&gt;&lt;i&gt;/sbin/service postfix reload&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;(if additional changes are needed in the canonical file, no need&lt;br /&gt;to reload postfix).&lt;br /&gt;&lt;br /&gt;from here on, messages will appear to have come from the email address:&lt;br /&gt;&lt;br /&gt;admin.user@validdomain.com&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5ILb082Zo70/S5dGHDtq45I/AAAAAAAAAO4/7tvFvEDTeLk/s1600-h/mail01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5ILb082Zo70/S5dGHDtq45I/AAAAAAAAAO4/7tvFvEDTeLk/s320/mail01.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;NOTE: above example affects all messages coming from that machine.&lt;br /&gt;it can be configured on a per user or per address setup. in this case, it&lt;br /&gt;is "domain wide" from the machine's point of view.&lt;br /&gt;please read the /etc/postfix/canonical file - it&lt;br /&gt;contains documentation on how it is used.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-5695318930756722139?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/5695318930756722139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2010/03/postfix-canonical-maps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5695318930756722139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5695318930756722139'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2010/03/postfix-canonical-maps.html' title='postfix canonical maps'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5ILb082Zo70/S5dGJbR1dxI/AAAAAAAAAPA/IcmNz17Eves/s72-c/mail00.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-2694854546217643357</id><published>2009-12-10T17:17:00.009+08:00</published><updated>2010-08-24T10:09:06.792+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>pam_tally2 - lock account after failed logins</title><content type='html'>this post shows how to temporarily block an account after reaching a certain number of failled logins. &lt;br /&gt;system is a CentOS 5.4 x86_64.&lt;br /&gt;&lt;br /&gt;in the file&lt;br /&gt;&lt;br /&gt;&lt;b&gt;/etc/pam.d/system-auth&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;i've added this line at the beginning of the auth section:&lt;br /&gt;&lt;pre&gt;&lt;b&gt;auth&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; required&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pam_tally2.so&amp;nbsp; file=/var/log/tallylog deny=5 quiet unlock_time=3600&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;then this at the account section:&lt;br /&gt;&lt;pre&gt;&lt;b&gt;account&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; required&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pam_tally2.so&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;the auth line above will lockout and account after 5 failed logins. user will then have to wait for an hour to have the account available.&lt;br /&gt;account can be re-enabled immediately by root (or one with root privileges) by running this:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;pam_tally2&amp;nbsp; -r -u account_name_to_unlock&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;[root@node02 ~]# &lt;i&gt;&lt;b&gt;tail -20 /var/log/secure&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Dec 10 17:10:44 node02 sshd[10623]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=node01-priv&amp;nbsp; user=oracleDec 10 17:10:46 node02 sshd[10623]: Failed password for oracle from 192.168.100.10 port 51233 ssh2&lt;br /&gt;Dec 10 17:10:52 node02 last message repeated 2 times&lt;br /&gt;Dec 10 17:10:52 node02 sshd[10624]: Connection closed by 192.168.100.10&lt;br /&gt;Dec 10 17:10:52 node02 sshd[10623]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=node01-priv&amp;nbsp; user=oracle&lt;br /&gt;Dec 10 17:10:56 node02 sshd[10626]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=node01-priv&amp;nbsp; user=erik&lt;br /&gt;Dec 10 17:10:58 node02 sshd[10626]: Failed password for erik from 192.168.100.10 port 51234 ssh2&lt;br /&gt;Dec 10 17:11:07 node02 last message repeated 2 times&lt;br /&gt;Dec 10 17:11:07 node02 sshd[10627]: Connection closed by 192.168.100.10&lt;br /&gt;Dec 10 17:11:07 node02 sshd[10626]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=node01-priv&amp;nbsp; user=erik&lt;br /&gt;Dec 10 17:11:11 node02 sshd[10629]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=node01-priv&amp;nbsp; user=oracle&lt;br /&gt;Dec 10 17:11:13 node02 sshd[10629]: Failed password for oracle from 192.168.100.10 port 51235 ssh2&lt;br /&gt;Dec 10 17:11:17 node02 sshd[10629]: Failed password for oracle from 192.168.100.10 port 51235 ssh2&lt;br /&gt;Dec 10 17:11:21 node02 sshd[10629]: &lt;b&gt;pam_tally2(sshd:auth): user oracle (1000) tally 6, deny 5&lt;/b&gt;&lt;br /&gt;Dec 10 17:11:23 node02 sshd[10629]: Failed password for oracle from 192.168.100.10 port 51235 ssh2&lt;br /&gt;Dec 10 17:11:23 node02 sshd[10630]: Connection closed by 192.168.100.10&lt;br /&gt;Dec 10 17:11:23 node02 sshd[10629]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=node01-priv&amp;nbsp; user=oracle&lt;br /&gt;Dec 10 17:11:26 node02 sshd[10631]&lt;b&gt;: pam_tally2(sshd:auth): user oracle (1000) tally 7, deny 5&lt;/b&gt;&lt;br /&gt;Dec 10 17:11:27 node02 sshd[10631]: Failed password for oracle from 192.168.100.10 port 51236 ssh2&lt;br /&gt;Dec 10 17:11:28 node02 sshd[10632]: Connection closed by 192.168.100.10&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;check the counter&lt;br /&gt;&lt;br /&gt;[root@node02 ~]# &lt;i&gt;&lt;b&gt;pam_tally2&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Login&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Failures Latest failure&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From&lt;br /&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/10/09 17:11:26&amp;nbsp; node01-priv&lt;br /&gt;erik&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/10/09 17:11:05&amp;nbsp; node01-priv&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;unlock oracle:&lt;br /&gt;&lt;br /&gt;[root@node02 ~]# &lt;i&gt;&lt;b&gt;pam_tally2&amp;nbsp; -r -u oracle&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Login&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Failures Latest failure&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From&lt;/pre&gt;&lt;pre&gt;oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/10/09 17:11:26&amp;nbsp; node01-priv&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;re-check, oracle has been cleared and should be able to login:&lt;br /&gt;&lt;br /&gt;[root@node02 ~]# &lt;i&gt;&lt;b&gt;pam_tally2&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Login&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Failures Latest failure&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From&lt;br /&gt;erik&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/10/09 17:11:05&amp;nbsp; node01-priv&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Reference:&amp;nbsp; &lt;b&gt;/usr/share/doc/pam-0.99.6.2/txts/README.pam_tally2&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-2694854546217643357?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/2694854546217643357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/12/pamtally2-lock-account-after-failed.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/2694854546217643357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/2694854546217643357'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/12/pamtally2-lock-account-after-failed.html' title='pam_tally2 - lock account after failed logins'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-4030862025301750020</id><published>2009-12-03T14:40:00.021+08:00</published><updated>2010-08-24T10:12:57.139+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>WDTV Live and uShare Media Server</title><content type='html'>i recently acquired a &lt;a href="http://www.wdc.com/en/products/products.asp?driveid=735"&gt;WDTV Live media player&lt;/a&gt; as i wanted to play bluray format movies&lt;br /&gt;&lt;br /&gt;especially kiddie movies for my 2 yo son Athrun Karl. i got it from Challenger in SG and it comes with a free HDMI cable. i used it for a couple of days and then i brought to the Philippines for my wife and son to use.&lt;br /&gt;&lt;br /&gt;i've been waiting for WDTV Live as i've wanted builtin network support compared to the old WDTV (although you can load a custom firmware and plug a USB Lan device - checkout http://b-rad.cc/ so i can access files from my old desktop cum server.&lt;br /&gt;&lt;br /&gt;the WDTV Live is pretty neat and plays almost all media format. and it has support for DTS&lt;br /&gt;&lt;br /&gt;(users of old WDTV still needs to convert to AC-3/Dolby Digital format to enjoy media with DTS).&lt;br /&gt;&lt;br /&gt;more about DTS &lt;a href="http://en.wikipedia.org/wiki/DTS_%28sound_system%29"&gt;here&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;and youtube videos - wdtv live can access youtube. :D&lt;br /&gt;&lt;br /&gt;anyway, for playing media over the network, i use uShare on a  heavily battered CentOs 5 x86 machine. Before, i only use it with my xbox 360 to view images and play Divx media.&lt;br /&gt;&lt;br /&gt;when i got the wdtv live, i just modified my ushare.conf file, restarted the service&lt;br /&gt;and the share can then be accessed from the Main menu &amp;gt; Videos &amp;gt; Network servers and my ushare "share" named &lt;b&gt;uMedia&lt;/b&gt; is accessible. from here, i can play DivX movies - with both my xbox 360 and wdtv live.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NOTE: i only tried playing bluray movies via USB HDD plugged directly to the&lt;br /&gt;wdtv live player due to space constraints with my Centos Box (these bluray movies&lt;br /&gt;do eat lots of disk space).&lt;br /&gt;&lt;br /&gt;here's my ushare configuration (xbox 360 and wdtv live compatible):&lt;br /&gt;&lt;br /&gt;OS: CentOS 5.2 x86&lt;br /&gt;eth1 is my  internal LAN interface&lt;br /&gt;&lt;br /&gt;ushare package downloaded from DAG's repo &lt;a href="http://dag.wieers.com/"&gt;http://dag.wieers.com/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;network layout - might go out of whack in your browser:&lt;br /&gt;&lt;pre&gt;+------------+          +-----------------+&lt;br /&gt;internet&amp;lt;- eth0 -&amp;gt; + centos_box +&amp;lt;- eth1 -&amp;gt;+ wlan/lan router +--&amp;gt; wdtv live&lt;br /&gt;                   +------------+          +--------+--------+&lt;br /&gt;                                                    |&lt;br /&gt;                                                    +-------&amp;gt; xbox 360&lt;br /&gt;&lt;/pre&gt;$ &lt;i&gt;&lt;b&gt;rpm -qa | grep ushare ushare-1.1a-2.el5.rf&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;$ &lt;i&gt;&lt;b&gt;rpm -qi ushare&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Name        : ushare                       Relocations: (not relocatable)&lt;br /&gt;Version     : 1.1a                              Vendor: Dag Apt Repository, http://dag.wieers.com/apt/&lt;br /&gt;Release     : 2.el5.rf                      Build Date: Tue 18 Dec 2007 02:10:55 AM SGT&lt;br /&gt;Install Date: Sat 27 Sep 2008 10:12:10 AM SGT      Build Host: lisse.leuven.wieers.com&lt;br /&gt;Group       : Applications/Multimedia       Source RPM: ushare-1.1a-2.el5.rf.src.rpm&lt;br /&gt;Size        : 126519                           License: GPL&lt;br /&gt;Signature   : DSA/SHA1, Tue 18 Dec 2007 10:42:08 AM SGT, Key ID a20e52146b8d79e6&lt;br /&gt;Packager    : Dag Wieers&lt;br /&gt;URL         : http://ushare.geexbox.org/&lt;br /&gt;Summary     : Universal Plug'nPlay (uPNP) Media Server&lt;br /&gt;Description :&lt;br /&gt;&lt;br /&gt;uShare is a UPnP (TM) A/V Media Server. It implements the server component that provides UPnP media devices with information on available multimedia files. uShare uses the built-in http server of libupnp to stream the files to clients.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;main configuration file /etc/ushare.conf:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#START of config file:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;# /etc/ushare.conf&lt;br /&gt;# Configuration file for uShare&lt;br /&gt;&lt;br /&gt;# uShare UPnP Friendly Name (default is 'uShare').&lt;br /&gt;USHARE_NAME=uMedia&lt;br /&gt;&lt;br /&gt;# Interface to listen to (default is eth0).&lt;br /&gt;# Ex : USHARE_IFACE=eth1&lt;br /&gt;USHARE_IFACE=eth1&lt;br /&gt;&lt;br /&gt;# Port to listen to (default is random from IANA Dynamic Ports range)&lt;br /&gt;# Ex : USHARE_PORT=49200&lt;br /&gt;USHARE_PORT=49200&lt;br /&gt;&lt;br /&gt;# Port to listen for Telnet connections&lt;br /&gt;# Ex : USHARE_TELNET_PORT=1337&lt;br /&gt;USHARE_TELNET_PORT=&lt;br /&gt;&lt;br /&gt;# Directories to be shared (space or CSV list).&lt;br /&gt;# Ex: USHARE_DIR=/dir1,/dir2&lt;br /&gt;&lt;br /&gt;USHARE_DIR=/home/media&lt;br /&gt;&lt;br /&gt;# Use to override what happens when iconv fails to parse a file name.&lt;br /&gt;# The default uShare behaviour is to not add the entry in the media list&lt;br /&gt;# This option overrides that behaviour and adds the non-iconv'ed string into&lt;br /&gt;# the media list, with the assumption that the renderer will be able to&lt;br /&gt;# handle it. Devices like Noxon 2 have no problem with strings being passed&lt;br /&gt;# as is. (Umlauts for all!)&lt;br /&gt;#&lt;br /&gt;# Options are TRUE/YES/1 for override and anything else for default behaviour&lt;br /&gt;USHARE_OVERRIDE_ICONV_ERR=&lt;br /&gt;&lt;br /&gt;# Enable Web interface (yes/no)&lt;br /&gt;ENABLE_WEB=&lt;br /&gt;&lt;br /&gt;# Enable Telnet control interface (yes/no)&lt;br /&gt;ENABLE_TELNET=no&lt;br /&gt;&lt;br /&gt;# Use XboX 360 compatibility mode (yes/no)&lt;br /&gt;ENABLE_XBOX=yes&lt;br /&gt;&lt;br /&gt;# Use DLNA profile (yes/no)&lt;br /&gt;# This is needed for PlayStation3 to work (among other devices)&lt;br /&gt;ENABLE_DLNA=yes&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;#END of config file &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;then run:&lt;br /&gt;$ &lt;i&gt;&lt;b&gt;sudo /sbin/service ushare restart&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;to check&lt;br /&gt;&lt;br /&gt;$ &lt;b&gt;&lt;i&gt;sudo netstat -patun | grep ushare&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Password:&lt;br /&gt;&lt;pre&gt;tcp        0      0 0.0.0.0:49200               0.0.0.0:*                   LISTEN      15777/ushare&lt;br /&gt;tcp        0      0 0.0.0.0:1337                0.0.0.0:*                   LISTEN      15777/ushare&lt;br /&gt;udp        0      0 127.0.0.1:55830             0.0.0.0:*                               15777/ushare&lt;br /&gt;udp        0      0 0.0.0.0:1900                0.0.0.0:*                               15777/ushare&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Things to watch out:&lt;br /&gt;1. iptables ruleset&lt;br /&gt;2. your cabling - if you need to direcly connect wdtv live to your PC (no router or switch)&lt;br /&gt;use a crossover cable&lt;br /&gt;3. SELinux policies&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;hth.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-4030862025301750020?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/4030862025301750020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/12/wdtv-live-and-ushare-media-server_03.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/4030862025301750020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/4030862025301750020'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/12/wdtv-live-and-ushare-media-server_03.html' title='WDTV Live and uShare Media Server'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-3178886812186728189</id><published>2009-10-09T16:35:00.003+08:00</published><updated>2010-08-24T10:12:43.245+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rsyslog'/><title type='text'>Building rsyslog 4.4.1 RPMs</title><content type='html'>Today i finished packaging rsyslog-4.4.1. most of the steps involved (some not mentioned) in this post were from &lt;br /&gt;&lt;a href="http://telinit0.blogspot.com/2009/04/packaging-rsyslog-and-adding-it-to-yum.html"&gt;http://telinit0.blogspot.com/2009/04/packaging-rsyslog-and-adding-it-to-yum.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;latest stable release as of this post:&lt;br /&gt;&lt;b&gt;&lt;br /&gt;rsyslog 4.4.1 (v4-stable)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;tarball can be downloaded here:&lt;br /&gt;&lt;a href="http://www.rsyslog.com/Downloads-req-viewsdownload-sid-1.phtml"&gt;http://www.rsyslog.com/Downloads-req-viewsdownload-sid-1.phtml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Build environment is a &lt;b&gt;CEntOs 5.3 x86_64 system with gcc version 3.4.6 20060404&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;i initially thought that the old rsyslog.spec file i used before will work. so i just edited some entries mainly just to change the rsyslog version and then did an rpmbuild -ba immediately. &lt;br /&gt;&lt;br /&gt;i encountered this error (just a snippet as the error lines are quite long):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;libtool: link: x86_64-redhat-linux-gcc -O2 -g -m64 -mtune=generic -W -Wall -Wformat-security -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute -g -o rsyslogd rsyslogd-syslogd.o rsyslogd-omshell.o rsyslogd-omusrmsg.o rsyslogd-omfwd.o rsyslogd-omfile.o rsyslogd-omdiscard.o rsyslogd-iminternal.o rsyslogd-pidfile.o -Wl,--export-dynamic  -lz -lpthread ../runtime/.libs/librsyslog.a -ldl -lrt&lt;br /&gt;../runtime/.libs/librsyslog.a(librsyslog_la-parser.o): In function `sanitizeMessage':&lt;br /&gt;/apps/rpmbuild/BUILD/rsyslog-4.4.1/runtime/parser.c:213: undefined reference to `rpl_realloc'&lt;br /&gt;../runtime/.libs/librsyslog.a(librsyslog_la-stringbuf.o): In function `rsCStrExtendBuf':&lt;br /&gt;/apps/rpmbuild/BUILD/rsyslog-4.4.1/runtime/stringbuf.c:178: undefined reference to `rpl_realloc'&lt;br /&gt;collect2: ld returned 1 exit status&lt;br /&gt;make[2]: *** [rsyslogd] Error 1&lt;br /&gt;make[2]: Leaving directory `/apps/rpmbuild/BUILD/rsyslog-4.4.1/tools'&lt;br /&gt;make[1]: *** [all-recursive] Error 1&lt;br /&gt;make[1]: Leaving directory `/apps/rpmbuild/BUILD/rsyslog-4.4.1'&lt;br /&gt;make: *** [all] Error 2&lt;br /&gt;error: Bad exit status from /var/tmp/rpm-tmp.39758 (%build)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RPM build errors:&lt;br /&gt;    Bad exit status from /var/tmp/rpm-tmp.39758 (%build)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;from the ever reliable google, i need to run the configure command like this:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;ac_cv_func_malloc_0_nonnull=yes  ./configure --enable-mysql --host=x86_64-redhat-linux&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;to get rid of the rpl_realloc errors. from the command line, the make command following the above custom configure command works.&lt;br /&gt;&lt;br /&gt;but i need to have that done within the rpm spec file. and since i can't find anything  on the web how to use cache variables from the rpm spec file, i did the following:&lt;br /&gt;&lt;br /&gt;1. extract the tar ball&lt;br /&gt;2. ran configure with the following:&lt;br /&gt;&lt;br /&gt;# this is a one-liner:&lt;br /&gt;&lt;b&gt;ac_cv_func_malloc_0_nonnull=yes  ./configure --enable-mysql --host=x86_64-redhat-linux --prefix=/usr --libdir=/usr/lib64 --sbindir=/sbin/&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. re-created tar ball after ./configure&lt;br /&gt;4. remove %configure part of rpm spec file so rpmbuild will jump to the "make" portion&lt;br /&gt;&lt;br /&gt;from the CLI configure process:&lt;br /&gt;&lt;pre&gt;config.status: creating plugins/omoracle/Makefile&lt;br /&gt;config.status: creating plugins/cust1/Makefile&lt;br /&gt;config.status: creating tests/Makefile&lt;br /&gt;config.status: creating config.h&lt;br /&gt;config.status: config.h is unchanged&lt;br /&gt;config.status: executing depfiles commands&lt;br /&gt;config.status: executing libtool commands&lt;br /&gt;****************************************************&lt;br /&gt;rsyslog will be compiled with the following settings:&lt;br /&gt;&lt;br /&gt;    Multithreading support enabled:           yes&lt;br /&gt;    Large file support enabled:               yes&lt;br /&gt;    Networking support enabled:               yes&lt;br /&gt;    Regular expressions support enabled:      yes&lt;br /&gt;    Zlib compression support enabled:         yes&lt;br /&gt;    rsyslog runtime will be built:            yes&lt;br /&gt;    rsyslogd will be built:                   yes&lt;br /&gt;    custom module 1 will be built:            no&lt;br /&gt;&lt;br /&gt;---{ input plugins }---&lt;br /&gt;    Klog functionality enabled:               yes (linux)&lt;br /&gt;    imdiag enabled:                           no&lt;br /&gt;    file input module enabled:                no&lt;br /&gt;    input template module will be compiled:   no&lt;br /&gt;&lt;br /&gt;---{ output plugins }---&lt;br /&gt;    Mail support enabled:                     no&lt;br /&gt;    omprog module will be compiled:           no&lt;br /&gt;    omstdout module will be compiled:         no&lt;br /&gt;    output template module will be compiled:  no&lt;br /&gt;&lt;br /&gt;---{ database support }---&lt;br /&gt;    MySql support enabled:                    yes&lt;br /&gt;    libdbi support enabled:                   no&lt;br /&gt;    PostgreSQL support enabled:               no&lt;br /&gt;    Oracle (OCI) support enabled:             no&lt;br /&gt;&lt;br /&gt;---{ protocol support }---&lt;br /&gt;    GnuTLS network stream driver enabled:     no&lt;br /&gt;    GSSAPI Kerberos 5 support enabled:        no&lt;br /&gt;    RELP support enabled:                     no&lt;br /&gt;    SNMP support enabled:                     no&lt;br /&gt;&lt;br /&gt;---{ debugging support }---&lt;br /&gt;    Testbench enabled:                        no&lt;br /&gt;    Debug mode enabled:                       no&lt;br /&gt;    Runtime Instrumentation enabled:          no&lt;br /&gt;    Diagnostic tools enabled:                 no&lt;br /&gt;    Valgrind support settings enabled:        no&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;looks OK. i then recreate the tarball:&lt;br /&gt;&lt;br /&gt;cd /apps/rpmbuild/SOURCES&lt;br /&gt;tar zcvf rsyslog-4.4.1.tar.gz  rsyslog-4.4.1&lt;br /&gt;&lt;br /&gt;and then re-ran rpmbuild -ba rsyslog.spec&lt;br /&gt;&lt;br /&gt;but there's still some errors:&lt;br /&gt;&lt;pre&gt;Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/rsyslog-4.4.1-0-root-admin&lt;br /&gt;error: Installed (but unpackaged) file(s) found:&lt;br /&gt;   /usr/lib64/rsyslog/lmstrmsrv.so&lt;br /&gt;   /usr/sbin/rsyslogd&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RPM build errors:&lt;br /&gt;    File not found: /var/tmp/rsyslog-4.4.1-0-root-admin/sbin/rsyslogd&lt;br /&gt;    Installed (but unpackaged) file(s) found:&lt;br /&gt;   /usr/lib64/rsyslog/lmstrmsrv.so&lt;br /&gt;   /usr/sbin/rsyslogd&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;the FIX: modify the specfile.&lt;br /&gt;the sbindir in the specfile must be the same as what is defined in  Makefile.&lt;br /&gt;/usr/lib64/rsyslog/lmstrmsrv.so  is missing and thus added in specfile&lt;br /&gt;&lt;br /&gt;after that, rpmbuild was successful:&lt;br /&gt;&lt;pre&gt;Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.58716&lt;br /&gt;+ umask 022&lt;br /&gt;+ cd /apps/rpmbuild/BUILD&lt;br /&gt;+ cd rsyslog-4.4.1&lt;br /&gt;+ DOCDIR=/var/tmp/rsyslog-4.4.1-0-root-admin/usr/share/doc/rsyslog-mysql-4.4.1&lt;br /&gt;+ export DOCDIR&lt;br /&gt;+ rm -rf /var/tmp/rsyslog-4.4.1-0-root-admin/usr/share/doc/rsyslog-mysql-4.4.1&lt;br /&gt;+ /bin/mkdir -p /var/tmp/rsyslog-4.4.1-0-root-admin/usr/share/doc/rsyslog-mysql-4.4.1&lt;br /&gt;+ cp -pr plugins/ommysql/createDB.sql /var/tmp/rsyslog-4.4.1-0-root-admin/usr/share/doc/rsyslog-mysql-4.4.1&lt;br /&gt;+ exit 0&lt;br /&gt;Provides: ommysql.so()(64bit)&lt;br /&gt;Requires(rpmlib): rpmlib(CompressedFileNames) &amp;lt;= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) &amp;lt;= 4.0-1&lt;br /&gt;Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libcrypt.so.1()(64bit) libcrypto.so.6()(64bit) libm.so.6()(64bit) libmysqlclient.so.15()(64bit) libmysqlclient.so.15(libmysqlclient_15)(64bit) libnsl.so.1()(64bit) libssl.so.6()(64bit) libz.so.1()(64bit) rsyslog = 4.4.1-0 rtld(GNU_HASH)&lt;br /&gt;Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/rsyslog-4.4.1-0-root-admin&lt;br /&gt;Wrote: /apps/rpmbuild/SRPMS/rsyslog-4.4.1-0.src.rpm&lt;br /&gt;Wrote: /apps/rpmbuild/RPMS/x86_64/rsyslog-4.4.1-0.x86_64.rpm&lt;br /&gt;Wrote: /apps/rpmbuild/RPMS/x86_64/rsyslog-mysql-4.4.1-0.x86_64.rpm&lt;br /&gt;Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.68227&lt;br /&gt;+ umask 022&lt;br /&gt;+ cd /apps/rpmbuild/BUILD&lt;br /&gt;+ cd rsyslog-4.4.1&lt;br /&gt;+ rm -rf /var/tmp/rsyslog-4.4.1-0-root-admin&lt;br /&gt;+ exit 0&lt;br /&gt;&lt;/pre&gt;some changes:  for rsyslog-sysconfig (this is the file copied into /etc/sysconfig/rsyslog: from SYSLOGD_OPTIONS="-c3" to SYSLOGD_OPTIONS="-c4"  for the spec file (rsyslog.spec) &lt;br /&gt;&lt;pre&gt;2d1&lt;br /&gt;&amp;lt;&lt;br /&gt;5c4&lt;br /&gt;&amp;lt; Version: 3.20.5&lt;br /&gt;---&lt;br /&gt;&amp;gt; Version: 4.4.1&lt;br /&gt;48d46&lt;br /&gt;&amp;lt; %configure --sbindir=%{sbindir} --enable-mysql  # removed in the new spec file&lt;br /&gt;112a111&lt;br /&gt;&amp;gt; %{_libdir}/rsyslog/lmstrmsrv.so   # added&lt;br /&gt;119a119,121&lt;br /&gt;&amp;gt; * Tue Oct 07 2009 Roderick Tapang &lt;erik.tapang@gmail.com&gt;  4.4.1-0&lt;br /&gt;&amp;gt; - use 4.4.1 stable release&lt;br /&gt;&amp;gt;&lt;br /&gt;&lt;/erik.tapang@gmail.com&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;INSTALLING THE RPMs&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;after adding to my custom yum repo:  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;sudo yum install rsyslog-mysql.x86_64&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Loaded plugins: fastestmirror&lt;br /&gt;Loading mirror speeds from cached hostfile&lt;br /&gt;Setting up Install Process&lt;br /&gt;Parsing package install arguments&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&amp;gt; Running transaction check&lt;br /&gt;---&amp;gt; Package rsyslog-mysql.x86_64 0:4.4.1-0 set to be updated&lt;br /&gt;--&amp;gt; Processing Dependency: rsyslog = 4.4.1-0 for package: rsyslog-mysql&lt;br /&gt;--&amp;gt; Running transaction check&lt;br /&gt;---&amp;gt; Package rsyslog.x86_64 0:4.4.1-0 set to be updated&lt;br /&gt;--&amp;gt; Finished Dependency Resolution&lt;br /&gt;&lt;br /&gt;Dependencies Resolved&lt;br /&gt;&lt;br /&gt;============================================================================&lt;br /&gt; Package               Arch           Version          Repository      Size&lt;br /&gt;============================================================================&lt;br /&gt;Installing:&lt;br /&gt; rsyslog-mysql         x86_64         4.4.1-0          custom          25 k&lt;br /&gt;Installing for dependencies:&lt;br /&gt; rsyslog               x86_64         4.4.1-0          custom         1.3 M&lt;br /&gt;&lt;br /&gt;Transaction Summary&lt;br /&gt;============================================================================&lt;br /&gt;Install      2 Package(s)&lt;br /&gt;Update       0 Package(s)&lt;br /&gt;Remove       0 Package(s)&lt;br /&gt;&lt;br /&gt;Total size: 1.3 M&lt;br /&gt;Is this ok [y/N]: y&lt;br /&gt;Downloading Packages:&lt;br /&gt;Running rpm_check_debug&lt;br /&gt;Running Transaction Test&lt;br /&gt;Finished Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;  Installing     : rsyslog                                           [1/2]&lt;br /&gt;  Installing     : rsyslog-mysql                                     [2/2]&lt;br /&gt;&lt;br /&gt;Installed: rsyslog-mysql.x86_64 0:4.4.1-0&lt;br /&gt;Dependency Installed: rsyslog.x86_64 0:4.4.1-0&lt;br /&gt;Complete!&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;i'll be using this for a new machine that will host our syslog server.&lt;br /&gt;ciao!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-3178886812186728189?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/3178886812186728189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/10/building-rsyslog-441-rpms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3178886812186728189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3178886812186728189'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/10/building-rsyslog-441-rpms.html' title='Building rsyslog 4.4.1 RPMs'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-690828222639863211</id><published>2009-10-08T10:40:00.030+08:00</published><updated>2010-08-24T10:01:26.614+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>yet another oracle shared memory tip</title><content type='html'>there have been a few instances of shared memory related DB startup failures (whew!) in our environment the past few days (should be permanently fixed with upgrade to newer versions of oracle). some of the possible actions we've taken to&lt;br /&gt;fix it are the following:&lt;br /&gt;&lt;br /&gt;1. kill all the running processes related to that instance&lt;br /&gt;2. shutdown all the DBs until the problematic DB is the only&lt;br /&gt;one left (is a No No in most cases)&lt;br /&gt;3. follow the procedure in a previous post&lt;br /&gt;4. doing some ipcs comparisons which i''ll be posting today.&lt;br /&gt;&lt;br /&gt;problem: we can't restart the DBTWND1 instance. shuttting it down has this error:&lt;br /&gt;&lt;pre&gt;ERROR at line 1: ORA-01034: ORACLE not available SQL&amp;gt; &lt;br /&gt;ORA-01034: ORACLE not available &lt;br /&gt;ORA-27101: shared memory realm does not exist &lt;br /&gt;Linux-x86_64 Error: 2: No such file or directory SQL&amp;gt; &lt;br /&gt;Disconnected Database "DBTWND1" not shut down. &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;even a shutdown abort is useless:&lt;br /&gt;&lt;br /&gt;[oracle@lx0090 ~]$ &lt;i&gt;&lt;b&gt;export ORACLE_SID=DBTWND1&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;[oracle@lx0090 ~]$ &lt;b&gt;&lt;i&gt;sqlplus /nolog&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;SQL*Plus: Release 9.2.0.8.0 - Production on Thu Oct 8 09:32:37 2009 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. &lt;br /&gt;SQL&amp;gt; conn / as sysdba; Connected to an idle instance. &lt;br /&gt;SQL&amp;gt; shutdown abort; ORACLE instance shut down. &lt;br /&gt;SQL&amp;gt; exit Disconnected &lt;br /&gt;&lt;br /&gt;[oracle@lx0090 ~]$ &lt;b&gt;db_open DBTWND1&lt;br /&gt;&lt;/b&gt;Database is already Running : DBTWND1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;checking the pmon listing:&lt;br /&gt;&lt;br /&gt;[oracle@lx0090 ~]$ &lt;i&gt;&lt;b&gt;ps -ef | grep pmon | grep -v grep&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;oracle    1499     1  0 Sep22 ?        00:00:01 ora_pmon_DBCHND1&lt;br /&gt;oracle 1529 1 0 Sep22 ? 00:00:00 ora_pmon_DBSGPD2&lt;br /&gt;oracle 1584 1 0 Sep22 ? 00:00:01 ora_pmon_DBMYLD2&lt;br /&gt;oracle 1603 1 0 Sep22 ? 00:00:20 ora_pmon_DBASIT1&lt;br /&gt;oracle 1625 1 0 Sep22 ? 00:00:01 ora_pmon_DBJPSD2&lt;br /&gt;oracle 1652 1 0 Sep22 ? 00:00:01 ora_pmon_DBTWND1 - can't shutdown&lt;br /&gt;oracle 1711 1 0 Sep22 ? 00:00:00 ora_pmon_DBAUSD2&lt;br /&gt;oracle 1731 1 0 Sep22 ? 00:00:01 ora_pmon_DBSGPD1&lt;br /&gt;oracle 1791 1 0 Sep22 ? 00:00:01 ora_pmon_DBTHAD3&lt;br /&gt;oracle 1878 1 0 Sep22 ? 00:00:00 ora_pmon_DBBOAUD1&lt;br /&gt;oracle 3842 1 0 Sep22 ? 00:00:01 ora_pmon_DBCHND3&lt;br /&gt;oracle 6228 1 0 Sep20 ? 00:00:01 ora_pmon_DBJPND2&lt;br /&gt;oracle 6320 1 0 Sep20 ? 00:00:00 ora_pmon_DBBORT1&lt;br /&gt;oracle 16540 1 0 Sep20 ? 00:00:01 ora_pmon_DBJPND1&lt;br /&gt;oracle 22482 1 0 Oct06 ? 00:00:00 ora_pmon_DBGLFD1&lt;br /&gt;oracle 27242 1 0 Sep25 ? 00:00:01 ora_pmon_DBMYLD&lt;br /&gt;oracle 27715 1 0 Sep30 ? 00:00:00 ora_pmon_DBJPSD1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;process listing for the DB:&lt;br /&gt;&lt;pre&gt;oracle 1652 1 0 Sep22 ? 00:00:01 ora_pmon_DBTWND1&lt;br /&gt;oracle 1654 1 0 Sep22 ? 00:00:42 ora_dbw0_DBTWND1&lt;br /&gt;oracle 1656 1 0 Sep22 ? 00:00:33 ora_lgwr_DBTWND1&lt;br /&gt;oracle 1658 1 0 Sep22 ? 00:00:35 ora_ckpt_DBTWND1&lt;br /&gt;oracle 1660 1 0 Sep22 ? 00:00:14 ora_smon_DBTWND1&lt;br /&gt;oracle 1662 1 0 Sep22 ? 00:00:00 ora_reco_DBTWND1&lt;br /&gt;oracle 1664 1 0 Sep22 ? 00:00:02 ora_cjq0_DBTWND1&lt;br /&gt;oracle 1666 1 0 Sep22 ? 00:00:00 ora_arc0_DBTWND1&lt;br /&gt;oracle 1668 1 0 Sep22 ? 00:00:00 ora_arc1_DBTWND1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;since we can't shutdown all the DBs and steps 2 and 3 are a failure, here's what i did:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;get the shmid listing with the process id and look for the entry close to the process ids for the DB in error:&lt;br /&gt;&lt;br /&gt;[oracle@lx0090 ~]$ &lt;i&gt;&lt;b&gt;ipcs -pm&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;------ Shared Memory Creator/Last-op --------&lt;br /&gt;shmid owner cpid lpid&lt;br /&gt;0 oracle 6225 19957&lt;br /&gt;32769 oracle 6318 7119&lt;br /&gt;65538 oracle 16538 19646&lt;br /&gt;98307 oracle 1497 19950&lt;br /&gt;131076 oracle 1517 16772&lt;br /&gt;622597 oracle 22480 19616&lt;br /&gt;196614 oracle 1576 8796&lt;br /&gt;229383 oracle 1601 19966&lt;br /&gt;262152 oracle 1623 19894&lt;br /&gt;294921 oracle 1644 19891 -&amp;gt; this is the closest&lt;br /&gt;327690 oracle 1703 15403&lt;br /&gt;360459 oracle 1729 19743&lt;br /&gt;557068 oracle 27240 19927&lt;br /&gt;425997 oracle 1783 19942&lt;br /&gt;589838 oracle 27426 19861&lt;br /&gt;491535 oracle 1867 9035&lt;br /&gt;524304 oracle 3840 19713&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;checking the time stamps:&lt;br /&gt;&lt;br /&gt;[oracle@lx0090 ~]$&lt;i&gt;&lt;b&gt; ipcs -mt&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;------ Shared Memory Attach/Detach/Change Times --------&lt;br /&gt;shmid owner attached detached changed&lt;br /&gt;0 oracle Oct 8 09:22:46 Oct 8 09:22:46 Sep 20 10:57:10&lt;br /&gt;32769 oracle Oct 7 21:40:11 Oct 7 21:41:32 Sep 20 10:59:19&lt;br /&gt;65538 oracle Oct 8 09:21:41 Oct 8 09:22:45 Sep 20 15:31:17&lt;br /&gt;98307 oracle Oct 8 09:22:52 Oct 8 09:22:52 Sep 22 08:42:28&lt;br /&gt;131076 oracle Sep 24 10:27:35 Sep 24 10:33:20 Sep 22 08:42:38&lt;br /&gt;622597 oracle Oct 8 09:20:57 Oct 8 09:22:23 Oct 6 09:59:46&lt;br /&gt;196614 oracle Sep 30 16:47:22 Sep 30 17:39:40 Sep 22 08:43:01&lt;br /&gt;229383 oracle Oct 8 09:23:21 Oct 8 09:23:21 Sep 22 08:43:12&lt;br /&gt;262152 oracle Oct 8 09:19:06 Oct 8 09:20:07 Sep 22 08:43:19&lt;br /&gt;294921 oracle Oct 8 09:19:04 Oct 8 09:20:05 Sep 22 08:43:30 -&amp;gt; a logical choice*&lt;br /&gt;327690 oracle Sep 30 14:25:29 Sep 30 14:39:35 Sep 22 08:43:40&lt;br /&gt;360459 oracle Oct 8 09:22:59 Oct 8 09:22:59 Sep 22 08:43:49&lt;br /&gt;557068 oracle Oct 8 09:19:39 Oct 8 09:20:40 Sep 25 11:56:43&lt;br /&gt;425997 oracle Oct 8 09:19:44 Oct 8 09:20:44 Sep 22 08:44:11&lt;br /&gt;589838 oracle Oct 8 09:18:52 Oct 8 09:20:46 Sep 30 15:28:17&lt;br /&gt;491535 oracle Oct 6 14:26:27 Oct 6 14:26:35 Sep 22 08:44:30&lt;br /&gt;524304 oracle Oct 8 09:22:29 Oct 8 09:23:29 Sep 22 09:14:16&lt;br /&gt;&lt;/pre&gt;* - since the other entries from the pmon listing with the same date have pids too far from the cpid=1644&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;i then removed the shmid:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;ipcrm -m 294921&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;and was able to restart the DB:&lt;br /&gt;&lt;br /&gt;[oracle@lx0090 ~]$ &lt;i&gt;&lt;b&gt;db_open DBTWND1&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;pre&gt;SQL*Plus: Release 9.2.0.8.0 - Production on Thu Oct 8 09:48:03 2009&lt;br /&gt;Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.&lt;br /&gt;SQL&amp;gt; Connected to an idle instance.&lt;br /&gt;SQL&amp;gt; ORACLE instance started.&lt;br /&gt;&lt;br /&gt;Total System Global Area 286260616 bytes&lt;br /&gt;&lt;br /&gt;Fixed Size 740744 bytes&lt;br /&gt;Variable Size 218103808 bytes&lt;br /&gt;Database Buffers 67108864 bytes&lt;br /&gt;Redo Buffers 307200 bytes&lt;br /&gt;Database mounted.&lt;br /&gt;Database opened.&lt;br /&gt;SQL&amp;gt; Disconnected from Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production&lt;br /&gt;With the Partitioning, OLAP and Oracle Data Mining options&lt;br /&gt;JServer Release 9.2.0.8.0 - Production&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Database "DBTWND1" started.&lt;br /&gt;&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;there might be other ways to handle this problem by i'll stick with above procedure for now.&lt;br /&gt;&lt;br /&gt;hth.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-690828222639863211?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/690828222639863211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/10/there-have-been-few-instances-of-shared.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/690828222639863211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/690828222639863211'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/10/there-have-been-few-instances-of-shared.html' title='yet another oracle shared memory tip'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-4670711288305965890</id><published>2009-09-30T11:21:00.010+08:00</published><updated>2010-08-24T10:07:33.216+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Oracle 9i R2 on CEntOS 5 / RHEL 5  x86_64</title><content type='html'>i've read a lot of queries online about installing oracle 9i R2 on rhel 5.x or centos 5.x 64 bit systems. Some answers aren't clear and doesn't offer any solution. And most say that it won't work.&lt;br /&gt;Technically, installing Oracle 9i R2 directly to a Centos 5.x or RHEL 5.x system will just result into failure (at least that's what happened to all my attempts).&lt;br /&gt;&lt;br /&gt;BUT you can run it.&lt;br /&gt;&lt;br /&gt;yes. you can't install but you can run it under RHEL5/CENTOS5.&lt;br /&gt;&lt;br /&gt;here's what i did. i have a couple of systems running on RHEL4.8 x86_64 (1 an HP blade. the other an IBM). i've installed oracle 9i R2 on them (oracle 9.2.4 first, then the patches to make them 9.2.8.0). that's very easy and a lot of guides are posted on the net so i won't include it here.&lt;br /&gt;&lt;br /&gt;my installation is in an fs called /apps (our env has SAN so the fs housing oracle is on some SAN disks with LVM2/ext3 on them).&lt;br /&gt;&lt;br /&gt;after setting up Oracle 9iR2 on rhel4.8, there are a few ways to move the installation run on centos 5.x or rhel 5.x (here i'm using CEntOS 5.3 x86_64):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt; install centos 5.3 on another machine and move the LUNs (hosting Oracle) from the rhel4 installation.&lt;br /&gt;&lt;br /&gt;NOTE: copying the Oracle installation will also work. i've tried it - making a tar file of the whole oracle installation (i've installed oracle in /apps/oracle  - this is not standard so your path will vary), scp'ing over to the new machine and untarring it.  if you do this, make sure you have enough disk space and that the oracle user accounts for both machines have the same attributes (ie uid and gid).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; install over the RHEL4 system and use Centos 5.3 on the same system keeping the /apps filesystem intact (for KS installs, use the option --useexisting to preserve an FS).&lt;br /&gt;&lt;br /&gt;though i've tried both, i settled for option1 since the existing rhel4 machine will be decommissioned.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Making it work in Centos 5.3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;i've tried this on Centos 5.3 x86_64. it shold also work with RHEL 5.x installs.&lt;br /&gt;&lt;br /&gt;for the oracle environment variables, i've copied all defined from the rhel4 system.&lt;br /&gt;&lt;br /&gt;here it is:&lt;br /&gt;&lt;pre&gt;#  export LD_ASSUME_KERNEL=2.4.19&lt;br /&gt;# Oracle Environment&lt;br /&gt;export ORACLE_BASE=/apps/oracle&lt;br /&gt;export ORACLE_HOME=$ORACLE_BASE/9270&lt;br /&gt;export ORACLE_TERM=xterm&lt;br /&gt;export NLS_LANG=AMERICAN;&lt;br /&gt;export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data&lt;br /&gt;LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib&lt;br /&gt;export LD_LIBRARY_PATH&lt;br /&gt;&lt;br /&gt;# Set shell search paths&lt;br /&gt;export PATH=$PATH:$ORACLE_HOME/bin:/apps/scripts&lt;br /&gt;&lt;/pre&gt;notice that the  LD_ASSUME is commented out.  that's the only difference between centos 5.3 x86_64  and an rhel4 x86_64 oracle environment declarations.&lt;br /&gt;if that line is enabled and used by the oracle account, i get errors like the ff:&lt;br /&gt;&lt;br /&gt;[oracle@UX0107 ~]$ &lt;span style="font-weight: bold; font-style: italic;"&gt;clear&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;clear: error while loading shared libraries: libdl.so.2: wrong ELF class: ELFCLASS32&lt;/span&gt;&lt;br /&gt;[oracle@UX107 ~]$ &lt;span style="font-weight: bold; font-style: italic;"&gt;sqlplus&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sqlplus: error while loading shared libraries: libdl.so.2: wrong ELF class: ELFCLASS32&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and that's basically it:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SsLVqPztCgI/AAAAAAAAAOo/Fb-TGOcp8EY/s1600-h/centos53_00.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 168px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SsLVqPztCgI/AAAAAAAAAOo/Fb-TGOcp8EY/s400/centos53_00.jpg" alt="" id="BLOGGER_PHOTO_ID_5387103026063149570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SsLYAjHQmYI/AAAAAAAAAOw/BZEVDsbnusw/s1600-h/centos53_01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 169px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SsLYAjHQmYI/AAAAAAAAAOw/BZEVDsbnusw/s400/centos53_01.jpg" alt="" id="BLOGGER_PHOTO_ID_5387105608225823106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;here are some of the packages from my centos 5.3 x86_64 system.&lt;br /&gt;these are part of my kickstart scripts. not all are needed if you are going to move or copy and oracle install as there's no linking involved there.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;compat-gcc-34-3.4.6.4 (x86_64)&lt;br /&gt;compat-gcc-34-c++-3.4.6.4 (x86_64)&lt;br /&gt;compat-glibc-2.3.4.2.26 (i386)&lt;br /&gt;compat-glibc-2.3.4.2.26 (x86_64)&lt;br /&gt;compat-glibc-headers-2.3.4.2.26 (x86_64)&lt;br /&gt;compat-libgcc-296-2.96.138 (i386)&lt;br /&gt;gcc-4.1.2.44.el5 (x86_64)&lt;br /&gt;gcc-c++-4.1.2.44.el5 (x86_64)&lt;br /&gt;glibc-2.5.34 (i686)&lt;br /&gt;glibc-2.5.34 (x86_64)&lt;br /&gt;glibc-common-2.5.34 (x86_64)&lt;br /&gt;glibc-devel-2.5.34 (i386)&lt;br /&gt;glibc-devel-2.5.34 (x86_64)&lt;br /&gt;glibc-headers-2.5.34 (x86_64)&lt;br /&gt;libaio-0.3.106.3.2 (i386)&lt;br /&gt;libaio-0.3.106.3.2 (x86_64)&lt;br /&gt;libaio-devel-0.3.106.3.2 (i386)&lt;br /&gt;libaio-devel-0.3.106.3.2 (x86_64)&lt;br /&gt;libcap-1.10.26 (x86_64)&lt;br /&gt;libgcc-4.1.2.44.el5 (i386)&lt;br /&gt;libgcc-4.1.2.44.el5 (x86_64)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;hth.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CAUTION: &lt;/span&gt;Oracle 9i R2 on RHEL5 or CENTOS 5.x is not a supported combination. so don't try running this in production and then call Oracle if you have problems. :)&lt;br /&gt;&lt;br /&gt;UPDATE:&lt;br /&gt;i've just tested this with RHEL5 update 4 x86_64 - works perfectly fine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-4670711288305965890?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/4670711288305965890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/09/oracle-9i-r2-on-centos-53-x8664.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/4670711288305965890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/4670711288305965890'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/09/oracle-9i-r2-on-centos-53-x8664.html' title='Oracle 9i R2 on CEntOS 5 / RHEL 5  x86_64'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5ILb082Zo70/SsLVqPztCgI/AAAAAAAAAOo/Fb-TGOcp8EY/s72-c/centos53_00.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-8038936951302787663</id><published>2009-09-23T15:16:00.010+08:00</published><updated>2010-08-24T10:01:42.515+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Clearing Shared Memory of crashed Oracle instances</title><content type='html'>in some cases, maybe twice or thrice a month, our helpdesk encounters some problems when restarting an oracle 9iR2 Database - with an error like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SQL*Plus: Release 9.2.0.8.0 - Production on Wed Sep 23 00:21:59 2009&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SQL&gt; Connected to an idle instance.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SQL&gt; ORA-27100: shared memory realm already exists&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Linux-x86_64 Error: 17: File exists&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;what they are encountering here is that the database instance has not released its shared memory. since there are several instances running, they can't just restart the machine. and running&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;ipcsm -mt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;ipcs -t&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and comparing it with the time stamp of running instances to eliminate erring shmid will take some time for them to verify, here's what i've advised them to do.&lt;br /&gt;&lt;br /&gt;Our Oracle DBs are hosted on CEntOS 4.x (for test/dev) and RHEL4 (in prod).&lt;br /&gt;&lt;br /&gt;you need two sessions here for the oracle user . in session 1, open a local sql session:&lt;br /&gt;&lt;br /&gt;export ORACLE_SID=env_name (ie &lt;span style="font-weight: bold; font-style: italic;"&gt;export ORACLE_SID=ISIMYLD&lt;/span&gt;)&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sqlplus /nolog&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;here's an example:&lt;br /&gt;&lt;br /&gt;in session 1:&lt;br /&gt;&lt;span style="font-size:0pt;"&gt;&lt;span class="462113906-23092009"&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SrnOKRw53TI/AAAAAAAAAOg/sFWgDcsUBHc/s1600-h/shm00.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 99px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SrnOKRw53TI/AAAAAAAAAOg/sFWgDcsUBHc/s400/shm00.jpg" alt="" id="BLOGGER_PHOTO_ID_5384561505460673842" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;in session 2:&lt;br /&gt;&lt;br /&gt;get the PID of the sqlsession, in this example its 29723. to do this, in session 2:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;ps -ef | grep ISIMYLD | grep LOCAL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:0pt;"&gt;&lt;span class="462113906-23092009"&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SrnOFIxut9I/AAAAAAAAAOY/0G8U_fwGB_s/s1600-h/shm01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 47px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SrnOFIxut9I/AAAAAAAAAOY/0G8U_fwGB_s/s400/shm01.jpg" alt="" id="BLOGGER_PHOTO_ID_5384561417148872658" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;go back to session 1. and from the sql session, run this:&lt;br /&gt;&lt;br /&gt;SQL&gt; oradebug setospid &lt;span style="font-weight: bold;"&gt;29723&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(29723) is PID from session 2.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:0pt;"&gt;&lt;span class="462113906-23092009"&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SrnOEt2htBI/AAAAAAAAAOQ/84tK2TJlzqs/s1600-h/shm02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 123px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SrnOEt2htBI/AAAAAAAAAOQ/84tK2TJlzqs/s400/shm02.jpg" alt="" id="BLOGGER_PHOTO_ID_5384561409921233938" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;still in session 1, run this:&lt;br /&gt;&lt;br /&gt;SQL&gt; oradebug ipc&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size:0pt;"&gt;&lt;span class="462113906-23092009"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SrnOEHIRzMI/AAAAAAAAAOI/pYJjR5ibQ5o/s1600-h/shm03.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 147px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SrnOEHIRzMI/AAAAAAAAAOI/pYJjR5ibQ5o/s400/shm03.jpg" alt="" id="BLOGGER_PHOTO_ID_5384561399526706370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;then, in the system command line, cd into the udump directory of the instance,&lt;br /&gt;in this example its:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;cd /apps/isis/oradb/ISIMYLD/oracle/udump&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;then look for the latest .trc file (use ls -ltr *.trc)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:0pt;"&gt;&lt;span class="462113906-23092009"&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SrnOD1hjkXI/AAAAAAAAAOA/UECmKnKMeN8/s1600-h/shm04.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 57px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SrnOD1hjkXI/AAAAAAAAAOA/UECmKnKMeN8/s400/shm04.jpg" alt="" id="BLOGGER_PHOTO_ID_5384561394800890226" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;scroll down a bit and look for the line with Shmid (if you are using vi, use&lt;br /&gt;/Shmid&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;view isimyld_ora_29723.trc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;take note of the value under it. here it is &lt;span style="font-weight: bold;"&gt;393228&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:0pt;"&gt;&lt;span class="462113906-23092009"&gt;&lt;p align="left"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SrnODaQL2pI/AAAAAAAAAN4/LliwBWEmod8/s1600-h/shm05.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 197px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SrnODaQL2pI/AAAAAAAAAN4/LliwBWEmod8/s400/shm05.jpg" alt="" id="BLOGGER_PHOTO_ID_5384561387480275602" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;close the file. and from the command line, remove that shmid:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;ipcrm -m 393228&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:0pt;"&gt;&lt;span class="462113906-23092009"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;the DB was then able to start.&lt;br /&gt;&lt;br /&gt;NOTE: always make sure you are in the correct instance before doing the above process. removing the wrong shmid will make the instances crash.&lt;br /&gt;&lt;br /&gt;Most of the stuff on this post is from &lt;a href="http://www.idevelopment.info/data/Oracle/DBA_tips/Unix/UNIX_2.shtml"&gt;http://www.idevelopment.info/data/Oracle/DBA_tips/Unix/UNIX_2.shtml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-8038936951302787663?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/8038936951302787663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/09/clearing-shared-memory-of-crashed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/8038936951302787663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/8038936951302787663'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/09/clearing-shared-memory-of-crashed.html' title='Clearing Shared Memory of crashed Oracle instances'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5ILb082Zo70/SrnOKRw53TI/AAAAAAAAAOg/sFWgDcsUBHc/s72-c/shm00.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-6217023328995319089</id><published>2009-09-07T15:40:00.006+08:00</published><updated>2010-08-24T09:58:03.632+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ldap'/><category scheme='http://www.blogger.com/atom/ns#' term='nagios'/><title type='text'>Apache Active Directory Login for Nagios Access</title><content type='html'>in a previous post, i've configured &lt;a href="http://telinit0.blogspot.com/2009/08/nagios-setup-on-centos-53.html"&gt;nagios 3.2.0 on a centos 5.3 x86_64&lt;/a&gt; server.  I now have set up M$ Active Directory based authentication for nagios users.&lt;br /&gt;&lt;br /&gt;I initially asked for a new AD group with the nagios users login names as members but it turned out to be unusable. so what i did is to just browse for the&lt;br /&gt;IT department level, filter out the login names and require the specific users that need to access the nagios site.&lt;br /&gt;&lt;br /&gt;I did a trial and error for the required fields. The ldapsearch utility (part of openldap-clients) packages came in very handy.&lt;br /&gt;&lt;br /&gt;one command i used to test the filtering is this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;ldapsearch  -b 'OU=Departments,OU=Users,OU=domain,DC=asia,DC=org' -D 'CN=srv_nagios,OU=Service Accounts,OU=Operations,DC=asia,DC=org' -h ldapsearch  -x   -W  sAMAccountName &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(it will ask for the srv_nagios password)&lt;br /&gt;&lt;br /&gt;srv_nagios is an unprivileged AD account used to bind the process to the Active Directory (since the AD doesn't allow anonymous browsing).  without the account, one error that i had is:&lt;br /&gt;&lt;br /&gt;auth_ldap authenticate: user &lt;span style="font-weight: bold;"&gt;user01&lt;/span&gt; authentication failed; URI /nagios/ [ldap_search_ext_s() for user failed][Operations error]&lt;br /&gt;&lt;br /&gt;also, from ldapsearch, as i still don't have the correct parameters to use, i encountered mostly this message:&lt;br /&gt;&lt;br /&gt;# search result&lt;br /&gt;search: 2&lt;br /&gt;result: 1 Operations error&lt;br /&gt;text: 00000000: LdapErr: DSID-0C090627, comment: In order to perform this ope&lt;br /&gt;ration a successful bind must be completed on the connection., data 0, vece&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;in the nagios web config file:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/etc/httpd/conf.d/nagios.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;the following is the one that worked for me (your requirement will&lt;br /&gt;vary so try to work with your AD admin of the correct fields to use).&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;ScriptAlias /nagios/cgi-bin "/usr/lib64/nagios/cgi"&lt;br /&gt;&amp;lt;Directory "/usr/lib64/nagios/cgi"&amp;gt;&lt;br /&gt;Options ExecCGI&lt;br /&gt;AllowOverride None&lt;br /&gt;Order allow,deny&lt;br /&gt;Allow from all&lt;br /&gt;AuthBasicProvider ldap&lt;br /&gt;AuthzLDAPAuthoritative  off&lt;br /&gt;AuthLDAPURL "ldap://ldap_server:389/OU=Departments,OU=Users,OU=domain,DC=asia,DC=org?sAMAccountName?sub?(objectClass=*)"&lt;br /&gt;AuthLDAPBindDN "CN=srv_nagios,OU=Service Accounts,OU=Operations,DC=asia,DC=org"&lt;br /&gt;AuthLDAPBindPassword "secretpassword"&lt;br /&gt;AuthLDAPGroupAttribute  memberOf&lt;br /&gt;AuthLDAPGroupAttributeIsDN off&lt;br /&gt;AuthName "Nagios Access"&lt;br /&gt;AuthType Basic&lt;br /&gt;Require ldap-user user1 user2 user3&lt;br /&gt;Require ldap-user user4 user5&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;br /&gt;Alias /nagios "/usr/share/nagios"&lt;br /&gt;&lt;br /&gt;&amp;lt;Directory "/usr/share/nagios"&amp;gt;&lt;br /&gt;Options None&lt;br /&gt;AllowOverride None&lt;br /&gt;Order allow,deny&lt;br /&gt;Allow from all&lt;br /&gt;AuthBasicProvider ldap&lt;br /&gt;AuthzLDAPAuthoritative  off&lt;br /&gt;AuthLDAPURL "ldap://ldap_server:389/OU=Departments,OU=Users,OU=domain,DC=asia,DC=org?sAMAccountName?sub?(objectClass=*)"&lt;br /&gt;AuthLDAPBindDN "CN=srv_nagios,OU=Service Accounts,OU=Operations,DC=asia,DC=org"&lt;br /&gt;AuthLDAPBindPassword "secretpassword"&lt;br /&gt;AuthLDAPGroupAttribute  memberOf&lt;br /&gt;AuthLDAPGroupAttributeIsDN off&lt;br /&gt;AuthName "Nagios Access"&lt;br /&gt;AuthType Basic&lt;br /&gt;Require ldap-user user1 user2 user3&lt;br /&gt;Require ldap-user user4 user5&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Watch for errors in /var/log/httpd/error_log - if there's a problem, log entries are a very big help.&lt;br /&gt;&lt;br /&gt;NOTE: this works with 2.2.x.  i was trying with a  2.0.x version but the mod_authnz_ldap module is not builtin to it.&lt;br /&gt;&lt;br /&gt;Once it is working, i've re-defined the contacts (for each nagios user) and then assigned them to groups. these groups are then used in templates and used by service definitions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-6217023328995319089?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/6217023328995319089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/09/apache-active-directory-login-for.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/6217023328995319089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/6217023328995319089'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/09/apache-active-directory-login-for.html' title='Apache Active Directory Login for Nagios Access'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-657506588029922356</id><published>2009-08-31T17:12:00.023+08:00</published><updated>2010-08-24T09:58:46.692+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nagios'/><title type='text'>Nagios Setup on CentOS 5.3</title><content type='html'>this is a long one. :) i'm trying out the latest nagios release (v 3.2.0)&lt;br /&gt;on centos 5 update 3 x86_64.&lt;br /&gt;Since the nagios server and plugin tarballs come with their own spec&lt;br /&gt;files, building the RPMs is easy.&lt;br /&gt;&lt;br /&gt;i needed to change some directory names so i had to untar&lt;br /&gt;the tarball and modify the file "nagios.spec" the "./configure" is in line&lt;br /&gt;189. here, the target directories are defined and can be modified.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BUILDING THE RPMs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;how to build the rpms are  in a previous post:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://telinit0.blogspot.com/2009/06/building-nagios-rpms.html"&gt;http://telinit0.blogspot.com/2009/06/building-nagios-rpms.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;for nrpe:&lt;br /&gt;&lt;br /&gt;if openssl-devel is not installed, this error appears:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;checking for type of socket size... size_t&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;checking for SSL headers... configure: error: Cannot find ssl headers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;error: Bad exit status from /var/tmp/rpm-tmp.55397 (%build)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RPM build errors:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    Bad exit status from /var/tmp/rpm-tmp.55397 (%build)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;running&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;yum install openssl-devel.x86_64&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;will do the following:&lt;br /&gt;&lt;br /&gt;Downloading Packages:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;(1/6): keyutils-libs-devel-1.2-1.el5.x86_64.rpm                               |  27 kB     00:00&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;(2/6): libselinux-devel-1.33.4-5.1.el5.x86_64.rpm                             | 149 kB     00:00&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;(3/6): libsepol-devel-1.15.2-1.el5.x86_64.rpm                                 | 194 kB     00:00&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;(4/6): e2fsprogs-devel-1.39-20.el5.x86_64.rpm                                 | 636 kB     00:00&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;(5/6): openssl-devel-0.9.8e-7.el5.x86_64.rpm                                  | 1.8 MB     00:00&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;(6/6): krb5-devel-1.6.1-31.el5.x86_64.rpm                                     | 1.9 MB     00:00&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;after that, rpmbuild for nrpe went without a hitch. (the ssl feature is retained&lt;br /&gt;just to be prepared in case SSL is implemented with our setup).&lt;br /&gt;&lt;br /&gt;after building the rpms, i have this in the RPMS directory:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;nagios-3.2.0-1.x86_64.rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;nagios-devel-3.2.0-1.x86_64.rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;nagios-plugins-1.4.13-1.x86_64.rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;nagios-www-3.2.0-1.x86_64.rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;nrpe-2.12-1.x86_64.rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;nrpe-plugin-2.12-1.x86_64.rpm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;you can just manually run the rpm -ivh command to install the packages.&lt;br /&gt;in my case, i added them to a yum repo - easier if they are needed to be installed&lt;br /&gt;on other servers.&lt;br /&gt;for other rpm requirements - i got them from &lt;a href="http://dag.wieers.com"&gt;dag.wieers.com&lt;/a&gt; (yey Dag!)&lt;br /&gt;like for this one:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;rpm -ivh nagios-plugins-1.4.13-1.x86_64.rpm&lt;/span&gt;&lt;br /&gt;error: Failed dependencies:&lt;br /&gt;perl(Net::SNMP) is needed by nagios-plugins-1.4.13-1.x86_64&lt;br /&gt;&lt;br /&gt;i've added the packages to my yum repo for easy installation on target hosts.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CONFIGURATION&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The following are default configuration files that came from the package:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SpuWgzgCf8I/AAAAAAAAANw/INNwdIGsjxc/s1600-h/nagios00.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 172px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SpuWgzgCf8I/AAAAAAAAANw/INNwdIGsjxc/s400/nagios00.jpg" alt="" id="BLOGGER_PHOTO_ID_5376056070521388994" border="0" /&gt;&lt;/a&gt;just for the fun of it, i ran a check on the configuration using&lt;br /&gt;&lt;br /&gt;#tip: do this everytime you modify any config file for nagios&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;nagios -v nagios.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;initial run reports a missing directory:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/var/log/nagios/spool/checkresults&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;after creating it and assigning the permissions (must have the same selinux context and ownership as the rest of the directories there):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Checking for circular paths between hosts...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Checking for circular host and service dependencies...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Checking global event handlers...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Checking obsessive compulsive processor commands...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Checking misc settings...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Total Warnings: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Total Errors:   0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Things look okay - No serious problems were detected during the pre-flight check&lt;/span&gt;&lt;br /&gt;....&lt;br /&gt;&lt;br /&gt;but it is still useless. :D&lt;br /&gt;&lt;br /&gt;configuring nagios is a tricky one. which ever part you want to start (ie hosts&lt;br /&gt;or templates or check commands), you can always use the verification&lt;br /&gt;check to see if everything is ok. you do a problem elimination.&lt;br /&gt;&lt;br /&gt;for this post, i'll be using several files as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cfg_file=/etc/nagios/objects/commands.cfg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cfg_file=/etc/nagios/objects/contacts.cfg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cfg_file=/etc/nagios/objects/timeperiods.cfg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cfg_file=/etc/nagios/objects/templates.cfg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cfg_file=/etc/nagios/objects/contactgroups.cfg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cfg_file=/etc/nagios/objects/hosts.cfg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cfg_file=/etc/nagios/objects/hostgroups.cfg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cfg_file=/etc/nagios/objects/services.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;TIP: having object definitions grouped in their own descriptive configuration&lt;br /&gt;files will make editing/troubleshooting easier.&lt;br /&gt;&lt;br /&gt;these are defined in &lt;span style="font-weight: bold;"&gt;/etc/nagios/nagios.cfg&lt;/span&gt;. config files doesn't have any standard names - as long as you define it in nagios.cfg. entries after ";" are comments.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#contacts.cfg&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;define contact{&lt;br /&gt;contact_name                    nagiosadmin             ; Short name of user&lt;br /&gt;use                             generic-contact         ; Inherit default values from generic-contact template (defined above)&lt;br /&gt;alias                           Nagios Admin            ; Full name of user&lt;br /&gt;email                           your_emailadress@yourcompany.com&lt;br /&gt;}&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;#end - contacts.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#contactgroups.cfg&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;define contactgroup{&lt;br /&gt;contactgroup_name       admins&lt;br /&gt;alias                   Nagios Administrators&lt;br /&gt;members                 nagiosadmin&lt;br /&gt;}&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;#end - ontactgroups.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#hosts.cfg&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;define host{&lt;br /&gt;use                     linux-server&lt;br /&gt;host_name               node01&lt;br /&gt;alias                   node01&lt;br /&gt;address                 192.168.122.10&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;define host{&lt;br /&gt;use                     linux-server&lt;br /&gt;host_name               node02&lt;br /&gt;alias                   node02&lt;br /&gt;address                 192.168.122.20&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#end - hosts.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#hostgroups.cfg&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;define hostgroup{&lt;br /&gt;hostgroup_name  linux-cluster ; The name of the hostgroup&lt;br /&gt;alias           Linux Cluster ; Long name of the group&lt;br /&gt;members         node01,node02 ; Comma separated list of hosts that belong to this group&lt;br /&gt;}&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;#end - hostgroups.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#templates.cfg&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;define contact{&lt;br /&gt;name                            generic-contact         ; The name of this contact template&lt;br /&gt;service_notification_period     24x7                    ; service notifications can be sent anytime&lt;br /&gt;host_notification_period        24x7                    ; host notifications can be sent anytime&lt;br /&gt;service_notification_options    w,u,c,r,f,s             ; send notifications for all service states, flapping events, and scheduled downtime events&lt;br /&gt;host_notification_options       d,u,r,f,s               ; send notifications for all host states, flapping events, and scheduled downtime events&lt;br /&gt;service_notification_commands   notify-service-by-email ; send service notifications via email&lt;br /&gt;host_notification_commands      notify-host-by-email    ; send host notifications via email&lt;br /&gt;register                        0                       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!&lt;br /&gt;}&lt;br /&gt;define host{&lt;br /&gt;name                            generic-host    ; The name of this host template&lt;br /&gt;notifications_enabled           1               ; Host notifications are enabled&lt;br /&gt;event_handler_enabled           1               ; Host event handler is enabled&lt;br /&gt;flap_detection_enabled          1               ; Flap detection is enabled&lt;br /&gt;failure_prediction_enabled      1               ; Failure prediction is enabled&lt;br /&gt;process_perf_data               1               ; Process performance data&lt;br /&gt;retain_status_information       1               ; Retain status information across program restarts&lt;br /&gt;retain_nonstatus_information    1               ; Retain non-status information across program restarts&lt;br /&gt;notification_period             24x7            ; Send host notifications at any time&lt;br /&gt;register                        0               ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Linux host definition template - This is NOT a real host, just a template!&lt;br /&gt;define host{&lt;br /&gt;name                            linux-server    ; The name of this host template&lt;br /&gt;use                             generic-host    ; This template inherits other values from the generic-host template&lt;br /&gt;check_period                    24x7            ; By default, Linux hosts are checked round the clock&lt;br /&gt;check_interval                  5               ; Actively check the host every 5 minutes&lt;br /&gt;retry_interval                  1               ; Schedule host check retries at 1 minute intervals&lt;br /&gt;max_check_attempts              10              ; Check each Linux host 10 times (max)&lt;br /&gt;check_command                   check-host-alive ; Default command to check Linux hosts&lt;br /&gt;notification_period             workhours       ; Linux admins hate to be woken up, so we only notify during the day&lt;br /&gt;; Note that the notification_period variable is being overridden from&lt;br /&gt;; the value that is inherited from the generic-host template!&lt;br /&gt;notification_interval           120             ; Resend notifications every 2 hours&lt;br /&gt;notification_options            d,u,r           ; Only send notifications for specific host states&lt;br /&gt;contact_groups                  admins          ; Notifications get sent to the admins by default&lt;br /&gt;register                        0               ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;define service{&lt;br /&gt;name                            generic-service         ; The 'name' of this service template&lt;br /&gt;active_checks_enabled           1                       ; Active service checks are enabled&lt;br /&gt;passive_checks_enabled          1                       ; Passive service checks are enabled/accepted&lt;br /&gt;parallelize_check               1                       ; Active service checks should be parallelized (disabling this can lead to major performance problems)&lt;br /&gt;obsess_over_service             1                       ; We should obsess over this service (if necessary)&lt;br /&gt;check_freshness                 0                       ; Default is to NOT check service 'freshness'&lt;br /&gt;notifications_enabled           1                       ; Service notifications are enabled&lt;br /&gt;event_handler_enabled           1                       ; Service event handler is enabled&lt;br /&gt;flap_detection_enabled          1                       ; Flap detection is enabled&lt;br /&gt;failure_prediction_enabled      1                       ; Failure prediction is enabled&lt;br /&gt;process_perf_data               1                       ; Process performance data&lt;br /&gt;retain_status_information       1                       ; Retain status information across program restarts&lt;br /&gt;retain_nonstatus_information    1                       ; Retain non-status information across program restarts&lt;br /&gt;is_volatile                     0                       ; The service is not volatile&lt;br /&gt;check_period                    24x7                    ; The service can be checked at any time of the day&lt;br /&gt;max_check_attempts              3                       ; Re-check the service up to 3 times in order to determine its final (hard) state&lt;br /&gt;normal_check_interval           10                      ; Check the service every 10 minutes under normal conditions&lt;br /&gt;retry_check_interval            2                       ; Re-check the service every two minutes until a hard state can be determined&lt;br /&gt;contact_groups                  admins                  ; Notifications get sent out to everyone in the 'admins' group&lt;br /&gt;notification_options            w,u,c,r                 ; Send notifications about warning, unknown, critical, and recovery events&lt;br /&gt;notification_interval           60                      ; Re-notify about service problems every hour&lt;br /&gt;notification_period             24x7                    ; Notifications can be sent out at any time&lt;br /&gt;register                        0                      ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!&lt;br /&gt;}&lt;br /&gt;# Local service definition template - This is NOT a real service, just a template!&lt;br /&gt;define service{&lt;br /&gt;name                            linux-service           ; The name of this service template&lt;br /&gt;use                             generic-service         ; Inherit default values from the generic-service definition&lt;br /&gt;max_check_attempts              4                       ; Re-check the service up to 4 times in order to determine its final (hard) state&lt;br /&gt;normal_check_interval           5                       ; Check the service every 5 minutes under normal conditions&lt;br /&gt;retry_check_interval            1                       ; Re-check the service every minute until a hard state can be determined&lt;br /&gt;register                        0                       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;#end - templates.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;NOTE about templates: these basically shortens out how objects are defined. contents of a template used repeatedly for objects that has the same characteristics.&lt;br /&gt;&lt;br /&gt;then, to verify (do this everytime you make changes to configuration files:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;nagios -v /etc/nagios/nagios.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ideal output (last few lines)  is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Checking misc settings...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Total Warnings: 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Total Errors:   0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Things look okay - No serious problems were detected during the pre-flight check&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;although it is ok if you have some warnings. just make sure there are no errors.&lt;br /&gt;&lt;br /&gt;than start it:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;/sbin/service nagios start&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;in my initial startup, i had an error (from /var/log/nagios/nagios.log):&lt;br /&gt;&lt;pre&gt;&lt;span style="font-weight: bold;"&gt;[1251702022] Error: Could not create external command file '/var/log/nagios/rw/nagios.cmd'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;as named pipe: (2) -&gt; No such file or directory.  If this file already exists and you are&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sure that another copy of Nagios is not running, you should delete this file.&lt;/span&gt;&lt;/pre&gt;i then created &lt;span style="font-weight: bold;"&gt;/var/log/nagios/rw/&lt;/span&gt; and change owner/group to &lt;span style="font-weight: bold;"&gt;nagios/nagios&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;second startup attempt is ok.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;WEB Access&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;here's my apache config for the nagios wui:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/etc/httpd/conf.d/nagios.conf&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;ScriptAlias /nagios/cgi-bin "/usr/lib64/nagios/cgi"&lt;br /&gt;&amp;lt;Directory "/usr/lib64/nagios/cgi"&amp;gt;&lt;br /&gt;Options ExecCGI&lt;br /&gt;AllowOverride None&lt;br /&gt;Order allow,deny&lt;br /&gt;Allow from all&lt;br /&gt;AuthName "Nagios Access"&lt;br /&gt;AuthType Basic&lt;br /&gt;AuthUserFile /etc/nagios/htpasswd.users&lt;br /&gt;Require valid-user&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;br /&gt;Alias /nagios "/usr/share/nagios"&lt;br /&gt;&lt;br /&gt;&amp;lt;Directory "/usr/share/nagios"&amp;gt;&lt;br /&gt;Options None&lt;br /&gt;AllowOverride None&lt;br /&gt;Order allow,deny&lt;br /&gt;Allow from all&lt;br /&gt;AuthName "Nagios Access"&lt;br /&gt;AuthType Basic&lt;br /&gt;AuthUserFile /etc/nagios/htpasswd.users&lt;br /&gt;Require valid-user&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;Authentication SETUP&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;this is how i defined the nagios web user account:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;htpasswd -c /etc/nagios/htpasswd.users sysadmin&lt;/span&gt;&lt;br /&gt;New password:&lt;br /&gt;Re-type new password:&lt;br /&gt;Adding password for user sysadmin&lt;br /&gt;&lt;br /&gt;when i tied to access my nagios web site, the left frame is out of whack. i turns out&lt;br /&gt;i am missing the php package. :D&lt;br /&gt;&lt;br /&gt;i did a &lt;span style="font-weight: bold; font-style: italic;"&gt;yum install php&lt;/span&gt;:&lt;br /&gt;&lt;pre&gt;=====================================================================================================&lt;br /&gt;Package                 Arch                Version                    Repository              Size&lt;br /&gt;=====================================================================================================&lt;br /&gt;Installing:&lt;br /&gt;php                     x86_64              5.1.6-23.el5               centos5u3              1.2 M&lt;br /&gt;Installing for dependencies:&lt;br /&gt;gmp                     x86_64              4.1.4-10.el5               centos5u3              201 k&lt;br /&gt;php-cli                 x86_64              5.1.6-23.el5               centos5u3              2.2 M&lt;br /&gt;php-common              x86_64              5.1.6-23.el5               centos5u3              154 k&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and then restarted httpd:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;service httpd start&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SpuWa_8lxKI/AAAAAAAAANY/AuHi3YTlhr8/s1600-h/nagios03.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 274px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SpuWa_8lxKI/AAAAAAAAANY/AuHi3YTlhr8/s400/nagios03.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055970783151266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;there's nothing important on that yet as systems to be monitored&lt;br /&gt;are still unconfigured.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SETUP HOSTS TO BE MONITORED&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;this is  NRPE based. i have two test hosts to be monitored by nagios:&lt;br /&gt;&lt;br /&gt;node01 and node02.&lt;br /&gt;&lt;br /&gt;since i've added the RPMs on a yum repo, for each host, i can just do:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;yum install nrpe&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;Dependencies Resolved&lt;br /&gt;&lt;br /&gt;=====================================================================================================&lt;br /&gt;Package                     Arch              Version               Repository                 Size&lt;br /&gt;=====================================================================================================&lt;br /&gt;Installing:&lt;br /&gt;nrpe                        x86_64            2.12-1                custom-RPMS                34 k&lt;br /&gt;Installing for dependencies:&lt;br /&gt;nagios-plugins              x86_64            1.4.13-1              custom-RPMS               837 k&lt;br /&gt;perl-Crypt-DES              x86_64            2.05-3.rf             custom-RPMS                38 k&lt;br /&gt;perl-Digest-HMAC            noarch            1.01-15               centos5-Server             12 k&lt;br /&gt;perl-Digest-SHA1            x86_64            2.11-1.2.1            centos5-Server             49 k&lt;br /&gt;perl-Net-SNMP               noarch            5.2.0-1.rf            custom-RPMS                95 k&lt;br /&gt;perl-Socket6                x86_64            0.19-3.fc6            centos5-Server             21 k&lt;br /&gt;&lt;br /&gt;Transaction Summary&lt;br /&gt;=====================================================================================================&lt;br /&gt;Install      7 Package(s)&lt;br /&gt;Update       0 Package(s)&lt;br /&gt;Remove       0 Package(s)&lt;br /&gt;&lt;br /&gt;Total download size: 1.1 M&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SpuWaQgU8PI/AAAAAAAAANQ/TNwZNrAUuGw/s1600-h/nagios04.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 153px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SpuWaQgU8PI/AAAAAAAAANQ/TNwZNrAUuGw/s400/nagios04.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055958048141554" border="0" /&gt;&lt;/a&gt;after installing the packages, some changes are needed in the config file:&lt;br /&gt;&lt;br /&gt;[root@node01 nagios]#&lt;span style="font-weight: bold; font-style: italic;"&gt; pwd; ls -ltr&lt;/span&gt;&lt;br /&gt;/etc/nagios&lt;br /&gt;total 32&lt;br /&gt;-rw-rw-r-- 1 root root 15920 Aug 27 10:13 command.cfg&lt;br /&gt;-rw-r--r-- 1 root root  7215 Aug 31 15:56 &lt;span style="font-weight: bold;"&gt;nrpe.cfg&lt;/span&gt;&lt;br /&gt;[root@node01 nagios]#&lt;br /&gt;&lt;br /&gt;i only changed the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;server_port=5666&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;server_address=192.168.122.10  # node01's ip&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;allowed_hosts=192.168.122.1   # ip of the nagios server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(i'm running NRPE in standalone mode. it can also be configured to run&lt;br /&gt;via xinetd).&lt;br /&gt;&lt;br /&gt;after saving the file:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;/sbin/service nrpe start&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SpuWZ2f_YVI/AAAAAAAAANI/3y6HyssLuY0/s1600-h/nagios05.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 111px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SpuWZ2f_YVI/AAAAAAAAANI/3y6HyssLuY0/s400/nagios05.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055951067406674" border="0" /&gt;&lt;/a&gt;make sure that if you have an iptables ruleset or tcpwrappers, you allow access from&lt;br /&gt;your nagios server to hosts' port 5666.&lt;br /&gt;&lt;br /&gt;do this on machines you need to monitor.&lt;br /&gt;&lt;br /&gt;as for the check commands, there are some examples defined&lt;br /&gt;in the configuration file, like the following:&lt;br /&gt;&lt;pre&gt;command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10&lt;br /&gt;command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20&lt;br /&gt;command[check_hda1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1&lt;br /&gt;command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z&lt;br /&gt;command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;from the nagios server, to check, we can run the following:&lt;br /&gt;&lt;pre&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;/usr/lib64/nagios/plugins/check_nrpe  -H node01 -p 5666 -c check_hda1&lt;/span&gt;&lt;br /&gt;DISK OK - free space: /boot 81 MB (87% inode=99%);| /boot=12MB;78;88;0;98&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;/usr/lib64/nagios/plugins/check_nrpe  -H node01 -p 5666 -c check_total_procs&lt;/span&gt;&lt;br /&gt;PROCS OK: 121 processes&lt;br /&gt;&lt;/pre&gt;once you've configured your other hosts for nrpe, you can do similar checks.&lt;br /&gt;&lt;br /&gt;as i've configured node02:&lt;br /&gt;&lt;pre&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;/usr/lib64/nagios/plugins/check_nrpe  -H node02 -p 5666 -c check_hda1&lt;/span&gt;&lt;br /&gt;DISK OK - free space: /boot 81 MB (87% inode=99%);| /boot=12MB;78;88;0;98&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;/usr/lib64/nagios/plugins/check_nrpe  -H node02 -p 5666 -c check_total_procs&lt;/span&gt;&lt;br /&gt;PROCS OK: 123 processes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;/usr/lib64/nagios/plugins/check_nrpe  -H node02 -p 5666 -c check_users&lt;/span&gt;&lt;br /&gt;USERS OK - 1 users currently logged in |users=1;5;10;0&lt;br /&gt;&lt;/pre&gt;and as an example, i created some custom check commands:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# custom check commands&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;command[check_ssh]= /usr/lib64/nagios/plugins/check_ssh  -p 22 localhost&lt;br /&gt;command[check_http]=  /usr/lib64/nagios/plugins/check_http localhost&lt;br /&gt;command[check_disk_root]=/usr/lib64/nagios/plugins/check_disk -w 25 -c 10 -p /&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;DEFINING SERVICES TO BE MONITORED IN NAGIOS&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;NOTE: for monitoring MS windows machines, checkout a previous post:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://telinit0.blogspot.com/2009/06/nagios-and-nsclient-for-m-windoze.html"&gt;http://telinit0.blogspot.com/2009/06/nagios-and-nsclient-for-m-windoze.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;since i'm using check_nrpe, i needed to define a generic check_nrpe command that&lt;br /&gt;i can use with different arguments. these arguments are the check_commands defined&lt;br /&gt;for each host. i placed the generic check_nrpe command in&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/etc/nagios/objects/commands.cfg&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;define command{&lt;br /&gt;command_name    check_nrpe&lt;br /&gt;command_line    /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -p 5666 -c $ARG1$&lt;br /&gt;}&lt;/pre&gt;and then, under the file services.cfg:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#start services.cfg&lt;/span&gt;&lt;pre&gt;define service{&lt;br /&gt;use                             linux-service         ; Name of service template to use&lt;br /&gt;hostgroup_name                  linux-cluster&lt;br /&gt;service_description             PING&lt;br /&gt;check_command                   check_ping!100.0,20%!500.0,60%&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;define service{&lt;br /&gt;use                             linux-service         ; Name of service template to use&lt;br /&gt;hostgroup_name                       linux-cluster&lt;br /&gt;service_description             Total Processes&lt;br /&gt;check_command                   check_nrpe!check_total_procs&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;define service{&lt;br /&gt;use                             linux-service         ; Name of service template to use&lt;br /&gt;hostgroup_name                       linux-cluster&lt;br /&gt;service_description             SSH&lt;br /&gt;check_command                   check_nrpe!check_ssh&lt;br /&gt;notifications_enabled           0&lt;br /&gt;}&lt;br /&gt;# Define a service to check HTTP on the local machine.&lt;br /&gt;# Disable notifications for this service by default, as not all users may have HTTP enabled.&lt;br /&gt;define service{&lt;br /&gt;use                             linux-service; Name of service template to use&lt;br /&gt;hostgroup_name                  linux-cluster&lt;br /&gt;service_description             HTTP&lt;br /&gt;check_command                   check_nrpe!check_http&lt;br /&gt;notifications_enabled           0&lt;br /&gt;}&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;# end - services.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;so restarting nagios daemon. the interface now shows:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SpuWLfYzZnI/AAAAAAAAANA/wqa4sQxCxeQ/s1600-h/nagios06.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 193px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SpuWLfYzZnI/AAAAAAAAANA/wqa4sQxCxeQ/s400/nagios06.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055704345077362" border="0" /&gt;&lt;/a&gt;trying other pages, i get some authorization error:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SpuWKyynIdI/AAAAAAAAAM4/OOs4gwUwBz0/s1600-h/nagios07.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 134px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SpuWKyynIdI/AAAAAAAAAM4/OOs4gwUwBz0/s400/nagios07.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055692373729746" border="0" /&gt;&lt;/a&gt;i need to add the "&lt;span style="font-weight: bold;"&gt;syadmin&lt;/span&gt;" user in &lt;span style="font-weight: bold;"&gt;/etc/nagios/cgi.cfg&lt;/span&gt;. the following&lt;br /&gt;entries should fix authorization issues for sysadmin:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;grep sysadmin cgi.cfg&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-weight: bold;"&gt;authorized_for_system_information=sysadmin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;authorized_for_configuration_information=sysadmin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;authorized_for_system_commands=sysadmin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;authorized_for_all_services=sysadmin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;authorized_for_all_hosts=sysadmin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;authorized_for_all_service_commands=sysadmin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;authorized_for_all_host_commands=sysadmin&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;then restart nagios. the following images show the test setup:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SpuWKWoff5I/AAAAAAAAAMw/ErKWTL30_z0/s1600-h/nagios08.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 151px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SpuWKWoff5I/AAAAAAAAAMw/ErKWTL30_z0/s400/nagios08.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055684815093650" border="0" /&gt;&lt;/a&gt;tactical overview&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SpuWJ7Nq-HI/AAAAAAAAAMo/lupZj2OIvWk/s1600-h/nagios09.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 194px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SpuWJ7Nq-HI/AAAAAAAAAMo/lupZj2OIvWk/s400/nagios09.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055677454841970" border="0" /&gt;&lt;/a&gt;map&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SpuWJReNLrI/AAAAAAAAAMg/E5wYdWsxCOg/s1600-h/nagios10.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 152px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SpuWJReNLrI/AAAAAAAAAMg/E5wYdWsxCOg/s400/nagios10.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055666249903794" border="0" /&gt;&lt;/a&gt;host&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SpuV9y24yDI/AAAAAAAAAMY/xHrv857WYYg/s1600-h/nagios11.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 185px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SpuV9y24yDI/AAAAAAAAAMY/xHrv857WYYg/s400/nagios11.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055469053364274" border="0" /&gt;&lt;/a&gt;services&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SpuV9YyMmpI/AAAAAAAAAMQ/uSDZVxOuZ6w/s1600-h/nagios12.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 201px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SpuV9YyMmpI/AAAAAAAAAMQ/uSDZVxOuZ6w/s400/nagios12.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055462054369938" border="0" /&gt;&lt;/a&gt;hostgroup details&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SpuVy3vBljI/AAAAAAAAAMI/ujSbhcYXOes/s1600-h/nagios13.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 177px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SpuVy3vBljI/AAAAAAAAAMI/ujSbhcYXOes/s400/nagios13.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055281384003122" border="0" /&gt;&lt;/a&gt;service problems&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SpuVydAziPI/AAAAAAAAAMA/Kv_8e7UNE-0/s1600-h/nagios14.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 170px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SpuVydAziPI/AAAAAAAAAMA/Kv_8e7UNE-0/s400/nagios14.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055274210822386" border="0" /&gt;&lt;/a&gt;service state details&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SpuVyMQlv-I/AAAAAAAAAL4/LYIiVyuw2mk/s1600-h/nagios15.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 215px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SpuVyMQlv-I/AAAAAAAAAL4/LYIiVyuw2mk/s400/nagios15.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055269713625058" border="0" /&gt;&lt;/a&gt;as you can see, notification is still disabled for some services (spefically&lt;br /&gt;for HTTP and SSH monitoring). the line:&lt;br /&gt;&lt;br /&gt;notifications_enabled  0&lt;br /&gt;&lt;br /&gt;is in the check_http definitions in services.cfg. removing it and&lt;br /&gt;restart/reload nagios will enable notifications (provided that you have&lt;br /&gt;configured your mail server to send out alerts.&lt;br /&gt;&lt;br /&gt;here's two sample alerts generated&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SpuVxpdzMyI/AAAAAAAAALw/ZqO8qii9CgE/s1600-h/nagios16.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 195px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SpuVxpdzMyI/AAAAAAAAALw/ZqO8qii9CgE/s400/nagios16.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055260373791522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SpuVxLeUfEI/AAAAAAAAALo/foMzXnYxMyc/s1600-h/nagios17.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 222px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SpuVxLeUfEI/AAAAAAAAALo/foMzXnYxMyc/s400/nagios17.jpg" alt="" id="BLOGGER_PHOTO_ID_5376055252322909250" border="0" /&gt;&lt;/a&gt;If you are doing some tests, make sure alerts are limited to your email address.&lt;br /&gt;&lt;br /&gt;And that's it. customizations and additional hosts/services can then be added.&lt;br /&gt;just remember to run the verification command for any configuration changes you make.  this release of Nagios (3.2.0) is quite selinux friendly (compared to the version that is live in our environment - 2.5 :D). I might put in production to replace our ageing setup in coming weeks.&lt;br /&gt;'till next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-657506588029922356?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/657506588029922356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/08/nagios-setup-on-centos-53.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/657506588029922356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/657506588029922356'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/08/nagios-setup-on-centos-53.html' title='Nagios Setup on CentOS 5.3'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5ILb082Zo70/SpuWgzgCf8I/AAAAAAAAANw/INNwdIGsjxc/s72-c/nagios00.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-2283329542636983318</id><published>2009-08-03T16:36:00.004+08:00</published><updated>2010-08-24T09:59:44.271+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>standards.h problem after upgrading to 5300-08-07-0920</title><content type='html'>after applying SP 7 to our test/dev systems (bring AIX to 5300-08-07-0920),&lt;br /&gt;our application support team encountered two problems:&lt;br /&gt;&lt;br /&gt;1. the linker error described&lt;a href="http://telinit0.blogspot.com/2009/03/linker-error-after-moving-to-aix-tl8.html"&gt; here &lt;/a&gt;&lt;br /&gt;2. problem while doing another compile for an application patch that&lt;br /&gt;involves some oracle libraries (see below):&lt;br /&gt;&lt;br /&gt;&lt;snip&gt;&lt;br /&gt;proc include=/Apps/oracle/product/9.2.0.7/rdbms/demo  include=/Apps/oracle/product/9.2.0.7/sqllib/public  include=/Apps/isis/ISIVNMD2/COMMON/COMMON_C/src/c/incl iname=ora_cnx.pc&lt;br /&gt;&lt;br /&gt;Pro*C/C++: Release 9.2.0.8.0 - Production on Mon Aug 3 15:15:21 2009&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.&lt;br /&gt;&lt;br /&gt;System default option values taken from: /Apps/oracle/product/9.2.0.7/precomp/admin/pcscfg.cfg&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Syntax error at line 135, column 2, file /usr/include/standards.h:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Error at line 135, column 2 in file /usr/include/standards.h&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#warning  The -qdfp option is required to process DFP code in headers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;.1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PCC-S-02014, Encountered the symbol "warning" when expecting one of the followin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;g:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;a numeric constant, newline, define, elif, else, endif,&lt;br /&gt;error, if, ifdef, ifndef, include, line, pragma, undef,&lt;br /&gt;an immediate preprocessor command, a C token,&lt;br /&gt;The symbol "newline," was substituted for "warning" to continue.&lt;br /&gt;&lt;br /&gt;Syntax error at line 69, column 56, file /Apps/oracle/product/9.2.0.7/rdbms/demo/ociapr.h:&lt;br /&gt;Error at line 69, column 56 in file /Apps/oracle/product/9.2.0.7/rdbms/demo/ocia&lt;br /&gt;pr.h&lt;br /&gt;sword  odessp(struct cda_def *cursor, OraText *objnam, size_t onlen,&lt;br /&gt;.......................................................1&lt;br /&gt;PCC-S-02201, Encountered the symbol "size_t" when expecting one of the following&lt;br /&gt;:&lt;br /&gt;&lt;br /&gt;... auto, char, const, double, enum, float, int, long,&lt;br /&gt;ulong_varchar, OCIBFileLocator OCIBlobLocator,&lt;br /&gt;OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval,&lt;br /&gt;OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register,&lt;br /&gt;short, signed, sql_context, sql_cursor, static, struct,&lt;br /&gt;union, unsigned, utext, uvarchar, varchar, void, volatile,&lt;br /&gt;a typedef name, exec oracle, exec oracle begin, exec,&lt;br /&gt;exec sql, exec sql begin, exec sql type, exec sql var,&lt;br /&gt;The symbol "enum," was substituted for "size_t" to continue.&lt;br /&gt;&lt;br /&gt;### and more blah blah blah blah errors ####&lt;br /&gt;&lt;/snip&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;previous cases for this in our environment was due to the updated&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/usr/include/standards.h &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;owned by the fileset bos.adt.include:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lslpp -w /usr/include/standards.h&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;File                                        Fileset               Type&lt;br /&gt;----------------------------------------------------------------------------&lt;br /&gt;/usr/include/standards.h                    bos.adt.include       File&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lslpp -L bos.adt.include&lt;/span&gt;&lt;br /&gt;Fileset                      Level  State  Type  Description (Uninstaller)&lt;br /&gt;----------------------------------------------------------------------------&lt;br /&gt;bos.adt.include            5.3.8.5    C     F    Base Application Development&lt;br /&gt;Include Files&lt;br /&gt;&lt;br /&gt;copying an older version fixes the problem.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;here's a diff output between the old version and the new one:&lt;br /&gt;&lt;br /&gt;&lt; #ifdef __STDC_DEC_FP__&lt; #ifndef __STDC_WANT_DEC_FP__&lt; #define __STDC_WANT_DEC_FP__129,130d111&lt; #endif&lt; #endif132,141d112&lt; #if (defined(__IBMC__) || defined(__IBMCPP__))&lt; #if ((defined(__STDC_WANT_DEC_FP__)) &amp;amp;&amp;amp; !(defined(__IBM_DFP__)))&lt; #if defined(__IBM_PP_WARNING)&lt; #warning  The -qdfp option is required to process DFP code in headers.&lt; #else&lt; #error  The -qdfp option is required to process DFP code in headers.&lt; #endif&lt; #endif&lt; #endif&lt;190,203d160&lt;&lt; /*&lt;  * Determine what type should be used for the boolean type.&lt;  * In C++ the type bool should be used.  If C99 is supported&lt;  * then use _Bool.  Otherwise use unsigned char.&lt;  */&lt; #ifdef __cplusplus&lt; #define __bool__ bool&lt; #elif (__STDC_VERSION__ &gt;= 199901L)&lt;br /&gt;&lt; #define __bool__ _Bool&lt;br /&gt;&lt; #else&lt;br /&gt;&lt; #define __bool__ unsigned char&lt;br /&gt;&lt; #endif&lt;br /&gt;&lt;&lt;br /&gt;&lt;br /&gt;hth.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-2283329542636983318?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/2283329542636983318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/08/standardsh-problem-after-upgrading-to.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/2283329542636983318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/2283329542636983318'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/08/standardsh-problem-after-upgrading-to.html' title='standards.h problem after upgrading to 5300-08-07-0920'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-5592386094763137111</id><published>2009-08-03T15:48:00.008+08:00</published><updated>2010-08-24T10:12:28.977+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hmc'/><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>some HMC screen caps</title><content type='html'>some of you might not be familiar with the HMC web interface so here are some screen captures.&lt;br /&gt;this is from hmc v 7.3.X.&lt;br /&gt;&lt;br /&gt;after shutting down LPARs - take note of the reference codes. the managed system is still running (the physical machine is still ON).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SnaaNADy8kI/AAAAAAAAAKA/B6sVHaHzzJU/s1600-h/hmc000.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 258px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SnaaNADy8kI/AAAAAAAAAKA/B6sVHaHzzJU/s400/hmc000.jpg" alt="" id="BLOGGER_PHOTO_ID_5365645554203423298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;with only the LPAR status listing - they are all Not Available&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SnaaM0alW7I/AAAAAAAAAJ4/FeeOxoZHfJ0/s1600-h/hmc001.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 138px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SnaaM0alW7I/AAAAAAAAAJ4/FeeOxoZHfJ0/s400/hmc001.jpg" alt="" id="BLOGGER_PHOTO_ID_5365645551077776306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is a console window of an LPAR after shutdown - notice it says "Halt Completed".&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SnaaMixMrCI/AAAAAAAAAJw/XjsKkp69pVA/s1600-h/hmc002.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 322px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SnaaMixMrCI/AAAAAAAAAJw/XjsKkp69pVA/s400/hmc002.jpg" alt="" id="BLOGGER_PHOTO_ID_5365645546340789282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;with the LPARs running (one is not activated - with reference code 0000000).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SnaaMdKRFAI/AAAAAAAAAJo/-c7PfESim54/s1600-h/hmc0003.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 286px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SnaaMdKRFAI/AAAAAAAAAJo/-c7PfESim54/s400/hmc0003.jpg" alt="" id="BLOGGER_PHOTO_ID_5365645544835322882" border="0" /&gt;&lt;/a&gt;only the lpar window:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SnaaMeWfdxI/AAAAAAAAAJg/8SqL8o9dDWY/s1600-h/hmc0004.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 162px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SnaaMeWfdxI/AAAAAAAAAJg/8SqL8o9dDWY/s400/hmc0004.jpg" alt="" id="BLOGGER_PHOTO_ID_5365645545155032850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And the following is to startup an LPAR. the old HMC version (6.x) has a different layout (but still familiar menu entries).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SnabjHJ79SI/AAAAAAAAAKw/BwNr74jTTu0/s1600-h/activate000.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 256px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SnabjHJ79SI/AAAAAAAAAKw/BwNr74jTTu0/s400/activate000.jpg" alt="" id="BLOGGER_PHOTO_ID_5365647033576977698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;usually, there are more than 1 profile for each LPAR - some used for installation.  here, my Normal profile is the one usually used.  Marking the option to open a terminal window will show the startup sequence.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SnabeYXlM0I/AAAAAAAAAKo/NCxlP_WAyU4/s1600-h/activate001.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 333px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SnabeYXlM0I/AAAAAAAAAKo/NCxlP_WAyU4/s400/activate001.jpg" alt="" id="BLOGGER_PHOTO_ID_5365646952298263362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and the startup sequence begins (this is from a VIO LPAr):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SojFwys5rUI/AAAAAAAAAK4/_gXWua5pfcw/s1600-h/activate002.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 322px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SojFwys5rUI/AAAAAAAAAK4/_gXWua5pfcw/s400/activate002.jpg" alt="" id="BLOGGER_PHOTO_ID_5370759997673811266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SnabdzF9gDI/AAAAAAAAAKY/r5HG5rEPt7o/s1600-h/activate003.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 322px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SnabdzF9gDI/AAAAAAAAAKY/r5HG5rEPt7o/s400/activate003.jpg" alt="" id="BLOGGER_PHOTO_ID_5365646942292246578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/Snabdv-npAI/AAAAAAAAAKQ/0JVhK_vOa9E/s1600-h/activate004.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 322px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/Snabdv-npAI/AAAAAAAAAKQ/0JVhK_vOa9E/s400/activate004.jpg" alt="" id="BLOGGER_PHOTO_ID_5365646941456147458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and then:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SnabdeWmAZI/AAAAAAAAAKI/1MQERGp1JL8/s1600-h/activate005.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 322px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SnabdeWmAZI/AAAAAAAAAKI/1MQERGp1JL8/s400/activate005.jpg" alt="" id="BLOGGER_PHOTO_ID_5365646936724865426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;this will then be followed by a login prompt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-5592386094763137111?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/5592386094763137111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/08/some-hmc-screen-caps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5592386094763137111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5592386094763137111'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/08/some-hmc-screen-caps.html' title='some HMC screen caps'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5ILb082Zo70/SnaaNADy8kI/AAAAAAAAAKA/B6sVHaHzzJU/s72-c/hmc000.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-7246566418713609533</id><published>2009-07-17T14:06:00.005+08:00</published><updated>2010-08-24T10:11:58.978+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>iptables and some dumb-o restrictions</title><content type='html'>yesterday i got a request to block access from certain development boxes that appears to be able&lt;br /&gt;to connect to a production database.&lt;br /&gt;&lt;br /&gt;initially, our DBAs thought that they can restrict access by not defining the oracle SIDs in the tnsnames.ora file, but i've pointed them out before that:&lt;br /&gt;&lt;br /&gt;sqlplus 'SCHEMA_MYL/schePAss0@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=lxAADB.prod)(PORT=1549)))(CONNECT_DATA=(SERVICE_NAME=DBMYLP)))'&lt;br /&gt;&lt;br /&gt;will connect to the DB. i proposed to use iptables and allow only access to valid systems and i didn't get any response.&lt;br /&gt;&lt;br /&gt;anyway, after quite some time, they asked to block connection to certain machines (of which&lt;br /&gt;developers groups are working on). I've been asking to give the list of valid machines that will be allowed so deny can be implicitly defined. but i got only the list of which machines to block.&lt;br /&gt;&lt;br /&gt;here's a few lines of iptables commands that i used:&lt;br /&gt;&lt;br /&gt;# be very careful with iptables -F - if you have the default policy to be&lt;br /&gt;# drop, running iptables -F will lock you out of your current ssh session!&lt;br /&gt;# so make sure you have local login access to the machine before&lt;br /&gt;# playing with iptables&lt;br /&gt;&lt;br /&gt;iptables -F&lt;br /&gt;iptables -A INPUT -s 127.0.0.1 -j ACCEPT&lt;br /&gt;iptables -A OUTPUT -s 127.0.0.1 -j ACCEPT&lt;br /&gt;iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;iptables -A OUTPUT -j ACCEPT&lt;br /&gt;iptables -A INPUT -s 0/0 -p icmp -m icmp --icmp-type any -j ACCEPT&lt;br /&gt;iptables -A OUTPUT -p tcp -s 0/0 --dport 22 -j ACCEPT&lt;br /&gt;iptables -A INPUT -s a.b.c.d -j DROP&lt;br /&gt;iptables -A INPUT -s a.b.x.y -j DROP&lt;br /&gt;&lt;br /&gt;since i'm too lazy to create more rules, i've dropped everything from the requested machines (he he he its easier).&lt;br /&gt;with the ruleset above, the production machine can connect to the development boxes but not&lt;br /&gt;the other way around. Only ping is allowed from the dev boxes.&lt;br /&gt;do remember this is kind of firewall setup is not the recommended way of doing port filtering.&lt;br /&gt;it should have been deny everything and then accept what is allowed.&lt;br /&gt;&lt;br /&gt;after checking that is ok, i saved the rule:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo /sbin/service iptables save&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and made sure iptables will run during startup (we previously disabled it):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo /sbin/chkconfig iptables on&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to list the running ruleset:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo /sbin/iptables -L&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Chain INPUT (policy ACCEPT)&lt;br /&gt;target     prot opt source               destination&lt;br /&gt;ACCEPT     all  --  localhost.localdomain  anywhere&lt;br /&gt;ACCEPT     tcp  --  anywhere             anywhere            state RELATED,ESTABLISHED&lt;br /&gt;ACCEPT     icmp --  anywhere             anywhere            icmp any&lt;br /&gt;DROP       all  --  LX0xy0.dev.asia  anywhere&lt;br /&gt;DROP       all  --  LX0ab0.dev.asia  anywhere&lt;br /&gt;DROP       all  --  LX00ed.dev.asia  anywhere&lt;br /&gt;DROP       all  --  UX00mn.dev.asia  anywhere&lt;br /&gt;DROP       all  --  LX0e3b.dev.asia  anywhere&lt;br /&gt;DROP       all  --  LX0d20.dev.asia  anywhere&lt;br /&gt;DROP       all  --  LX0mnl.dev.asia  anywhere&lt;br /&gt;DROP       all  --  UX0uio.dev.asia  anywhere&lt;br /&gt;&lt;br /&gt;Chain FORWARD (policy ACCEPT)&lt;br /&gt;target     prot opt source               destination&lt;br /&gt;&lt;br /&gt;Chain OUTPUT (policy ACCEPT)&lt;br /&gt;target     prot opt source               destination&lt;br /&gt;ACCEPT     all  --  localhost.localdomain  anywhere&lt;br /&gt;ACCEPT     all  --  anywhere             anywhere&lt;br /&gt;ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-7246566418713609533?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/7246566418713609533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/07/iptables-and-some-dumb-o-restrictions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/7246566418713609533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/7246566418713609533'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/07/iptables-and-some-dumb-o-restrictions.html' title='iptables and some dumb-o restrictions'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-2423544733902494388</id><published>2009-07-17T13:43:00.007+08:00</published><updated>2010-08-24T10:13:13.786+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>IBM HS21 Blade internal disk error</title><content type='html'>a few days ago, one of our &lt;a href="http://www-03.ibm.com/systems/bladecenter/hardware/servers/hs21/specs.html"&gt;Blade HS21&lt;/a&gt; servers&lt;br /&gt;&lt;br /&gt;Jul  9 13:18:31 lx0080 kernel: mptscsi: ioc0: attempting target reset! (sc=000001021a2dc080)&lt;br /&gt;Jul  9 13:18:31 lx0080 kernel: scsi0 : destination target 0, lun 0&lt;br /&gt;Jul  9 13:18:31 lx0080 kernel:         command = Write (10) 00 00 95 73 61 00 00 02 00&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jul  9 13:18:31 lx0080 kernel: mptbase: ioc0: RAID STATUS CHANGE for PhysDisk 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jul  9 13:18:53 lx0080 kernel: mptbase: ioc0:   PhysDisk is now failed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jul  9 13:18:53 lx0080 kernel: mptbase: ioc0: RAID STATUS CHANGE for PhysDisk 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jul  9 13:18:53 lx0080 kernel: mptbase: ioc0:   PhysDisk is now failed, out of sync&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jul  9 13:18:53 lx0080 kernel: mptbase: ioc0: RAID STATUS CHANGE for VolumeID 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jul  9 13:18:53 lx0080 kernel: mptbase: ioc0:   volume is now degraded, enabled&lt;/span&gt;&lt;br /&gt;Jul  9 13:18:53 lx0080 kernel: mptscsi: ioc0: target reset: SUCCESS (sc=000001021a2dc080)&lt;br /&gt;Jul  9 13:18:53 lx0080 kernel: mptscsi: ioc0: attempting target reset! (sc=000001021a2dc080)&lt;br /&gt;Jul  9 13:18:53 lx0080 kernel: scsi0 : destination target 0, lun 0&lt;br /&gt;Jul  9 13:18:53 lx0080 kernel:         command = Test Unit Ready 00 00 00 00 00&lt;br /&gt;Jul  9 13:18:53 lx0080 kernel: mptscsi: ioc0: target reset: SUCCESS (sc=000001021a2dc080)&lt;br /&gt;Jul  9 13:18:53 lx0080 kernel: mptscsi: ioc0: attempting bus reset! (sc=000001021a2dc080)&lt;br /&gt;Jul  9 13:18:53 lx0080 kernel: scsi0 : destination target 0, lun 0&lt;br /&gt;Jul  9 13:18:53 lx0080 kernel:         command = Write (10) 00 00 95 73 61 00 00 02 00&lt;br /&gt;Jul  9 13:18:53 lx0080 kernel: mptscsi: ioc0: bus reset: SUCCESS (sc=000001021a2dc080)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;from the blade center management module:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SmAaCYn9cFI/AAAAAAAAAIw/TEPbllbOPso/s1600-h/blade00.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 34px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SmAaCYn9cFI/AAAAAAAAAIw/TEPbllbOPso/s400/blade00.jpg" alt="" id="BLOGGER_PHOTO_ID_5359312184843006034" border="0" /&gt;&lt;/a&gt;since the internal disk drives of the blade are mirrored (via internal raid controller - in RAID1)&lt;br /&gt;and this is just hosting test/dev applications, the replacement was done after a few days (he heh).&lt;br /&gt;&lt;br /&gt;so after shutting down the machine, pulling out the module, the faulty one (which is disk #2) was removed and replaced with a good one (the replacement disk arrived after a few hours).&lt;br /&gt;after booting in, disk resycn was started automatically and we left it running in the background (yes, rhel4 booted without a hitch - just a little slow).&lt;br /&gt;&lt;br /&gt;after about 30+ minutes:&lt;br /&gt;&lt;br /&gt;Jul 15 10:14:38 lx0080 kernel: mptbase: ioc0: RAID STATUS CHANGE for PhysDisk 1&lt;br /&gt;Jul 15 10:14:38 lx0080 kernel: mptbase: ioc0:   PhysDisk is now online&lt;br /&gt;Jul 15 10:14:38 lx0080 kernel: mptbase: ioc0: RAID STATUS CHANGE for VolumeID 0&lt;br /&gt;Jul 15 10:14:38 lx0080 kernel: mptbase: ioc0:   volume is now optimal, enabled, resync in progress&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jul 15 10:14:38 lx0080 kernel: mptbase: ioc0: RAID STATUS CHANGE for VolumeID 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jul 15 10:14:38 lx0080 kernel: mptbase: ioc0:   volume is now optimal, enabled&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;the blade group is about 2.5 years old. so i think this will be the start of a lot of h/w problems.&lt;br /&gt;disk replacement in our HP blades are easier to handle - just pull out the failed drive and plug in a new one. then go home. :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-2423544733902494388?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/2423544733902494388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/07/ibm-hs21-blade-internal-disk-error.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/2423544733902494388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/2423544733902494388'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/07/ibm-hs21-blade-internal-disk-error.html' title='IBM HS21 Blade internal disk error'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5ILb082Zo70/SmAaCYn9cFI/AAAAAAAAAIw/TEPbllbOPso/s72-c/blade00.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-3447121457533624727</id><published>2009-07-08T16:10:00.008+08:00</published><updated>2010-08-24T10:02:50.920+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hmc'/><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>Command line DLPAR for HMC, VIO and AIX</title><content type='html'>since accessing the HMC remotely takes a bit of a while (well, its java based so&lt;br /&gt;its a bit slow) I usually do DLPAR tasks via command line from an SSH session.&lt;br /&gt;Today's post illustrates how I do it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NOTE:&lt;/span&gt; In our environment, I have allowed SSH access to the HMC and have the&lt;br /&gt;services/communcations established between HMC and the LPARs to initiate&lt;br /&gt;dynamic lpar configuration.&lt;br /&gt;You can visit &lt;a href="http://www.ibm.com/developerworks/systems/articles/DLPARchecklist.html"&gt;the DLPAR checklist site&lt;/a&gt; if you need more info.&lt;br /&gt;&lt;br /&gt;First, confirm which resource to move and where is the resource currently attached.&lt;br /&gt;Once you know and you have located it, the DLPAR process will be very easy.&lt;br /&gt;If you haven't done any IO profiling for your machine, better start doing it now.&lt;br /&gt;You'll be wasting a lot of time if you only do the IO mapping just when you need it.&lt;br /&gt;Its a good idea to create a spreadsheet for your machine where you have the IO&lt;br /&gt;definitions. its a tedious process but is worth the effor when you need to move&lt;br /&gt;resources around frequently.&lt;br /&gt;&lt;br /&gt;Today, i'm going to move a tape drive to another AIX  LPAR from a VIO server.&lt;br /&gt;I'm going to move device &lt;span style="font-weight: bold;"&gt;rmt0 &lt;/span&gt;from &lt;span style="font-weight: bold;"&gt;VIO1&lt;/span&gt; to &lt;span style="font-weight: bold;"&gt;ux0004&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;since i know the physical location code of the adapter i want to move,&lt;br /&gt;i login to HMC as &lt;span style="font-weight: bold;"&gt;hscroot&lt;/span&gt;  and check which LPAR is holding it using the command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lshwres -r io --rsubtype slot -m Server-9113-550-SN65XXXXF  | grep C1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(from my spreadsheet, C1 is the location of the pysical adapter i'm looking)&lt;br /&gt;&lt;br /&gt;and:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SlRXssQk1XI/AAAAAAAAAHo/rrsNayAoFWU/s1600-h/dlpar02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 49px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SlRXssQk1XI/AAAAAAAAAHo/rrsNayAoFWU/s400/dlpar02.jpg" alt="" id="BLOGGER_PHOTO_ID_5356002282156905842" border="0" /&gt;&lt;/a&gt;it is in VIO1.  from VIO1:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lsdev -type tape&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SlRXsK52gHI/AAAAAAAAAHY/WNX9Ass2xBo/s1600-h/dlpar00.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 198px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SlRXsK52gHI/AAAAAAAAAHY/WNX9Ass2xBo/s400/dlpar00.jpg" alt="" id="BLOGGER_PHOTO_ID_5356002273203224690" border="0" /&gt;&lt;/a&gt;then trace the parent of the device:&lt;br /&gt;&lt;br /&gt;to check if there are anyother devices attached to the&lt;br /&gt;slot, we do the reverse:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SlRXsayIINI/AAAAAAAAAHg/kihdzfg_fk0/s1600-h/dlpar01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 136px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SlRXsayIINI/AAAAAAAAAHg/kihdzfg_fk0/s400/dlpar01.jpg" alt="" id="BLOGGER_PHOTO_ID_5356002277465792722" border="0" /&gt;&lt;/a&gt;here, cd0 and rmt0 are connected on the same slot (pci6)&lt;br /&gt;&lt;br /&gt;so removing pci6 WILL remove cd0 and rmt0 from the system.&lt;br /&gt;&lt;br /&gt;to check it agains the drc_name from the HMC:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lsdev -slots&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SlRXsxknGLI/AAAAAAAAAHw/07aC8qN2hho/s1600-h/dlpar03.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 192px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SlRXsxknGLI/AAAAAAAAAHw/07aC8qN2hho/s400/dlpar03.jpg" alt="" id="BLOGGER_PHOTO_ID_5356002283583117490" border="0" /&gt;&lt;/a&gt;since cd0 is not in use, i then remove pci6 recursively&lt;br /&gt;using the command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;rmdev -dev pci6 -recursive&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SlRXtAsD5OI/AAAAAAAAAH4/o-h1mNc75TA/s1600-h/dlpar04.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 350px; height: 150px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SlRXtAsD5OI/AAAAAAAAAH4/o-h1mNc75TA/s400/dlpar04.jpg" alt="" id="BLOGGER_PHOTO_ID_5356002287640896738" border="0" /&gt;&lt;/a&gt;from the HMC, i will then move the resource to  ux0004.  what i need to use&lt;br /&gt;are the following:&lt;br /&gt;- name of the lpar where resource is currently attached&lt;br /&gt;- name of the target lpar where resource is to ve moved&lt;br /&gt;- the drc_index value of the resource to move&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SlRYxgHWKeI/AAAAAAAAAIA/Q5rJBbASHRQ/s1600-h/dlpar05.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 49px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SlRYxgHWKeI/AAAAAAAAAIA/Q5rJBbASHRQ/s400/dlpar05.jpg" alt="" id="BLOGGER_PHOTO_ID_5356003464307943906" border="0" /&gt;&lt;/a&gt;the lpar names can be obtained using the following command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lssyscfg  -r lpar -m Server-9113-550-SNXXXXXXXX -F name&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;in my machine, i have the following:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SlRYxtyKDvI/AAAAAAAAAII/Z3zsRhnBxHY/s1600-h/dlpar06.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 99px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SlRYxtyKDvI/AAAAAAAAAII/Z3zsRhnBxHY/s400/dlpar06.jpg" alt="" id="BLOGGER_PHOTO_ID_5356003467977166578" border="0" /&gt;&lt;/a&gt;now, to move, i used this command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;chhwres -r io -m  Server-9113-550-SN6XXXXXF -o m -p ux02_VIO1 -t ux0004_DB -l 21030003&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SlRYxyhZNCI/AAAAAAAAAIQ/WXCc8iNezWw/s1600-h/dlpar07.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 65px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SlRYxyhZNCI/AAAAAAAAAIQ/WXCc8iNezWw/s400/dlpar07.jpg" alt="" id="BLOGGER_PHOTO_ID_5356003469249033250" border="0" /&gt;&lt;/a&gt;from the chhwres man page:&lt;br /&gt;&lt;br /&gt;-r     The type of hardware resources to change.  Valid values are io for physical I/O,&lt;br /&gt;virtualio  for  virtual I/O, mem for memory, proc for processing resources,&lt;br /&gt;procpool for shared processor pool, and hea for Host Ethernet Adapter (HEA)&lt;br /&gt;resources.&lt;br /&gt;&lt;br /&gt;-m     The name of the managed system for which the hardware resource configuration is&lt;br /&gt;to be changed.&lt;br /&gt;&lt;br /&gt;-o     The  operation  to perform.  Valid values are a to add hardware resources to a&lt;br /&gt;partition, r to remove hardware resources from a partition, m to move&lt;br /&gt;hardware  resources from  one partition to another, and s to set hardware&lt;br /&gt;resource related attributes for a partition, a shared processor pool, an HEA, or&lt;br /&gt;the managed-system.&lt;br /&gt;&lt;br /&gt;-p     The name of the partition for which the operation is to be  performed.   For  a&lt;br /&gt;move operation,  this  is  the source partition (the partition the resources&lt;br /&gt;will be moved from) for the operation.  To perform an add, remove, or move&lt;br /&gt;operation, the partition must be in the running state.&lt;br /&gt;&lt;br /&gt;-t     The name of the target partition for a move operation.  The partition must be in&lt;br /&gt;the running state.&lt;br /&gt;&lt;br /&gt;-l     When adding, removing, or moving a physical I/O slot, use this option to specify&lt;br /&gt;the DRC index of the slot.&lt;br /&gt;&lt;br /&gt;now to configure the resource to ux0004 (yes, the system doesn't know yet&lt;br /&gt;that it has the tape drive). running the command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo cfgmgr&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;will do the h/w detection. to check if the tape (and cdrom) drive was added:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lsdev -Cc tape; lsdev -Cc cdrom&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lscfg | grep rmt0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SlRYya7eSBI/AAAAAAAAAIY/8RtOeHPQSXA/s1600-h/dlpar08.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 66px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SlRYya7eSBI/AAAAAAAAAIY/8RtOeHPQSXA/s400/dlpar08.jpg" alt="" id="BLOGGER_PHOTO_ID_5356003480095836178" border="0" /&gt;&lt;/a&gt;take note that ux0004 is an AIX LPAR runnig AIX 5.3 TL8 SP5&lt;br /&gt;and VIO1 is a VIO LPAR with ioslevel 1.5.2.1-FP-11.1. the dev&lt;br /&gt;commands for AIX and ios are different. for instance, in&lt;br /&gt;the process above, to trace the parent slot of rmt0, what can be&lt;br /&gt;used is&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;odmget -q name=rmt0 CuDv | grep parent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and to trace from slot name to the child:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lsdev -p pci4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and so on. but since we know the slot location, we can just use&lt;br /&gt;the command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lsdev -c slot&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SlRYykjmGrI/AAAAAAAAAIg/TCXvHGaIRIc/s1600-h/dlpar09.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 100px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SlRYykjmGrI/AAAAAAAAAIg/TCXvHGaIRIc/s400/dlpar09.jpg" alt="" id="BLOGGER_PHOTO_ID_5356003482680040114" border="0" /&gt;&lt;/a&gt;and from there, remove pci4 recursively from ux0004 (again, difference&lt;br /&gt;in command):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;rmdev -dRl pci4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SlRZ087hC4I/AAAAAAAAAIo/TmwEKq8SXE4/s1600-h/dlpar10.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 177px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SlRZ087hC4I/AAAAAAAAAIo/TmwEKq8SXE4/s400/dlpar10.jpg" alt="" id="BLOGGER_PHOTO_ID_5356004623094188930" border="0" /&gt;&lt;/a&gt;the AIX rmdev command:&lt;br /&gt;&lt;br /&gt;-d   Removes the device definition from the Customized Devices object class. This flag cannot&lt;br /&gt;be used with the -S flag.&lt;br /&gt;&lt;br /&gt;-l Name&lt;br /&gt;Specifies the logical device, indicated by the Name parameter, in the Customized Devices&lt;br /&gt;object class.&lt;br /&gt;&lt;br /&gt;-R&lt;br /&gt;Unconfigures the device and its children. When used with the -d or -S flags, the&lt;br /&gt;children are undefined or stopped, respectively.&lt;br /&gt;&lt;br /&gt;and then use the chhwres  to move the resource to another LPAR If you need to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-3447121457533624727?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/3447121457533624727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/07/command-line-dlpar-for-hmc-vio-and-aix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3447121457533624727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3447121457533624727'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/07/command-line-dlpar-for-hmc-vio-and-aix.html' title='Command line DLPAR for HMC, VIO and AIX'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5ILb082Zo70/SlRXssQk1XI/AAAAAAAAAHo/rrsNayAoFWU/s72-c/dlpar02.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-7623082011207983408</id><published>2009-06-26T15:39:00.005+08:00</published><updated>2010-08-24T10:12:15.453+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>playing with KVM and physical HDDs</title><content type='html'>I tried  installing  &lt;a href="http://www.linux-kvm.org/page/Main_Page"&gt;KVM &lt;/a&gt;(Kernel-based Virtual Machine) just to play around with my notebook&lt;br /&gt;hard drive and old DOS games (yeah, i know i can do it with&lt;a href="http://www.dosbox.com/"&gt; http://www.dosbox.com&lt;/a&gt;/).&lt;br /&gt;&lt;br /&gt;since i can't boot from my cdrom drive and dd'ing dos images directly to the hdd won't work (or  i&lt;br /&gt;couldn't make it work :)), i then resorted to using virtualization.&lt;br /&gt;&lt;br /&gt;I initially want to use VirtualBox but it appears it can't do installation on a physical drive directly.&lt;br /&gt;&lt;br /&gt;so i then tried kvm. here's what i did on my notebook with kubuntu 9.04 running on it.&lt;br /&gt;&lt;br /&gt;first, install kvm:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo apt-get install kvm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# boot the floppy image to install "DOS" on the HDD&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo kvm -hda /dev/sda -fda /tmp/win98c/WIN98C.IMG -boot a -m 256&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(NOTE: WIN98C.IMG is from &lt;a href="http://www.blogger.com/www.bootdisk.com"&gt;www.bootdisk.com&lt;/a&gt; (i downloaded the win98 zip file))&lt;br /&gt;&lt;br /&gt;this is the virtual machine's startup sequence:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SkSAsFnMSoI/AAAAAAAAAGw/j67_KYVmiKQ/s1600-h/kvm00.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 222px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SkSAsFnMSoI/AAAAAAAAAGw/j67_KYVmiKQ/s400/kvm00.png" alt="" id="BLOGGER_PHOTO_ID_5351543752132151938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;the virtual machine with an A: prompt:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SkSAseC_0tI/AAAAAAAAAG4/EuuPn3agrJE/s1600-h/kvm01.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 222px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SkSAseC_0tI/AAAAAAAAAG4/EuuPn3agrJE/s400/kvm01.png" alt="" id="BLOGGER_PHOTO_ID_5351543758691226322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;run fdisk (WARNING: be sure you don't have important data in the disks you are playing with):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SkSAshPH_qI/AAAAAAAAAHA/6ZenAN-tHBs/s1600-h/kvm02.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 222px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SkSAshPH_qI/AAAAAAAAAHA/6ZenAN-tHBs/s400/kvm02.png" alt="" id="BLOGGER_PHOTO_ID_5351543759547399842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;after creating a DOS partition, i then formatted my new drive:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;format c: /s&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;/s  is to make "c:" bootable (copying the sytem files from floopy to c:&lt;br /&gt;&lt;br /&gt;and copy other commands from a: to c: - doing "cp" and wondering why command is not found - :D&lt;br /&gt;&lt;br /&gt;now, after shutting down and removing by bootable usb drive, i can boot&lt;br /&gt;on my notebooks hard drive and have DOS running.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SkSAspuBo2I/AAAAAAAAAHI/nWtz2wVWagM/s1600-h/kvm03.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 222px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SkSAspuBo2I/AAAAAAAAAHI/nWtz2wVWagM/s400/kvm03.png" alt="" id="BLOGGER_PHOTO_ID_5351543761824490338" border="0" /&gt;&lt;/a&gt;Now boot the hard drive&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo kvm -hda /dev/sda -boot c -m 256&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SkSAswa_ZAI/AAAAAAAAAHQ/dp5NP-X8fVU/s1600-h/kvm04.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 222px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SkSAswa_ZAI/AAAAAAAAAHQ/dp5NP-X8fVU/s400/kvm04.png" alt="" id="BLOGGER_PHOTO_ID_5351543763623699458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;how/where else can you use it? maybe if you want to install M$ Windoze, like XP Pro&lt;br /&gt;on your HDD, but you can't boot from a CDROM/or you don't have a CDROM but you have&lt;br /&gt;the installation files copied on disk, you can start the installation from DOS:&lt;br /&gt;&lt;br /&gt;http://support.microsoft.com/kb/307848&lt;br /&gt;&lt;br /&gt;ciao!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-7623082011207983408?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/7623082011207983408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/06/playing-with-kvm-and-physical-hdds.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/7623082011207983408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/7623082011207983408'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/06/playing-with-kvm-and-physical-hdds.html' title='playing with KVM and physical HDDs'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5ILb082Zo70/SkSAsFnMSoI/AAAAAAAAAGw/j67_KYVmiKQ/s72-c/kvm00.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-5569990248786282374</id><published>2009-06-24T15:13:00.017+08:00</published><updated>2010-08-24T10:09:21.004+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>AIX 5L NIM mksysb restore</title><content type='html'>In replicating AIX systems, I use mksysb based restorations so as to have the exact filesets especially if this is for a test/dev environment requirement. I use NIM based restores. And below is how I usually do it.&lt;br /&gt;&lt;br /&gt;what i have&lt;br /&gt;&lt;br /&gt;NIM server: &lt;span style="font-weight: bold;"&gt;ux0027&lt;/span&gt;&lt;br /&gt;NIM Client: &lt;span style="font-weight: bold;"&gt;ux0026&lt;/span&gt; (target for mksysb restoration)&lt;br /&gt;&lt;br /&gt;resources i used:&lt;br /&gt;name                                 type&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MyMksysbFile         &lt;/span&gt;&lt;span&gt;mksysb &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SP5TL8                               &lt;/span&gt;&lt;span&gt;spot&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;          &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ux26bosinst              &lt;/span&gt;&lt;span&gt;bosinst_data  &lt;/span&gt;# for non-interactive restore&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ux26image                   &lt;/span&gt;&lt;span&gt;image_&lt;/span&gt;&lt;span&gt;data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;postInstall                  &lt;/span&gt;&lt;span&gt;script&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;           &lt;/span&gt;# optional - only for customization&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ux26resolv                  &lt;/span&gt;&lt;span&gt;resolv_conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;i'll be using &lt;span style="font-weight: bold;"&gt;smitty&lt;/span&gt; since it's easier to use (and pretty much self explanatory&lt;br /&gt;and easier to follow in making documentations).&lt;br /&gt;&lt;br /&gt;so what i'll be doing is to restore a previously created image of another&lt;br /&gt;AIX LPAR and restore it to another LPAR hosting  ux0026.&lt;br /&gt;&lt;br /&gt;the source mksysb image was created using this command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;mksysb -e -i MyMksysb.img&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-e&lt;br /&gt;Excludes files listed in the /etc/exclude.rootvg&lt;br /&gt;-i&lt;br /&gt;Calls the mkszfile command, which generates the /image.data file.&lt;br /&gt;&lt;br /&gt;RTFM for mksysb for more details.&lt;br /&gt;&lt;br /&gt;SP5TL8 or the spot resource used here, is created from the AIX installation&lt;br /&gt;media (@TL5) that came with one of our p550 machines and then applied with&lt;br /&gt;TL8 SP5 (hence the name).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;prepare the NIM server&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;definitions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;i've already defined ux0026 before, so i'll be just adding the resources needed for the restoration.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt; define the mksysb resource - for this setup, i'm only defining the mksysb resource since the rest have already been defined (being used to often).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo smitty nim_mkres&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SkHWAZJsF6I/AAAAAAAAADo/jFgJACBCcyI/s1600-h/nim_define00.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 224px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SkHWAZJsF6I/AAAAAAAAADo/jFgJACBCcyI/s400/nim_define00.jpg" alt="" id="BLOGGER_PHOTO_ID_5350793134532728738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;then scroll down and select mksysb. for the values:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SkHWAeCS_8I/AAAAAAAAADw/hzz-9Gn1VqE/s1600-h/nim_define01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 221px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SkHWAeCS_8I/AAAAAAAAADw/hzz-9Gn1VqE/s400/nim_define01.jpg" alt="" id="BLOGGER_PHOTO_ID_5350793135843901378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;here, MyMksysbFile is just the name to call the resource. Server of Resource, is where it is located, in this case, it is &lt;span style="font-weight: bold;"&gt;master &lt;/span&gt;(my NIM server name).  Location of Resource is then&lt;br /&gt;local to the NIM server, /export/mksysb/MyMksysb.img. this img file&lt;br /&gt;was created from another AIX LPAR. then hit ENTER.&lt;br /&gt;if there are no conflicts, the definition should be OK.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. &lt;/span&gt;allocating resources and starting the mksysb restore&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo smitty nim_bosinst&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;i select the target, which is ux0026, then just hit ENTER&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SkHXibJrWZI/AAAAAAAAAEg/1kejIQIRDxw/s1600-h/nim_install00.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 221px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SkHXibJrWZI/AAAAAAAAAEg/1kejIQIRDxw/s400/nim_install00.jpg" alt="" id="BLOGGER_PHOTO_ID_5350794818696731026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;the type of instllation, select mksysb, then hit ENTER&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SkHWYBEbgMI/AAAAAAAAAEA/PYRB9Je7fyk/s1600-h/nim_install01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 222px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SkHWYBEbgMI/AAAAAAAAAEA/PYRB9Je7fyk/s400/nim_install01.jpg" alt="" id="BLOGGER_PHOTO_ID_5350793540385079490" border="0" /&gt;&lt;/a&gt;select the mksysb resource&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SkHWYUf1C9I/AAAAAAAAAEI/0_39MUUTFXk/s1600-h/nim_install02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 221px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SkHWYUf1C9I/AAAAAAAAAEI/0_39MUUTFXk/s400/nim_install02.jpg" alt="" id="BLOGGER_PHOTO_ID_5350793545600273362" border="0" /&gt;&lt;/a&gt;the SPOT resource, then hit ENTER&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SkHWY2Ji7BI/AAAAAAAAAEQ/48MUcQor-yk/s1600-h/nim_install03.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 221px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SkHWY2Ji7BI/AAAAAAAAAEQ/48MUcQor-yk/s400/nim_install03.jpg" alt="" id="BLOGGER_PHOTO_ID_5350793554633616402" border="0" /&gt;&lt;/a&gt;and then the rest of the resources I used:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SkHWY7Sv8cI/AAAAAAAAAEY/AWqrN9oBvF8/s1600-h/nim_install04.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 222px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SkHWY7Sv8cI/AAAAAAAAAEY/AWqrN9oBvF8/s400/nim_install04.jpg" alt="" id="BLOGGER_PHOTO_ID_5350793556014395842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SkHYYn08_0I/AAAAAAAAAEo/YTUPNQJli2M/s1600-h/nim_install05.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 223px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SkHYYn08_0I/AAAAAAAAAEo/YTUPNQJli2M/s400/nim_install05.jpg" alt="" id="BLOGGER_PHOTO_ID_5350795749812404034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;the following are previously defined resources:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BOSINST_DATA&lt;/span&gt; - ux26bosinst  (points to /export/mksysb/ux0026/ux26bosinst.data)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IMAGE_DATA&lt;/span&gt; - ux26image (points to /export/mksysb/ux0026/ux26image.data)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RESOLV_CONF&lt;/span&gt; - resolv.conf (points to /export/custom/resolv.conf)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Customization SCRIPT&lt;/span&gt; - postInstall (points to /export/custom/post_install.ksh)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BOSINST_DATA and IMAGE_DATA&lt;/span&gt; are generated from the mksysb command used to&lt;br /&gt;produce the source mksysb image. these files will be in the / of the&lt;br /&gt;system where image is created.&lt;br /&gt;&lt;br /&gt;BOSINST_DATA is needed for the *almost* unattended installation. i said almost&lt;br /&gt;as what i'm doing still needs manual boot device selection.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IMAGE_DATA&lt;/span&gt; - has the mapping for the partitions&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RESOLV_CONF &lt;/span&gt;- my /etc/resolv.conf&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Customization SCRIPT&lt;/span&gt; - script that will be executed after restore. it defines&lt;br /&gt;the automount setup (automap definition), login banners, sudo entries&lt;br /&gt;and configures the backup client software.&lt;br /&gt;&lt;br /&gt;mksysb restores are actually replication of another AIX system. but for this case&lt;br /&gt;since the target machine is for a different requirement, the custom script&lt;br /&gt;is needed.&lt;br /&gt;&lt;br /&gt;these resources have been allocated to ux0026 as shown above.&lt;br /&gt;&lt;br /&gt;after defining the resources, select ENTER and the target LPAR (here it is ux0026, will reboot&lt;br /&gt;by itself). in this example, the LPAR will go through the SMS menu. so  i'm opening a&lt;br /&gt;console window for the LPAR from the HMC.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SkHYyBv8mKI/AAAAAAAAAEw/doN11ynjNwQ/s1600-h/nim_install07.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 299px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SkHYyBv8mKI/AAAAAAAAAEw/doN11ynjNwQ/s400/nim_install07.jpg" alt="" id="BLOGGER_PHOTO_ID_5350796186267457698" border="0" /&gt;&lt;/a&gt;status of the LPAR as shown by the HMC:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SkHZK7FAA9I/AAAAAAAAAFA/YrJ4FTcXfNA/s1600-h/nim_install06.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 31px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SkHZK7FAA9I/AAAAAAAAAFA/YrJ4FTcXfNA/s400/nim_install06.jpg" alt="" id="BLOGGER_PHOTO_ID_5350796613973443538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;settings for the network adapter used for the nim install.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SkHZoVB5-tI/AAAAAAAAAFI/5vRk1otPO8U/s1600-h/nim_install08.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 302px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SkHZoVB5-tI/AAAAAAAAAFI/5vRk1otPO8U/s400/nim_install08.jpg" alt="" id="BLOGGER_PHOTO_ID_5350797119155993298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;SERVER IP ADDRESS is the ipaddress of ux0027 - the nIM server.&lt;br /&gt;&lt;br /&gt;since this is configured, i select X and then 1 to exit from SMS&lt;br /&gt;and bootup the LPAR.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SkHaQru3ZWI/AAAAAAAAAFQ/1hzzIDu43mw/s1600-h/nim_install11.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 301px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SkHaQru3ZWI/AAAAAAAAAFQ/1hzzIDu43mw/s400/nim_install11.jpg" alt="" id="BLOGGER_PHOTO_ID_5350797812444915042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SkHaqwWcosI/AAAAAAAAAFY/bSUfQYQ1-hE/s1600-h/nim_install12.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 301px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SkHaqwWcosI/AAAAAAAAAFY/bSUfQYQ1-hE/s400/nim_install12.jpg" alt="" id="BLOGGER_PHOTO_ID_5350798260361274050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and the installation will then start:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SkHbuPCjgcI/AAAAAAAAAFg/SFUpdkxuiMA/s1600-h/nim_install13.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SkHbuPCjgcI/AAAAAAAAAFg/SFUpdkxuiMA/s400/nim_install13.jpg" alt="" id="BLOGGER_PHOTO_ID_5350799419650572738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;installation in process&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SkHbuWCK5lI/AAAAAAAAAFw/qpgr12wU5QI/s1600-h/nim_install15.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 302px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SkHbuWCK5lI/AAAAAAAAAFw/qpgr12wU5QI/s400/nim_install15.jpg" alt="" id="BLOGGER_PHOTO_ID_5350799421528008274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;from the HMC, status of the LPAR (ux0026)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SkHbuTe1kTI/AAAAAAAAAFo/ZWS5APhhjL4/s1600-h/nim_install14.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 30px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SkHbuTe1kTI/AAAAAAAAAFo/ZWS5APhhjL4/s400/nim_install14.jpg" alt="" id="BLOGGER_PHOTO_ID_5350799420842938674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and the rest:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SkHbuhMoVJI/AAAAAAAAAF4/25UdlD5oOPM/s1600-h/nim_install16.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 305px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SkHbuhMoVJI/AAAAAAAAAF4/25UdlD5oOPM/s400/nim_install16.jpg" alt="" id="BLOGGER_PHOTO_ID_5350799424524670098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SkHbu5AXBFI/AAAAAAAAAGA/nOZTF4CbnbA/s1600-h/nim_install17.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 304px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SkHbu5AXBFI/AAAAAAAAAGA/nOZTF4CbnbA/s400/nim_install17.jpg" alt="" id="BLOGGER_PHOTO_ID_5350799430915654738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SkHcYrlwKMI/AAAAAAAAAGI/I1ias2XwI6k/s1600-h/nim_install18.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 302px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SkHcYrlwKMI/AAAAAAAAAGI/I1ias2XwI6k/s400/nim_install18.jpg" alt="" id="BLOGGER_PHOTO_ID_5350800148868901058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;after this, LPAR will restart and go to the SMS prompt again. this time, i've specified the boot device to be the hard drive. after exiting from SMS:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SkHcYhqIQcI/AAAAAAAAAGQ/z95YMq3Kois/s1600-h/nim_install19.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 302px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SkHcYhqIQcI/AAAAAAAAAGQ/z95YMq3Kois/s400/nim_install19.jpg" alt="" id="BLOGGER_PHOTO_ID_5350800146202902978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;ux0026 booting up:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SkHcYxh_1qI/AAAAAAAAAGY/tElpXmWr0vE/s1600-h/nim_install20.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 304px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SkHcYxh_1qI/AAAAAAAAAGY/tElpXmWr0vE/s400/nim_install20.jpg" alt="" id="BLOGGER_PHOTO_ID_5350800150463764130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and then logging onto the system:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SkHcZDW9ndI/AAAAAAAAAGg/YOS_C8u9A4I/s1600-h/nim_install21.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 302px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SkHcZDW9ndI/AAAAAAAAAGg/YOS_C8u9A4I/s400/nim_install21.jpg" alt="" id="BLOGGER_PHOTO_ID_5350800155249319378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;checking the FS sizes and oslevel:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SkHcZJariXI/AAAAAAAAAGo/itQjREqTFbY/s1600-h/nim_install22.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 302px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SkHcZJariXI/AAAAAAAAAGo/itQjREqTFbY/s400/nim_install22.jpg" alt="" id="BLOGGER_PHOTO_ID_5350800156875524466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and that's it... ux0026 is now available. the whole process (excluding resource creation) took around 35 minutes.&lt;br /&gt;&lt;br /&gt;some commands to remember (must have root privileges):&lt;br /&gt;&lt;br /&gt;nim fast paths:&lt;br /&gt;&lt;br /&gt;# manage machines&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo smitty nim_mac&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# define a machine for NIM operations&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo smitty nim_mkmac&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;# &lt;/span&gt;&lt;span&gt;perform operation on a machine&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo smitty nim_mac_op&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# create a NIM resource&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo smitty nim_mkres&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# manage NIM resources&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo smitty nim_res&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;# actually, all you need to remember is this one&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;smitty nim  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;if you need more info, specifically in doing things via CLI, you can check out &lt;a href="http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.install/doc/insgdrf/addl_update_spot_newdevice.htm"&gt;this guide&lt;/a&gt; from IBM.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-5569990248786282374?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/5569990248786282374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/06/aix-5l-nim-mksysb-restore.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5569990248786282374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5569990248786282374'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/06/aix-5l-nim-mksysb-restore.html' title='AIX 5L NIM mksysb restore'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5ILb082Zo70/SkHWAZJsF6I/AAAAAAAAADo/jFgJACBCcyI/s72-c/nim_define00.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-5734388424085838675</id><published>2009-06-05T14:11:00.004+08:00</published><updated>2010-08-24T10:00:15.390+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nagios'/><title type='text'>building Nagios RPMs</title><content type='html'>we've been running nagios v2.5 for quite some time now. and the latest stable release is 3.0.6.&lt;br /&gt;i downloaded the tarballs from this site:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nagios.org/download/download.php"&gt;http://www.nagios.org/download/download.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;i got the following files:&lt;br /&gt;&lt;br /&gt;nagios-3.0.6.tar.gz&lt;br /&gt;nagios-plugins-1.4.13.tar.gz&lt;br /&gt;nrpe-2.12.tar.gz&lt;br /&gt;&lt;br /&gt;since the tarballs have the rpm spec files built-in, you can easily run rpmbuild on the tarballs to&lt;br /&gt;build the binary rpms and source rpms.&lt;br /&gt;&lt;br /&gt;from the rpmbuild man page:&lt;br /&gt;&lt;br /&gt;The argument used is -b if a spec file is being used to build the package and -t if&lt;br /&gt;rpmbuild  should  look inside of a (possibly compressed) tar file for the spec file&lt;br /&gt;to use. After the first argument, the next character (STAGE) specifies  the  stages&lt;br /&gt;of building and packaging to be done and is one of:&lt;br /&gt;&lt;br /&gt;-ba    Build  binary  and  source  packages  (after  doing  the  %prep, %build, and&lt;br /&gt;%install stages).&lt;br /&gt;&lt;br /&gt;so, to build the binary rpm files for nagios, i ran the following (tarballs are in my cwd):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;rpmbuild -ta nagios-3.0.6.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;produced the following:&lt;br /&gt;&lt;br /&gt;Wrote: /apps/rpmbuild/SRPMS/nagios-3.0.6-1.src.rpm&lt;br /&gt;Wrote: /apps/rpmbuild/RPMS/x86_64/nagios-3.0.6-1.x86_64.rpm&lt;br /&gt;Wrote: /apps/rpmbuild/RPMS/x86_64/nagios-www-3.0.6-1.x86_64.rpm&lt;br /&gt;Wrote: /apps/rpmbuild/RPMS/x86_64/nagios-devel-3.0.6-1.x86_64.rpm&lt;br /&gt;Wrote: /apps/rpmbuild/RPMS/x86_64/nagios-debuginfo-3.0.6-1.x86_64.rpm&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;rpmbuild -ta nrpe-2.12.tar.gz&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;produced the following:&lt;br /&gt;&lt;br /&gt;Wrote: /apps/rpmbuild/SRPMS/nrpe-2.12-1.src.rpm&lt;br /&gt;Wrote: /apps/rpmbuild/RPMS/x86_64/nrpe-2.12-1.x86_64.rpm&lt;br /&gt;Wrote: /apps/rpmbuild/RPMS/x86_64/nrpe-plugin-2.12-1.x86_64.rpm&lt;br /&gt;Wrote: /apps/rpmbuild/RPMS/x86_64/nrpe-debuginfo-2.12-1.x86_64.rpm&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;rpmbuild -ta nagios-plugins-1.4.13.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;produced the following:&lt;br /&gt;&lt;br /&gt;Wrote: /apps/rpmbuild/SRPMS/nagios-plugins-1.4.13-1.src.rpm&lt;br /&gt;Wrote: /apps/rpmbuild/RPMS/x86_64/nagios-plugins-1.4.13-1.x86_64.rpm&lt;br /&gt;Wrote: /apps/rpmbuild/RPMS/x86_64/nagios-plugins-debuginfo-1.4.13-1.x86_64.rpm&lt;br /&gt;&lt;br /&gt;your SRPMS and RPMS location will be different. mine is from the rpmmacros file definition. if you are not using rpmmacros, the rpm files by default will go to &lt;span style="font-weight: bold;"&gt;/usr/src/redhat/.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;that's basically it.&lt;br /&gt;&lt;br /&gt;and if you want to modify the default options of building the binaries (the rpmbuild commands above are doing a compile with default configuration directives), you can untar/unzip the tarball and modify the spec files, and look for the "./configure" line. you can then change the options, save the file and recreate the tarball. i did this to change the lib directory to lib64 from lib as my current nagios installation uses /usr/lib64.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-5734388424085838675?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/5734388424085838675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/06/building-nagios-rpms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5734388424085838675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5734388424085838675'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/06/building-nagios-rpms.html' title='building Nagios RPMs'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-6060400062519587818</id><published>2009-06-01T11:00:00.016+08:00</published><updated>2010-08-24T10:10:46.125+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nagios'/><title type='text'>Nagios and NSCLient++ for  M$ Windoze monitoring</title><content type='html'>'been a while since my last post as i was pretty much occupied at work.  anyway, i'm posting the steps i did to use &lt;a href="http://nsclient.org/nscp/"&gt;NSClient++&lt;/a&gt;  to monitor MS Windows  systems from &lt;a href="http://www.nagios.org/"&gt;Nagios&lt;/a&gt;. We've been using Nagios for monitoring our servers for quite sometime now - we're still stuck with Version 2.5. :)&lt;br /&gt;&lt;br /&gt;we also have a few Business Objects systems on Windows and our BO Guys asked to monitor BO related processes and inform them in case any of them goes down.&lt;br /&gt;&lt;br /&gt;download the nsclient package (choose from the list):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nsclient.org/nscp/downloads"&gt;http://nsclient.org/nscp/downloads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;i used the zip file and extracted it in the BO machine on this location:&lt;br /&gt;&lt;br /&gt;C:\Program Files\NSClient++-Win32-0.3.5&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SiNP4nPlGgI/AAAAAAAAACw/d2DRZwbcIkI/s1600-h/nsclient00.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 162px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SiNP4nPlGgI/AAAAAAAAACw/d2DRZwbcIkI/s400/nsclient00.gif" alt="" id="BLOGGER_PHOTO_ID_5342201417017137666" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Configuration&lt;/span&gt;&lt;br /&gt;edit the file NSC.ini, i only set the following:&lt;br /&gt;&lt;br /&gt;#start of NSC.ini&lt;br /&gt;[modules]&lt;br /&gt;FileLogger.dll&lt;br /&gt;CheckSystem.dll&lt;br /&gt;CheckDisk.dll&lt;br /&gt;NSClientListener.dll&lt;br /&gt;NRPEListener.dll&lt;br /&gt;CheckEventLog.dll&lt;br /&gt;[Settings]&lt;br /&gt;allowed_hosts=my_nagios_server_hostname&lt;br /&gt;use_file=1&lt;br /&gt;[log]&lt;br /&gt;[NRPE]&lt;br /&gt;port=5666&lt;br /&gt;allow_arguments=1&lt;br /&gt;allowed_hosts=my_nagios_server_hostname&lt;br /&gt;#end of nsc.ini&lt;br /&gt;&lt;br /&gt;now install it (here, i'm inside C:\Program Files\NSClient++-Win32-0.3.5)&lt;br /&gt;&lt;br /&gt;NSClient++ /install&lt;br /&gt;&lt;br /&gt;by default, you can control the nsclient using the following commands:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;NSClient++ /start&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;NSClient++ /stop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;but the elegant way to do it is to define it as a service and have it run&lt;br /&gt;during startup:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sc config NSClientpp obj= "NT AUTHORITY\LocalService"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;if not exist nsclient.log type NUL: &gt; nsclient.log&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;cacls nsclient.log /e /g "NT AUTHORITY\LocalService":c&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;after that, you can now control it using the ff:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;net stop NSClientpp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;net start NSClientpp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Nagios Server side&lt;/span&gt;&lt;br /&gt;in the nagios server, i created several config files for Windows machines, namely:&lt;br /&gt;&lt;br /&gt;wincheckcommands.cfg&lt;br /&gt;winhostgroups.cfg&lt;br /&gt;winhosts.cfg&lt;br /&gt;winservices.cfg&lt;br /&gt;&lt;br /&gt;and all defined in the /etc/nagios.cfg config file. i won't go into the contents of those files - they are just the same config files in nagios created only for our windows machines.  but for the wincheckcommands.cfg, i defined the BO process monitoring like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# 'check_BOprocs' command definition&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;define command{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        command_name    check_BOProcs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        command_line    $USER1$/check_nrpe  -H $HOSTADDRESS$ -p 5666 -c checkServiceState -a CheckAll exclude=SysmonLog exclude=BOBJCrystalReportApplicationServer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;so that is basically a generic entry, saying monitor all except the following:&lt;br /&gt;&lt;br /&gt;SysmonLog&lt;br /&gt;BOBJCrystalReportApplicationServer&lt;br /&gt;&lt;br /&gt;where did thse come from? in windows, there's a command call sc - and to list the services, you run it from the command prompt:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sc query | more&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and it will list the services and their current status.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SiNSMEJIHhI/AAAAAAAAADA/GUpYU92sJhw/s1600-h/nsclient04.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 198px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SiNSMEJIHhI/AAAAAAAAADA/GUpYU92sJhw/s400/nsclient04.gif" alt="" id="BLOGGER_PHOTO_ID_5342203950215470610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;you need the entries for  SERVICE_NAME: if you want to be specific. for instance, the NSClient service i created earlier, i can query like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SiNPBjVZ4pI/AAAAAAAAACg/tXaqr0UZvN8/s1600-h/nsclient02.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 195px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SiNPBjVZ4pI/AAAAAAAAACg/tXaqr0UZvN8/s400/nsclient02.gif" alt="" id="BLOGGER_PHOTO_ID_5342200471075021458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;then, in winservices.cfg, i have this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;define service{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        hostgroup_name          BO_Servers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        service_description     BO Services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        check_command           check_BOProcs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        use                     template-bo-services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;so what it does is monitor the BO_Servers group using the check_BOProcs check command. In the web interface of nagios, for one of the BO servers:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SiNQ2d2faqI/AAAAAAAAAC4/USkfcaEMRvY/s1600-h/nsclient03.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 88px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SiNQ2d2faqI/AAAAAAAAAC4/USkfcaEMRvY/s400/nsclient03.gif" alt="" id="BLOGGER_PHOTO_ID_5342202479647877794" border="0" /&gt;&lt;/a&gt;you can also monitor other aspects of the servers using different command modules, like CheckDriveSize:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;/usr/lib64/nagios/plugins/check_nrpe  -H server_hostname -p 5666  -c CheckDriveSize -a ShowAll MinWarnFree=10% MinCritFree=5% Drive=C:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OK: C:: 36.4G|'C:'=47%;10;5;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;please refer to the &lt;a href="http://nsclient.org/nscp/wiki/CheckCommands"&gt;nsclient site&lt;/a&gt; for other CheckCommands.&lt;br /&gt;&lt;br /&gt;TIP: when making changes to a running a nagios setup, always make backup copies of the config files. and after making changes, always run:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;nagios -v nagios.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to check for errors before doing a reload or restart of the nagios service.&lt;br /&gt;nagios is a very nice template-based configuration but very confusing at times.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-6060400062519587818?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/6060400062519587818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/06/nagios-and-nsclient-for-m-windoze.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/6060400062519587818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/6060400062519587818'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/06/nagios-and-nsclient-for-m-windoze.html' title='Nagios and NSCLient++ for  M$ Windoze monitoring'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5ILb082Zo70/SiNP4nPlGgI/AAAAAAAAACw/d2DRZwbcIkI/s72-c/nsclient00.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-1214479840520944486</id><published>2009-05-07T14:50:00.008+08:00</published><updated>2010-08-24T10:00:36.276+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>F981 3694 PRINTER ERROR</title><content type='html'>one of our branches have been having some problems with an HP LJ  P4515 printer for the past&lt;br /&gt;few days.  From the printer web interface Event Log, there are entries with  &lt;span style="font-weight: bold;"&gt;F981 3694 PRINTER ERROR&lt;/span&gt;. everytime this error appears, jobs destined for the printer are queued in an AIX system hosting the queue:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SgKMPonVazI/AAAAAAAAACQ/Qxx6A57F7gw/s1600-h/printer_error02.jpeg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 159px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SgKMPonVazI/AAAAAAAAACQ/Qxx6A57F7gw/s400/printer_error02.jpeg" alt="" id="BLOGGER_PHOTO_ID_5332979108988414770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From a quick google search with F981 3694 PRINTER ERROR, brought me to an &lt;a href="http://forums11.itrc.hp.com/service/forums/bizsupport/questionanswer.do?threadId=1277103"&gt;HP Support forum&lt;/a&gt;. The error is due a problem with the firmware v&lt;span style="font-weight: bold;"&gt;04.047.2&lt;/span&gt; and our user's printer has the same version installed:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/SgKMPVSbLEI/AAAAAAAAACI/HMgE3ey3iwk/s1600-h/printer_error.jpeg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 177px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/SgKMPVSbLEI/AAAAAAAAACI/HMgE3ey3iwk/s400/printer_error.jpeg" alt="" id="BLOGGER_PHOTO_ID_5332979103800437826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;the current work around according to the thread is to backdate the firmware to v&lt;span style="font-weight: bold;" class="Text"&gt;04.042.0  &lt;/span&gt;while a new firmware update is being developed.&lt;br /&gt;Right now, we are doing a spooler restart. I gave a (crude :))  script for our Helpdesk to run. It has no error checking (feel free to add to it) but does the job while waiting for a permanent fix.&lt;br /&gt;&lt;br /&gt;here's the script:&lt;br /&gt;&lt;br /&gt;# start&lt;br /&gt;#!/usr/bin/ksh&lt;br /&gt;&lt;br /&gt;# restart_spooler.ksh&lt;br /&gt;# check if there are queued jobs&lt;br /&gt;qJobS=`enq -W -A | grep QUEUED | wc -l`&lt;br /&gt;if [ ${qJobS} != 0 ]&lt;br /&gt;then&lt;br /&gt;qNamE="";&lt;br /&gt;echo "there are queued jobs. stopping active ones..."&lt;br /&gt;for qNamE in $(ps -ef | grep qdaemon | grep bktprint | awk '{print $10}')&lt;br /&gt;do&lt;br /&gt;echo "disabling ${qNamE}..."&lt;br /&gt;sudo /usr/bin/enq -K -P${qNamE}&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;# stop the spooler&lt;br /&gt;nohup sudo stopsrc -s qdaemon &amp;amp;&lt;br /&gt;&lt;br /&gt;# this will check if the qdaemon actually stopped&lt;br /&gt;# before doing a startsrc&lt;br /&gt;qCount=`ps -ef | grep qdaemon | grep -v grep | wc -l`&lt;br /&gt;&lt;br /&gt;while [  ${qCount} != 0 ]&lt;br /&gt;do&lt;br /&gt;echo "qdaemon is still running - waiting..."&lt;br /&gt;sleep 1&lt;br /&gt;qCount=`ps -ef | grep qdaemon | grep -v grep | wc -l`&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;# start the spooler&lt;br /&gt;sudo startsrc -s qdaemon&lt;br /&gt;&lt;br /&gt;#enable queues with status DOWN&lt;br /&gt;for qNamE in $(enq -W -s -A| grep DOWN | awk '{print $1}')&lt;br /&gt;do&lt;br /&gt;echo "enabling ${qNamE}...."&lt;br /&gt;sudo /usr/bin/enq -U -P${qNamE}&lt;br /&gt;done&lt;br /&gt;fi&lt;br /&gt;sudo /usr/bin/enq -W -A&lt;br /&gt;exit&lt;br /&gt;# end&lt;br /&gt;&lt;br /&gt;the script disables the active queue first as qdaemon won't stop while a queue has a running job.  queus with status DOWN will then be re-enabled after qdaemon restarts. The account used by our Helpdesk here has sudo privileges (with NOPASSWD option) for enq, stopsrc and startsrc.&lt;br /&gt;&lt;br /&gt;NOTE: disabling/re-enabling a queue will "re-submit" the job to the printer. so if a print job is already halfway through and you disable/re-enable the queue, the job will be re-submitted and re-printed. i don't know of any fix for this right now so let me know if you have any. :)&lt;br /&gt;&lt;br /&gt;c ya.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-1214479840520944486?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/1214479840520944486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/05/f981-3694-printer-error.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/1214479840520944486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/1214479840520944486'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/05/f981-3694-printer-error.html' title='F981 3694 PRINTER ERROR'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5ILb082Zo70/SgKMPonVazI/AAAAAAAAACQ/Qxx6A57F7gw/s72-c/printer_error02.jpeg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-5416637031221566850</id><published>2009-04-21T11:56:00.005+08:00</published><updated>2010-08-24T10:06:56.115+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>controlling crontab users</title><content type='html'>we needed to limit the use of cron jobs but we don't want them defined at&lt;br /&gt;the user level.  it has to be done solely by root but still runs under&lt;br /&gt;the user's environment settings.&lt;br /&gt;&lt;br /&gt;to limit usage of crontab, the following files in /etc/&lt;br /&gt;can be used:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cron.allow&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cron.deny&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;from the man page:&lt;br /&gt;&lt;br /&gt;If  the  cron.allow  file  exists,  then  you must be listed therein in&lt;br /&gt;order to be allowed to use this command.  If  the  cron.allow  file&lt;br /&gt;does  not  exist  but  the cron.deny  file  does  exist,  then you must&lt;br /&gt;not be listed in the cron.deny file in order to use this command.  If&lt;br /&gt;neither of these files exists, only the  super  user will be allowed to&lt;br /&gt;use this command.&lt;br /&gt;&lt;br /&gt;all is needed is to remove /etc/cron.deny and /etc/cron.allow (in&lt;br /&gt;RHEL4/5 systems, an empty /etc/cron.deny exists). By default, any user&lt;br /&gt;can use crontab to define schduled jobs.&lt;br /&gt;&lt;br /&gt;so removing /etc/cron.deny and/or /etc/cron.allow:&lt;br /&gt;&lt;br /&gt;[user00@lx0050 ~]$ &lt;span style="font-weight: bold; font-style: italic;"&gt;crontab -l&lt;/span&gt;&lt;br /&gt;You (user00) are not allowed to use this program (crontab)&lt;br /&gt;See crontab(1) for more information&lt;br /&gt;[user00@lx0050 ~]$ &lt;span style="font-weight: bold; font-style: italic;"&gt;crontab -e&lt;/span&gt;&lt;br /&gt;You (user00) are not allowed to use this program (crontab)&lt;br /&gt;See crontab(1) for more information&lt;br /&gt;&lt;br /&gt;But we need to schedule user defined jobs in our system!&lt;br /&gt;&lt;br /&gt;define the job in &lt;span style="font-weight: bold;"&gt;/etc/cron.d&lt;/span&gt; instead. jobs  here will&lt;br /&gt;be defined in a file. the format for each job entry&lt;br /&gt;is as folows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MM HH DD MM DayOfWeek  user_to_run_job  command&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;it is similar to a crontab entry except that before the command, the user&lt;br /&gt;who needs to run the command must be provided.&lt;br /&gt;&lt;br /&gt;sample entry:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*/2 * * * *  user00 echo "test"  &gt;&gt; $HOME/x.log&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;*/2 * * * * - run every two minutes all the time&lt;br /&gt;user00 - the user who needs to run the command&lt;br /&gt;echo "test"  &gt;&gt; $HOME/x.log - the scheduled command&lt;br /&gt;&lt;br /&gt;Note that in this definition, the command will run as if user00 defined&lt;br /&gt;the job using crontab.&lt;br /&gt;&lt;br /&gt;this line is in the file&lt;span style="font-weight: bold;"&gt; /etc/cron.d/admin_scripts&lt;/span&gt;. permissions&lt;br /&gt;for the files in /etc/cron.d are the following (take note of the&lt;br /&gt;selinux settings):&lt;br /&gt;&lt;br /&gt;for RHEL4&lt;br /&gt;-rw-r--r--  1 system_u:object_r:etc_t          root root  192 May  6  2008 admin_scripts&lt;br /&gt;&lt;br /&gt;for RHEL5&lt;br /&gt;-rw-r--r-- 1 system_u:object_r:system_cron_spool_t root root 192 Sep 16  2008  admin_scripts&lt;br /&gt;&lt;br /&gt;hth.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-5416637031221566850?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/5416637031221566850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/04/controlling-crontab-users.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5416637031221566850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/5416637031221566850'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/04/controlling-crontab-users.html' title='controlling crontab users'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-7907063719581722667</id><published>2009-04-21T11:14:00.007+08:00</published><updated>2010-08-24T10:10:24.755+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Oracle Buys Sun</title><content type='html'>&lt;a href="http://www.oracle.com/us/corporate/press/018363"&gt;Sun is now under Oracle&lt;/a&gt;. Are Solaris admins jumping for joy right now?&lt;br /&gt;Oh, and MySQL is owned by Sun.&lt;br /&gt;what now?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-7907063719581722667?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/7907063719581722667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/04/sun-is-now-under-oracle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/7907063719581722667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/7907063719581722667'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/04/sun-is-now-under-oracle.html' title='Oracle Buys Sun'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-3702281053868163889</id><published>2009-04-16T16:40:00.008+08:00</published><updated>2010-08-24T10:11:32.275+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rsyslog'/><title type='text'>rsyslog and phplogcon</title><content type='html'>so my &lt;a href="http://telinit0.blogspot.com/2009/04/rsyslog-and-php-syslog-ng-for-gnulinux.html"&gt;php-syslog-ng evaluation&lt;/a&gt; encountered an early booting. now i'm&lt;br /&gt;switching to another free tool - &lt;a href="http://www.phplogcon.org/"&gt;phplogcon&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;installation is pretty easy:&lt;br /&gt;&lt;br /&gt;download (latest stable) - &lt;span style="font-weight: bold;"&gt;phplogcon-2.6.2.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.phplogcon.org/Downloads-req-getit-lid-54.phtml"&gt;http://www.phplogcon.org/Downloads-req-getit-lid-54.phtml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and follow the steps &lt;a href="http://www.phplogcon.org/module-Static_Docs-view-f-/install.html.phtml"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;http config&lt;/span&gt;&lt;br /&gt;my new web config  file  for phplog site was changed to this:&lt;br /&gt;&lt;br /&gt;Alias /isaplog /apps/isaplog&lt;br /&gt;&lt;br /&gt;&amp;lt;Directory "/apps/isaplog"&amp;gt;&lt;br /&gt;Options -Indexes FollowSymLinks MultiViews&lt;br /&gt;AllowOverride All&lt;br /&gt;Order allow,deny&lt;br /&gt;Allow from all&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for my setup, i've untarred the downloaded file (phplogcon-2.6.2.tar.gz)  and moved the src folder to /apps/isaplog&lt;br /&gt;&lt;br /&gt;NOTE: my previous php-syslog-ng was renamed so i can use the same site&lt;br /&gt;for phplogcon).&lt;br /&gt;&lt;br /&gt;since i'm  using selinux, i needed to make the config.php&lt;br /&gt;writable by the web server:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;chcon -t public_content_rw_t config.php&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;NOTE: don't forget to change config.php back to its original context after installation.&lt;br /&gt;&lt;br /&gt;DB setup:&lt;br /&gt;&lt;br /&gt;i've create a new DB (since i plan to import&lt;br /&gt;old tables used by php-syslog-ng to phplogcon).&lt;br /&gt;&lt;br /&gt;the new DB is phpISAPLog&lt;br /&gt;&lt;br /&gt;so:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;mysql -u root -p&lt;/span&gt;&lt;br /&gt;mysql&gt; &lt;span style="font-weight: bold; font-style: italic;"&gt;create DATABASE phpISAPLog;&lt;/span&gt;&lt;br /&gt;mysql&gt;  &lt;span style="font-weight: bold; font-style: italic;"&gt;grant all privileges on phpISAPLog.* to isaplog@"localhost" identified by 'admin_pass';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;then, to create the tables, i've used the createDB.sql script&lt;br /&gt;that comes with the &lt;a href="http://telinit0.blogspot.com/2009/04/packaging-rsyslog-and-adding-it-to-yum.html"&gt;rsyslog source that i packaged&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;it is in &lt;span style="font-weight: bold;"&gt;/usr/share/doc/rsyslog-mysql-3.20.5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-rw-r--r-- 1 root root 1050 Apr 16 11:16 createDB.sql&lt;br /&gt;&lt;br /&gt;i've modified the file to reflect the DB name i use&lt;br /&gt;and commented out the CREATE line:&lt;br /&gt;&lt;br /&gt;#CREATE DATABASE Syslog;&lt;br /&gt;USE phpISAPLog&lt;br /&gt;CREATE TABLE SystemEvents&lt;br /&gt;(&lt;br /&gt;ID int unsigned not null auto_increment primary key,&lt;br /&gt;CustomerID bigint,&lt;br /&gt;ReceivedAt datetime NULL,&lt;br /&gt;DeviceReportedTime datetime NULL,&lt;br /&gt;Facility smallint NULL,&lt;br /&gt;&amp;lt;entries removed&amp;gt;&lt;br /&gt;&lt;rest&gt;&lt;br /&gt;to create the table:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;mysql -u isaplog -p -D phpISAPLog &amp;lt; &lt;/span&gt;&lt;/rest&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;createDB.sql&lt;/span&gt;&lt;br /&gt;&lt;rest&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;then in my browser (which is firefox ;)):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;http://lx0050/isaplog/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;the prompts are self-explanatory. for the source, here's&lt;br /&gt;what i provided:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/rest&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SebwlFh9qfI/AAAAAAAAABw/rCbA1nrP4LE/s1600-h/rsyslog_phplogcon00.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 313px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SebwlFh9qfI/AAAAAAAAABw/rCbA1nrP4LE/s400/rsyslog_phplogcon00.jpg" alt="" id="BLOGGER_PHOTO_ID_5325208129342646770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;rest&gt;&lt;span&gt;for my rsyslog.conf, i had to make some changes since i'm using&lt;br /&gt;a new DB:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$EscapeControlCharactersOnReceive off&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ModLoad ommysql.so&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ModLoad imklog&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ModLoad immark&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ModLoad imuxsock&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ModLoad imudp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# receive messages from network&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$UDPServerAddress 10.x.y.z&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$UDPServerRun 514&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$template isapDBLog,"insert into SystemEvents (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', '%syslogfacility-text%', '%FROMHOST%', '%syslogpriority%', '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%programname%')",sql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;if $msg contains 'START: nrpe' then ~&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*.*     :ommysql:127.0.0.1,phpISAPLog,isaplog,admin_pass;isapDBLog&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and after a restart of rsyslog, phplogcon is now showing some log entries:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/rest&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SebwlR5G36I/AAAAAAAAAB4/ml_zNvL1ck4/s1600-h/rsyslog_phplogcon01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 211px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SebwlR5G36I/AAAAAAAAAB4/ml_zNvL1ck4/s400/rsyslog_phplogcon01.jpg" alt="" id="BLOGGER_PHOTO_ID_5325208132660944802" border="0" /&gt;&lt;/a&gt;&lt;rest&gt;&lt;span&gt;&lt;br /&gt;to mimic the php-syslog-ng view (that is easier to read by my target users),&lt;br /&gt;i created a custom view:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/rest&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SebwlVVOESI/AAAAAAAAACA/vcbpSsOYx-0/s1600-h/rsyslog_phplogcon02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 160px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SebwlVVOESI/AAAAAAAAACA/vcbpSsOYx-0/s400/rsyslog_phplogcon02.jpg" alt="" id="BLOGGER_PHOTO_ID_5325208133584163106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;anyone has any tips on how to import the php-syslog-ng tables to phplogcon?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-3702281053868163889?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/3702281053868163889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/04/rsyslog-and-phplogcon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3702281053868163889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3702281053868163889'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/04/rsyslog-and-phplogcon.html' title='rsyslog and phplogcon'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5ILb082Zo70/SebwlFh9qfI/AAAAAAAAABw/rCbA1nrP4LE/s72-c/rsyslog_phplogcon00.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-8434672946909272595</id><published>2009-04-14T17:37:00.011+08:00</published><updated>2010-08-24T10:10:07.586+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Packaging rsyslog and adding it to a yum repo</title><content type='html'>the rsyslog version that comes with RHEL5 u3 is an old&lt;br /&gt;one - v 2.0.6. since me thinks this version has some problems&lt;br /&gt;with the discard option in my config file, i've decided&lt;br /&gt;to try the latest stable release and build an RPM file&lt;br /&gt;from it and then include the packages in my yum repository.&lt;br /&gt;&lt;br /&gt;here are the steps i did:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;setup rpm macros&lt;/span&gt;&lt;br /&gt;my .rpmmacros has the following:&lt;br /&gt;&lt;br /&gt;$ cat .rpmmacros&lt;br /&gt;%packager               Roderick Tapang&lt;br /&gt;%distribution           Centos RPMS&lt;br /&gt;&lt;br /&gt;%_topdir                /apps/rpmbuild&lt;br /&gt;{_builddir}          %{_topdir}/BUILD&lt;br /&gt;{_rpmdir}            %{_topdir}/RPMS&lt;br /&gt;{_sourcedir}         %{_topdir}/SOURCES&lt;br /&gt;{_specdir}           %{_topdir}/SPECS&lt;br /&gt;{_srcrpmdir}         %{_topdir}/SRPMS&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/apps/rpmbuild&lt;/span&gt; has the following structure&lt;br /&gt;&lt;br /&gt;# generated using tree command&lt;br /&gt;&lt;br /&gt;|-- BUILD&lt;br /&gt;|-- RPMS&lt;br /&gt;|   |-- noarch&lt;br /&gt;|   `-- x86_64&lt;br /&gt;|-- SOURCES&lt;br /&gt;|-- SPECS&lt;br /&gt;|-- SRPMS&lt;br /&gt;`-- tmp&lt;br /&gt;&lt;br /&gt;now, i've downloaded the  tar ball from here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.rsyslog.com/rsyslog/rsyslog-3.20.5.tar.gz"&gt;http://download.rsyslog.com/rsyslog/rsyslog-3.20.5.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and used Peter Vrabec's spec file from:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://people.redhat.com/pvrabec/rpms/rsyslog/rsyslog.spec"&gt;http://people.redhat.com/pvrabec/rpms/rsyslog/rsyslog.spec &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;the tar ball is placed in SOURCES along with other files that&lt;br /&gt;will be included in the package:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;../SOURCES/rsyslog-3.20.5.tar.gz&lt;/span&gt;  -&amp;gt; tar ball is copied as is.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;../SOURCES/rsyslog.conf&lt;/span&gt;  -&amp;gt; sample configuration&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;../SOURCES/rsyslog.init&lt;/span&gt;  -&amp;gt; startup script (without the rklogd entries)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;../SOURCES/rsyslog.sysconfig&lt;/span&gt;   -&amp;gt; will be copied to /etc/sysconfig/rsyslog&lt;br /&gt;&lt;br /&gt;the spec file i used:&lt;br /&gt;&lt;br /&gt;#START of SPEC file&lt;br /&gt;%define    sbindir    /sbin&lt;br /&gt;&lt;br /&gt;Summary: Enhanced system logging and kernel message trapping daemons&lt;br /&gt;Name: rsyslog&lt;br /&gt;Version: 3.20.5&lt;br /&gt;Release: 0%{?dist}&lt;br /&gt;License: GPLv2+&lt;br /&gt;Group: System Environment/Daemons&lt;br /&gt;URL: http://www.rsyslog.com/&lt;br /&gt;Source0: http://download.rsyslog.com/rsyslog/%{name}-%{version}.tar.gz&lt;br /&gt;#Source0: %{name}-%{version}.tar.gz&lt;br /&gt;Source1: rsyslog.init&lt;br /&gt;Source2: rsyslog.sysconfig&lt;br /&gt;Source3: syslog.log&lt;br /&gt;Source4: rsyslog.conf&lt;br /&gt;BuildRequires: zlib-devel&lt;br /&gt;BuildRequires: autoconf automake&lt;br /&gt;Requires: logrotate &gt;= 3.5.2&lt;br /&gt;Requires: bash &gt;= 2.0&lt;br /&gt;Requires(post): /sbin/chkconfig coreutils&lt;br /&gt;Requires(preun): /sbin/chkconfig /sbin/service&lt;br /&gt;Requires(postun): /sbin/service&lt;br /&gt;Provides: syslog&lt;br /&gt;BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)&lt;br /&gt;&lt;br /&gt;%package mysql&lt;br /&gt;Summary: MySQL support for rsyslog&lt;br /&gt;Group: System Environment/Daemons&lt;br /&gt;Requires: %name = %version-%release&lt;br /&gt;BuildRequires: mysql-devel &gt;= 4.0&lt;br /&gt;&lt;br /&gt;%description&lt;br /&gt;Rsyslog is an enhanced multi-threaded syslogd supporting, among others, MySQL,&lt;br /&gt;syslog/tcp, RFC 3195, permitted sender lists, filtering on any message part,&lt;br /&gt;and fine grain output format control. It is quite compatible to stock sysklogd&lt;br /&gt;and can be used as a drop-in replacement. Its advanced features make it&lt;br /&gt;suitable for enterprise-class, encryption protected syslog relay chains while&lt;br /&gt;at the same time being very easy to setup for the novice user.&lt;br /&gt;&lt;br /&gt;%description mysql&lt;br /&gt;The rsyslog-mysql package contains a dynamic shared object that will add&lt;br /&gt;MySQL database support to rsyslog.&lt;br /&gt;&lt;br /&gt;%prep&lt;br /&gt;%setup -q&lt;br /&gt;&lt;br /&gt;%build&lt;br /&gt;%configure --sbindir=%{sbindir} --enable-mysql&lt;br /&gt;make %{?_smp_mflags}&lt;br /&gt;&lt;br /&gt;%install&lt;br /&gt;rm -rf $RPM_BUILD_ROOT&lt;br /&gt;&lt;br /&gt;make install DESTDIR=$RPM_BUILD_ROOT&lt;br /&gt;&lt;br /&gt;install -d -m 755 $RPM_BUILD_ROOT%{_initrddir}&lt;br /&gt;install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig&lt;br /&gt;install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d&lt;br /&gt;install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/rsyslog&lt;br /&gt;install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/rsyslog&lt;br /&gt;install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/syslog&lt;br /&gt;install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/rsyslog.conf&lt;br /&gt;&lt;br /&gt;#get rid of *.la&lt;br /&gt;rm $RPM_BUILD_ROOT/%{_libdir}/rsyslog/*.la&lt;br /&gt;#get rid of useless files in doc&lt;br /&gt;rm -rf doc/Makefile*&lt;br /&gt;&lt;br /&gt;%clean&lt;br /&gt;rm -rf $RPM_BUILD_ROOT&lt;br /&gt;&lt;br /&gt;%post&lt;br /&gt;/sbin/chkconfig --add rsyslog&lt;br /&gt;for n in /var/log/{messages,secure,maillog,spooler}&lt;br /&gt;do&lt;br /&gt;[ -f $n ] &amp;amp;&amp;amp; continue&lt;br /&gt;umask 066 &amp;amp;&amp;amp; touch $n&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;%preun&lt;br /&gt;if [ $1 = 0 ]; then&lt;br /&gt;service rsyslog stop &gt;/dev/null 2&gt;&amp;amp;1 ||:&lt;br /&gt;/sbin/chkconfig --del rsyslog&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;%postun&lt;br /&gt;if [ "$1" -ge "1" ]; then&lt;br /&gt;service rsyslog condrestart &gt; /dev/null 2&gt;&amp;amp;1 ||:&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;%files&lt;br /&gt;%defattr(-,root,root,-)&lt;br /&gt;%doc AUTHORS COPYING NEWS README doc&lt;br /&gt;%dir %{_libdir}/rsyslog&lt;br /&gt;%config(noreplace) %{_sysconfdir}/rsyslog.conf&lt;br /&gt;%config(noreplace) %{_sysconfdir}/sysconfig/rsyslog&lt;br /&gt;%config(noreplace) %{_sysconfdir}/logrotate.d/syslog&lt;br /&gt;%{_initrddir}/rsyslog&lt;br /&gt;%{sbindir}/rsyslogd&lt;br /&gt;%{_mandir}/*/*&lt;br /&gt;%{_libdir}/rsyslog/imklog.so&lt;br /&gt;%{_libdir}/rsyslog/immark.so&lt;br /&gt;%{_libdir}/rsyslog/imtcp.so&lt;br /&gt;%{_libdir}/rsyslog/imudp.so&lt;br /&gt;%{_libdir}/rsyslog/imuxsock.so&lt;br /&gt;%{_libdir}/rsyslog/lmnet.so&lt;br /&gt;%{_libdir}/rsyslog/lmnetstrms.so&lt;br /&gt;%{_libdir}/rsyslog/lmnsd_ptcp.so&lt;br /&gt;%{_libdir}/rsyslog/lmregexp.so&lt;br /&gt;%{_libdir}/rsyslog/lmtcpclt.so&lt;br /&gt;%{_libdir}/rsyslog/lmtcpsrv.so&lt;br /&gt;%{_libdir}/rsyslog/omtesting.so&lt;br /&gt;&lt;br /&gt;%files mysql&lt;br /&gt;%defattr(-,root,root)&lt;br /&gt;%doc plugins/ommysql/createDB.sql&lt;br /&gt;%{_libdir}/rsyslog/ommysql.so&lt;br /&gt;&lt;br /&gt;%changelog&lt;br /&gt;&lt;br /&gt;# END of SPEC file&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NOTE:  if anyone needs a tar file of the spec file and other files a used&lt;br /&gt;to do the build, let me know so i can send it to you.&lt;br /&gt;&lt;br /&gt;to build the src and binary rpms, i ran the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;rpmbuild -bb rsyslog.spec&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and produced the following (relevant to /apps/rpmbuild/SPECS):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;../RPMS/x86_64/rsyslog-3.20.5-0.x86_64.rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;../RPMS/x86_64/rsyslog-debuginfo-3.20.5-0.x86_64.rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;../RPMS/x86_64/rsyslog-mysql-3.20.5-0.x86_64.rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;../SRPMS/rsyslog-3.20.5-0.src.rpm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;this works in &lt;span style="font-weight: bold;"&gt;RHEL5 u3 i386&lt;/span&gt; and&lt;span style="font-weight: bold;"&gt; x86_64&lt;/span&gt; releases and variants (like CEntOS). i then created a new entry in my existing yum repo using "createrepo", for my i386 repository:&lt;br /&gt;&lt;br /&gt;/apps/repo/rhel5u3/i386/Custom&lt;br /&gt;# ls -ltr&lt;br /&gt;total 748&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-rw-r--r-- 1 root root 723690 Apr 14 17:23 rsyslog-3.20.5-0.i386.rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-rw-r--r-- 1 root root  25337 Apr 14 17:23 rsyslog-mysql-3.20.5-0.i386.rpm&lt;/span&gt;&lt;br /&gt;[root@lxisap0050 Custom]# &lt;span style="font-weight: bold; font-style: italic;"&gt;createrepo .&lt;/span&gt;&lt;br /&gt;2/2 - rsyslog-mysql-3.20.5-0.i386.rpm&lt;br /&gt;Saving Primary metadata&lt;br /&gt;Saving file lists metadata&lt;br /&gt;Saving other metadata&lt;br /&gt;[root@lxisap0050 Custom]# &lt;span style="font-weight: bold;"&gt;ls -ltr&lt;/span&gt;&lt;br /&gt;total 756&lt;br /&gt;-rw-r--r-- 1 root root 723690 Apr 14 17:23 rsyslog-3.20.5-0.i386.rpm&lt;br /&gt;-rw-r--r-- 1 root root  25337 Apr 14 17:23 rsyslog-mysql-3.20.5-0.i386.rpm&lt;br /&gt;drwxr-xr-x 2 root root   4096 Apr 14 17:27 repodata&lt;br /&gt;&lt;br /&gt;and then, from another rhel5 system, running:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;yum clean all&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;yum list rsyslog&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/SeRbtpJV40I/AAAAAAAAABI/4TTKDDMoxEM/s1600-h/rsyslog_rpm_01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 204px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/SeRbtpJV40I/AAAAAAAAABI/4TTKDDMoxEM/s400/rsyslog_rpm_01.jpg" alt="" id="BLOGGER_PHOTO_ID_5324481499156046658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;installing it:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;yum install rsyslog&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SeRbuaPvcFI/AAAAAAAAABQ/KLpoc9YRqVg/s1600-h/rsyslog_rpm_02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 273px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SeRbuaPvcFI/AAAAAAAAABQ/KLpoc9YRqVg/s400/rsyslog_rpm_02.jpg" alt="" id="BLOGGER_PHOTO_ID_5324481512336224338" border="0" /&gt;&lt;/a&gt;and then:&lt;br /&gt;&lt;br /&gt;[root@localhost ~]#&lt;span style="font-weight: bold; font-style: italic;"&gt; chkconfig syslog off&lt;/span&gt;&lt;br /&gt;[root@localhost ~]# &lt;span style="font-weight: bold; font-style: italic;"&gt;chkconfig rsyslog on&lt;/span&gt;&lt;br /&gt;[root@localhost ~]# &lt;span style="font-weight: bold; font-style: italic;"&gt;service rsyslog start&lt;/span&gt;&lt;br /&gt;Starting system logger:                                    [  OK  ]&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5ILb082Zo70/SeRbveGLHFI/AAAAAAAAABY/eOzDVq6ipCs/s1600-h/rsyslog_rpm_03.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 129px;" src="http://3.bp.blogspot.com/_5ILb082Zo70/SeRbveGLHFI/AAAAAAAAABY/eOzDVq6ipCs/s400/rsyslog_rpm_03.jpg" alt="" id="BLOGGER_PHOTO_ID_5324481530549705810" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-8434672946909272595?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/8434672946909272595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/04/packaging-rsyslog-and-adding-it-to-yum.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/8434672946909272595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/8434672946909272595'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/04/packaging-rsyslog-and-adding-it-to-yum.html' title='Packaging rsyslog and adding it to a yum repo'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5ILb082Zo70/SeRbtpJV40I/AAAAAAAAABI/4TTKDDMoxEM/s72-c/rsyslog_rpm_01.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-6729463226429437227</id><published>2009-04-09T10:06:00.020+08:00</published><updated>2010-08-24T10:03:40.119+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>rsyslog and php-syslog-ng for gnu/linux and AIX logging</title><content type='html'>php-syslog-ng is a free tool to display reports from&lt;br /&gt;a centralized log server. i'm evaluating it now to see&lt;br /&gt;how it fits our rhel and aix systems.&lt;br /&gt;&lt;br /&gt;currently, a windows based application is being used&lt;br /&gt;by our infra team to handle centralized log reporting.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;install rsyslog and mysql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;yum install rsyslog rsyslog-mysql php-mysql mysql-server mysql&lt;br /&gt;&lt;br /&gt;NOTE: a web server is also needed. httpd and php have been previously&lt;br /&gt;installed on my machine.&lt;br /&gt;&lt;br /&gt;download php-syslog-ng from:&lt;br /&gt;&lt;br /&gt;http://code.google.com/p/php-syslog-ng/&lt;br /&gt;&lt;br /&gt;for the directory location, i used the ff:&lt;br /&gt;&lt;br /&gt;php-syslog-ng:&lt;br /&gt;/apps/isaplog&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;mysql database:&lt;br /&gt;/database/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mysql server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;by default, RHEL5 mysql creates DBs in /var/lib/mysql. i&lt;br /&gt;stopped the mysql  daemons first and then moved the /var/lib/mysql&lt;br /&gt;files to /database/mysql.&lt;br /&gt;take note of the selinux settings here.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# /etc/my.cnf&lt;br /&gt;[mysqld]&lt;br /&gt;datadir=/database/mysql&lt;br /&gt;socket=/var/lib/mysql/mysql.sock&lt;br /&gt;user=mysql&lt;br /&gt;# Default to using old password format for compatibility with mysql 3.x&lt;br /&gt;# clients (those using the mysqlclient10 compatibility package).&lt;br /&gt;old_passwords=1&lt;br /&gt;&lt;br /&gt;[mysql.server]&lt;br /&gt;user=mysql&lt;br /&gt;basedir=/database&lt;br /&gt;&lt;br /&gt;[mysqld_safe]&lt;br /&gt;log-error=/var/log/mysqld.log&lt;br /&gt;pid-file=/var/run/mysqld/mysqld.pid&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# set password&lt;br /&gt;/usr/bin/mysqladmin -u root password 'root_db_pass'&lt;br /&gt;/usr/bin/mysqladmin -u root -h lx0050.domain password 'root_db_pass'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# create database&lt;br /&gt;mysql -u root -p&lt;br /&gt;create DATABASE ISAPLog;&lt;br /&gt;grant all privileges on ISAPLog.* to isaplog@"localhost" identified by 'admin_pass';&lt;br /&gt;grant select on ISAPLog.* to sysloguser@"%" identified by 'ro_passwd';&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;php-syslog-ng&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;installation of php-syslog-ng is straight forward. you can&lt;br /&gt;follow the steps in the &lt;a href="http://nms.gdd.net/index.php/Installation_Guide"&gt;guide &lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;just watch out for the following:&lt;br /&gt;&lt;br /&gt;1. ownership of the files&lt;br /&gt;- i set apache to own the contents of /apps/isaplog&lt;br /&gt;2. permissions&lt;br /&gt;- html/jpcache and html/config needs to be writable&lt;br /&gt;during installation&lt;br /&gt;chcon -t public_content_rw_t html/jpcache&lt;br /&gt;chcon -R -t public_content_rw_t html/config&lt;br /&gt;(a blank config.php is present, apache needs to write&lt;br /&gt;to it during configuration).&lt;br /&gt;&lt;br /&gt;after installation, make sure to remove the write permissions&lt;br /&gt;in config/ and its contents. install directory also needs to be&lt;br /&gt;removed.&lt;br /&gt;&lt;br /&gt;for info:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;       man 8 httpd_selinux&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;my webserver configuration for my php-syslog-ng site is as follows:&lt;br /&gt;&lt;br /&gt;#/etc/httpd/conf.d/phpsyslog.conf&lt;br /&gt;Alias /isaplog /apps/isaplog/html&lt;br /&gt;&lt;br /&gt;&amp;lt;Directory "/apps/isaplog/html"&amp;gt;&lt;br /&gt;Options -Indexes FollowSymLinks MultiViews&lt;br /&gt;AllowOverride All&lt;br /&gt;Order allow,deny&lt;br /&gt;Allow from all&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;# added after configuration is done&lt;br /&gt;&amp;lt;Directory "/apps/isaplog/scripts"&amp;gt;&lt;br /&gt;Deny from all&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&amp;lt;Directory "/apps/isaplog/includes"&amp;gt;&lt;br /&gt;Deny from all&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&amp;lt;Directory "/apps/isaplog/config"&amp;gt;&lt;br /&gt;Deny from all&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;# end&lt;br /&gt;&lt;br /&gt;my site, is then accessible as:&lt;br /&gt;&lt;br /&gt;http://lx0050/isaplog/&lt;br /&gt;&lt;br /&gt;after installation, /apps/isaplog looks like this:&lt;br /&gt;&lt;br /&gt;drwxr-xr-x  apache root root:object_r:public_content_t   html&lt;br /&gt;drwxr-xr-x  apache root root:object_r:public_content_t   scripts&lt;br /&gt;drwxr-xr-x  apache root root:object_r:public_content_t   upgrades&lt;br /&gt;&lt;br /&gt;html/config:&lt;br /&gt;&lt;br /&gt;drwxr-xr-x  apache root root:object_r:public_content_t   config&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;my initial rsyslog.conf:&lt;br /&gt;$ModLoad ommysql.so&lt;br /&gt;$template isapDBLog,"insert into logs(host, facility, priority, level, tag, datetime, program, msg) values ('%HOSTNAME%', '%syslogfacility-text%', '%syslogseverity-text%', '%syslogpriority-text%', '%syslogtag%', '%timereported:::date-mysql%', '%programname%', '%msg%')",sql&lt;br /&gt;*.*     :ommysql:127.0.0.1,ISAPLog,isaplog,admin_pass;isapDBLog&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;isapDBLog&lt;/span&gt; - is just the template name&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ISAPLog&lt;/span&gt; - is the DB created to hold logs&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;isaplog &lt;/span&gt;- the DB user with admin privileges on ISAPLog DB&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;admin_pass&lt;/span&gt; - isaplog password&lt;br /&gt;&lt;br /&gt;for the AIX Audit logs, entries in AIX are like this:&lt;br /&gt;&lt;br /&gt;UXI0025      AIXAudit        2       14398   Wed Apr 08 16:21:42 2009        PROC_Execute    grep    iriXXXXX        user00  979110  6758&lt;br /&gt;74      OK      euid: 6206 egid: 6200 epriv: 0:0 name grep 14024&lt;br /&gt;&lt;br /&gt;UX0025      AIXAudit        2       14399   Wed Apr 08 16:21:42 2009        PROC_Execute    grep    iriXXXXX        user00  1364214 6758&lt;br /&gt;74      OK      euid: 6206 egid: 6200 epriv: 0:0 name grep PRINCIPAL&lt;br /&gt;&lt;br /&gt;UX0025      AIXAudit        2       14400   Wed Apr 08 16:21:42 2009        PROC_Execute    awk     iriXXXXX        user00  675874  4671&lt;br /&gt;68      OK      euid: 6206 egid: 6200 epriv: 0:0 name awk -F | { print $5}&lt;br /&gt;&lt;br /&gt;UX0025      AIXAudit        2       14401   Wed Apr 08 16:21:42 2009        PROC_Execute    cat     iriXXXXX        user00  1085528 6758&lt;br /&gt;76      OK      euid: 6206 egid: 6200 epriv: 0:0 name cat /xMount/adsfasf/ISIXXXXX/IRIS/IRIS_C/extraction/out/Variables.dat&lt;br /&gt;&lt;br /&gt;UX0025      AIXAudit        2       14402   Wed Apr 08 16:21:42 2009        PROC_Execute    grep    iriXXXXX        user00  1364216 6758&lt;br /&gt;76      OK      euid: 6206 egid: 6200 epriv: 0:0 name grep 14024&lt;br /&gt;&lt;br /&gt;UX0025      AIXAudit        2       14403   Wed Apr 08 16:21:42 2009        PROC_Execute    grep    iriXXXXX        user00  1085530 6758&lt;br /&gt;76      OK      euid: 6206 egid: 6200 epriv: 0:0 name grep PRINCIPAL&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;However, using the current rsyslog configuration above to log to the mysql database,&lt;br /&gt;the AIX Audit log entries are badly messed up. what i did, for a logging that is just *OK* with me:&lt;br /&gt;&lt;br /&gt;- process the AIX Audit logs separetely (the AIX boxes still logs using traditional syslog message&lt;br /&gt;- log them to DB with the raw,messed up AIX audit messages intact.&lt;br /&gt;&lt;br /&gt;i then have the ff rsyslog.conf entries:&lt;br /&gt;&lt;br /&gt;# start of rsyslog.conf&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ModLoad ommysql.so&lt;/span&gt;&lt;br /&gt;# for other systems using syslog&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$template isapDBLog,"insert into logs(host, facility, priority, level, tag, datetime, program, msg) values ('%HOSTNAME%', '%syslogfacility-text%', '%syslogseverity-text%', '%syslogpriority-text%', '%syslogtag%', '%timereported:::date-mysql%', '%programname%', '%msg%')",sql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# for AIX Audit&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$template AIXDBLog,"insert into logs(host, facility, priority, level, tag, datetime, program, msg) values ('%FROMHOST%', 'syslog', '%syslogseverity-text%', '%syslogpriority-text%', '%syslogtag%',  '%timereported:::date-mysql%', 'AIXAudit', '%msg:::drop-last-lf%')",sql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# for specific AIX Audit messages - log to sql&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;:msg,contains,"AIXAudit"       :ommysql:127.0.0.1,ISAPLog,isaplog,admin_pass;AIXDBLog&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;amp; ~&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#:msg, startswith, "START: nrpe "  ~&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;if $msg contains 'START: nrpe' then ~&lt;/span&gt;&lt;br /&gt;# log the rest to sql&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;*.*     :ommysql:127.0.0.1,ISAPLog,isaplog,admin_pass;isapDBLog&lt;/span&gt;&lt;br /&gt;# end of rsyslog.conf&lt;br /&gt;&lt;br /&gt;from php-syslog-ng, an AIX audit entry appears like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5ILb082Zo70/Sd1f8qLTCbI/AAAAAAAAAAU/JUzENw-g19I/s1600-h/telinit0_php_syslog.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 201px;" src="http://1.bp.blogspot.com/_5ILb082Zo70/Sd1f8qLTCbI/AAAAAAAAAAU/JUzENw-g19I/s400/telinit0_php_syslog.jpg" alt="" id="BLOGGER_PHOTO_ID_5322515830340258226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;one problem i'm still trying to fix - discarding unwanted log entries (like the&lt;br /&gt;status msgs from nagios).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5ILb082Zo70/Sd1yQHseB-I/AAAAAAAAAAc/WCWXaKqnLng/s1600-h/telinit0_php_syslog01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 136px;" src="http://2.bp.blogspot.com/_5ILb082Zo70/Sd1yQHseB-I/AAAAAAAAAAc/WCWXaKqnLng/s400/telinit0_php_syslog01.jpg" alt="" id="BLOGGER_PHOTO_ID_5322535955890833378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;the line in rsyslog.conf:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;if $msg contains 'START: nrpe' then ~&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;was supposed to fix it. and i think i'm doing something wrong. :D&lt;br /&gt;&lt;br /&gt;more readings:&lt;br /&gt;&lt;a href="http://code.google.com/p/php-syslog-ng/"&gt;php-syslog-ng&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.rsyslog.com/doc"&gt;rsyslog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;update: i've scheduled some log rotation and cache reloading (scripts are part of php-syslog-ng):&lt;br /&gt;&lt;br /&gt;#a file in /etc/cron.d has this:&lt;br /&gt;*/5 * * * * root php /apps/isaplog/scripts/reloadcache.php &gt;&gt; /var/log/reloadcache.log&lt;br /&gt;&lt;br /&gt;and had the following problem (msg was sent to my email):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 19731248 bytes) in /apps/isaplog/html/includes/common_funcs.php on line 203&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;i've set before the memory allocation to 128M then to 256M - and it's been working for a few days. now it is complaining again. from a google issue &lt;a href="http://code.google.com/p/php-syslog-ng/issues/detail?id=86"&gt;post&lt;/a&gt;, i've set the following:&lt;br /&gt;&lt;br /&gt;in  line 201 of html/includes/common_funcs.php, i added this line:&lt;br /&gt;&lt;br /&gt;if (!in_array($row['program'],$cacheProgramValues))&lt;br /&gt;&lt;br /&gt;and that fixed the problem.&lt;br /&gt;&lt;br /&gt;update:&lt;br /&gt;&lt;br /&gt;i've upgraded the rsyslog package using the rpm file i &lt;a href="http://telinit0.blogspot.com/2009/04/packaging-rsyslog-and-adding-it-to-yum.html"&gt;created&lt;/a&gt; and discarding of nrpe entries is now working. but the AIX Audit entries now has some different entries:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SeU8saID5-I/AAAAAAAAABg/v17JMisZMmQ/s1600-h/rsyslog_php_01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 124px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SeU8saID5-I/AAAAAAAAABg/v17JMisZMmQ/s400/rsyslog_php_01.jpg" alt="" id="BLOGGER_PHOTO_ID_5324728868060522466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;under Program column, instead of the "AIXAudit" entry, it now has the delimiter (?) included (the #011 etc).&lt;br /&gt;AND from this very helpful &lt;a href="http://kb.monitorware.com/template-to-send-exact-text-to-sql-fields-t8959-15.html"&gt;post&lt;/a&gt;, i added $EscapeControlCharactersOnReceive off in my rsyslog.conf.&lt;br /&gt;&lt;br /&gt;my new rsyslog.conf  now has the following:&lt;br /&gt;# start rsyslog.conf&lt;br /&gt;$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat&lt;br /&gt;$EscapeControlCharactersOnReceive off&lt;br /&gt;$ModLoad ommysql.so&lt;br /&gt;$ModLoad imklog&lt;br /&gt;$ModLoad immark&lt;br /&gt;$ModLoad imuxsock&lt;br /&gt;$ModLoad imudp&lt;br /&gt;# receive messages from network&lt;br /&gt;$UDPServerAddress 10.x.y.z&lt;br /&gt;$UDPServerRun 514&lt;br /&gt;&lt;br /&gt;$template isapDBLog,"insert into logs(host, facility, priority, level, tag, datetime, program, msg) values ('%HOSTNAME%', '%syslogfacility-text%', '%syslogseverity-text%', '%syslogpriority-text%', '%syslogtag%', '%timereported:::date-mysql%', '%programname%', '%msg%')",sql&lt;br /&gt;&lt;br /&gt;if $msg contains 'START: nrpe' then ~&lt;br /&gt;*.*     :ommysql:127.0.0.1,ISAPLog,isaplog,&lt;span&gt;admin_pass&lt;/span&gt;;isapDBLog&lt;br /&gt;# end  rsyslog.conf&lt;br /&gt;&lt;br /&gt;notice that the AIX template is no longer  used. isapDBLog now handles everything (for RHEL and AIX messages). and entries now look neat and clean:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5ILb082Zo70/SeVB4iYCSmI/AAAAAAAAABo/wRc_6awu19M/s1600-h/rsyslog_php_02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 98px;" src="http://4.bp.blogspot.com/_5ILb082Zo70/SeVB4iYCSmI/AAAAAAAAABo/wRc_6awu19M/s400/rsyslog_php_02.jpg" alt="" id="BLOGGER_PHOTO_ID_5324734573991578210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;will update how it goes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-6729463226429437227?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/6729463226429437227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/04/rsyslog-and-php-syslog-ng-for-gnulinux.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/6729463226429437227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/6729463226429437227'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/04/rsyslog-and-php-syslog-ng-for-gnulinux.html' title='rsyslog and php-syslog-ng for gnu/linux and AIX logging'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5ILb082Zo70/Sd1f8qLTCbI/AAAAAAAAAAU/JUzENw-g19I/s72-c/telinit0_php_syslog.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-2525542123651323263</id><published>2009-03-25T15:11:00.013+08:00</published><updated>2010-08-24T10:10:07.589+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>building a YUM repository</title><content type='html'>its always nice to have a local yum repository for your own environment. since we have systems with different packages installed, we sometimes need to add more packages for certain setup requirements.&lt;br /&gt;&lt;br /&gt;here's how i setup my own yum repo (this one is using  rhel5u3):&lt;br /&gt;&lt;br /&gt;loopback mount iso file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;mount -o loop rhel-server-5.3-x86_64-dvd.iso /mnt/temp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;cp  the contents to /apps/repo/rhel5u3&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cp -pR /mnt/temp /apps/repo/rhel5u3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# &lt;span style="font-weight: bold;"&gt;ls -ldtr /apps/repo/rhel5u3/*/&lt;/span&gt;&lt;br /&gt;dr-xr-xr-x 4 root root   4096 Jan  7 06:36 /apps/repo/rhel5u3/images/&lt;br /&gt;dr-xr-xr-x 2 root root   4096 Jan  7 06:36 /apps/repo/rhel5u3/isolinux/&lt;br /&gt;dr-xr-xr-x 3 root root 204800 Jan  7 08:40 /apps/repo/rhel5u3/Server/&lt;br /&gt;dr-xr-xr-x 3 root root   4096 Jan  7 08:40 /apps/repo/rhel5u3/VT/&lt;br /&gt;dr-xr-xr-x 3 root root   4096 Jan  7 08:40 /apps/repo/rhel5u3/ClusterStorage/&lt;br /&gt;dr-xr-xr-x 3 root root   4096 Jan  7 08:40 /apps/repo/rhel5u3/Cluster/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;set up the site:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/etc/httpd/conf.d/rhel5u3.conf&lt;/span&gt;&lt;directory\&gt;&lt;br /&gt;# start&lt;br /&gt;Alias /rhel5u3 /apps/repo/rhel5u3/&lt;br /&gt;&lt;br /&gt;&lt;directory&gt;&lt;br /&gt;Options Indexes&lt;br /&gt;AllowOverride None&lt;br /&gt;Order allow,deny&lt;br /&gt;Allow from all&lt;br /&gt;&lt;/directory&gt;&lt;br /&gt;# end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NOTE: i'm using selinux. i had to  set correct context so yum&lt;br /&gt;clients can access the repo:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;chcon -R root:object_r:public_content_t /apps/repo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;chcon  root:object_r:public_content_t /apps&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;man 8 httpd_selinux&lt;/span&gt; for more details.&lt;br /&gt;&lt;br /&gt;restart or reload httpd:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;/sbin/service httpd reload&lt;/span&gt;&lt;br /&gt;or&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;/sbin/service httpd restart&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;then, on the client machine that needs to use the repo, i create&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/etc/yum.repos.d/rhel5.repo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;with the following content:&lt;br /&gt;&lt;br /&gt;[rhel5-Server]&lt;br /&gt;name=Red Hat Enterprise Linux Server&lt;br /&gt;baseurl=http://lxisap0050.isap.asia.cib/rhel5u3/Server&lt;br /&gt;enabled=1&lt;br /&gt;gpgcheck=1&lt;br /&gt;gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release&lt;br /&gt;&lt;br /&gt;[rhel5-VT]&lt;br /&gt;name=Red Hat Enterprise Linux VT&lt;br /&gt;baseurl=http://lxisap0050.isap.asia.cib/rhel5u3/VT&lt;br /&gt;enabled=1&lt;br /&gt;gpgcheck=1&lt;br /&gt;gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release&lt;br /&gt;&lt;br /&gt;[rhel5-ClusterStorage]&lt;br /&gt;name=Red Hat Enterprise Linux ClusterStorage&lt;br /&gt;baseurl=http://lxisap0050.isap.asia.cib/rhel5u3/ClusterStorage&lt;br /&gt;enabled=1&lt;br /&gt;gpgcheck=1&lt;br /&gt;gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release&lt;br /&gt;&lt;br /&gt;[rhel5-Cluster]&lt;br /&gt;name=Red Hat Enterprise Linux Cluster&lt;br /&gt;baseurl=http://lxisap0050.isap.asia.cib/rhel5u3/Cluster&lt;br /&gt;enabled=1&lt;br /&gt;gpgcheck=1&lt;br /&gt;gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release&lt;br /&gt;&lt;br /&gt;then:&lt;br /&gt;&lt;br /&gt;# yum clean all&lt;br /&gt;Loaded plugins: rhnplugin, security&lt;br /&gt;Cleaning up Everything&lt;br /&gt;&lt;br /&gt;# yum repolist&lt;br /&gt;Loaded plugins: rhnplugin, security&lt;br /&gt;This system is not registered with RHN.&lt;br /&gt;RHN support will be disabled.&lt;br /&gt;rhel5-Server                                                                                                         | 1.3 kB     00:00&lt;br /&gt;primary.xml.gz                                                                                                       | 825 kB     00:00&lt;br /&gt;rhel5-Server                                                   2985/2985&lt;br /&gt;rhel5-Cluster                                                                                                        | 1.3 kB     00:00&lt;br /&gt;primary.xml.gz                                                                                                       | 6.0 kB     00:00&lt;br /&gt;rhel5-Cluster                                                  32/32&lt;br /&gt;rhel5-VT                                                                                                             | 1.3 kB     00:00&lt;br /&gt;primary.xml.gz                                                                                                       | 8.8 kB     00:00&lt;br /&gt;rhel5-VT                                                       40/40&lt;br /&gt;rhel5-ClusterStorage                                                                                                 | 1.3 kB     00:00&lt;br /&gt;primary.xml.gz                                                                                                       | 7.2 kB     00:00&lt;br /&gt;rhel5-ClusterStorage                                           36/36&lt;br /&gt;repo id              repo name                                status&lt;br /&gt;rhel5-Cluster        Red Hat Enterprise Linux Cluster         enabled :      32&lt;br /&gt;rhel5-ClusterStorage Red Hat Enterprise Linux ClusterStorage  enabled :      36&lt;br /&gt;rhel5-Server         Red Hat Enterprise Linux Server          enabled :   2,985&lt;br /&gt;rhel5-VT             Red Hat Enterprise Linux VT              enabled :      40&lt;br /&gt;repolist: 3,093&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# yum grouplist&lt;br /&gt;Loaded plugins: rhnplugin, security&lt;br /&gt;This system is not registered with RHN.&lt;br /&gt;RHN support will be disabled.&lt;br /&gt;Setting up Group Process&lt;br /&gt;comps-rhel5-server-core.xml                                                                                          | 987 kB     00:00&lt;br /&gt;comps-rhel5-cluster.xml                                                                                              |  99 kB     00:00&lt;br /&gt;comps-rhel5-vt.xml                                                                                                   | 101 kB     00:00&lt;br /&gt;comps-rhel5-cluster-st.xml                                                                                           | 104 kB     00:00&lt;br /&gt;Installed Groups:&lt;br /&gt;Administration Tools&lt;br /&gt;Development Libraries&lt;br /&gt;Editors&lt;br /&gt;Graphics&lt;br /&gt;Legacy Network Server&lt;br /&gt;Legacy Software Development&lt;br /&gt;Legacy Software Support&lt;br /&gt;Mail Server&lt;br /&gt;MySQL Database&lt;br /&gt;Network Servers&lt;br /&gt;PostgreSQL Database&lt;br /&gt;Server Configuration Tools&lt;br /&gt;System Tools&lt;br /&gt;Text-based Internet&lt;br /&gt;Virtualization&lt;br /&gt;Web Server&lt;br /&gt;Windows File Server&lt;br /&gt;Available Groups:&lt;br /&gt;Authoring and Publishing&lt;br /&gt;Cluster Storage&lt;br /&gt;Clustering&lt;br /&gt;DNS Name Server&lt;br /&gt;Development Tools&lt;br /&gt;Engineering and Scientific&lt;br /&gt;FTP Server&lt;br /&gt;GNOME Desktop Environment&lt;br /&gt;GNOME Software Development&lt;br /&gt;Games and Entertainment&lt;br /&gt;Graphical Internet&lt;br /&gt;Java Development&lt;br /&gt;KDE (K Desktop Environment)&lt;br /&gt;KDE Software Development&lt;br /&gt;News Server&lt;br /&gt;Office/Productivity&lt;br /&gt;OpenFabrics Enterprise Distribution&lt;br /&gt;Printing Support&lt;br /&gt;Sound and Video&lt;br /&gt;X Software Development&lt;br /&gt;X Window System&lt;br /&gt;Done&lt;br /&gt;&lt;br /&gt;my very own yum repo.&lt;br /&gt;&lt;br /&gt;installing a package:&lt;br /&gt;# &lt;span style="font-weight: bold; font-style: italic;"&gt;yum install mysql-server&lt;/span&gt;&lt;br /&gt;Loaded plugins: rhnplugin, security&lt;br /&gt;This system is not registered with RHN.&lt;br /&gt;RHN support will be disabled.&lt;br /&gt;Setting up Install Process&lt;br /&gt;Parsing package install arguments&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package mysql-server.x86_64 0:5.0.45-7.el5 set to be updated&lt;br /&gt;--&gt; Processing Dependency: mysql = 5.0.45-7.el5 for package: mysql-server&lt;br /&gt;--&gt; Processing Dependency: libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: mysql-server&lt;br /&gt;--&gt; Processing Dependency: perl-DBD-MySQL for package: mysql-server&lt;br /&gt;--&gt; Processing Dependency: libmysqlclient_r.so.15(libmysqlclient_15)(64bit) for package: mysql-server&lt;br /&gt;--&gt; Processing Dependency: libmysqlclient_r.so.15()(64bit) for package: mysql-server&lt;br /&gt;--&gt; Processing Dependency: libmysqlclient.so.15()(64bit) for package: mysql-server&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package mysql.x86_64 0:5.0.45-7.el5 set to be updated&lt;br /&gt;---&gt; Package perl-DBD-MySQL.x86_64 0:3.0007-2.el5 set to be updated&lt;br /&gt;--&gt; Finished Dependency Resolution&lt;br /&gt;&lt;br /&gt;Dependencies Resolved&lt;br /&gt;&lt;br /&gt;============================================================================================================================================&lt;br /&gt;Package                             Arch                        Version                            Repository                         Size&lt;br /&gt;============================================================================================================================================&lt;br /&gt;Installing:&lt;br /&gt;mysql-server                        x86_64                      5.0.45-7.el5                       rhel5-Server                      9.7 M&lt;br /&gt;Installing for dependencies:&lt;br /&gt;mysql                               x86_64                      5.0.45-7.el5                       rhel5-Server                      4.2 M&lt;br /&gt;perl-DBD-MySQL                      x86_64                      3.0007-2.el5                       rhel5-Server                      147 k&lt;br /&gt;&lt;br /&gt;Transaction Summary&lt;br /&gt;============================================================================================================================================&lt;br /&gt;Install      3 Package(s)&lt;br /&gt;Update       0 Package(s)&lt;br /&gt;Remove       0 Package(s)&lt;br /&gt;&lt;br /&gt;Total download size: 14 M&lt;br /&gt;Is this ok [y/N]: y&lt;br /&gt;Downloading Packages:&lt;br /&gt;(1/3): perl-DBD-MySQL-3.0007-2.el5.x86_64.rpm                                                                        | 147 kB     00:00&lt;br /&gt;(2/3): mysql-5.0.45-7.el5.x86_64.rpm                                                                                 | 4.2 MB     00:00&lt;br /&gt;(3/3): mysql-server-5.0.45-7.el5.x86_64.rpm                                                                          | 9.7 MB     00:00&lt;br /&gt;--------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;Total                                                                                                        15 MB/s |  14 MB     00:00&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 37017186&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Importing GPG key 0x37017186 "Red Hat, Inc. (release key) &lt;security@redhat.com&gt;" from /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release&lt;/security@redhat.com&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Is this ok [y/N]: y&lt;/span&gt;&lt;br /&gt;Running rpm_check_debug&lt;br /&gt;Running Transaction Test&lt;br /&gt;Finished Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;Installing     : mysql                                             [1/3]&lt;br /&gt;Installing     : perl-DBD-MySQL                                    [2/3]&lt;br /&gt;Installing     : mysql-server                                      [3/3]&lt;br /&gt;&lt;br /&gt;Installed: mysql-server.x86_64 0:5.0.45-7.el5&lt;br /&gt;Dependency Installed: mysql.x86_64 0:5.0.45-7.el5 perl-DBD-MySQL.x86_64 0:3.0007-2.el5&lt;br /&gt;Complete!&lt;br /&gt;&lt;br /&gt;the GPG key check prompt  is just for the initial yum install. next installations won't have this prompt (if it is the same GPG key used):&lt;br /&gt;&lt;br /&gt;#&lt;span style="font-weight: bold; font-style: italic;"&gt; yum install php-mysql&lt;/span&gt;&lt;br /&gt;Loaded plugins: rhnplugin, security&lt;br /&gt;This system is not registered with RHN.&lt;br /&gt;RHN support will be disabled.&lt;br /&gt;Setting up Install Process&lt;br /&gt;Parsing package install arguments&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package php-mysql.x86_64 0:5.1.6-23.el5 set to be updated&lt;br /&gt;--&gt; Finished Dependency Resolution&lt;br /&gt;&lt;br /&gt;Dependencies Resolved&lt;br /&gt;&lt;br /&gt;============================================================================================================================================&lt;br /&gt;Package                         Arch                         Version                              Repository                          Size&lt;br /&gt;============================================================================================================================================&lt;br /&gt;Installing:&lt;br /&gt;php-mysql                       x86_64                       5.1.6-23.el5                         rhel5-Server                        87 k&lt;br /&gt;&lt;br /&gt;Transaction Summary&lt;br /&gt;============================================================================================================================================&lt;br /&gt;Install      1 Package(s)&lt;br /&gt;Update       0 Package(s)&lt;br /&gt;Remove       0 Package(s)&lt;br /&gt;&lt;br /&gt;Total download size: 87 k&lt;br /&gt;Is this ok [y/N]: y&lt;br /&gt;Downloading Packages:&lt;br /&gt;php-mysql-5.1.6-23.el5.x86_64.rpm                                                                                    |  87 kB     00:00&lt;br /&gt;Running rpm_check_debug&lt;br /&gt;Running Transaction Test&lt;br /&gt;Finished Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;Installing     : php-mysql                                         [1/1]&lt;br /&gt;&lt;br /&gt;Installed: php-mysql.x86_64 0:5.1.6-23.el5&lt;br /&gt;Complete!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;HINT: createrepo-0.4.11-3.el5 provides a way to setup a custom yum repository for your&lt;br /&gt;RPMS.  this way, you can host 3rd party rpms (and rpm updates) local to your network.&lt;br /&gt;i use this with rhel4/5 and  centos4/5 repositories. this is very useful for machines that doesn't have internet connection.&lt;br /&gt;and no need for that satellite or rhn proxy purchase (at least for me :)).&lt;/directory\&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-2525542123651323263?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/2525542123651323263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/03/building-yum-repository.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/2525542123651323263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/2525542123651323263'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/03/building-yum-repository.html' title='building a YUM repository'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-6846819805586297122</id><published>2009-03-25T10:59:00.005+08:00</published><updated>2010-08-24T10:04:37.281+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>syslogd and splunk</title><content type='html'>i'm evaluating &lt;a href="http://www.splunk.com/"&gt;splunk&lt;/a&gt; for centralized log management. and  syslog messages from AIX systems have the additional "Message forwarded from ux0026"&lt;br /&gt;&lt;br /&gt;Mar 10 15:24:21 UX0026.xxxx.yyyy Mar 10 15:24:21 &lt;span style="font-weight: bold;"&gt;Message forwarded from ux0026&lt;/span&gt;: su: BAD SU from user1 to root at /dev/pts/0&lt;br /&gt;&lt;br /&gt;from the man page of syslogd:&lt;br /&gt;&lt;br /&gt;-n&lt;br /&gt;Supresses the "Message forwarded from &lt;log_host_name&gt;: " string added to the beginning&lt;br /&gt;of the syslog message that is forwarded to a remote log host.&lt;br /&gt;&lt;br /&gt;currently:&lt;br /&gt;&lt;br /&gt;#&lt;span style="font-weight: bold;"&gt;ps -ef | grep syslog&lt;/span&gt;&lt;br /&gt;root 233616 123026   0 12:47:53      -  0:00 /usr/sbin/syslogd&lt;br /&gt;&lt;br /&gt;to pass the -n parameter:&lt;br /&gt;&lt;br /&gt;#&lt;span style="font-style: italic; font-weight: bold;"&gt;stopsrc -s syslogd&lt;/span&gt;&lt;br /&gt;0513-044 The syslogd Subsystem was requested to stop.&lt;br /&gt;&lt;br /&gt;#&lt;span style="font-weight: bold; font-style: italic;"&gt;startsrc -s syslogd -a -n&lt;/span&gt;&lt;br /&gt;0513-059 The syslogd Subsystem has been started. Subsystem PID is 233620.&lt;br /&gt;&lt;br /&gt;#&lt;span style="font-weight: bold; font-style: italic;"&gt;ps -ef | grep syslog&lt;/span&gt;&lt;br /&gt;root 233620 123026   0 12:48:44      -  0:00&lt;span style="font-weight: bold;"&gt; /usr/sbin/syslogd -n&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;now, this is not persistent. you need to edit /etc/rc.tcpip and change the syslog entry to this:&lt;br /&gt;&lt;br /&gt;start /usr/sbin/syslogd "$src_running" -n&lt;br /&gt;&lt;br /&gt;so the "-n" is passed to syslogd on system restart.&lt;br /&gt;&lt;br /&gt;any idea what is the command to change it other than editing the file directly?&lt;br /&gt;&lt;br /&gt;i think chrctcp can do it since enabling/disabling can be done this way:&lt;br /&gt;&lt;br /&gt;# disable syslogd&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;chrctcp -d syslogd&lt;/span&gt;&lt;br /&gt;# enable syslogd&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;chrctcp -a syslogd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;these commands modify /etc/rc.tcpip directly.  but documentation for chrctcp is scarce.&lt;/log_host_name&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-6846819805586297122?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/6846819805586297122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/03/syslogd-and-splunk.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/6846819805586297122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/6846819805586297122'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/03/syslogd-and-splunk.html' title='syslogd and splunk'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-3032613447524271150</id><published>2009-03-23T15:30:00.008+08:00</published><updated>2010-08-24T10:05:03.138+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vio'/><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>native  MPIO on VIO hosted AIX LPARs</title><content type='html'>we have AIX 5L LPARs hosted on a dual VIO server setup. Each Vio servers (lets call them vio1 and vio2), have 1 fiber connection each.&lt;br /&gt;for this setup, MPIO is needed to be done at the client LPARs.&lt;br /&gt;&lt;br /&gt;our IBM p570 VIO hosted Lpars setup is similar to the one illustrated &lt;a href="http://publib.boulder.ibm.com/infocenter/systems/scope/hw/topic/iphb1/iphb1508.gif"&gt;here&lt;/a&gt;.  in whole, our system has the following:&lt;br /&gt;2xVIO servers (1 fiber port each)&lt;br /&gt;1 dedicated LPAR (2 fiber ports)&lt;br /&gt;3 AIX 5L LPARs (all hosted via VIO).&lt;br /&gt;&lt;br /&gt;from a client LPAR named ux0018, a disk defined in both VIO servers appear like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lspath | grep hdisk5&lt;/span&gt;&lt;br /&gt;Enabled hdisk5  vscsi0&lt;br /&gt;Enabled hdisk5  vscsi1&lt;br /&gt;&lt;br /&gt;vscsi0 - is through vio1&lt;br /&gt;vscsi1 - is through vio2&lt;br /&gt;&lt;br /&gt;how do we know this?&lt;br /&gt;&lt;br /&gt;digging more in the path configuration for hdisk5 in ux0018:&lt;br /&gt;&lt;br /&gt;#get the pvid:&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lspv | grep hdisk5&lt;/span&gt;&lt;br /&gt;hdisk5          &lt;span style="font-weight: bold;"&gt;00c14ebbea6747a8 &lt;/span&gt;                   ux0018apps03    active&lt;br /&gt;&lt;br /&gt;this pvid is the same in both vio servers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lspath -F'status name path_id parent connection' | grep -w hdisk5&lt;/span&gt;&lt;br /&gt;Enabled hdisk5  0 &lt;span style="font-weight: bold;"&gt;vscsi0 860000000000&lt;/span&gt;&lt;br /&gt;Enabled hdisk5  1 &lt;span style="font-weight: bold;"&gt;vscsi1 880000000000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;this shows the LUN id that you can use to check in each vio server.&lt;br /&gt;&lt;br /&gt;from vio1:&lt;br /&gt;$ &lt;span style="font-weight: bold; font-style: italic;"&gt;lspv | grep 00c14ebbea6747a8&lt;/span&gt;&lt;br /&gt;hdisk22          00c14ebbea6747a8                     None&lt;br /&gt;&lt;br /&gt;from vio2:&lt;br /&gt;$ &lt;span style="font-weight: bold; font-style: italic;"&gt;lspv | grep 00c14ebbea6747a8&lt;/span&gt;&lt;br /&gt;hdisk20          00c14ebbea6747a8                     None&lt;br /&gt;&lt;br /&gt;the same "disk" has different disk names but the same PVID in both vio servers. now check the LUN ID.  here, vhost5 is the adapter assigned for ux0018:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;vio1:&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lsmap -vadapter vhost5 | grep -E "LUN|Backing device"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;LUN                   0x8600000000000000&lt;br /&gt;Backing device        hdisk22&lt;br /&gt;&lt;br /&gt;vio2:&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lsmap -vadapter vhost5 | grep -E "LUN|Backing device"&lt;/span&gt;&lt;br /&gt;LUN                   0x8800000000000000&lt;br /&gt;Backing device        hdisk20&lt;br /&gt;&lt;br /&gt;checking the attributes for hdisk5:&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lsattr -El hdisk5&lt;/span&gt;&lt;br /&gt;PCM             PCM/friend/vscsi                 Path Control Module        False&lt;br /&gt;algorithm       fail_over                        Algorithm                  True&lt;br /&gt;hcheck_cmd      test_unit_rdy                    Health Check Command       True&lt;br /&gt;hcheck_interval 0                                Health Check Interval      True&lt;br /&gt;hcheck_mode     nonactive                        Health Check Mode          True&lt;br /&gt;max_transfer    0x40000                          Maximum TRANSFER Size      True&lt;br /&gt;pvid            00c14ebbea6747a80000000000000000 Physical volume identifier False&lt;br /&gt;queue_depth     3                                Queue DEPTH                True&lt;br /&gt;reserve_policy  no_reserve                       Reserve Policy             True&lt;br /&gt;&lt;br /&gt;for load balancing to work, algorithm must be set to round_robin. but:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo chdev -l hdisk5 -a algorithm=round_robin&lt;/span&gt;&lt;br /&gt;Method error (/etc/methods/chgdisk):&lt;br /&gt;0514-018 The values specified for the following attributes&lt;br /&gt;are not valid:&lt;br /&gt;algorithm&lt;br /&gt;&lt;br /&gt;since native mpio only works in failover mode with this kind of setup,we have to do the "load balancing" manually. this means we redirect io to the unused path while maintaining the failover capability of the configuration. this would be a static LUN based load balancing setup.&lt;br /&gt;&lt;br /&gt;to do this, we set the priority for hdisk5 path via vscsi0 to a lower value. meaning the path via vscsi1 is the primary path. since most of the disks are using vscsi0, hdisk5 will then not contend to the bandwidth on vscsi0.  so we set the path to vscsi0 to priority=2:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;chpath -l hdisk5 -p vscsi0 -w 860000000000 -a priority=2&lt;/span&gt;&lt;br /&gt;path Changed&lt;br /&gt;&lt;br /&gt;checking the two paths:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lspath -l hdisk5 -p vscsi0 -E&lt;/span&gt;&lt;br /&gt;priority 2 Priority True&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;lspath -l hdisk5 -p vscsi1 -E&lt;/span&gt;&lt;br /&gt;priority 1 Priority True&lt;br /&gt;&lt;br /&gt;any I/O access now to/from hdisk5 will pass through vio2's fiber connection while still maintaining connection to vio1 in failover mode.&lt;br /&gt;&lt;br /&gt;further readings:&lt;br /&gt;&lt;a href="http://publib.boulder.ibm.com/infocenter/systems/scope/hw/index.jsp?topic=/iphb1/iphb1_vios_mpio.htm"&gt;configuring MPIO for AIX client logical partitions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.baseadmn/doc/baseadmndita/devmpio.htm"&gt;Multiple path I/O&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-3032613447524271150?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/3032613447524271150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/03/native-mpio-on-vio-hosted-aix-lpars.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3032613447524271150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3032613447524271150'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/03/native-mpio-on-vio-hosted-aix-lpars.html' title='native  MPIO on VIO hosted AIX LPARs'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-4603870401138144927</id><published>2009-03-23T14:15:00.011+08:00</published><updated>2010-08-24T10:07:57.890+08:00</updated><title type='text'>multipathing with RHEL5 and HP EVA 8K storage</title><content type='html'>one of our RHEL5 test servers was given a second fiber connection (for multipathing) to improve SAN i/o. it currently has 2x100G of HP EVA 8k LUNs:&lt;br /&gt;&lt;br /&gt;[root@lx0050 /]# pvs&lt;br /&gt;Found duplicate PV BlHTUbYi2WYRSFFQjyxKcUyKPjtd4Aq3: using /dev/sdc1 not /dev/sda1&lt;br /&gt;Found duplicate PV 11qdvncWddtqdWRV8nqQ1VT2QaGgRzdC: using /dev/sdd1 not /dev/sdb1&lt;br /&gt;Found duplicate PV BlHTUbYi2WYRSFFQjyxKcUyKPjtd4Aq3: using /dev/sde1 not /dev/sdc1&lt;br /&gt;Found duplicate PV 11qdvncWddtqdWRV8nqQ1VT2QaGgRzdC: using /dev/sdf1 not /dev/sdd1&lt;br /&gt;PV                VG       Fmt  Attr PSize   PFree&lt;br /&gt;/dev/cciss/c0d0p2 vg00     lvm2 a-    68.22G 50.66G&lt;br /&gt;/dev/sde1         lx0050vg lvm2 a-   100.00G 50.00G   #-&gt; EVA&lt;br /&gt;/dev/sdf1         lx0050vg lvm2 a-   100.00G 50.00G   #-&gt; EVA&lt;br /&gt;&lt;br /&gt;the machine is running on RHEL5 update 3 with device-mapper-multipath-0.4.7-23.el5.&lt;br /&gt;&lt;br /&gt;currently:&lt;br /&gt;&lt;br /&gt;# &lt;span style="font-weight: bold; font-style: italic;"&gt;multipath -ll&lt;/span&gt;&lt;br /&gt;# &lt;span style="font-style: italic; font-weight: bold;"&gt;dmsetup ls --target multipath&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;confirms that multipathing is not working.&lt;br /&gt;&lt;br /&gt;checking the current disks on the system (for simplicity, i've just grep'd for entries&lt;br /&gt;with 100.00 in size), we can see that there are disks with duplicate PV IDs. these&lt;br /&gt;are due to the second path being active (but not yet utilized).&lt;br /&gt;&lt;br /&gt;# &lt;span style="font-weight: bold;"&gt;lvmdiskscan  | grep 100.00&lt;/span&gt;&lt;br /&gt;Found duplicate PV BlHTUbYi2WYRSFFQjyxKcUyKPjtd4Aq3: using /dev/sdc1 not /dev/sda1&lt;br /&gt;Found duplicate PV 11qdvncWddtqdWRV8nqQ1VT2QaGgRzdC: using /dev/sdd1 not /dev/sdb1&lt;br /&gt;Found duplicate PV BlHTUbYi2WYRSFFQjyxKcUyKPjtd4Aq3: using /dev/sde1 not /dev/sdc1&lt;br /&gt;Found duplicate PV 11qdvncWddtqdWRV8nqQ1VT2QaGgRzdC: using /dev/sdf1 not /dev/sdd1&lt;br /&gt;/dev/sda1              [      100.00 GB] LVM physical volume&lt;br /&gt;/dev/sdb1              [      100.00 GB] LVM physical volume&lt;br /&gt;/dev/sdc1              [      100.00 GB] LVM physical volume&lt;br /&gt;/dev/sdd1              [      100.00 GB] LVM physical volume&lt;br /&gt;/dev/sde1              [      100.00 GB] LVM physical volume&lt;br /&gt;/dev/sdf1              [      100.00 GB] LVM physical volume&lt;br /&gt;&lt;br /&gt;to verify, the disk uuids (that can also be seen from the storage server side) are the following:&lt;br /&gt;&lt;br /&gt;# for the first LUN&lt;br /&gt;# scsi_id -g -u -s /block/sdc&lt;br /&gt;3600508b4000704db0000600000070000&lt;br /&gt;# scsi_id -g -u -s /block/sde&lt;br /&gt;3600508b4000704db0000600000070000&lt;br /&gt;# scsi_id -g -u -s /block/sda&lt;br /&gt;3600508b4000704db0000600000070000&lt;br /&gt;&lt;br /&gt;# for the second LUN&lt;br /&gt;# scsi_id -g -u -s /block/sdd&lt;br /&gt;3600508b4000704db00006000000a0000&lt;br /&gt;# scsi_id -g -u -s /block/sdf&lt;br /&gt;3600508b4000704db00006000000a0000&lt;br /&gt;# scsi_id -g -u -s /block/sdb&lt;br /&gt;3600508b4000704db00006000000a0000&lt;br /&gt;&lt;br /&gt;notice that there are 3 disks with the same UUID.&lt;br /&gt;&lt;br /&gt;to configure multipath for the EVA LUNs, i used the &lt;a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;amp;cc=us&amp;amp;prodTypeId=12169&amp;amp;prodSeriesId=3559651&amp;amp;swItem=co-68651-1&amp;amp;prodNameId=3559652&amp;amp;swEnvOID=2026&amp;amp;swLang=13&amp;amp;taskId=135&amp;amp;mode=4&amp;amp;idx=0"&gt;multipath device mapper for linux&lt;/a&gt; from HP. installation instructions are also on that page.&lt;br /&gt;&lt;br /&gt;i'm not sure where the error is, but the installation fails with this:&lt;br /&gt;&lt;br /&gt;** HPDMmultipath-4.2.0 kit Installation. Date : Fri Mar 20 09:21:49 SGT 2009 **&lt;br /&gt;&lt;br /&gt;Checking for previous installation. Please wait...&lt;br /&gt;&lt;br /&gt;This version of Enterprise Linux is not supported!!!.&lt;br /&gt;&lt;br /&gt;the installation script is perl. and it looks like it's reading /etc/issue* in the system to check whether its a compatible release or not.  but i have custom /etc/issue* files in our boxes.&lt;br /&gt;since i only need the configuration file, i just copied &lt;span style="font-weight: bold;"&gt;HPDMmultipath-4.2.0/conf/multipath.conf.HPTemplate.RHEL5 &lt;/span&gt;to &lt;span style="font-weight: bold;"&gt;/etc/multipath.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;then:&lt;br /&gt;&lt;br /&gt;# deactivate the volume group&lt;br /&gt;# &lt;span style="font-weight: bold; font-style: italic;"&gt;vgchange -an lx0050vg&lt;/span&gt;&lt;br /&gt;Found duplicate PV BlHTUbYi2WYRSFFQjyxKcUyKPjtd4Aq3: using /dev/sdc1 not /dev/sda1&lt;br /&gt;Found duplicate PV 11qdvncWddtqdWRV8nqQ1VT2QaGgRzdC: using /dev/sdd1 not /dev/sdb1&lt;br /&gt;Found duplicate PV BlHTUbYi2WYRSFFQjyxKcUyKPjtd4Aq3: using /dev/sde1 not /dev/sdc1&lt;br /&gt;Found duplicate PV 11qdvncWddtqdWRV8nqQ1VT2QaGgRzdC: using /dev/sdf1 not /dev/sdd1&lt;br /&gt;0 logical volume(s) in volume group "lx0050vg" now active&lt;br /&gt;&lt;br /&gt;# &lt;span style="font-weight: bold; font-style: italic;"&gt;multipath -v2 -d&lt;/span&gt;&lt;br /&gt;create: mpath0 (3600508b4000704db0000600000070000)  HP,HSV210&lt;br /&gt;[size=100G][features=0][hwhandler=0][n/a]&lt;br /&gt;\_ round-robin 0 [prio=100][undef]&lt;br /&gt;\_ 0:0:1:1 sdc 8:32  [undef][ready]&lt;br /&gt;\_ 1:0:0:1 sde 8:64  [undef][ready]&lt;br /&gt;\_ round-robin 0 [prio=10][undef]&lt;br /&gt;\_ 0:0:0:1 sda 8:0   [undef][ready]&lt;br /&gt;create: mpath1 (3600508b4000704db00006000000a0000)  HP,HSV210&lt;br /&gt;[size=100G][features=0][hwhandler=0][n/a]&lt;br /&gt;\_ round-robin 0 [prio=100][undef]&lt;br /&gt;\_ 0:0:1:2 sdd 8:48  [undef][ready]&lt;br /&gt;\_ 1:0:0:2 sdf 8:80  [undef][ready]&lt;br /&gt;\_ round-robin 0 [prio=10][undef]&lt;br /&gt;\_ 0:0:0:2 sdb 8:16  [undef][ready]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# &lt;span style="font-weight: bold; font-style: italic;"&gt;service multipathd restart&lt;/span&gt;&lt;br /&gt;Stopping multipathd daemon:                                [  OK  ]&lt;br /&gt;Starting multipathd daemon:                                [  OK  ]&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# list the active paths&lt;br /&gt;# &lt;span style="font-weight: bold;"&gt;dmsetup ls --target multipath&lt;/span&gt;&lt;br /&gt;mpath1  (253, 8)&lt;br /&gt;mpath0  (253, 7)&lt;br /&gt;&lt;br /&gt;# &lt;span style="font-weight: bold; font-style: italic;"&gt;multipath -ll&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;mpath1 &lt;/span&gt;(&lt;span style="font-weight: bold;"&gt;3600508b4000704db00006000000a0000&lt;/span&gt;) dm-8 HP,HSV210&lt;br /&gt;[size=100G][features=1 queue_if_no_path][hwhandler=0][rw]&lt;br /&gt;\_ round-robin 0 [prio=100][active]&lt;br /&gt;\_ 0:0:1:2 sdd 8:48  [active][ready]&lt;br /&gt;\_ 1:0:0:2 sdf 8:80  [active][ready]&lt;br /&gt;\_ round-robin 0 [prio=10][enabled]&lt;br /&gt;\_ 0:0:0:2 sdb 8:16  [active][ready]&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mpath0 &lt;/span&gt;(&lt;span style="font-weight: bold;"&gt;3600508b4000704db0000600000070000&lt;/span&gt;) dm-7 HP,HSV210&lt;br /&gt;[size=100G][features=1 queue_if_no_path][hwhandler=0][rw]&lt;br /&gt;\_ round-robin 0 [prio=100][active]&lt;br /&gt;\_ 0:0:1:1 sdc 8:32  [active][ready]&lt;br /&gt;\_ 1:0:0:1 sde 8:64  [active][ready]&lt;br /&gt;\_ round-robin 0 [prio=10][enabled]&lt;br /&gt;\_ 0:0:0:1 sda 8:0   [active][ready]&lt;br /&gt;&lt;br /&gt;# &lt;span style="font-weight: bold; font-style: italic;"&gt;pvs&lt;/span&gt;&lt;br /&gt;PV                VG       Fmt  Attr PSize   PFree&lt;br /&gt;/dev/cciss/c0d0p2 vg00     lvm2 a-    68.22G 50.66G&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;  /dev/dm-10        lx0050vg lvm2 a-   100.00G 50.00G&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;  /dev/dm-9         lx0050vg lvm2 a-   100.00G 50.00G&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# then reactivate the volume group:&lt;br /&gt;#&lt;span style="font-weight: bold; font-style: italic;"&gt; vgchange -ay lx0050vg&lt;/span&gt;&lt;br /&gt;3 logical volume(s) in volume group "lx0050vg" now active&lt;br /&gt;&lt;br /&gt;now, the entries in /etc/fstab must be updated to use the correct device entries for the FS mount points. more details about this in &lt;a href="http://kbase.redhat.com/faq/docs/DOC-5551"&gt;Red Hat Knowledgebase&lt;/a&gt;. in my system, the logical volume in lx0050vg (now with multipath) is changed to use the device entry in /dev/mapper:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/dev/mapper/lx0050vg-lvapps  &lt;/span&gt; /apps                   ext3    defaults,noatime        1 2&lt;br /&gt;&lt;br /&gt;/apps can then be mounted. it now has multipath access to the storage for failover and load balancing.&lt;br /&gt;&lt;br /&gt;and then to set multipathd to start during bootup:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;chkconfig multipathd on&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;NOTE: the 2nd path we used here are on a different switch.&lt;br /&gt;&lt;br /&gt;more readings can be searched at &lt;a href="http://kbase.redhat.com/"&gt;RH kbase&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-4603870401138144927?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/4603870401138144927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/03/multipathing-with-rhel5-and-hp-eva-8k.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/4603870401138144927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/4603870401138144927'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/03/multipathing-with-rhel5-and-hp-eva-8k.html' title='multipathing with RHEL5 and HP EVA 8K storage'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-3877551038667198727</id><published>2009-03-11T16:21:00.006+08:00</published><updated>2010-08-24T10:06:00.919+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>linker error after moving to AIX TL8 SP5</title><content type='html'>our developers encountered a problem yesterday while applying patches for an in-house developed application. initially, their compile scripts were calling an older version of gcc and needed gcc 4.0.0.&lt;br /&gt;'fixed that by changing their environment declarations to point to the correct gcc version.&lt;br /&gt;second, during linking, they got this error:&lt;br /&gt;&lt;br /&gt;ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decimal128ToNumber&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decContextDefault&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberTestClass&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberMultiply&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decimal128FromNumber&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberCompare&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberExtractBiasedExponent&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberInsertBiasedExponent&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberTestSignificance&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberQuantize&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberToIntegralValue&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decimal32ToNumber&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberZero&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberAdd&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decimal64FromNumber&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decimal32FromNumber&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decimal64ToNumber&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberFromLongLong&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberToLongLong&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberTestExponent&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberFromInt&lt;br /&gt;ld: 0711-317 ERROR: Undefined symbol: .decNumberSubtract&lt;br /&gt;make: The error code from the last command is 8.&lt;br /&gt;&lt;br /&gt;added the -bnoquiet in the ld line in the make script but the output doesn't make sense to me (heh, i'm not a programmer :P) but checking this line:&lt;br /&gt;&lt;br /&gt;ld -bnoquiet -r -o $&lt;someenvpath&gt;/lib/cmrtslib.o $&lt;someenvpath&gt;lib/bun.a $&lt;someenvpath&gt;/lib/zlib.a $&lt;someenvpath&gt;/lib/clbase.a /usr/lib/libm.a&lt;br /&gt;&lt;br /&gt;i thought of /usr/lib/libm.a  being the culprit since that has been affected by the upgrade.&lt;br /&gt;&lt;br /&gt;found out it was just a soft link:&lt;br /&gt;&lt;br /&gt;$ &lt;span style="font-weight: bold;"&gt;ls -ltr /usr/lib/libm.a&lt;/span&gt;&lt;br /&gt;lrwxrwxrwx    1 bin      bin              19 Sep 23 2006  &lt;span style="font-weight: bold;"&gt;/usr/lib/libm.a -&gt; /usr/ccs/lib/libm.a&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ lslpp -w /usr/ccs/lib/libm.a&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;File                                        Fileset               Type&lt;br /&gt;----------------------------------------------------------------------------&lt;br /&gt;/usr/ccs/lib/libm.a                         bos.adt.libm          File&lt;br /&gt;&lt;br /&gt;/usr/ccs/lib/libm.a  is owned by the  bos.adt.libm   fileset which was upgraded:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ lslpp -L bos.adt.libm&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;  Fileset                      Level  State  Type  Description (Uninstaller)&lt;br /&gt;----------------------------------------------------------------------------&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; bos.adt.libm               5.3.8.1&lt;/span&gt;    A     F    Base Application Development&lt;br /&gt;Math Library&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;since i can't downgrade the whole fileset, i decided to restore just the file /usr/ccs/lib/libm.a from a mksysb file created before the upgrade:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$restore -xvqf  /mnt/&lt;backupdir&gt;&lt;backupdir&gt;/hostname.img ./usr/ccs/lib/libm.a&lt;/backupdir&gt;&lt;/backupdir&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and this will restore the file, ./usr/ccs/lib/libm.a,  (with full directory path) in the current directory.&lt;br /&gt;i then moved the upgraded /usr/ccs/lib/libm.a to ./usr/ccs/lib/libm.a.tl8sp5 and copied the restored file as /usr/ccs/lib/libm.a.&lt;br /&gt;&lt;/someenvpath&gt;&lt;/someenvpath&gt;&lt;/someenvpath&gt;&lt;/someenvpath&gt;the linking then went ok.&lt;br /&gt;&lt;someenvpath&gt;&lt;someenvpath&gt;&lt;someenvpath&gt;&lt;someenvpath&gt;&lt;br /&gt;another way to use the old libm.a file w/out disturbing the upgraded one is to just put the old one somewhere and modify the make/link scripts to it.  but then:&lt;br /&gt;&lt;br /&gt;"would you expect us to modify all the linker scripts for each environment?!!"&lt;br /&gt;- youknowwho&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;commands used:&lt;br /&gt;# chech which fileset owns the file /usr/ccs/lib/libm.a&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;lslpp -w /usr/ccs/lib/libm.a&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# check the version/desc of the fileset bos.adt.libm&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;lslpp -L bos.adt.libm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# extract a file from a mksysb image&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;restore -xvqf  mksysb_file.img ./usr/ccs/lib/libm.a&lt;/span&gt;&lt;/someenvpath&gt;&lt;/someenvpath&gt;&lt;/someenvpath&gt;&lt;/someenvpath&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-3877551038667198727?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/3877551038667198727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/03/linker-error-after-moving-to-aix-tl8.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3877551038667198727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/3877551038667198727'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/03/linker-error-after-moving-to-aix-tl8.html' title='linker error after moving to AIX TL8 SP5'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-6508719087977924789</id><published>2009-03-09T15:17:00.002+08:00</published><updated>2010-08-24T10:06:35.508+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>copying printer queue definitions between LPARs</title><content type='html'>i just don't want to lose this process so i'm posting this (in case web archives lose it. heh)&lt;br /&gt;&lt;br /&gt;in a previous work, i needed to "copy" the printer queue definitions and their respective settings to another AIX 5.2 LPAR. here's what i came up with:&lt;br /&gt;&lt;br /&gt;install printer drivers to target&lt;br /&gt;append printer host entries to /etc/hosts of target&lt;br /&gt;stopsrc -s lpd | stopsrc -s qdaemon&lt;br /&gt;cp /etc/qconfig to target&lt;br /&gt;cp /var/spool/lpd dir of source to target&lt;br /&gt;chown -R root.printq /var/spool/lpd&lt;br /&gt;chmod -R g+rw /var/spool/lpd&lt;br /&gt;startsrc -s lpd | startsrc -s qdaemon&lt;br /&gt;&lt;br /&gt;might not be the correct way but it worked.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-6508719087977924789?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/6508719087977924789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/03/copying-printer-queue-definitions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/6508719087977924789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/6508719087977924789'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/03/copying-printer-queue-definitions.html' title='copying printer queue definitions between LPARs'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1070082241374893356.post-152604876851958835</id><published>2009-03-09T11:49:00.004+08:00</published><updated>2010-08-24T10:05:25.887+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aix'/><title type='text'>IBM p550 and p570 HMC, Firmware and OS upgrade</title><content type='html'>we recently had a maintenance window where we can accommodate upgrading firmware and patching AIX 5.3. These are the steps I did after a couple of weeks planning (with the help of IBM's Fix Level Recommendation Tool (FLRT).&lt;br /&gt;&lt;br /&gt;old version:&lt;br /&gt;&lt;table str="" style="border-collapse: collapse; width: 382pt;" width="509" border="0" cellpadding="0" cellspacing="0"&gt;&lt;col style="width: 92pt;" width="123"&gt;  &lt;col style="width: 67pt;" width="89"&gt;  &lt;col style="width: 95pt;" width="126"&gt;  &lt;col style="width: 128pt;" width="171"&gt;  &lt;tbody&gt;&lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl22" style="height: 12.75pt; width: 92pt;" width="123" height="17"&gt;AIX   OS/TL Level&lt;/td&gt;   &lt;td class="xl28" style="border-left: medium none; width: 67pt;" width="89"&gt; Firmware&lt;/td&gt;   &lt;td class="xl23" style="border-left: medium none; width: 95pt;" width="126"&gt;vio&lt;/td&gt;   &lt;td class="xl24" style="border-left: medium none; width: 128pt;" width="171"&gt;HMC version&lt;/td&gt;  &lt;/tr&gt;&lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl25" style="border-top: medium none; height: 12.75pt;" height="17"&gt;5300-06-04-0748&lt;/td&gt;   &lt;td class="xl26" style="border-top: medium none; border-left: medium none;"&gt; SF240_332&lt;/td&gt;   &lt;td class="xl26" style="border-top: medium none; border-left: medium none;"&gt;1.5.1.1-FP-10.1&lt;/td&gt;   &lt;td class="xl27" style="border-top: medium none; border-left: medium none;"&gt;V6.1.2 build   20070201.1&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;0. BACKUP&lt;br /&gt;1. upgrade HMC first  (done 1 week ahead of yesterday's maint sked).&lt;br /&gt;2. shutdown all LPARs&lt;br /&gt;3. upgrade firmware (can be done via ftp - needs the rpm and xml file&lt;br /&gt;5. apply VIO updates (commit installed patches first)&lt;br /&gt;5. update NIM server -&gt; ( if you use NIM to apply AIX patches)&lt;br /&gt;6. apply AIX patches (do a commit first before applying new patches)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;the HMC update DVDs were ordered from IBM website including the SP1 disc (MH01084). same thing with the VIO update discs.  The VIO updates were copied locally to the VIO servers. we have 2 VIOs on each machine.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;HMC upgrade&lt;/span&gt;&lt;br /&gt;we two HMCs (1 for each machine). upgrade was done during business hours since the lpars can still run without it. Upgrade was started as follows:&lt;br /&gt;1.  Save Upgrade Data - HMC configuration will then be automatically loaded once the update is done.&lt;br /&gt;2. boot from the 1st DVD update.&lt;br /&gt;3. once done with disc 1, it will prompt you for the second disk.&lt;br /&gt;4. once done, the new HMC web based interface will show up (very differenct, and kind of slow when accessed remotely).&lt;br /&gt;5. to apply SP1, insert the SP1 Disc  (MH01084) , login as hscroot. look for "Updates" on the left fram of the HMC interface.&lt;br /&gt;6. click on Update HMC and click on OK. the default is to look for the update in the DVD/CD drive..&lt;br /&gt;&lt;br /&gt;and just reply to the prompts. if there are no problmes, it will take about 15-20 minutes for the service pack. HMC upgrade, in total, will take about an hour to finish.&lt;br /&gt;&lt;br /&gt;detailed info can be found &lt;a href="http://publib.boulder.ibm.com/infocenter/systems/scope/hw/index.jsp?topic=/iphai/area3fixeshmc_upgrades.htm"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Firmware Update&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;firwmare updates for the two machines (we actually have 3 - p550, p550q and  p570) were all the same. so need  only to burn 1 ISO file. But the HMC won't read the discs. so downloaded the RPM and xml files and setup an FTP server (good thing i have proftpd installed in a GNU/Linux machine).&lt;br /&gt;after starting up proftpd and making sure the files are accessible, i then went back to the HMC session. to access the firmware update menu, you need to:&lt;br /&gt;1. under   Systems management, go to "Servers", select the machine name&lt;br /&gt;2. at the bottom from, go to "Updates"&lt;br /&gt;4. either use "Change Licensed Internal Code for the  current release" or "Upgrade Licensed internal Code to a new release".&lt;br /&gt;I chose the latter.&lt;br /&gt;5.  HMC will do some system readiness check. No errors, so i hit OK.&lt;br /&gt;6.  select FTP site and hit OK. i then provided the ftp server, username, password&lt;br /&gt;and directory location of the rpm and xml files.&lt;br /&gt;the rest of the process is straight forward so i won't include it here.&lt;br /&gt;once done,  the firmware should be upgraded and should&lt;br /&gt;&lt;br /&gt;Updates &gt; View System Information&lt;br /&gt;&lt;br /&gt;select "None - Display current values" and hit OK.&lt;br /&gt;&lt;br /&gt;more info &lt;a href="http://publib.boulder.ibm.com/infocenter/systems/scope/hw/index.jsp?topic=/iphai/area3fixeshmc_upgrades.htm"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;from the command line, once the an LPAR is online, the firmware version can be viewed using lsmcode:&lt;br /&gt;&lt;br /&gt;#&lt;span style="font-weight: bold;"&gt;lsmcode -c&lt;/span&gt;&lt;br /&gt;The current permanent system firmware image is SF240_332&lt;br /&gt;The current temporary system firmware image is SF240_358&lt;br /&gt;The system is currently booted from the temporary firmware image.&lt;br /&gt;&lt;br /&gt;(running lsmcode alone will bring you to a smitty based session).&lt;br /&gt;&lt;br /&gt;NOTE: the LPARs here are all powered-off.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;VIO update commands:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#commit all uncommitted (really?) updates&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;updateios -commit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# apply the patches from the directory VIO accepting all license agreements by default&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;updateios -dev VIO -install -accept&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;after applying, VIO servers need to be restarted (NOTE: AIX Lpars are still  "powered off" here.&lt;br /&gt;&lt;br /&gt;# check VIO level:&lt;br /&gt;$ ioslevel&lt;br /&gt;1.5.2.1-FP-11.1&lt;br /&gt;$&lt;br /&gt;&lt;br /&gt;NOTE: client lpars here are still powered down.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AIX update&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;the VIO updates took a while to install.  i waited to finish both VIO updates before i started updating the AIX LPARs.&lt;br /&gt;&lt;br /&gt;AIX 5.3 TL8 SP5 update commands&lt;br /&gt;#commit&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo installp -c all&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# update (assuming patches are in the current directory).&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo update_all -d . -i&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;# update and accept licencse agreements&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo update_all -d . -Y&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;for the TL8 sp5 update, i had to re-run the update_all command twice. the first run misses this fileset:&lt;br /&gt;&lt;br /&gt;ifor_ls.html.en_US.base.cli&lt;br /&gt;&lt;br /&gt;and from this &lt;a href="http://www-01.ibm.com/support/entdocview.wss?rs=1207&amp;amp;context=SG11P&amp;amp;dc=DB550&amp;amp;dc=DB510&amp;amp;q1=ifor_ls.html.en_US.base.cli&amp;amp;uid=isg1IZ42296&amp;amp;loc=en_US&amp;amp;cs=UTF-8&amp;amp;lang=all&amp;amp;NotUpdateReferer="&gt;post&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;suggests to a 2nd run of the update which worked for me.&lt;br /&gt;&lt;br /&gt;additional commands  i needed:&lt;br /&gt;&lt;br /&gt;# i needed XL C/C++ Runtime messages (wasn't picked up the first update_all run&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;installp -d . -gX xlC.msg.en_US 9.0.0.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# get installed ML or TLs&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;instfix -i | grep ML&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# check missing fileset needed to satisfy 53300-08_AIX_ML&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;instfix -ciqk "5300-08_AIX_ML" | grep ":-:"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;once update is done, AIX LPARs have been rebooted:&lt;br /&gt;&lt;br /&gt;#oslevel -s&lt;br /&gt;5300-08-05-0846&lt;br /&gt;&lt;br /&gt;TIP: the AIX updates are NFS mounted on the AIX LPARs. patches were supposed to be applied via  NIM  servers (the update resources have already been defined) but during a test run, the application of patches were a bit slow.&lt;br /&gt;&lt;br /&gt;once everything is done, i now have the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table str="" style="border-collapse: collapse; width: 382pt;" width="509" border="0" cellpadding="0" cellspacing="0"&gt;&lt;col style="width: 92pt;" width="123"&gt;  &lt;col style="width: 67pt;" width="89"&gt;  &lt;col style="width: 95pt;" width="126"&gt;  &lt;col style="width: 128pt;" width="171"&gt;  &lt;tbody&gt;&lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td colspan="4" class="xl30" style="border-right: 1pt solid black; height: 12.75pt; width: 382pt;" width="509" height="17"&gt;updated versions&lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl27" style="border-top: medium none; height: 12.75pt;" height="17"&gt;AIX OS/TL   Level&lt;/td&gt;   &lt;td class="xl28" style="border-top: medium none; border-left: medium none;"&gt;Firmware&lt;/td&gt;   &lt;td class="xl28" style="border-top: medium none; border-left: medium none;"&gt;VIO&lt;/td&gt;   &lt;td class="xl29" style="border-top: medium none; border-left: medium none;"&gt;HMC version&lt;/td&gt;  &lt;/tr&gt;&lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl24" style="border-top: medium none; height: 12.75pt;" height="17"&gt;TL8sp5&lt;/td&gt;   &lt;td class="xl25" style="border-top: medium none; border-left: medium none;"&gt;SF240_358&lt;/td&gt;   &lt;td class="xl25" style="border-top: medium none; border-left: medium none;"&gt;1.5.2.1-FP-11.1&lt;/td&gt;   &lt;td class="xl26" style="border-top: medium none; border-left: medium none;"&gt;7.3.2.0 sp1&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt; &lt;/table&gt;&lt;br /&gt;now i can tell internal auditors our systems are on the same patch level. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1070082241374893356-152604876851958835?l=telinit0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://telinit0.blogspot.com/feeds/152604876851958835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://telinit0.blogspot.com/2009/03/ibm-p550-and-p570-system-upgrade.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/152604876851958835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1070082241374893356/posts/default/152604876851958835'/><link rel='alternate' type='text/html' href='http://telinit0.blogspot.com/2009/03/ibm-p550-and-p570-system-upgrade.html' title='IBM p550 and p570 HMC, Firmware and OS upgrade'/><author><name>roderick tapang</name><uri>http://www.blogger.com/profile/16409638292865841905</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
