<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ball Dawg!</title>
	<atom:link href="http://www.balldawg.net/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.balldawg.net</link>
	<description>A Brain Dump from Andrew Rankin</description>
	<lastBuildDate>Wed, 01 Sep 2010 13:42:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>NVidia, Stereo (3D) and LCDs</title>
		<link>http://www.balldawg.net/index.php/2010/09/nvidia-stereo-3d-and-lcds/</link>
		<comments>http://www.balldawg.net/index.php/2010/09/nvidia-stereo-3d-and-lcds/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 13:35:22 +0000</pubDate>
		<dc:creator>Andrew Rankin</dc:creator>
				<category><![CDATA[Linux Workstations]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Alienware]]></category>
		<category><![CDATA[NVidia]]></category>
		<category><![CDATA[Stereo]]></category>

		<guid isPermaLink="false">http://www.balldawg.net/?p=300</guid>
		<description><![CDATA[Back in December 2009 NVidia finally released a graphics driver for Linux that supported Stereo/3d graphics on a few LCD monitors. Since then we have purchased a few different brands of monitors but have decided to standardize on the NVidia supported Alienware AW2310. The Monitor appears very well built and has a fantastic image. When [...]]]></description>
			<content:encoded><![CDATA[<p>Back in December 2009 NVidia finally released a graphics driver for Linux that supported Stereo/3d graphics on a few LCD monitors.  Since then we have purchased a few different brands of monitors but have decided to standardize on the NVidia supported <a href="http://accessories.us.dell.com/sna/products/Displays/productdetail.aspx?c=us&amp;l=en&amp;s=dhs&amp;cs=19&amp;sku=320-8846" target="_blank">Alienware AW2310</a>.  The Monitor appears very well built and has a fantastic image.  When the driver was initially released there was some confusion on how to get the Stereo working on Linux under CentOS or RHEL 5.  Since it&#8217;s quite simple, I thought I&#8217;d share our configuration.<span id="more-300"></span></p>
<p>First grab the newest driver from NVidia, and install in whichever kernel you intend to run on the workstation.  Next modify your xorg.conf, adding:</p>
<pre class="brush: php">
Section &quot;Extensions&quot;
   Option         &quot;Composite&quot; &quot;false&quot;
EndSection
</pre>
<p>This section is required for running any Stereo, whether it be on a CRT or an LCD on RHEL 5.  For the description of what it does, I&#8217;d suggesting heading over to <a href="http://wiki.archlinux.org/index.php/Composite" target="_blank">Archlinux&#8217;s Wiki</a>.</p>
<p>Next you&#8217;ll need to setup the Screen section to allow for Stereo (Mode of 10 with LCDs):</p>
<pre class="brush: php">
Section &quot;Screen&quot;
   Identifier     &quot;Screen0&quot;
   Device         &quot;Videocard0&quot;
   Monitor        &quot;Monitor0&quot;
   DefaultDepth    24
   Option         &quot;metamodes&quot; &quot;DFP: 1920x1080_120 +0+0&quot;
   Option         &quot;Stereo&quot; &quot;10&quot;
   SubSection     &quot;Display&quot;
      Depth       24
      Modes      &quot;nvidia-auto-select&quot;
   EndSubSection
EndSection
</pre>
<p>You&#8217;ll also need your monitor and video card setup correctly:</p>
<pre class="brush: php">
Section &quot;Monitor&quot;
   Identifier     &quot;Monitor0&quot;
   VendorName     &quot;Alienware&quot;
   ModelName      &quot;AW2310&quot;
   HorizSync       30.0 - 140.0
   VertRefresh     56.0 - 120.0
   Option         &quot;DPMS&quot;
EndSection

Section &quot;Device&quot;
   Identifier     &quot;Videocard0&quot;
   Driver         &quot;nvidia&quot;
   VendorName     &quot;Videocard vendor&quot;
   BoardName      &quot;NVIDIA Quadro FX (generic)&quot;
EndSection
</pre>
<p>At this resolution there is not enough bandwidth in a single channel DVI cable to run Stereo, so you will need a dual channel cable.  Take note that if you run the system through a KVM, it too will need to support dual channel.  I have a single setup running the <a href="http://www.iogear.com/product/GCS1782/" target="_blank">IOGear GCS1782</a> and it has functioned flawlessly so far.</p>
<p>For a list of supported hardware, hit up <a href="http://www.nvidia.com/object/3d-vision-requirements.html" target="_blank">NVidia&#8217;s site</a>.  Don&#8217;t forget to order your <a href="http://www.nvidia.com/object/product_geforce_3D_VisionKit_us.html" target="_blank">3D Vision Kit</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.balldawg.net/index.php/2010/09/nvidia-stereo-3d-and-lcds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parallel BZIP2: pbzip2</title>
		<link>http://www.balldawg.net/index.php/2010/07/parallel-bzip2-pbzip2/</link>
		<comments>http://www.balldawg.net/index.php/2010/07/parallel-bzip2-pbzip2/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 18:53:22 +0000</pubDate>
		<dc:creator>Andrew Rankin</dc:creator>
				<category><![CDATA[Server Management]]></category>
		<category><![CDATA[bzip2]]></category>
		<category><![CDATA[compression]]></category>

		<guid isPermaLink="false">http://www.balldawg.net/?p=321</guid>
		<description><![CDATA[I find myself compressing files for archival purposes constantly &#8211; today I was sitting, waiting on one such compression on a SMP box and thought it seems silly that bzip2 does not use more than one CPU. After a quick flip through the man page for bzip2 I found no way to force it to [...]]]></description>
			<content:encoded><![CDATA[<p>I find myself compressing files for archival purposes constantly &#8211; today I was sitting, waiting on one such compression on a SMP box and thought it seems silly that bzip2 does not use more than one CPU.  After a quick flip through the man page for bzip2 I found no way to force it to use more than one core.  A quick web search yielded pbzip2 (<a href="http://compression.ca/pbzip2/">http://compression.ca/pbzip2/</a>) &#8211; another project that does indeed allow you to use more than one CPU for compress and decompression of bzip2 files.  A quick test showed a huge reduction in compression time:<span id="more-321"></span></p>
<p>Using 1 Core:</p>
<pre class="brush: sh">
[user@server source]$ pbzip2 -p1 -v -m1000 source.tar
Parallel BZIP2 v1.1.1 - by: Jeff Gilchrist [http://compression.ca]
[Apr. 17, 2010]             (uses libbzip2 by Julian Seward)

# CPUs: 1
BWT Block Size: 900 KB
File Block Size: 900 KB
Maximum Memory: 1000 MB
-------------------------------------------
File: 1 of 1
Input Name: source.tar
Output Name: source.tar.bz2

Input Size: 445163520 bytes
Compressing data (no threads)...
Output Size: 80063773 bytes
-------------------------------------------

Wall Clock: 95.100318 seconds
</pre>
<p>Using 64 Cores:</p>
<pre class="brush: sh">
[user@server source]$ pbzip2 -p64 -v -m1000 source.tar
Parallel BZIP2 v1.1.1 - by: Jeff Gilchrist [http://compression.ca]
[Apr. 17, 2010]             (uses libbzip2 by Julian Seward)

# CPUs: 64
BWT Block Size: 900 KB
File Block Size: 900 KB
Maximum Memory: 1000 MB
-------------------------------------------
File: 1 of 1
Input Name: source.tar
Output Name: source.tar.bz2

Input Size: 445163520 bytes
Compressing data...
Output Size: 80063773 bytes
-------------------------------------------

Wall Clock: 3.795763 seconds
</pre>
<p>Needless to say I&#8217;ve found a new utility for my compression needs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.balldawg.net/index.php/2010/07/parallel-bzip2-pbzip2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Puppet Dashboard with Multiple Puppet Masters</title>
		<link>http://www.balldawg.net/index.php/2010/05/puppet-dashboard-with-multiple-puppet-masters/</link>
		<comments>http://www.balldawg.net/index.php/2010/05/puppet-dashboard-with-multiple-puppet-masters/#comments</comments>
		<pubDate>Wed, 26 May 2010 14:38:02 +0000</pubDate>
		<dc:creator>Andrew Rankin</dc:creator>
				<category><![CDATA[Server Management]]></category>
		<category><![CDATA[Server Monitoring]]></category>
		<category><![CDATA[Puppet]]></category>

		<guid isPermaLink="false">http://www.balldawg.net/?p=310</guid>
		<description><![CDATA[Mike Zupan&#8217;s blog has a nice how to on installing puppet&#8217;s dashboard on CentOS 5, following it I was able to get the dashboard up and running with ease.  Since I have two puppet master&#8217;s that I&#8217;d like to report to the dashboard I found you can easily accomplish this without a full dashboard install [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://zcentric.com/2010/03/11/install-puppet-dashboard-on-redhatcentos-5/">Mike Zupan&#8217;s blog</a> has a nice how to on installing puppet&#8217;s dashboard on CentOS 5, following it I was able to get the dashboard up and running with ease.   Since I have two puppet master&#8217;s that I&#8217;d like to report to the dashboard I found you can easily accomplish this without a full dashboard install on each master.</p>
<p>You just need to:</p>
<ol>
<li>Copy over &#8216;puppet_dashboard.rb&#8217; with a modified HOST line to the other host.</li>
<li>Modify /etc/sysconfig/puppetmaster.</li>
<li>Turn on reporting on the clients.</li>
<li>Restart puppetmaster.</li>
</ol>
<p>Since the puppet_dashboard.rb is just making an HTTP post to the dashboard server, it can be coming from anywhere.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.balldawg.net/index.php/2010/05/puppet-dashboard-with-multiple-puppet-masters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Breaking out of a HTTP proxy enviroment</title>
		<link>http://www.balldawg.net/index.php/2010/02/breaking-out-of-a-http-proxy-enviroment/</link>
		<comments>http://www.balldawg.net/index.php/2010/02/breaking-out-of-a-http-proxy-enviroment/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 18:24:47 +0000</pubDate>
		<dc:creator>Andrew Rankin</dc:creator>
				<category><![CDATA[Server Management]]></category>
		<category><![CDATA[Server Monitoring]]></category>
		<category><![CDATA[corkscrew]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.balldawg.net/?p=302</guid>
		<description><![CDATA[Being in a large corporate environment has positives and negatives, one of those negatives is that many companies use HTTP proxies to control and track internet usage from your work machines.  While in most cases this is very important from the HR and workplace productivity side, it can become a headache if you actually need [...]]]></description>
			<content:encoded><![CDATA[<p>Being in a large corporate environment has positives and negatives, one of those negatives is that many companies use HTTP proxies to control and track internet usage from your work machines.  While in most cases this is very important from the HR and workplace productivity side, it can become a headache if you actually need something outside your companies firewalls that is blocked.  In my case I wanted to backup some configurations and code to my home machine.  To do this I&#8217;d generally just rsync over ssh or scp the files over to an off site machine.   Sadly with a full firewall up and all traffic required to go through HTTP proxies, I had to find a different solution.  In my case, I decided to use &#8216;corkscrew&#8217;.<br />
<span id="more-302"></span><br />
Corkscrew tunnels SSH connections through HTTP proxies, you can find it at <a title="agroman.net/corkscrew/" href="http://www.agroman.net/corkscrew/">agroman.net/corkscrew/</a>.  It was quite easy to setup, and with some tweaks to your ssh config you can seamlessly use it.</p>
<p>My next trick is useful for getting around having your HTTP usage tracked and filtered, this is just taking advantage of the &#8220;-D&#8221; option within the &#8216;ssh&#8217; program.  When you invoke the -D option, followed with a port number you not only connect to the remote machine via SSH, but you also create a SOCKS proxy server on the port specified.  Setting up your browser&#8217;s proxy settings to point at that port on your local machine will securely forward any requests over to the remote machine, where they will then go out to their final destination.</p>
<p>When you combine corkscrew with ssh -D, you end up with a single, secure connection through the HTTP proxy to your remote machine with a SOCKS proxy through it.  This effectively gives you an easy unfiltered hole through to the outside.</p>
<p>Disclaimer: Check with your IT policies before attempting any of the above to make sure its allowed!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.balldawg.net/index.php/2010/02/breaking-out-of-a-http-proxy-enviroment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Blade Type &amp; Serial on IBM HS22</title>
		<link>http://www.balldawg.net/index.php/2009/09/setting-blade-type-serial-on-ibm-hs22/</link>
		<comments>http://www.balldawg.net/index.php/2009/09/setting-blade-type-serial-on-ibm-hs22/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 18:35:20 +0000</pubDate>
		<dc:creator>Andrew Rankin</dc:creator>
				<category><![CDATA[Remote Lights Out]]></category>
		<category><![CDATA[Server Management]]></category>
		<category><![CDATA[Bladecenter]]></category>
		<category><![CDATA[IBM]]></category>

		<guid isPermaLink="false">http://www.balldawg.net/?p=290</guid>
		<description><![CDATA[So you&#8217;ve had to replace a main board in your IBM blade, we&#8217;ve all been there.  Generally, should you have asked for your friendly neighborhood tech to come out, he will kindly update your fresh motherboard with the original machines serial number and machine type/model number.  If you&#8217;ve ever watched him do his work, you [...]]]></description>
			<content:encoded><![CDATA[<p>So you&#8217;ve had to replace a main board in your IBM blade, we&#8217;ve all been there.  Generally, should you have asked for your friendly neighborhood tech to come out, he will kindly update your fresh motherboard with the original machines serial number and machine type/model number.  If you&#8217;ve ever watched him do his work, you know on earlier blades he used the BIOs update utility from IBMs website to update that information.  Well times have changed, this is no longer an option on UEFI and IMM based blades.   Before you go and call IBM, you can use IBM&#8217;s ASU utility to update them.   When I called they actually sent me an in house bootable ISO, which ended up just booting Linux and running a shell script that ran the following two commands:<br />
<span id="more-290"></span></p>
<pre class="brush: php">
./asu64 set SYSTEM_PROD_DATA.SysInfoSerialNum serial_number
./asu64 set SYSTEM_PROD_DATA.SysInfoProdName type_model
</pre>
<p>Now obviously you&#8217;ll be replacing serial_number and type_model with what you want to update the machine too, so don&#8217;t just run those commands outright. <img src='http://www.balldawg.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Another note of interest was that the machine originally did not have the latest UEFI or IMM firmware on them &#8211; and the update would not take &#8211; so update everything before attempting this.</p>
<p>For those interested you can also run a &#8216;show&#8217; on the above information to get the serial and model &#8211; I mention this because it does not look like dmidecode works for reading that information any longer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.balldawg.net/index.php/2009/09/setting-blade-type-serial-on-ibm-hs22/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How To: Accelrys Insight II 2005 on RHEL5</title>
		<link>http://www.balldawg.net/index.php/2009/08/how-to-accelrys-insight-ii-2005-on-rhel5/</link>
		<comments>http://www.balldawg.net/index.php/2009/08/how-to-accelrys-insight-ii-2005-on-rhel5/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 20:40:20 +0000</pubDate>
		<dc:creator>Andrew Rankin</dc:creator>
				<category><![CDATA[Linux Workstations]]></category>
		<category><![CDATA[Accelrys]]></category>
		<category><![CDATA[Centos 5]]></category>
		<category><![CDATA[CHROOT]]></category>
		<category><![CDATA[Insight II]]></category>

		<guid isPermaLink="false">http://www.balldawg.net/?p=274</guid>
		<description><![CDATA[So you want to move your Linux workstations to RHEL5 but still use Insight II? If you have tried (and I know you have), you know that because of the jump in the version of GLIBC to version 2.5, Insight II won&#8217;t run. As much as we wish Accelrys would go and compile it against [...]]]></description>
			<content:encoded><![CDATA[<p>So you want to move your Linux workstations to RHEL5 but still use Insight II?  If you have tried (and I know you have), you know that because of the jump in the version of GLIBC to version 2.5, Insight II won&#8217;t run.  As much as we wish Accelrys would go and compile it against RHEL5, that won&#8217;t happen either.  So, what does it take to get it to run?  RHEL4&#8230; No, really.  But we are going to be cute about it.  Since all Insight needs is a few libraries to run, its just a matter of putting it in a place where it can get to them.   My solution to this was making a small chroot environment  in which to start up Insight in.<span id="more-274"></span></p>
<p>Creating a chroot environment is fairly easy.  You&#8217;ll need a folder to put it in, and root access to the machine your on to create it.  For this example lets use /rhel4_chroot/, so first just create that directory.  Next you&#8217;ll need access to RPMs from a RHEL4.8 DVD, or really just have a place to pull them from &#8211; so it can be a repo or whatever.  You&#8217;ll want to install a few rpms to that root to make the basic linux environment available when you chroot to that directory.  You can do this a number of ways, what I found that you&#8217;ll need on a most basic level is the following (from Centos 4.8 Base):</p>
<pre class="brush: php">
rpm --root &quot;/rhel4_chroot/&quot; -i \
binutils-2.15.92.0.2-25.x86_64.rpm \
glibc-2.3.4-2.43.x86_64.rpm \
glibc-common-2.3.4-2.43.x86_64.rpm \
tzdata-2009f-1.el4.noarch.rpm \
libgcc-3.4.6-11.x86_64.rpm \
basesystem-8.0-4.noarch.rpm \
setup-2.5.37-3.el4.noarch.rpm \
bash-3.0-21.el4.x86_64.rpm \
mktemp-1.5-20.x86_64.rpm \
filesystem-2.3.0-1.x86_64.rpm \
info-4.7-5.el4.2.x86_64.rpm \
libtermcap-2.0.8-39.x86_64.rpm \
ncurses-5.4-15.el4.x86_64.rpm \
zlib-1.2.1.2-1.2.x86_64.rpm \
termcap-5.4-3.noarch.rpm \
</pre>
<p>This will give you an environment you can chroot too and have a very basic set of tools available.   To get to a point where you can run Insight II you&#8217;ll need a few more.  In my case I didn&#8217;t want to play the dependency game, so I just installed everything needed to run yum from within the enviroment:</p>
<pre class="brush: php">

rpm --root &quot;/rhel4_chroot/&quot; -i \
yum-2.4.3-4.el4.centos.noarch.rpm \
coreutils-5.2.1-36.el4.centos.x86_64.rpm \
python-2.3.4-14.7.el4.x86_64.rpm \
libacl-2.2.23-5.4.el4.x86_64.rpm \
python-elementtree-1.2.6-5.el4.centos.x86_64.rpm \
python-sqlite-1.1.7-1.2.1.x86_64.rpm \
libxml2-python-2.6.16-12.6.x86_64.rpm \
yum-metadata-parser-1.0-8.el4.centos.x86_64.rpm \
grep-2.5.1-32.4.el4.x86_64.rpm \
pam-0.77-66.26.x86_64.rpm \
pcre-4.5-4.el4_6.6.x86_64.rpm \
sed-4.1.2-7.el4.x86_64.rpm \
rpm-python-4.3.3-32_nonptl.x86_64.rpm \
rpm-4.3.3-32_nonptl.x86_64.rpm \
glib2-2.4.7-1.x86_64.rpm \
elfutils-0.97.1-5.x86_64.rpm \
popt-1.9.1-32_nonptl.x86_64.rpm \
beecrypt-3.1.0-6.x86_64.rpm \
rpm-libs-4.3.3-32_nonptl.x86_64.rpm \
findutils-4.1.20-7.el4.3.x86_64.rpm \
db4-4.2.52-7.3.el4.x86_64.rpm \
libxml2-2.6.16-12.6.x86_64.rpm \
libstdc++-3.4.6-11.x86_64.rpm \
audit-libs-1.0.16-4.el4.x86_64.rpm \
shadow-utils-4.0.3-66.RHEL4.x86_64.rpm \
elfutils-libelf-0.97.1-5.x86_64.rpm \
cracklib-2.8.9-1.3.x86_64.rpm \
cracklib-dicts-2.8.9-1.3.x86_64.rpm \
libselinux-1.19.1-7.4.x86_64.rpm \
bzip2-libs-1.0.2-14.el4_7.x86_64.rpm \
sqlite-devel-3.3.6-2.x86_64.rpm \
sqlite-3.3.6-2.x86_64.rpm \
chkconfig-1.3.13.5.EL4-1.x86_64.rpm \
python-urlgrabber-2.9.8-2.noarch.rpm \
centos-release-4-8.x86_64.rpm \
openssl-0.9.7a-43.17.el4_7.2.x86_64.rpm \
krb5-libs-1.3.4-62.el4.x86_64.rpm \
initscripts-7.93.34-1.centos4.x86_64.rpm \
udev-039-10.29.el4.x86_64.rpm \
ethtool-6-1.x86_64.rpm \
SysVinit-2.85-34.4.x86_64.rpm \
gawk-3.1.3-10.1.x86_64.rpm \
net-tools-1.60-39.el4.x86_64.rpm \
lvm2-2.02.42-5.el4.x86_64.rpm \
device-mapper-1.02.28-2.el4.x86_64.rpm \
util-linux-2.12a-24.el4.x86_64.rpm \
audit-1.0.16-4.el4.x86_64.rpm \
hotplug-2004_04_01-7.10.x86_64.rpm \
usbutils-0.11-7.RHEL4.1.x86_64.rpm \
hwdata-0.146.33.EL-17.noarch.rpm \
e2fsprogs-1.35-12.24.el4.x86_64.rpm \
libsepol-1.1.1-2.x86_64.rpm \
sysklogd-1.4.1-28.el4.x86_64.rpm \
module-init-tools-3.1-0.pre5.3.11.x86_64.rpm \
kernel-2.6.9-89.EL.x86_64.rpm \
mkinitrd-4.2.1.13-4.x86_64.rpm \
kudzu-1.1.95.26-1.x86_64.rpm \
cpio-2.5-16.el4.x86_64.rpm \
gzip-1.3.3-17.rhel4.x86_64.rpm \
hal-0.4.2-8.EL4.x86_64.rpm \
dbus-0.22-12.EL.9.x86_64.rpm \
dbus-glib-0.22-12.EL.9.x86_64.rpm \
tar-1.14-12.5.1.RHEL4.x86_64.rpm \
mingetty-1.07-3.x86_64.rpm \
less-382-4.rhel4.x86_64.rpm \
iputils-20020927-22.el4.x86_64.rpm \
iproute-2.6.9-4.el4.x86_64.rpm \
psmisc-21.4-4.1.x86_64.rpm \
procps-3.2.3-8.17.x86_64.rpm \
which-2.16-4.x86_64.rpm \
MAKEDEV-3.15.2-3.x86_64.rpm \
gdbm-1.8.0-24.x86_64.rpm \
gmp-4.1.4-3.x86_64.rpm \
libattr-2.4.16-3.1.el4.x86_64.rpm \
readline-4.3-13.x86_64.rpm \
expat-1.95.7-4.x86_64.rpm \
newt-0.51.6-10.el4.x86_64.rpm \
libcap-1.10-20.x86_64.rpm \
slang-1.4.9-8.x86_64.rpm
</pre>
<p>Now you see what I mean by &#8220;the dependency game&#8221;.  Now if you don&#8217;t want to waste the space you can skip yum and figure out the exact dependencies for Insight, its really up to you since its just an issue of space and what you want available.  After yum was installed I went ahead and chrooted to the enviroment and added the &#8220;Compatibility Arch Development Support&#8221; yum group along with openmotif21-2.1.30-11.RHEL4.6, bind-utils, compat-libstdc++-296.i386, xorg-x11-Mesa-libGLU and copied over the basic network files (hosts, resolv.conf and nsswitch.conf).  If from within your chroot enviroment yum gets upset about the rpm database, this is due to RHEL5 rpm using a different database than RHEL4 &#8211; you&#8217;ll just need to clear them out:</p>
<pre class="brush: php">
rm -rf /var/lib/rpm/__db*
</pre>
<p>You&#8217;ll want to remount your systems /dev and /tmp folders for use within the chroot environment, for example:</p>
<pre class="brush: php">
/bin/mount -o bind /dev /rhel4_chroot/dev/
/bin/mount -o bind /tmp /rhel4_chroot/tmp/
</pre>
<p>At this point Insight should run, you&#8217;ll need to devise an easy way for your users to do it &#8211; likely some sort of sudoers allowances to run the mount/unmount of the above directories along with the command to run insight as them within the chrooted environment.  Don&#8217;t forget to run a &#8216;yum clean all&#8217; to clean out the rpms yum downloaded.</p>
<p>The environment ended up being about 700MB in this state &#8211; which was fine for us.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 1665px; width: 1px; height: 1px;">
<pre>rm -rf /var/lib/rpm/__db*</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.balldawg.net/index.php/2009/08/how-to-accelrys-insight-ii-2005-on-rhel5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Simple Puppet Recipe for Tripwire</title>
		<link>http://www.balldawg.net/index.php/2009/08/puppetizing-tripwire/</link>
		<comments>http://www.balldawg.net/index.php/2009/08/puppetizing-tripwire/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 13:43:40 +0000</pubDate>
		<dc:creator>Andrew Rankin</dc:creator>
				<category><![CDATA[Server Management]]></category>
		<category><![CDATA[Server Monitoring]]></category>
		<category><![CDATA[Tripwire]]></category>
		<category><![CDATA[Puppet]]></category>

		<guid isPermaLink="false">http://www.balldawg.net/?p=262</guid>
		<description><![CDATA[Since I failed to find a good description of how to do this on the web, I thought I&#8217;d share my recipe for using puppet to manage tripwire. This method will take care of running the initialization on the first puppetd run on a new machine, and update the policy file if its changed. It [...]]]></description>
			<content:encoded><![CDATA[<p>Since I failed to find a good description of how to do this on the web, I thought I&#8217;d share my recipe for using puppet to manage tripwire.   This method will take care of running the initialization on the first puppetd run on a new machine, and update the policy file if its changed.  It also has puppet managing your site.key, twcfg.txt, twpol.txt, and the daily cron to run the checks.  Its an extremely simple setup, but gets the job done.</p>
<p>I&#8217;ll start with the tripwire.pp file for puppet, in this file you&#8217;ll define your tripwire class and associated files and packages:<br />
<span id="more-262"></span></p>
<pre class="brush: perl">
class tripwire {
        file { &quot;/etc/tripwire/Makefile&quot;:
                owner =&gt; root,
                group =&gt; root,
                mode =&gt; 440,
                source =&gt; &quot;puppet:///etc/tripwire/Makefile&quot;,
                require =&gt; Package[tripwire],
        }
        file { &quot;/etc/tripwire/site.key&quot;:
                owner =&gt; root,
                group =&gt; root,
                mode =&gt; 440,
                source =&gt; &quot;puppet:///etc/tripwire/site.key&quot;,
                require =&gt; Package[tripwire],
        }
        file { &quot;/etc/tripwire/twcfg.txt&quot;:
                owner =&gt; root,
                group =&gt; root,
                mode =&gt; 440,
                source =&gt; &quot;puppet:///etc/tripwire/twcfg.txt&quot;,
                require =&gt; Package[tripwire],
        }
        file { &quot;/etc/tripwire/twpol.txt&quot;:
                owner =&gt; root,
                group =&gt; root,
                mode =&gt; 440,
                source =&gt; &quot;puppet:///etc/tripwire/twpol.txt&quot;,
                require =&gt; Package[tripwire],
        }

        file { &quot;/etc/cron.daily/tripwire-check&quot;:
                owner =&gt; root,
                group =&gt; root,
                mode =&gt; 755,
                source =&gt; &quot;puppet:///etc/cron.daily/tripwire-check&quot;,
                require =&gt; Package[tripwire],
        }

        file { &quot;/var/lib/tripwire/tripwire.twd&quot;:
                owner =&gt; root,
                group =&gt; root,
                mode =&gt; 440,
        }

        package {
                &quot;tripwire&quot;:
                        ensure =&gt; &quot;installed&quot;,
        }

        exec {
                &quot;make -C /etc/tripwire&quot;:
                        cwd =&gt; &quot;/etc/tripwire&quot;,
                        path =&gt; [&quot;/bin&quot;, &quot;/usr/bin&quot; ],
                        creates =&gt; &quot;/var/lib/tripwire/tripwire.twd&quot;,
                        timeout =&gt; 10000
        }

        exec {
                &quot;tripwire --update-policy -Z low --local-passphrase &#039;&#039; --site-passphrase &#039;&#039; --quiet /etc/tripwire/twpol.txt&quot;:
                        cwd =&gt; &quot;/etc/tripwire&quot;,
                        path =&gt; [&quot;/sbin&quot;, &quot;/usr/sbin&quot; ],
                        timeout =&gt; 10000,
                        refreshonly =&gt; &quot;true&quot;,
                        subscribe =&gt; File[&quot;/etc/tripwire/twpol.txt&quot;],

        }
}
</pre>
<p>You&#8217;ll notice there is a Makefile defined, this will make remote management much simpler, it contains some simple house keeping items.  I do not use all these within my puppet implementation, however:</p>
<pre class="brush: perl">
all: tw.cfg tw.pol /var/lib/tripwire/tripwire.twd

clean:
        /bin/rm -f /etc/tripwire/local.key /etc/tripwire/tw.cfg /etc/tripwire/tw.pol /var/lib/tripwire/tripwire.twd

init: clean /var/lib/tripwire/tripwire.twd

local.key:
        /usr/sbin/twadmin --generate-keys --local-keyfile local.key --local-passphrase &#039;&#039;

tw.cfg: site.key twcfg.txt
        /usr/sbin/twadmin --create-cfgfile --site-keyfile site.key --site-passphrase &#039;&#039; twcfg.txt

tw.pol: tw.cfg twpol.txt
        if [ -f tw.pol -a -f /var/lib/tripwire/tripwire.twd ]; \
        then /usr/sbin/tripwire --update-policy --local-passphrase &#039;&#039; --quiet --secure-mode low --site-passphrase &#039;&#039; twpol.txt; \
        else /usr/sbin/twadmin --create-polfile --site-passphrase &#039;&#039; twpol.txt; \
        fi

/var/lib/tripwire/tripwire.twd: local.key site.key
        /usr/sbin/tripwire --init --local-passphrase &#039;&#039;
</pre>
<p>My twcfg.txt is very simple:</p>
<pre class="brush: perl">
# required
DBFILE                 = /var/lib/tripwire/tripwire.twd
LOCALKEYFILE           = /etc/tripwire/local.key
POLFILE                = /etc/tripwire/tw.pol
REPORTFILE             = /var/lib/tripwire/report/$(DATE).twr
SITEKEYFILE            = /etc/tripwire/site.key

# e-mail notification
EMAILREPORTLEVEL       = 3
GLOBALEMAIL            = email@domain.tld
MAILMETHOD             = SENDMAIL
MAILNOVIOLATIONS       = false
MAILPROGRAM            = /usr/sbin/sendmail -oi -t

# other
EDITOR                 = /usr/bin/vim
LATEPROMPTING          = false
LOOSEDIRECTORYCHECKING = false
REPORTLEVEL            = 4
SYSLOGREPORTING        = true
TEMPDIRECTORY          = /var/tmp
</pre>
<p>Other than including the tripwire class within your site.pp file, thats about it.</p>
<p><em>Credit: The makefile was created by Steve Coile.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.balldawg.net/index.php/2009/08/puppetizing-tripwire/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pinging Xymon clients on an unreachable network</title>
		<link>http://www.balldawg.net/index.php/2009/07/pinging-xymon-clients-on-an-unreachable-network/</link>
		<comments>http://www.balldawg.net/index.php/2009/07/pinging-xymon-clients-on-an-unreachable-network/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 22:21:34 +0000</pubDate>
		<dc:creator>Andrew Rankin</dc:creator>
				<category><![CDATA[Hobbit / Xymon]]></category>
		<category><![CDATA[Server Monitoring]]></category>

		<guid isPermaLink="false">http://www.balldawg.net/?p=252</guid>
		<description><![CDATA[I recently ran into an issue where my I had Xymon clients on a network which was unpingable from the Xymon server.  The clients could could send data to the server, but they were hidden behind network address translation and only on a local network.  I had one box (the gateway for the unreachable clients), [...]]]></description>
			<content:encoded><![CDATA[<p>I recently ran into an issue where my I had Xymon clients on a network which was unpingable from the Xymon server.  The clients could could send data to the server, but they were hidden behind network address translation and only on a local network.  I had one box (the gateway for the unreachable clients), that saw both networks.  I  played with the idea of running bbproxy on it, but didn&#8217;t really want an entire Xymon server and it really was not necessary since the other clients could get their data out.  Looking at hobbitlaunch.cfg I noticed it was really just a larger clientlaunch.cfg, which gave me the idea of just copying over bbnet and using on a client install &#8211; which worked perfectly.<span id="more-252"></span></p>
<p>To do this you&#8217;ll need to copy over the following binarys from the server installation into your client&#8217;s bin directory:</p>
<ul>
<li>bbtest-net</li>
<li>hobbitping</li>
</ul>
<p>You&#8217;ll also need a copy of your bb-hosts and bb-services file, you&#8217;ll need to place these in your client&#8217;s etc folder.  In your bb-hosts file you&#8217;ll only need the hosts that are within the private network you intend to ping, you really don&#8217;t need any grouping information within it either since when the data is sent in to your xymon server it will be assigned to the correct hosts there.</p>
<p>At this point you need to add a section for bbnet within your clientlaunch.cfg, yours may be different since your file locations my vary, so edit to fit your situation:</p>
<pre class="brush: bash">
[bbnet]
ENVFILE /usr/lib/hobbit/client/etc/clientlaunch.cfg
CMD /usr/lib/hobbit/client/bin/bbtest-net --report --ping --checkresponse
LOGFILE $BBSERVERLOGS/bb-network.log
INTERVAL 5m
</pre>
<p>Since bbtest-net needs to know what to do you&#8217;ll need to copy its configuration section from hobbitserver.cfg to hobbitclient.cfg:</p>
<pre class="brush: bash">
# For bbtest-net
CONNTEST=&quot;TRUE&quot;
IPTEST_2_CLEAR_ON_FAILED_CONN=&quot;TRUE&quot;
NONETPAGE=&quot;&quot;
FPING=&quot;/usr/sbin/fping&quot;
NTPDATE=&quot;ntpdate&quot;
TRACEROUTE=&quot;traceroute&quot;
BBROUTERTEXT=&quot;router&quot;
NETFAILTEXT=&quot;not OK&quot;
</pre>
<p>And there you have it &#8211; restart your client and it should be able to ping the clients within the private network and send to your Xymon server.  You&#8217;ll notice a column for bbtest show up for the client you setup to ping as well.   This should work for all network tests, however I&#8217;ve just tested ping.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.balldawg.net/index.php/2009/07/pinging-xymon-clients-on-an-unreachable-network/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring Sun Grid Engine with Xymon</title>
		<link>http://www.balldawg.net/index.php/2009/07/monitoring-sun-grid-engine-with-xymon/</link>
		<comments>http://www.balldawg.net/index.php/2009/07/monitoring-sun-grid-engine-with-xymon/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 17:13:01 +0000</pubDate>
		<dc:creator>Andrew Rankin</dc:creator>
				<category><![CDATA[Hobbit / Xymon]]></category>
		<category><![CDATA[Server Monitoring]]></category>

		<guid isPermaLink="false">http://www.balldawg.net/?p=239</guid>
		<description><![CDATA[After a recent job switch I&#8217;ve had the opportunity to setup Xymon from scratch and start developing even more scripts for new pieces of software and work flows. One of my first tasks was to setup a new &#8220;cluster&#8221; using all the software I felt most comfortable with as a show case in order to [...]]]></description>
			<content:encoded><![CDATA[<p>After a recent job switch I&#8217;ve had the opportunity to setup Xymon from scratch and start developing even more scripts for new pieces of software and work flows.  One of my first tasks was to setup a new &#8220;cluster&#8221; using all the software I felt most comfortable with as a show case in order to determine if my preferred tools worked as well or better than the currently used ones &#8211; or not.  After a week or so of setting up a full Cobbler installation, Xymon and my own Glovebox, I presented it to my new employers with positive responses.  After all that work I wanted to make sure that the people using the system were as happy as possible with the monitoring needs &#8211; one thing was mentioned more than others, which was the ability to easily see the status of Sun&#8217;s Grid Engine running on the cluster.  I immediately set to work and came up with a quick solution for them using Xymon and a script that parsed the output of &#8216;qstat -f&#8217;  As with my Xen monitoring script, it runs in one place and sends in data for all the associated machines.  Meaning for each execution node you&#8217;ll have a column with just its information, and a combined column for the qmaster.  <span id="more-239"></span>The output is as follows:</p>
<blockquote><p>Total Slots: 2<br />
Total Used Slots: 2</p>
<p>Queue: MainQueue<br />
Slots: 2<br />
Reserved Slots: 0<br />
Used Slots: 2</p></blockquote>
<p>The master is the same, but contains information for the entire cluster.  When all slots are taken, the test icon/color turns to &#8216;green&#8217;, when some are available the test icon/color changes to &#8216;clear&#8217;  I&#8217;ve also created an easy to understand graph which consists of a green area that is the total number of slots, which a red area over it showing the used slots.  As slots free up the green shows itself noting there are slots available.</p>
<p>The Script is available for download <a href="http://balldawg.net/files/bb-sge.pl.gz">here</a>.</p>
<p>The Graph definitions are:</p>
<pre class="brush: perl">
[sge]
TITLE SGE Used Slots
YAXIS # Used Slots
DEF:SlotsUsed=sge.rrd:TotalUsedSlots:AVERAGE
DEF:SlotsTotal=sge.rrd:TotalSlots:AVERAGE
AREA:SlotsTotal#00CC00:Total Slots
AREA:SlotsUsed#FF0000:Used Slots
COMMENT:\n
GPRINT:SlotsUsed:LAST:Used Slots  : %5.1lf (cur)
GPRINT:SlotsUsed:MAX: : %5.1lf (max)
GPRINT:SlotsUsed:MIN: : %5.1lf (min)
GPRINT:SlotsUsed:AVERAGE: : %5.1lf (avg)\n
GPRINT:SlotsTotal:LAST:Total Slots   : %5.1lf (cur)
GPRINT:SlotsTotal:MAX: : %5.1lf (max)
GPRINT:SlotsTotal:MIN: : %5.1lf (min)
GPRINT:SlotsTotal:AVERAGE: : %5.1lf (avg)\n
</pre>
<p><strong>Update: </strong>I&#8217;ve modified my script to NOT change colors.  Seems xymon really ignores whatever you sent in since it really thinks you have no data when you turn to &#8216;clear&#8217; &#8211; it was breaking my graphs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.balldawg.net/index.php/2009/07/monitoring-sun-grid-engine-with-xymon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Glovebox v0.2.1 Released</title>
		<link>http://www.balldawg.net/index.php/2009/06/glovebox-v0-2-released/</link>
		<comments>http://www.balldawg.net/index.php/2009/06/glovebox-v0-2-released/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 23:06:02 +0000</pubDate>
		<dc:creator>Andrew Rankin</dc:creator>
				<category><![CDATA[Glovebox]]></category>
		<category><![CDATA[Server Management]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://www.balldawg.net/?p=219</guid>
		<description><![CDATA[I&#8217;ve released Glovebox Version 0.2.1 on Sourceforge.  It has a few bug fixes as well as the correct database schema included. Other changes include: Modified JavaScript so it would load &#38; function in IE Changed &#8220;class&#8221; to &#8220;clas&#8221; within JS, Perl, and the database. IE didn&#8217;t like using the word &#8220;class&#8221; as a variable name, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve released <a href="https://sourceforge.net/projects/glovebox/" target="_blank">Glovebox Version 0.2.1 on Sourceforge</a>.  It has a few bug fixes as well as the correct database schema included.  Other changes include:</p>
<ul>
<li>Modified JavaScript so it would load &amp; function in IE</li>
<li>Changed &#8220;class&#8221; to &#8220;clas&#8221; within JS, Perl, and the database.  IE didn&#8217;t like using the word &#8220;class&#8221; as a variable name, changed else where for consistency.</li>
<li>Stopped opening of &#8220;right-click&#8221; menu when pressed on an interface folder</li>
<li>Fixed DB Schema to include basic information for default OIDs and Interfaces.</li>
<li>Modified Apache configuration so SSIs would work correctly in Apache 2, changed the SSIs to only execute on .shtml files</li>
<li>Renamed index.html to index.shtml</li>
</ul>
<p>There is a database change, so you must run the sql file located in the upgrade folder!</p>
<p>You can download it <a href="https://sourceforge.net/project/showfiles.php?group_id=262902" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.balldawg.net/index.php/2009/06/glovebox-v0-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
