<?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>Sankasaurus &#187; linux</title>
	<atom:link href="http://blog.pas.net.au/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.pas.net.au</link>
	<description>Just another tech blog - ranting since 2006</description>
	<lastBuildDate>Wed, 25 Aug 2010 21:40:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dependency Nightmare for Tomcat on Debian</title>
		<link>http://blog.pas.net.au/2009/08/dependency-nightmare-for-tomcat-on-debian/</link>
		<comments>http://blog.pas.net.au/2009/08/dependency-nightmare-for-tomcat-on-debian/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 17:34:01 +0000</pubDate>
		<dc:creator>Peter Sankauskas</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dependencies]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.pas.net.au/?p=45</guid>
		<description><![CDATA[I would love to not have to install the real Java and Tomcat manually on Debian, but I have little choice in the matter. Take a look at this:

$ apt-get install tomcat5.5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
ant ant-gcj ant-optional ant-optional-gcj antlr build-essential debhelper
default-jdk default-jre default-jre-headless defoma [...]]]></description>
			<content:encoded><![CDATA[<p>I would love to not have to install the real Java and Tomcat manually on Debian, but I have little choice in the matter. Take a look at this:</p>
<blockquote><p><code><br />
$ apt-get install <strong>tomcat5.5</strong><br />
Reading package lists... Done<br />
Building dependency tree<br />
Reading state information... Done<br />
<strong>The following extra packages will be installed:</strong><br />
ant ant-gcj ant-optional ant-optional-gcj antlr build-essential debhelper<br />
default-jdk default-jre default-jre-headless defoma dpkg-dev ecj ecj-gcj fastjar<br />
file fontconfig fontconfig-config g++ g++-4.3 gappletviewer-4.3 gcj-4.3<br />
gcj-4.3-base gettext gettext-base gij-4.3 gjdoc hicolor-icon-theme html2text<br />
intltool-debian java-common java-gcj-compat java-gcj-compat-dev<br />
java-gcj-compat-headless jsvc libantlr-java libantlr-java-gcj libasound2<br />
libatk1.0-0 libatk1.0-data libbcel-java libcairo2 libcommons-beanutils-java<br />
libcommons-collections-java libcommons-collections3-java libcommons-daemon-java<br />
libcommons-dbcp-java libcommons-digester-java libcommons-el-java<br />
libcommons-launcher-java libcommons-logging-java libcommons-modeler-java<br />
libcommons-pool-java libcompress-raw-zlib-perl libcompress-zlib-perl libcups2<br />
libdatrie0 libdb4.5 libdigest-hmac-perl libdigest-sha1-perl libdirectfb-1.0-0<br />
libecj-java libecj-java-gcj libexpat1 libfile-remove-perl libfontconfig1<br />
libfontenc1 libfreetype6 libgcj-bc libgcj-common libgcj9-0 libgcj9-0-awt<br />
libgcj9-dev libgcj9-jar libgcj9-src libglib2.0-0 libglib2.0-data libgtk2.0-0<br />
libgtk2.0-bin libgtk2.0-common libice6 libio-compress-base-perl<br />
libio-compress-zlib-perl libio-stringy-perl libjaxp1.3-java libjaxp1.3-java-gcj<br />
libjpeg62 liblog4j1.2-java liblog4j1.2-java-gcj libmagic1 libmail-box-perl<br />
libmail-sendmail-perl libmailtools-perl libmime-types-perl libmx4j-java<br />
libobject-realize-later-perl libpango1.0-0 libpango1.0-common libpixman-1-0<br />
libpng12-0 libregexp-java libservlet2.3-java libservlet2.4-java libsm6 libsqlite3-0<br />
libstdc++6-4.3-dev libsys-hostname-long-perl libthai-data libthai0 libtiff4<br />
libtimedate-perl libtomcat5.5-java libts-0.0-0 liburi-perl libuser-identity-perl<br />
libxcb-render-util0 libxcb-render0 libxcomposite1 libxcursor1 libxdamage1<br />
libxerces2-java libxerces2-java-gcj libxfixes3 libxfont1 libxft2 libxi6<br />
libxinerama1 libxrandr2 libxrender1 libxtst6 make mime-support patch po-debconf<br />
python python-central python-minimal python2.5 python2.5-minimal ttf-dejavu<br />
ttf-dejavu-core ttf-dejavu-extra x-ttcidfont-conf xfonts-encodings xfonts-utils<br />
...<br />
0 upgraded, 146 newly installed, 0 to remove and 0 not upgraded.<br />
Need to get 101MB of archives.<br />
After this operation, 288MB of additional disk space will be used.<br />
Do you want to continue [Y/n]?<br />
</code></p></blockquote>
<p>WTF? I understand that Tomcat needs some kind of Java, but this is ridiculous. It is installing ant, fonts, compilers and worst of all, the most evil Java ever.</p>
<p>Ubuntu has the sense to make Sun Java available, but even if you do have Sun Java installed, the above is true on Ubuntu.</p>
<p>For shame!</p>
<p>I&#8217;ll stick to downloading from <a href="http://java.sun.com/">java.sun.com</a> and <a href="http://tomcat.apache.org/">tomcat.apache.org</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pas.net.au/2009/08/dependency-nightmare-for-tomcat-on-debian/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Download Chrome OS now &#8211; it&#039;s called cl33n</title>
		<link>http://blog.pas.net.au/2009/07/download-chrome-os-now-its-called-cl33n/</link>
		<comments>http://blog.pas.net.au/2009/07/download-chrome-os-now-its-called-cl33n/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 23:06:19 +0000</pubDate>
		<dc:creator>Peter Sankauskas</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[os]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://blog.pas.net.au/?p=36</guid>
		<description><![CDATA[For some strange reason, Chrome OS is getting a lot of press. Is it a slow news day?
They say that it is direct competition to Microsoft, that it makes Linux less relevant&#8230; are they serious? Chrome OS is a non-announcement. There is a project that has existed for over 2 years called &#8220;cl33n&#8220;. From the [...]]]></description>
			<content:encoded><![CDATA[<p>For some strange reason, <a href="http://googleblog.blogspot.com/2009/07/introducing-google-chrome-os.html">Chrome OS</a> is getting a lot of press. Is it a slow news day?</p>
<p><a href="http://opengardensblog.futuretext.com/archives/2009/07/google_chrome_o.html">They</a> say that it is direct competition to Microsoft, that it makes Linux less relevant&#8230; are they serious? Chrome OS is a non-announcement. There is a project that has existed for over 2 years called &#8220;<a href="http://cl33n.com/">cl33n</a>&#8220;. From the creator:</p>
<div style="margin-left:40px;">Chrome OS is &#8220;Google Chrome running within a new windowing system on top of a Linux kernel.&#8221;<br />
cl33n is &#8220;Mozilla Firefox running in a little-used windowing system on top of a Linux kernel.&#8221;</div>
<p>This &#8220;OS&#8221; is due to the released mid 2010. Is that how slowly things move inside Google? Why would it take them 12 months to create nothing more than cl33n?</p>
<p>What I am trying to say, is that Chrome OS is nothing new. Cl33n is not alone in this space either &#8211; other project like <a href="http://webconverger.com/">Webconverger</a> share my view.</p>
<p>While on the subject of Google&#8217;s non-annoucements, did you hear that Gmail, Doc, etc are out of beta. Big news huh? So what is their excuse now for daily &#8220;Server error&#8221; dialogs?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pas.net.au/2009/07/download-chrome-os-now-its-called-cl33n/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Fighting with SELinux and Nagios</title>
		<link>http://blog.pas.net.au/2009/05/fighting-with-selinux-and-nagios/</link>
		<comments>http://blog.pas.net.au/2009/05/fighting-with-selinux-and-nagios/#comments</comments>
		<pubDate>Sat, 02 May 2009 17:25:55 +0000</pubDate>
		<dc:creator>Peter Sankauskas</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[sys-admin]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.pas.net.au/?p=25</guid>
		<description><![CDATA[I can&#8217;t believe it, but I won! I have been trying to set up Nagios on a RHEL5 machine running SELinux and have been loosing the fight for the last 3 days. But today, I win! This is such a win, it is worth sharing.
Now that I have won though, I believe this is not [...]]]></description>
			<content:encoded><![CDATA[<p>I can&#8217;t believe it, but I won! I have been trying to set up Nagios on a RHEL5 machine running SELinux and have been loosing the fight for the last 3 days. But today, I win! This is such a win, it is worth sharing.</p>
<p>Now that I have won though, I believe this is not Nagios specific at all, and if I had bothered to learn about SELinux, this may have been obvious. Anyway, the error Nagios was giving me was:</p>
<div style="text-align:center;"><strong><span style="color:#ff0000;">Error: Could not stat() command file &#8216;/usr/local/nagios/var/rw/nagios.cmd&#8217;! </span><br />
The external command file may be missing, Nagios may not be running, and/or Nagios may not be checking external commands.<br />
<span style="color:#ff0000;">An error occurred while attempting to commit your command for processing.</span><br />
<span style="text-decoration:underline;"><span style="color:#0000ff;">Return from whence you came </span></span></strong></div>
<p>As you may have already guess, the solution has nothing to do with the location or permissions of the file, the file was not missing, Nagios was running, and Nagios was checking external commands. The final line of the message is great though, and I can only hope we start to see more old English in error messages.</p>
<p>The problem of course, was that SELinux was enabled and stopping this blatant security violation. You can check to see if SELinux is on by running:</p>
<div style="margin-left:40px;font-family:courier new,monospace;">$ /usr/sbin/getenforce<br />
Enforcing</div>
<p>If you got &#8220;Permissive&#8221; or &#8220;Disabled&#8221;, then this post is not for you. To see SELinux&#8217;s side of things, check out <strong><span style="font-family:courier new,monospace;">/var/log/messages</span></strong>:</p>
<div style="margin-left:40px;"><span style="font-family:courier new,monospace;">setroubleshoot: SELinux is preventing ping (ping_t) &#8220;read write&#8221; to /usr/local/nagios/var/spool/checkresults/checkrXH96b (usr_t). For complete SELinux messages. run sealert -l 1ffc2533-42b5-4e04-b7ab-a81bb7d02040</span><br style="font-family:courier new,monospace;" /><br />
<span style="font-family:courier new,monospace;"> setroubleshoot: SELinux is preventing ping (ping_t) &#8220;read write&#8221; to /usr/local/nagios/var/spool/checkresults/checkrZxsA1 (usr_t). For complete SELinux messages. run sealert -l 178ba2d4-0822-47eb-9e32-bfaa19ee3c4b</span><br style="font-family:courier new,monospace;" /><br />
<span style="font-family:courier new,monospace;"> setroubleshoot: SELinux is preventing cmd.cgi (httpd_sys_script_t) &#8220;getattr&#8221; to /usr/local/nagios/var/rw/nagios.cmd (httpd_sys_content_t). For complete SELinux messages. run sealert -l 4df0946e-8816-4b90-a7d1-37e743697b9c </span></div>
<p>As you can see, SELinux is trying to give you a hint with that <strong>sealert</strong> bit, so you should take it.</p>
<div style="margin-left:40px;font-family:courier new,monospace;">$ sealert -l 1ffc2533-42b5-4e04-b7ab-a81bb7d02040<br />
Summary:</p>
<p>SELinux is preventing ping (ping_t) &#8220;read write&#8221; to<br />
/usr/local/nagios/var/spool/checkresults/checkrXH96b (usr_t).</p>
<p>Detailed Description:</p>
<p><em>&#8230; (removed from post)</em></p>
<p>Raw Audit Messages</p>
<p>host=myhost.myisp.host type=AVC msg=audit(1241217029.141:125305): avc:  denied  { read write } for  pid=32379 comm=&#8221;ping&#8221; path=&#8221;/usr/local/nagios/var/spool/checkresults/checkrXH96b&#8221; dev=sda3 ino=52894945 scontext=user_u:system_r:ping_t:s0 tcontext=user_u:object_r:usr_t:s0 tclass=file</p>
<p>host=myhost.myisp.host type=SYSCALL msg=audit(1241217029.141:125305): arch=c000003e syscall=59 success=yes exit=0 a0=153952a0 a1=15395330 a2=7fff75c5eb40 a3=0 items=0 ppid=32378 pid=32379 auid=503 uid=508 gid=508 euid=0 suid=0 fsuid=0 egid=508 sgid=508 fsgid=508 tty=(none) ses=1392 comm=&#8221;ping&#8221; exe=&#8221;/bin/ping&#8221; subj=user_u:system_r:ping_t:s0 key=(null)</p></div>
<p>That raw audit message is <strong>GOLD</strong>! There is some other information in there, but nothing about what the next step should be to create a policy and make it permanent. Using <strong><span style="font-family:courier new,monospace;">chron</span></strong> I have heard is a temporary fix. The solution is copying that raw audit message into an empty file and running <strong>audit2allow</strong> to create a policy:</p>
<div style="margin-left:40px;font-family:courier new,monospace;">$ cat &gt; /tmp/tmp-nagiosping<br />
host=myhost.myisp.host type=AVC msg=audit(1241217029.141:125305): avc:  denied  { read write } for  pid=32379 comm=&#8221;ping&#8221; path=&#8221;/usr/local/nagios/var/spool/checkresults/checkrXH96b&#8221; dev=sda3 ino=52894945 scontext=user_u:system_r:ping_t:s0 tcontext=user_u:object_r:usr_t:s0 tclass=file</p>
<p>host=myhost.myisp.host type=SYSCALL msg=audit(1241217029.141:125305): arch=c000003e syscall=59 success=yes exit=0 a0=153952a0 a1=15395330 a2=7fff75c5eb40 a3=0 items=0 ppid=32378 pid=32379 auid=503 uid=508 gid=508 euid=0 suid=0 fsuid=0 egid=508 sgid=508 fsgid=508 tty=(none) ses=1392 comm=&#8221;ping&#8221; exe=&#8221;/bin/ping&#8221; subj=user_u:system_r:ping_t:s0 key=(null)<br />
<em>* Ctrl-D *</em></p>
<p>$ audit2allow -M NagiosPing &lt; /tmp/tmp-nagiosping</p>
<p>******************** IMPORTANT ***********************<br />
To make this policy package active, execute:</p>
<p>semodule -i NagiosPing.pp</p></div>
<p>This creates a file call NagiosPing.pp which contains the SELinux policy needed to make these errors go away. The only thing left to do is to install this policy:</p>
<div style="margin-left:40px;"><span style="font-family:courier new,monospace;">$ semodule -i NagiosPing.pp</span></div>
<p>If your setup was like mine, SELinux was actually preventing 3 different actions, needing 3 different policies. HA! That is easy now &#8211; just repeat the steps until Nagios is doing your bidding.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pas.net.au/2009/05/fighting-with-selinux-and-nagios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
