<?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"
	>

<channel>
	<title>Latest Posts / News</title>
	<atom:link href="http://www.microdevsys.com/WordPress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.microdevsys.com/WordPress</link>
	<description>Microcomputers - Development - Systems</description>
	<pubDate>Sun, 14 Feb 2010 06:23:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Linux: The source of ssh_exchange_identification: Connection closed by remote host</title>
		<link>http://www.microdevsys.com/WordPress/2010/02/12/linux-the-source-of-ssh_exchange_identification-connection-closed-by-remote-host/</link>
		<comments>http://www.microdevsys.com/WordPress/2010/02/12/linux-the-source-of-ssh_exchange_identification-connection-closed-by-remote-host/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 19:56:23 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
		
		<category><![CDATA[NIX Posts]]></category>

		<category><![CDATA[access]]></category>

		<category><![CDATA[CIDR]]></category>

		<category><![CDATA[closed]]></category>

		<category><![CDATA[connection]]></category>

		<category><![CDATA[host]]></category>

		<category><![CDATA[hosts.allow]]></category>

		<category><![CDATA[login]]></category>

		<category><![CDATA[remote]]></category>

		<category><![CDATA[shell]]></category>

		<category><![CDATA[sshd]]></category>

		<category><![CDATA[ssh_exchange_identification]]></category>

		<guid isPermaLink="false">http://www.microdevsys.com/WordPress/?p=1332</guid>
		<description><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2010/02/12/linux-the-source-of-ssh_exchange_identification-connection-closed-by-remote-host/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Linux: The source of ssh_exchange_identification: Connection closed by remote host';
digg_bodytext = 'PROBLEMYou get this when trying to SSH&nbsp;to a host from some IP (Let&#8217;s assume it&#8217;s 111.22.33.44 for the scope of this problem):ssh_exchange_identification: Connection closed by remote hostWhat to do?SOLUTIONIt had to do with security and...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
PROBLEM
You get this when trying to SSH&#160;to a host from some IP (Let&#8217;s assume it&#8217;s 111.22.33.44 for the scope of this problem):
ssh_exchange_identification: Connection closed by remote host
What to do?
SOLUTION
It had to do with security and /etc/hosts.allow in my case.&#160; The steps are:

vi /etc/hosts.allow (Or if you prefer nano /etc/hosts.allow OR pico /etc/hosts.allow)
Add lines at the [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2010/02/12/linux-the-source-of-ssh_exchange_identification-connection-closed-by-remote-host/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Linux: The source of ssh_exchange_identification: Connection closed by remote host';
digg_bodytext = 'PROBLEMYou get this when trying to SSH&nbsp;to a host from some IP (Let&#8217;s assume it&#8217;s 111.22.33.44 for the scope of this problem):ssh_exchange_identification: Connection closed by remote hostWhat to do?SOLUTIONIt had to do with security and...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
<p><strong>PROBLEM</strong></p>
<p>You get this when trying to SSH&nbsp;to a host from some IP (Let&#8217;s assume it&#8217;s 111.22.33.44 for the scope of this problem):</p>
<p style="margin-left: 40px;"><strong>ssh_exchange_identification: Connection closed by remote host</strong></p>
<p>What to do?<span id="more-1332"></span></p>
<p><strong>SOLUTION</strong></p>
<p>It had to do with security and <strong>/etc/hosts.allow</strong> in my case.&nbsp; The steps are:</p>
<ul>
<li><strong>vi /etc/hosts.allow</strong> (Or if you prefer <strong>nano /etc/hosts.allow</strong> OR <strong>pico /etc/hosts.allow</strong>)</li>
<li>Add lines at the end such as:</li>
</ul>
<p style="margin-left: 80px;"># My Remote Host<br />
sshd: 111.22.&nbsp;&nbsp;</p>
<ul>
<li>Above are examples of IP octets.&nbsp; We are using <strong>111.22</strong> if the remote <strong>IP</strong> is <strong>111.22.33.44</strong> and <u>CIDR</u> is <strong>111.22.0.0/16</strong>)</li>
<li>Save the file and exit (In VI use <strong>:wq!</strong> )</li>
<li>Try again from the IP of the remote host (In the above case, 111.22.33.44 )</li>
</ul>
<p>Or at least that was the source of the issue for me.&nbsp; Hope it helps!</p>
<p>Good Luck!<br />
TK</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microdevsys.com/WordPress/2010/02/12/linux-the-source-of-ssh_exchange_identification-connection-closed-by-remote-host/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Microsoft Word: A delete key that doesn&#8217;t delete.</title>
		<link>http://www.microdevsys.com/WordPress/2010/01/12/microsoft-word-a-delete-key-that-doesnt-delete/</link>
		<comments>http://www.microdevsys.com/WordPress/2010/01/12/microsoft-word-a-delete-key-that-doesnt-delete/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 03:40:34 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
		
		<category><![CDATA[NIX Posts]]></category>

		<category><![CDATA[Data not deleted]]></category>

		<category><![CDATA[delete]]></category>

		<category><![CDATA[edit]]></category>

		<category><![CDATA[General Tab]]></category>

		<category><![CDATA[highlighting]]></category>

		<category><![CDATA[key]]></category>

		<category><![CDATA[microsoft word]]></category>

		<category><![CDATA[options]]></category>

		<category><![CDATA[problem]]></category>

		<category><![CDATA[solution]]></category>

		<category><![CDATA[Tools]]></category>

		<category><![CDATA[WordPerfect]]></category>

		<guid isPermaLink="false">http://www.microdevsys.com/WordPress/?p=1330</guid>
		<description><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2010/01/12/microsoft-word-a-delete-key-that-doesnt-delete/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Microsoft Word: A delete key that doesn&#8217;t delete.';
digg_bodytext = 'PROBLEMA little tidbit of Windows knowledge.&nbsp; When highlighting a section of a Microsoft Word document and pressing the delete key, nothing happens.&nbsp; No errors or messages at all.&nbsp; Try this to fix it&#8230;SOLUTION		                   ...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
PROBLEM
A little tidbit of Windows knowledge.&#160; When highlighting a section of a Microsoft Word document and pressing the delete key, nothing happens.&#160; No errors or messages at all.&#160; Try this to fix it&#8230;
SOLUTION





	
	
                     


Here&#8217;s the [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2010/01/12/microsoft-word-a-delete-key-that-doesnt-delete/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Microsoft Word: A delete key that doesn&#8217;t delete.';
digg_bodytext = 'PROBLEMA little tidbit of Windows knowledge.&nbsp; When highlighting a section of a Microsoft Word document and pressing the delete key, nothing happens.&nbsp; No errors or messages at all.&nbsp; Try this to fix it&#8230;SOLUTION		                   ...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
<p><strong>PROBLEM</strong></p>
<p>A little tidbit of Windows knowledge.&nbsp; When highlighting a section of a Microsoft Word document and pressing the delete key, nothing happens.&nbsp; No errors or messages at all.&nbsp; Try this to fix it&#8230;</p>
<p><strong>SOLUTION</strong></p>
<p>
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8"><br />
<title></title><br />
<meta name="GENERATOR" content="OpenOffice.org 3.1  (Linux)"><br />
<style type="text/css">
	<!--
		@page { margin: 0.79in }
		P { margin-bottom: 0.08in }
	-->
	</style>
<p>                     </meta><br />
</meta>
</p>
<p lang="en-US" style="margin-bottom: 0in;"><span id="more-1330"></span>Here&#8217;s the workaround to this issue:</p>
<ul>
<li><font size="2">Go to <strong>Tools</strong> -&gt; <strong>Options</strong>-&gt; </font><strong><font size="2">General Tab</font></strong></li>
<li><u><font size="2">Uncheck</font></u><font size="2"> the following options if selected (See Image Below):</font>
<ul>
<li><strong>Help for WordPerfect users</strong></li>
<li><strong>Navigation keys for WordPerfect users</strong></li>
</ul>
</li>
</ul>
<p style="text-align: center;">&nbsp;<img src="http://www.microdevsys.com/WordPressImages/MicrosoftDeleteKeyOptions.jpg" alt="Microsoft Word Options Dialog - Delete Key" /></p>
<ul>
<li>Click <strong>OK</strong> and try to delete again.</li>
<li>If above doesn&#8217;t work, try unchecking <strong>Typing Replaces Selection</strong> instead from <strong>Tools</strong> -&gt; <strong>Options</strong> -&gt; <strong>Edit Tab</strong></li>
</ul>
<p style="text-align: left;">Cheers!<br />
TK</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microdevsys.com/WordPress/2010/01/12/microsoft-word-a-delete-key-that-doesnt-delete/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Skype configuration problems and resolutions.</title>
		<link>http://www.microdevsys.com/WordPress/2010/01/08/skype-configuration-problems-and-resolutions/</link>
		<comments>http://www.microdevsys.com/WordPress/2010/01/08/skype-configuration-problems-and-resolutions/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 03:52:42 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
		
		<category><![CDATA[NIX Posts]]></category>

		<category><![CDATA[chat]]></category>

		<category><![CDATA[client]]></category>

		<category><![CDATA[Fedora]]></category>

		<category><![CDATA[KDE]]></category>

		<category><![CDATA[kmenuedit]]></category>

		<category><![CDATA[LD_PRELOAD]]></category>

		<category><![CDATA[options]]></category>

		<category><![CDATA[RPM]]></category>

		<category><![CDATA[skype]]></category>

		<category><![CDATA[v4l]]></category>

		<category><![CDATA[v4l1compat.so]]></category>

		<category><![CDATA[Video]]></category>

		<category><![CDATA[VoIP]]></category>

		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://www.microdevsys.com/WordPress/?p=1329</guid>
		<description><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2010/01/08/skype-configuration-problems-and-resolutions/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Skype configuration problems and resolutions.';
digg_bodytext = 'Skype is a popular text, video and voice (VoIP) chat client.&nbsp; A more detailed article can be found on the Wikipedia Skype page.&nbsp; Here is a list of some of the hurdles I&#8217;ve ran into getting the client to work on my own distribution.PROBLEMSkype...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
Skype is a popular text, video and voice (VoIP) chat client.&#160; A more detailed article can be found on the Wikipedia Skype page.&#160; Here is a list of some of the hurdles I&#8217;ve ran into getting the client to work on my own distribution.
PROBLEM
Skype for Linux had poor video in the not so distant past [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2010/01/08/skype-configuration-problems-and-resolutions/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Skype configuration problems and resolutions.';
digg_bodytext = 'Skype is a popular text, video and voice (VoIP) chat client.&nbsp; A more detailed article can be found on the Wikipedia Skype page.&nbsp; Here is a list of some of the hurdles I&#8217;ve ran into getting the client to work on my own distribution.PROBLEMSkype...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
<p>Skype is a popular text, video and voice (VoIP) chat client.&nbsp; A more detailed article can be found on the <a rel="nofollow" href="http://en.wikipedia.org/wiki/Skype">Wikipedia Skype</a> page.&nbsp; Here is a list of some of the hurdles I&#8217;ve ran into getting the client to work on my own distribution.</p>
<p><strong>PROBLEM</strong></p>
<p><strong>Skype</strong> for Linux had poor video in the not so distant past so having upgrade to Fedora 12 recently, I&#8217;ve decided to see if my setup still worked fine.&nbsp; So the typical problem you might run into is that Skype will simply crash when doing anything with a webcam (When using a command like <strong># /usr/bin/skype &amp;</strong> or from your UI&nbsp;menus which defaults to that command anyway).&nbsp; Here&#8217;s one way how to resolve this issue that worked for me.</p>
<p><strong>SOLUTION</strong></p>
<p><span id="more-1329"></span>If you&#8217;re using <strong>KDE</strong>, like me, run the following from the console to check, at first, if the <strong>Skype</strong> client can actually detect and use your camera (Make sure you have one first.).&nbsp; Follow these steps:</p>
<ol>
<li>Open <strong>Konsole</strong> (/usr/bin/konsole) terminal emulator from <strong>KDE</strong> or <a href="http://www.microdevsys.com/WordPress/2008/11/27/konsole-dynamically-changing-the-tab-title-text/">any other terminal emulator</a> you may have.<br />
    &nbsp;</li>
<li>Ensure you have Skype installed. &nbsp;Type below to make sure (I&#8217;m running Fedora 12 but the <strong>FC5</strong> package works anyway):<br />
    <strong># rpm -aq|grep -i skype</strong><br />
    skype-2.0.0.72-fc5.i586<br />
    <strong># ll /usr/bin/skype</strong><br />
    3804084 -rwxr-xr-x 1 root root 13951916 2008-05-28 06:29 /usr/bin/skype<br />
    &nbsp;</li>
<li>Check to ensure you have the v4l libraries installed.&nbsp; (These will be important in getting Video working)<br />
    <strong># ll /usr/lib/libv4l/v4l1compat.so</strong><br />
    4506233 -rwxr-xr-x 1 root root 4320 2009-10-25 04:24 /usr/lib/libv4l/v4l1compat.so<br />
    <strong># rpm -fq /usr/lib/libv4l/v4l1compat.so</strong><br />
    libv4l-0.6.3-1.fc12.i686<br />
    (<strong><span style="color: rgb(255, 102, 0);">NOTE:</span></strong>&nbsp;If you don&#8217;t have the above package installed, run <strong>yum install libv4l</strong> to get it installed.&nbsp; The corresponding command would be <strong>apt-get</strong> on Ubuntu since <strong>yum</strong> is likely not available there)<br />
    &nbsp;</li>
<li>Run Skype manually using<br />
    <strong># env LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so nice -n 19 /usr/bin/skype</strong> &amp;<br />
    &nbsp;</li>
<li>Following above, within Skype, open the <strong>Video Devices</strong> Options page and follow these steps:
<ul>
<li>Click Skype <strong>Start Menu</strong> (bottom left blue icon)</li>
<li>Click <strong>Options</strong></li>
<li>Click <strong>Video Devices</strong></li>
<li>Select the webcam camera you have or want to use if you have more then one.</li>
<li>Click <strong>Test</strong> in the video test rectangle.</li>
</ul>
</li>
<li>You should now see results similar to the below:</li>
</ol>
<p><img src="http://www.microdevsys.com/wordpressimages/SkypeProblemSolution-1.jpg" alt="Skype Video Options Menu - Skype" /></p>
<ol start="7">
<li>If the above works, with the new parameters, you can consider updating your <strong>KDE</strong>&nbsp;menus to reflect the change in the manner below (So the environment is set each time you start Skype):
<ul>
<li>From the <strong>KDE</strong> start menu, search for <strong>KMenuEdit</strong>.&nbsp; If no icon exists, try to start it from the command line using <strong>/usr/bin/kmenuedit</strong>.</li>
<li>Search for your <strong>Skype</strong> icon.&nbsp; Mine was under the <em>Internet</em> submenu.</li>
<li>Edit your settings similarly to the below screenshot (You can skip adding nice -n 19 if you don&#8217;t want to use any grace value):</li>
</ul>
</li>
</ol>
<p><img src="http://www.microdevsys.com/wordpressimages/SkypeProblemSolution-2.jpg" alt="Editing the Skype Icon through KMenuEdit" /></p>
<p>
<strong> PROBLEM</strong></p>
<p>Another issue I was having is after installing Skype from Skype.com.&nbsp; After installing, I&nbsp;got</p>
<p style="margin-left: 40px;"><strong>&quot;p2p connect failed&quot; skype</strong></p>
<p>Using Fedora 7 skype RPM from Skype.com (Note you can install older <strong>Fedora</strong> packages on newer <strong>Fedora</strong> distributions):</p>
<p style="margin-left: 40px;"><strong># wget http://www.skype.com/go/getskype-linux-fc7<br />
# rpm -ivh skype-2.0.0.72-fc5.i586.rpm</strong><br />
<span style="color: rgb(255, 102, 0);">warning: skype-2.0.0.72-fc5.i586.rpm: Header V3 DSA signature: NOKEY, key ID d66b746e</span><br />
Preparing&#8230;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />
&nbsp;&nbsp; 1:skype&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />
<strong># rpm -aq|grep skype</strong><br />
skype-2.0.0.72-fc5.i586<br />
<strong>#</strong></p>
<p>Trying to connect gave:</p>
<p style="margin-left: 40px;"><strong>&quot;p2p connect failed&quot; skype</strong></p>
<p><strong>SOLUTION</strong></p>
<p>Edit the file: <strong>/home/YOURFOLDER/.Skype/shared.xml</strong> and there change:</p>
<p style="margin-left: 40px;">&lt;DisablePort80&gt;<span style="color: rgb(255, 0, 0);"><strong>1</strong></span>&lt;/DisablePort80&gt;</p>
<p><strong>TO</strong></p>
<p style="margin-left: 40px;">&lt;DisablePort80&gt;<span style="color: rgb(51, 153, 102);">0</span>&lt;/DisablePort80&gt;<br />
&nbsp;</p>
<p>To resolve the public key issue, try these steps:</p>
<ol>
<li>Get the public key from <a rel="nofollow" href="http://www.skype.com/products/skype/linux/rpm-public-key.asc">http://www.skype.com/products/skype/linux/rpm-public-key.asc</a>:</li>
<li>Run <strong>rpm &#8211;import rpm-public-key.asc</strong></li>
<li>Optionally update yum with these settings through <strong>/etc/yum.conf</strong>:<br />
    <strong>[skype]<br />
    name=Skype Repository<br />
    baseurl=http://download.skype.com/linux/repos/fedora/3/updates/i586/</strong></li>
<li>Refresh yum using:<br />
    <strong># yum install skype</strong></li>
</ol>
<p>And try again.&nbsp; <img src='http://www.microdevsys.com/WordPress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Good Luck!<br />
TK</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microdevsys.com/WordPress/2010/01/08/skype-configuration-problems-and-resolutions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Red Hat Linux Fedora: Fedora 11 to Fedora 12 upgrade.</title>
		<link>http://www.microdevsys.com/WordPress/2009/12/31/red-hat-linux-fedora-fedora-11-to-fedora-12-upgrade/</link>
		<comments>http://www.microdevsys.com/WordPress/2009/12/31/red-hat-linux-fedora-fedora-11-to-fedora-12-upgrade/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 07:32:06 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
		
		<category><![CDATA[NIX Posts]]></category>

		<category><![CDATA[3D]]></category>

		<category><![CDATA[Constantine]]></category>

		<category><![CDATA[Core]]></category>

		<category><![CDATA[Error: Missing Dependency]]></category>

		<category><![CDATA[Fedora]]></category>

		<category><![CDATA[fglrx]]></category>

		<category><![CDATA[KDE]]></category>

		<category><![CDATA[KMS]]></category>

		<category><![CDATA[Leonidas]]></category>

		<category><![CDATA[package]]></category>

		<category><![CDATA[Qt4]]></category>

		<category><![CDATA[r9600]]></category>

		<category><![CDATA[radeon]]></category>

		<category><![CDATA[release]]></category>

		<category><![CDATA[RPM]]></category>

		<category><![CDATA[Tux Racer]]></category>

		<category><![CDATA[upgrade]]></category>

		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://www.microdevsys.com/WordPress/?p=1327</guid>
		<description><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/12/31/red-hat-linux-fedora-fedora-11-to-fedora-12-upgrade/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Red Hat Linux Fedora: Fedora 11 to Fedora 12 upgrade.';
digg_bodytext = 'Fedora 12 has been out of the oven since about Nov 17 so it&#8217;s high time I upgrade before it spoils.&nbsp; As with the previous release, I look forward to any new features in KDE&nbsp;4.3.&nbsp; (As you recall from the previous upgrades, KDE&nbsp;was...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
Fedora 12 has been out of the oven since about Nov 17 so it&#8217;s high time I upgrade before it spoils.&#160; As with the previous release, I look forward to any new features in KDE&#160;4.3.&#160; (As you recall from the previous upgrades, KDE&#160;was introduced rewritten almost entirely in Qt4).&#160; Also noteworthy to mention is the [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/12/31/red-hat-linux-fedora-fedora-11-to-fedora-12-upgrade/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Red Hat Linux Fedora: Fedora 11 to Fedora 12 upgrade.';
digg_bodytext = 'Fedora 12 has been out of the oven since about Nov 17 so it&#8217;s high time I upgrade before it spoils.&nbsp; As with the previous release, I look forward to any new features in KDE&nbsp;4.3.&nbsp; (As you recall from the previous upgrades, KDE&nbsp;was...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
<p>Fedora 12 has been <a rel="nofollow" href="http://fedoraproject.org/wiki/Releases/12/Schedule">out of the oven since about Nov 17</a> so it&#8217;s high time I upgrade before it spoils.&nbsp; As with the previous release, I look forward to any new features in KDE&nbsp;4.3.&nbsp; (As you recall from the previous upgrades, KDE&nbsp;was introduced rewritten almost entirely in <strong>Qt4</strong>).&nbsp; Also noteworthy to mention is the issues in ATI&nbsp;graphics that popped up after upgrading.&nbsp; Hopefully the community has had time to catch up as at the time support for my old <strong>Radeon 9600</strong> was dropped and after some searches at the time not even ATI&nbsp;was maintaining support for Linux drivers for the family of chipsets of the cards.&nbsp; Unfortunately, there was even some <a rel="nofollow" href="http://www.phoronix.com/scan.php?page=news_item&amp;px=NjY3MQ">division around how cards like Radeon</a> are supported from Linus himself.&nbsp; (As far as I&#8217;m concerned David can do what he wants&nbsp;<a rel="nofollow" href="http://en.wikipedia.org/wiki/Linux"> just like Linus did</a>&nbsp; ).<br />
<span id="more-1327"></span>See the previous upgrade from <a rel="nofollow" href="http://www.microdevsys.com/WordPress/2009/07/11/red-hat-linux-fedora-fedora-10-to-fedora-11-upgrade/">Fedora 10 and Fedora 11</a> on some of the more recent issues then so you can decide further if using the default supplied Radeon drivers is enough or if you prefer to stay with the current version or wait for <strong>F13</strong>.&nbsp; <strong>Fedora 12</strong> has <a rel="nofollow" href="http://kernelnewbies.org/LinuxChanges">some kernel improvements in versions 2.6.30+</a> that I&nbsp;would like to take advantage off as well since upgrading to <strong>F11</strong>, <strong>fglrx</strong> no longer supported my card and I couldn&#8217;t scrape enough time to tinker around with the Xorg default graphics and their 3D support (And so my <a rel="nofollow" href="http://tuxracer.sourceforge.net/screenshots.html">Tux Racer</a> didn&#8217;t work.&nbsp; :(&nbsp;much to the disappointment of my kids. )&nbsp; <strong>&#8216;ATI R600/R700 3D and KMS support and other graphic improvements&#8217;</strong> have been added to this version to, hopefully, resolve some of my woes:</p>
<p><strong>QUICK&nbsp;STEPS</strong></p>
<ol>
<li>nice -n 19 yum update (If you get <strong>No Packages marked for Update</strong> you are good.)</li>
<li>cd /some/dir</li>
<li>mkdir ./F11toF12</li>
<li>cd ./F11toF12</li>
<li>Ensure you have <strong>debuglevel=10</strong> and <strong>errorlevel=10</strong> enabled in <strong>/etc/yum.conf</strong> in case we need more debugging information.</li>
<li>nice -n 19 yum -y upgrade (should be the same as step 1 above)</li>
<li>nice -n 19 yum clean all</li>
<li>nice -n 19 yum clean all (Just to make sure everything looks clean)</li>
<li><span id="1262237944587S" style="display: none;">&nbsp;</span>wget <a rel="nofollow" href="http://download.fedora.redhat.com/pub/fedora/linux/releases/12/Fedora/i386/os/Packages/fedora-release-12-1.noarch.rpm">http://download.fedora.redhat.com/pub/fedora/linux/releases/12/Fedora/i386/os/Packages/fedora-release-12-1.noarch.rpm</a></li>
<li>wget <a rel="nofollow" href="http://download.fedora.redhat.com/pub/fedora/linux/releases/12/Fedora/i386/os/Packages/fedora-release-notes-12.0.0-4.fc12.noarch.rpm">http://download.fedora.redhat.com/pub/fedora/linux/releases/12/Fedora/i386/os/Packages/fedora-release-notes-12.0.0-4.fc12.noarch.rpm</a><span id="1262237944058E" style="display: none;">&nbsp;</span></li>
<li>rpm -Uvh fedora-release*.rpm</li>
<li>cat /etc/fedora-release&nbsp; (Make sure &lsquo;<strong>Fedora release 12 (Constantine)</strong>&lsquo; appears )</li>
<li>nice -n 19 yum -y upgrade 2&gt;&amp;1|tee -a ./F11-to-F12-upgrade.Dec.31.2009.10.00.AM.txt</li>
<li><strong>Refer below for any issues</strong> and repeat from step 12) as necessary.</li>
</ol>
<p>&nbsp;</p>
<p><strong>RUNNING INTO PROBLEMS</strong></p>
<p>The problems are generally similar throughout the upgrades.&nbsp; Most issues can be resolved by removing the conflicting package as I&nbsp;did in this case, once I&nbsp;decided that I&nbsp;can reinstall the package after the upgrade anyway:</p>
<p style="margin-left: 40px;"><strong># cat /etc/*fedora-release*</strong><br />
Fedora release 11 (Leonidas)<br />
<strong># rpm -Uvh fedora-release*.rpm</strong><br />
warning: fedora-release-12-1.noarch.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID 57bbccba<br />
error: Failed dependencies:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; indexhtml is needed by (installed) lynx-2.8.6-20.fc11.i586<br />
You have new mail in /var/spool/mail/root<br />
<strong># rpm -e lynx-2.8.6-20.fc11.i586<br />
# rpm -Uvh fedora-release*.rpm</strong><br />
warning: fedora-release-12-1.noarch.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID 57bbccba<br />
Preparing&#8230;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />
&nbsp;&nbsp; 1:fedora-release&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [ 50%]<br />
&nbsp;&nbsp; 2:fedora-release-notes&nbsp;&nbsp; ########################################### [100%]<br />
<strong># cat /etc/fedora-release</strong><br />
Fedora release 12 (Constantine)<br />
<strong>#</strong></p>
<p>As in previous upgrades, some RPM&nbsp;packages don&#8217;t make the cut or have not yet been redied for the latest release.&nbsp; So a short list of package errors ensued after trying to upgrade through step 13:</p>
<p style="margin-left: 40px;">Error: Missing Dependency: lohit-fonts-bengali is needed by package <strong>fonts-bengali-2.1.5-3.fc8.noarch (installed)</strong><br />
Error: Missing Dependency: libkrb4.so.2 is needed by package krbafs-utils-1.2.2-10.1.i386 (installed)<br />
Error: Missing Dependency: libkrb4.so.2(krb4_2_MIT) is needed by package krbafs-1.2.2-10.1.i386 (installed)<br />
Error: Missing Dependency: lohit-fonts-hindi is needed by package fonts-hindi-2.1.5-3.fc8.noarch (installed)<br />
Error: Missing Dependency: libdes425.so.3(des425_3_MIT) is needed by package krbafs-utils-1.2.2-10.1.i386 (installed)<br />
Error: Missing Dependency: libkrb4.so.2 is needed by package krbafs-1.2.2-10.1.i386 (installed)<br />
Error: Missing Dependency: lohit-fonts-gujarati is needed by package fonts-gujarati-2.1.5-3.fc8.noarch (installed)<br />
Error: Missing Dependency: lohit-fonts-punjabi is needed by package fonts-punjabi-2.1.5-3.fc8.noarch (installed)<br />
Error: Missing Dependency: libcrypto.so.8 is needed by package VirtualBox-OSE-3.0.10-1.fc11.i586 (installed)<br />
Error: Missing Dependency: libkrb4.so.2(krb4_2_MIT) is needed by package krbafs-utils-1.2.2-10.1.i386 (installed)<br />
Error: Missing Dependency: libssl.so.8 is needed by package gpac-libs-0.4.5-7.fc11.i586 (installed)<br />
Error: Missing Dependency: libdes425.so.3 is needed by package krbafs-utils-1.2.2-10.1.i386 (installed)<br />
Error: Missing Dependency: libcrypto.so.8 is needed by package gpac-libs-0.4.5-7.fc11.i586 (installed)<br />
Error: Missing Dependency: lohit-fonts-tamil is needed by package fonts-tamil-2.1.5-3.fc8.noarch (installed)<br />
&nbsp;</p>
<p>For this one I&nbsp;simply went over the packages on the right side and removed them.&nbsp; (Again, if a package is really needed, you would need to judge whether removal is appropriate for you.)&nbsp; I&nbsp;used <strong>rpm -e &lt;PACKAGE NAME&gt;</strong> to remove the package.&nbsp; Rerunning the upgrade produced this:</p>
<p style="margin-left: 40px;"><strong>&nbsp;Error: Missing Dependency: lohit-fonts-punjabi is needed by package fonts-punjabi-2.1.5-3.fc8.noarch (installed)</strong></p>
<p>Removing the installed package, allowed me to upgrade to pass that point and continue further.&nbsp; Following the above, the upgrade completed flawlessly (minus some custom RPM&#8217;s I&nbsp;had installed earlier) .&nbsp; Best of all, my graphics were again restored though tweaking them, I&#8217;ll leave for another topic.&nbsp;</p>
<p>Cheers!<br />
TK</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microdevsys.com/WordPress/2009/12/31/red-hat-linux-fedora-fedora-11-to-fedora-12-upgrade/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fedora Update: undefined symbol: DRIOpenDRMMaster</title>
		<link>http://www.microdevsys.com/WordPress/2009/08/16/fedora-update-undefined-symbol-driopendrmmaster/</link>
		<comments>http://www.microdevsys.com/WordPress/2009/08/16/fedora-update-undefined-symbol-driopendrmmaster/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 05:44:22 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
		
		<category><![CDATA[NIX Posts]]></category>

		<category><![CDATA[ATI]]></category>

		<category><![CDATA[catalyst]]></category>

		<category><![CDATA[desktop]]></category>

		<category><![CDATA[DISPLAYMANAGER]]></category>

		<category><![CDATA[DRIOpenDRMMaster]]></category>

		<category><![CDATA[Drivers]]></category>

		<category><![CDATA[fglrx]]></category>

		<category><![CDATA[gdm]]></category>

		<category><![CDATA[gdm-binary]]></category>

		<category><![CDATA[GdmDisplay: display lasted]]></category>

		<category><![CDATA[GNOME]]></category>

		<category><![CDATA[KDE]]></category>

		<category><![CDATA[kdm]]></category>

		<category><![CDATA[Kernel 2.6.29]]></category>

		<category><![CDATA[prefdm]]></category>

		<category><![CDATA[radeon]]></category>

		<category><![CDATA[seconds]]></category>

		<category><![CDATA[startx]]></category>

		<category><![CDATA[support]]></category>

		<category><![CDATA[undefined symbol]]></category>

		<category><![CDATA[update]]></category>

		<category><![CDATA[X11]]></category>

		<category><![CDATA[Xorg]]></category>

		<category><![CDATA[Xorg.0.log]]></category>

		<category><![CDATA[xorg.conf]]></category>

		<category><![CDATA[yum update]]></category>

		<guid isPermaLink="false">http://www.microdevsys.com/WordPress/?p=1323</guid>
		<description><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/08/16/fedora-update-undefined-symbol-driopendrmmaster/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Fedora Update: undefined symbol: DRIOpenDRMMaster';
digg_bodytext = 'Following a recent upgrade, Xorg was apparently also updated to version&nbsp;xorg-x11-server-Xorg-1.6.1.901-1.fc11.i586 which unfortunately didn&#8217;t play nicely with version xorg-x11-drv-ati-6.12.2-14.fc11.i586 .&nbsp; After a brief investigation,...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
Following a recent upgrade, Xorg was apparently also updated to version&#160;xorg-x11-server-Xorg-1.6.1.901-1.fc11.i586 which unfortunately didn&#8217;t play nicely with version xorg-x11-drv-ati-6.12.2-14.fc11.i586 .&#160; After a brief investigation, the combination resulted in this error:
&#160;/usr/lib/xorg/modules/drivers//radeon_drv.so: undefined symbol: DRIOpenDRMMaster
Ultimately, this had the following effect:

No GUI (System never got as far as showing any graphics let alone KDE, Gnome etc)
No Keyboard functionality:&#160;Couldn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/08/16/fedora-update-undefined-symbol-driopendrmmaster/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Fedora Update: undefined symbol: DRIOpenDRMMaster';
digg_bodytext = 'Following a recent upgrade, Xorg was apparently also updated to version&nbsp;xorg-x11-server-Xorg-1.6.1.901-1.fc11.i586 which unfortunately didn&#8217;t play nicely with version xorg-x11-drv-ati-6.12.2-14.fc11.i586 .&nbsp; After a brief investigation,...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
<p>Following a recent upgrade, <strong>Xorg</strong> was apparently also updated to version&nbsp;<strong>xorg-x11-server-Xorg-1.6.1.901-1.fc11.i586</strong> which unfortunately didn&#8217;t play nicely with version <strong>xorg-x11-drv-ati-6.12.2-14.fc11.i586</strong> .&nbsp; After a brief investigation, the combination resulted in this error:</p>
<p style="margin-left: 40px;"><strong>&nbsp;/usr/lib/xorg/modules/drivers//radeon_drv.so: undefined symbol: DRIOpenDRMMaster</strong></p>
<p>Ultimately, this had the following effect:</p>
<ul>
<li>No GUI (System never got as far as showing any graphics let alone KDE, Gnome etc)</li>
<li>No Keyboard functionality:&nbsp;Couldn&#8217;t open console window with <strong>CTRL-ALT-F1-9</strong> keys.</li>
<li>No mouse functionality.</li>
<li>No error message on the screen.&nbsp; Just an empty screen.</li>
</ul>
<p>Not good.&nbsp; The system was frozen and unresponsive and nothing I tried on the terminal did anything.&nbsp; Here&#8217;s how to go a about solving this issue.</p>
<p>&nbsp;<span id="more-1323"></span></p>
<p><span style="font-size: medium;"><strong>SOLUTION</strong></span></p>
<p>The quick solution to this, as it turned out after a more extensive investigation, was to update the <strong>Xorg</strong> RPM&#8217;s.&nbsp; Here&#8217;s the procedure:</p>
<ul>
<li><strong>wget <a href="ftp://rpmfind.net/linux/fedora/updates/testing/11/i386/xorg-x11-server-Xorg-1.6.2-3.fc11.i586.rpm" rel="nofollow">ftp://rpmfind.net/linux/fedora/updates/testing/11/i386/xorg-x11-server-Xorg-1.6.2-3.fc11.i586.rpm</a></strong></li>
<li><strong>wget <a href="ftp://rpmfind.net/linux/fedora/updates/testing/11/i386/xorg-x11-server-common-1.6.2-3.fc11.i586.rpm" rel="nofollow">ftp://rpmfind.net/linux/fedora/updates/testing/11/i386/xorg-x11-server-common-1.6.2-3.fc11.i586.rpm</a></strong></li>
<li><strong>rpm -Uvh xorg-x11-server-Xorg-1.6.2-3.fc11.i586.rpm xorg-x11-server-common-1.6.2-3.fc11.i586.rpm</strong></li>
</ul>
<p>Following the above, you&#8217;ll either need a restart or to simply run:</p>
<ul>
<li><strong>init 3</strong></li>
<li>Then <strong>init 5</strong></li>
</ul>
<p>First, this will bring you to level 3 or non GUI stage of the boot up process.&nbsp; <strong>init 5</strong> will bring you to the GUI stage where you can login to your favorite <strong>UI</strong> like <strong>KDE</strong>&nbsp;or <strong>GNOME</strong>.&nbsp; And that resolved the issue for me.</p>
<p>&nbsp;</p>
<p><strong>Wait!&nbsp; How do I&nbsp;get into my system now if the keyboard, mouse and video aren&#8217;t working?</strong></p>
<p>There are really two ways I&nbsp;used.&nbsp; First option was to use another computer on my home network to get into the problematic PC so I can get things fixed up:</p>
<ul>
<li>In a Windows PC, I&nbsp;installed PUTTY.&nbsp; You can get the application from <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" rel="nofollow">here</a>.</li>
<li>Using PUTTY, SSH&nbsp;to your Workstation over your home network.&nbsp;</li>
<li>You should now be into your Workstations CLI.</li>
</ul>
<p>The second way was to edit the boot grub startup options when the system starts up so you end up in <strong>init level 1</strong>.&nbsp; Here&#8217;s how to do this:</p>
<ul>
<li>Start up your system.&nbsp; When the GRUB&nbsp;menu comes up, use the arrow keys to highlight the kernel you want to boot.</li>
<li>Instead of clicking ENTER&nbsp;on the kernel, press the letter <strong>e</strong>.&nbsp; This will let you edit the boot parameters.</li>
<li>You may see a label that looks like this:&nbsp;<strong>kernel /vmlinuz-2.6.29.6-217.2.3.fc11.i586 ro root=LABEL=/</strong></li>
<li>Add <strong> single</strong> to the end of it including a space in front to make it look like this:<br />
    <strong>kernel /vmlinuz-2.6.29.6-217.2.3.fc11.i586 ro root=LABEL=/ </strong><span style="color: rgb(0, 204, 0);"><strong>single</strong></span></li>
<li>Now press enter to confirm the settings then press the <strong>b</strong> key to boot the above line.&nbsp; This will bring you to the command line <strong>init level 1</strong> of the system.&nbsp; (<strong>init 5</strong> is the <strong>GUI</strong>&nbsp;you can&#8217;t start on account of above problem)</li>
</ul>
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong>INVESTIGATION</strong></span></p>
<p>The investigation for this one was a bit tricky and lengthy.&nbsp; For one, <strong>/var/log/Xorg.0.log</strong> had no errors or warnings applicable to the above.&nbsp; There were basically no <strong>WW</strong> or <strong>EE</strong> marked items in the above file.&nbsp; The <strong>WW</strong> stands for <strong>warning</strong> and the <strong>EE</strong> stands for <strong>error</strong>.&nbsp; There was no messages on the screen either.&nbsp; Naturally since this appears video related, I&nbsp;look into <strong>/etc/X11/xorg.conf</strong> but don&#8217;t notice any changes there.&nbsp; First I try to copy this xorg.conf file out to <strong>old.xorg.conf</strong> and restart so the system regenerates it&#8217;s own config file.&nbsp; That doesn&#8217;t work either so I know my <strong>xorg.conf</strong> couldn&#8217;t be at fault.&nbsp; Checking the main system log <strong>/var/log/messages</strong> yielded many of these:</p>
<blockquote>
<p>Aug&nbsp; 9 07:06:26 lhs gdm-binary[2930]: WARNING: GdmDisplay: display lasted 0.234230 seconds<br />
Aug&nbsp; 9 07:06:26 lhs gdm-binary[2930]: WARNING: GdmDisplay: display lasted 0.201843 seconds<br />
Aug&nbsp; 9 07:06:26 lhs gdm-binary[2930]: WARNING: GdmDisplay: display lasted 0.203118 seconds<br />
Aug&nbsp; 9 07:06:26 lhs gdm-binary[2930]: WARNING: GdmDisplay: display lasted 0.202416 seconds<br />
Aug&nbsp; 9 07:06:27 lhs gdm-binary[2930]: WARNING: GdmDisplay: display lasted 0.205379 seconds<br />
Aug&nbsp; 9 07:06:27 lhs gdm-binary[2930]: WARNING: GdmDisplay: display lasted 0.215556 seconds<br />
Aug&nbsp; 9 07:06:27 lhs <span style="color: rgb(255, 0, 0);">gdm-binary</span>[2930]: WARNING: GdmLocalDisplayFactory: maximum number of X display failures reached: <span style="color: rgb(255, 153, 0);">check X server log for errors</span><br />
Aug&nbsp; 9 07:06:27 lhs init: prefdm main process (2930) terminated with status 1<br />
Aug&nbsp; 9 07:06:27 lhs init: <span style="color: rgb(255, 0, 0);">prefdm</span> main process ended, respawning</p>
</blockquote>
<p>Notice <strong>prefdm</strong> and <strong>gdm-binary</strong>.&nbsp; I&nbsp;really had no idea what these were but possibly these could just be scripts.&nbsp; So a quick search:</p>
<p style="margin-left: 40px;"><strong>$ locate prefdm</strong><br />
/etc/X11/prefdm<br />
/etc/event.d/prefdm<br />
$</p>
<p>Quickly checking the files it&#8217;s clear they are both scripts and <strong>/etc/event.d/prefdm</strong> calls <strong>/etc/X11/prefdm</strong>.&nbsp; Editing <strong>/etc/X11/prefdm</strong> it&#8217;s clear it calls <strong>/etc/sysconfig/desktop</strong> which has this setting on my system:</p>
<p style="margin-left: 40px;"><strong>$ cat /etc/sysconfig/desktop</strong><br />
DESKTOP=KDE<br />
DISPLAYMANAGER=GNOME</p>
<p># DISPLAYMANAGER = GNOME<br />
# DISPLAYMANAGER = KDE<br />
# DISPLAYMANAGER = WDM<br />
# DISPLAYMANAGER = XDM<br />
You have new mail in /var/spool/mail/root<br />
$</p>
<p>So what does all of this mean for us?&nbsp; Unfortunately, not that much however it does tell us the sequence the startup is taking towards the error.&nbsp; At this point it could be anything and I&#8217;m not much closer to what is really causing this problem for me.&nbsp; So the next thing I&nbsp;do is try to find other log files that could point me further in the right direction:</p>
<ul>
<li>cd /var/log</li>
<li>ls -al Xorg*</li>
</ul>
<p>which results in a bunch of Xorg files one of which is <strong>/var/log/Xorg.setup.log</strong>.&nbsp; Checking this file I see:</p>
<blockquote>
<p><strong>$ cat Xorg.setup.log</strong></p>
<p>X.Org X Server 1.6.1.901 (1.6.2 RC 1)<br />
Release Date: 2009-5-8<br />
X Protocol Version 11, Revision 0<br />
Build Operating System: Linux 2.6.18-128.1.6.el5 i686<br />
Current Operating System: Linux lhs.localhostservers 2.6.29.6-217.2.3.fc11.i586 #1 SMP Wed Jul 29 15:46:46 EDT 2009 i686<br />
Kernel command line: ro root=LABEL=/<br />
Build Date: 18 May 2009&nbsp; 02:47:59PM<br />
Build ID: xorg-x11-server 1.6.1.901-1.fc11<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Before reporting problems, check http://wiki.x.org<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to make sure that you have the latest version.<br />
Markers: (&#8211;) probed, (**) from config file, (==) default setting,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (++) from command line, (!!) notice, (II) informational,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (WW) warning, (EE) error, (NI) not implemented, (??) unknown.<br />
(++) Log file: &quot;/dev/null&quot;, Time: Wed Aug 12 22:55:23 2009<br />
(++) Using config file: &quot;/tmp/tmpYZhMwdxorg.config&quot;<br />
<strong>/usr/bin/Xorg: symbol lookup error: /usr/lib/xorg/modules/drivers//radeon_drv.so: undefined symbol: DRIOpenDRMMaster</strong><br />
$</p>
</blockquote>
<p>which seams to indicate the problem is with either <strong>/usr/bin/Xorg</strong> or the <strong>/usr/lib/xorg/modules/drivers/radeon_drv.so</strong>.&nbsp; In fact, at the same time I notice a <strong>/var/log/gdm</strong> folder and checking files there also shows the same errors.&nbsp; The radeon driver is the standard radeon driver supplied with Fedora from the <strong>Xorg</strong> project.&nbsp; There is an issue with the log file however, it&#8217;s slightly old and doesn&#8217;t match my last system restart so possibly it&#8217;s not related.&nbsp; So to confirm, I run <strong>/usr/bin/Xorg</strong> to see if it truly shows the same error and it does:</p>
<blockquote>
<p>$ /usr/bin/Xorg<br />
X.Org X Server 1.6.1.901 (1.6.2 RC 1)<br />
Release Date: 2009-5-8<br />
X Protocol Version 11, Revision 0<br />
Build Operating System: Linux 2.6.18-128.1.6.el5 i686<br />
Current Operating System: Linux lhs.localhostservers<br />
2.6.29.6-217.2.3.fc11.i586<br />
#1 SMP Wed Jul 29 15:46:46 EDT 2009 i686<br />
Kernel command line: ro root=LABEL=/<br />
Build Date: 18 May 2009&nbsp; 02:47:59PM<br />
Build ID: xorg-x11-server 1.6.1.901-1.fc11<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Before reporting problems, check http://wiki.x.org<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to make sure that you have the latest version.<br />
Markers: (&#8211;) probed, (**) from config file, (==) default setting,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (++) from command line, (!!) notice, (II) informational,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (WW) warning, (EE) error, (NI) not implemented, (??) unknown.<br />
(==) Log file: &quot;/var/log/Xorg.0.log&quot;, Time: Wed Aug 12 22:55:46 2009<br />
(==) Using config file: &quot;/etc/X11/xorg.conf&quot;<br />
<strong>/usr/bin/Xorg: symbol lookup error: /usr/lib/xorg/modules/drivers//radeon_drv.so: undefined symbol: DRIOpenDRMMaster<br />
</strong>$</p>
</blockquote>
<p>Now I&nbsp;know the error is either with <strong>/usr/lib/Xorg</strong> or with the radeon drivers which is astronomically better then what I initially started with.&nbsp; Naturally I decide to look into the driver and end up trying a few things that in the end don&#8217;t work:</p>
<ul>
<li>Get an older copy of the radeon, extract <strong>radeon_drv.so</strong> then copy it over to the drivers folder above.</li>
<li>Disable this driver in <strong>xorg.conf</strong>.</li>
<li>Try to get and use the <a href="http://support.amd.com/us/gpudownload/linux/Legacy/Pages/radeon_linux.aspx?type=2.4.1&amp;product=2.4.1.3.24&amp;lang=English" rel="nofollow">ATI drivers</a>.&nbsp; Unfortunately, ATI&nbsp;decides not to support my card in Kernels 2.6.29 (which is what I&nbsp;now have since F11) so I can&#8217;t use those either.&nbsp; Neither does it appear there will be <a href="http://lists.rpmfusion.org/pipermail/rpmfusion-users/2009-May/000392.html" rel="nofollow">any fglrx drivers</a> that support R500 or earlier releases of ATI cards!&nbsp; This is bad since my dependence will be solely on the Radeon drivers from x.org in future releases.</li>
</ul>
<p>Eventually, I try to look into the <strong>/usr/bin/Xorg</strong> file.&nbsp; I do notice the <strong>xorg-x11-drv-ati-6.12.2-14.fc11.i586</strong> was installed in a recent update I did on Aug 10th, which would suggest the issue is with the driver, however possibly the X server itself hasn&#8217;t caught up yet and is calling <strong>DRIOpenDRMMaster</strong> incorrectly from the new <strong>ATI</strong> driver.&nbsp; A quick look into the <a href="http://x.org" rel="nofollow">http://x.org</a> website quickly reveals some <a href="http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/" rel="nofollow">DRI changes</a> in the ATI&nbsp;video drivers, however not exactly in regards to the error I had.&nbsp; Since&nbsp;I already tried to get updated drivers and that didn&#8217;t work, the other thing to do is to find out if there are updated <strong>Xorg</strong> RPM&#8217;s available that could potentially work.&nbsp; Quickly checking which package holds the <strong>Xorg</strong> executable yields:</p>
<blockquote>
<p><strong>$ rpm -qf /usr/bin/Xorg</strong><br />
xorg-x11-server-Xorg-1.6.1.901-1.fc11.i586<br />
$</p>
</blockquote>
<p>Following that I visit one of my favorite sites <a href="http://rpmfind.net" rel="nofollow">rpmfind.net </a>and end up downloading and updating the above <strong>Xorg</strong> server file with the above mentioned testing RPM&#8217;s in the solution, resolving the issue.</p>
<p>Cheers!<br />
Tom K.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microdevsys.com/WordPress/2009/08/16/fedora-update-undefined-symbol-driopendrmmaster/feed/</wfw:commentRss>
		</item>
		<item>
		<title>LINUX / UNIX: Adding a new SATA harddrive using parted instead of fdisk.</title>
		<link>http://www.microdevsys.com/WordPress/2009/07/28/linux-unix-adding-a-new-sata-harddrive-using-parted-instead-of-fdisk/</link>
		<comments>http://www.microdevsys.com/WordPress/2009/07/28/linux-unix-adding-a-new-sata-harddrive-using-parted-instead-of-fdisk/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 05:22:16 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
		
		<category><![CDATA[NIX Posts]]></category>

		<category><![CDATA[chassis]]></category>

		<category><![CDATA[components]]></category>

		<category><![CDATA[configure]]></category>

		<category><![CDATA[connect]]></category>

		<category><![CDATA[devices]]></category>

		<category><![CDATA[ext2]]></category>

		<category><![CDATA[ext3]]></category>

		<category><![CDATA[ext4]]></category>

		<category><![CDATA[fdisk]]></category>

		<category><![CDATA[file system]]></category>

		<category><![CDATA[format]]></category>

		<category><![CDATA[fstab]]></category>

		<category><![CDATA[hard drive]]></category>

		<category><![CDATA[Hardware]]></category>

		<category><![CDATA[heat]]></category>

		<category><![CDATA[jumper]]></category>

		<category><![CDATA[K8V-X SE]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[logical]]></category>

		<category><![CDATA[manual]]></category>

		<category><![CDATA[motherboard]]></category>

		<category><![CDATA[mount]]></category>

		<category><![CDATA[parted]]></category>

		<category><![CDATA[physical]]></category>

		<category><![CDATA[print]]></category>

		<category><![CDATA[raid]]></category>

		<category><![CDATA[sata]]></category>

		<category><![CDATA[sata I]]></category>

		<category><![CDATA[sata II]]></category>

		<category><![CDATA[share]]></category>

		<category><![CDATA[WD2500KS]]></category>

		<category><![CDATA[Western Digital]]></category>

		<category><![CDATA[Windows]]></category>

		<category><![CDATA[xfs]]></category>

		<guid isPermaLink="false">http://www.microdevsys.com/WordPress/?p=1284</guid>
		<description><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/07/28/linux-unix-adding-a-new-sata-harddrive-using-parted-instead-of-fdisk/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'LINUX / UNIX: Adding a new SATA harddrive using parted instead of fdisk.';
digg_bodytext = 'Here we&#8217;ll go over how to connect, configure and format a SATA I / II hard drive on Linux.&nbsp; The intent for this drive ultimately was to share the drive through SAMBA&nbsp;between our home PC&#8217;s and to hold home movies from the Sony HDR-SR7...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
Here we&#8217;ll go over how to connect, configure and format a SATA I / II hard drive on Linux.&#160; The intent for this drive ultimately was to share the drive through SAMBA&#160;between our home PC&#8217;s and to hold home movies from the Sony HDR-SR7 camcorder I have.&#160; Ultimately, I will be using this drive and [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/07/28/linux-unix-adding-a-new-sata-harddrive-using-parted-instead-of-fdisk/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'LINUX / UNIX: Adding a new SATA harddrive using parted instead of fdisk.';
digg_bodytext = 'Here we&#8217;ll go over how to connect, configure and format a SATA I / II hard drive on Linux.&nbsp; The intent for this drive ultimately was to share the drive through SAMBA&nbsp;between our home PC&#8217;s and to hold home movies from the Sony HDR-SR7...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
<p>Here we&#8217;ll go over how to <strong>connect</strong>, <strong>configure</strong> and <strong>format</strong> a SATA I / II hard drive on Linux.&nbsp; The intent for this drive ultimately was to <a href="http://www.microdevsys.com/WordPress/2009/07/27/networking-sharing-folders-between-windows-and-linux-using-samba/">share the drive through <strong>SAMBA</strong>&nbsp;between our home PC&#8217;s</a> and to hold home movies from the <strong>Sony HDR-SR7</strong> camcorder I have.&nbsp; Ultimately, I will be using this drive and <strong>ffmpeg</strong> to convert movies from <strong>M2TS</strong> format to <strong>AVI</strong> format using the <strong>x264</strong> codec available on Linux.&nbsp; I&#8217;ll need the space.</p>
<p>Here&#8217;s how to go about doing just this:</p>
<p><span id="more-1284"></span>The first thing you will need to do is to connect the drive.&nbsp; My system already had two drives and I did not want to pack things any tighter as I would like to ensure space between devices.&nbsp; This is to reduce heat buildup between hardware components.&nbsp; Here&#8217;s an image on how I ended up connecting the whole lot:</p>
<p align="center"><img alt="Device Setup showing spaces between components." src="http://www.microdevsys.com/WordPressImages/SataDrive_Drive_Connection.jpeg" /></p>
<p>The drive I have is an older <a href="http://wdc.custhelp.com/cgi-bin/wdc.cfg/php/enduser/std_adp.php?p_faqid=1343&amp;p_created=#jumper" rel="nofollow">Western Digital WD2500KS</a> drive that&#8217;s been virtually sitting around collecting dust.&nbsp; The motherboard is a <a href="http://ca.asus.com/products.aspx?l1=3&amp;l2=14&amp;l3=67&amp;l4=0&amp;model=790&amp;modelmenu=1" rel="nofollow">K8V-X SE</a>.&nbsp; Because the motherboard didn&#8217;t support <strong>SATA&nbsp;II</strong> as I found out after checking the manual, the first order of business was to downgrade the drive to <strong>SATA&nbsp;I</strong> using the jumper 5-6 settings :</p>
<p align="center"><img alt="Enabling SATA I through jumper 5-6" src="http://www.microdevsys.com/WordPressImages/SataDrive_Jumper5-6.jpeg" /></p>
<p>The motherboard supports Raid 0, 1 through <strong>SATA I</strong> (Version 1.0) however no <strong>SATA&nbsp;II</strong> (Version 2.0).&nbsp; No choice here.</p>
<p>&nbsp;</p>
<p><u><span style="font-size: medium;"><strong> LINUX:&nbsp;PREPARING&nbsp;THE&nbsp;DRIVE</strong></span></u></p>
<table border="0" width="100%" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td><strong>STEP</strong></td>
<td width="20%"><strong>DESCRIPTION</strong></td>
<td><strong>COMMAND</strong></td>
</tr>
<tr>
<td><strong>1</strong></td>
<td width="20%">Check if Linux can see the drive.</td>
<td>
<p>Run:</p>
<p style="margin-left: 40px;"><strong># fdisk -l</strong><br />
            .<br />
            .<br />
            Disk <span style="color: rgb(51, 102, 255);"><strong>/dev/sdc</strong></span>: 250.0 GB, 250059350016 bytes<br />
            255 heads, 63 sectors/track, 30401 cylinders<br />
            Units = cylinders of 16065 * 512 = 8225280 bytes<br />
            Disk identifier: 0&#215;000f0f3b<br />
            .<br />
            .<br />
            <strong>#</strong></p>
<p>If you get output similar to above, Linux can see your drive.&nbsp; Note that device <strong>/dev/sdc</strong> has been assigned to it.</p>
</td>
</tr>
<tr>
<td>&nbsp;<strong>2</strong></td>
<td width="20%">Start partitioning tool on the device from <strong>step 2</strong>.</td>
<td>
<p>To start the <strong>parted CLI </strong>run below:</p>
<p style="margin-left: 40px;"><strong># parted /dev/sdc</strong><br />
            GNU Parted 1.8.8<br />
            Using /dev/sdc<br />
            Welcome to GNU Parted! Type &#8216;help&#8217; to view a list of commands.<br />
            <strong>(parted) print</strong><br />
            Model: ATA WDC WD2500KS-00M (scsi)<br />
            Disk /dev/sdc: 250GB<br />
            Sector size (logical/physical): 512B/512B<br />
            Partition Table: msdos</p>
<p>            Number&nbsp; Start&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp; Size&nbsp;&nbsp;&nbsp; Type&nbsp;&nbsp;&nbsp;&nbsp; File system&nbsp; Flags<br />
            &nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 32.3kB&nbsp; 206MB&nbsp;&nbsp; 206MB&nbsp;&nbsp; primary&nbsp; ext2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boot<br />
            &nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 206MB&nbsp;&nbsp; 4310MB&nbsp; 4104MB&nbsp; primary&nbsp; linux-swap<br />
            &nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4310MB&nbsp; 250GB&nbsp;&nbsp; 246GB&nbsp;&nbsp; primary&nbsp; ext2</p>
<p>            <strong>(parted) </strong></p>
<p>Notice we used the parted <strong>print</strong> command to get some basic drive information including some old partitions still existing on the disk.</p>
</td>
</tr>
<tr>
<td>&nbsp;<strong>3</strong></td>
<td width="20%">
<p><span style="color: rgb(255, 0, 0);"><strong>WARNING:</strong></span> This step is not necessary if you have an empty drive.&nbsp; As in my case I&nbsp;have a number of old partitions I will need to remove. <span style="color: rgb(255, 0, 0);">ANY DRIVE DATA ON THESE PARTITIONS WILL BE DESTROYED.</span></p>
<p>&nbsp;</p>
</td>
<td valign="top">
<p>Unlike <strong>fdisk</strong>, <strong>parted</strong> instantly removes the partition from the disk when you run the remove commands below.&nbsp; For this reason, I believe <strong>parted</strong> is unsafe in this respect compared to <strong>fdisk</strong>.&nbsp; <strong>fdisk</strong> will verify and only write data to the disk upon exit.&nbsp; Here&#8217;s how to remove any old partitions:</p>
<p style="margin-left: 40px;"><strong>(parted) rm 1<br />
            (parted) rm 2<br />
            (parted) rm 3</strong><br />
            <strong>(parted) print</strong><br />
            Model: ATA WDC WD2500KS-00M (scsi)<br />
            Disk /dev/sdc: 250GB<br />
            Sector size (logical/physical): 512B/512B<br />
            Partition Table: msdos</p>
<p>            Number&nbsp; Start&nbsp; End&nbsp; Size&nbsp; Type&nbsp; File system&nbsp; Flags</p>
<p>            <strong>(parted)</strong></p>
<p>All partitions were removed.</p>
</td>
</tr>
<tr>
<td>&nbsp;<strong>4</strong></td>
<td width="20%">Create a new partition.&nbsp; Here, I was not interested in making a bootable filesystem.&nbsp; I was just interested in creating one large formatted disk partition for file storage and <a href="http://www.microdevsys.com/WordPress/2009/07/27/networking-sharing-folders-between-windows-and-linux-using-samba/" rel="nofollow">sharing</a> purposes.</td>
<td>
<p>To make a new partition, it&#8217;s good to find out what type of partitions are available through <strong>parted</strong>.&nbsp; The command to make a partition is <strong>mkpart </strong>(type <strong>(parted) </strong><strong>help</strong> to show other commands).&nbsp; So to find out what parameters I needed to specify to <strong>mkpart</strong>, I typed:</p>
<p style="margin-left: 40px;"><strong>(parted) help mkpart</strong><br />
            &nbsp; mkpart PART-TYPE [FS-TYPE] START END&nbsp;&nbsp;&nbsp;&nbsp; make a partition</p>
<p>            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PART-TYPE is one of: primary, logical, extended<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FS-TYPE is one of: ext3, ext2, fat32, fat16, hfsx, hfs+, hfs, jfs, linux-swap, ntfs, reiserfs, hp-ufs, sun-ufs, xfs, apfs2, apfs1, asfs, amufs5, amufs4,<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amufs3, amufs2, amufs1, amufs0, amufs, affs7, affs6, affs5, affs4, affs3, affs2, affs1, affs0<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; START and END are disk locations, such as 4GB or 10%.&nbsp; Negative values count from the end of the disk.&nbsp; For example, -1s specifies exactly the last<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sector.</p>
<p>            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;mkpart&#8217; makes a partition without creating a new file system on the partition.&nbsp;FS-TYPE may be specified to set an appropriate partition ID.</p>
<p>I followed this by running this line:</p>
<p style="margin-left: 40px;"><strong>(parted) mkpartfs primary ext2 0 -1s</strong><br />
            writing per-group metadata&#8230; 85%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (time left 00:13)</p>
<p>And verified the created partition with (I used <strong>ext2</strong> in this case as ext3 did not work for me in parted):</p>
<p style="margin-left: 40px;"><strong>(parted) print</strong><br />
            Model: ATA WDC WD2500KS-00M (scsi)<br />
            Disk /dev/sdc: 250GB<br />
            Sector size (logical/physical): 512B/512B<br />
            Partition Table: msdos</p>
<p>            Number&nbsp; Start&nbsp; End&nbsp;&nbsp;&nbsp; Size&nbsp;&nbsp; Type&nbsp;&nbsp;&nbsp;&nbsp; File system&nbsp; Flags<br />
            &nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512B&nbsp;&nbsp; 250GB&nbsp; 250GB&nbsp; primary&nbsp; ext2</p>
<p>            <strong>(parted) quit<br />
            #<br />
            </strong></p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td><strong>5</strong></td>
<td width="20%">Verify with fdisk that the partition exists and mount it.</td>
<td>
<p>Again, run fdisk to check the status of the new partition:</p>
<p style="margin-left: 40px;"><strong># fdisk -l /dev/sdc</strong></p>
<p>            Disk /dev/sdc: 250.0 GB, 250059350016 bytes<br />
            255 heads, 63 sectors/track, 30401 cylinders<br />
            Units = cylinders of 16065 * 512 = 8225280 bytes<br />
            Disk identifier: 0&#215;000f0f3b</p>
<p>            &nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />
            /dev/sdc1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30402&nbsp;&nbsp; 244198583+&nbsp; 83&nbsp; Linux<br />
            <strong>#</strong></p>
<p>Create a folder such as <strong>/mnt/homevideos</strong> or <strong>/media/sdc-drive</strong> like this:</p>
<p style="margin-left: 40px;"><strong># mkdir /mnt/homevideos</strong></p>
<p>OR</p>
<p style="margin-left: 40px;"><strong># /media/sdc-drive</strong></p>
<p>Mount the new drive:</p>
<p style="margin-left: 40px;"><strong># mount -v /dev/sdc1 /mnt/homevideos</strong></p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td><strong>6</strong></td>
<td width="20%">Add the configuration to <strong>/etc/fstab</strong> to mount the drive everytime you start up.</td>
<td>
<p>Add this entry to the <strong>/etc/fstab</strong> file to automount the partition whenever the system is booted up:</p>
<p style="margin-left: 40px;"><strong># cat /etc/fstab</strong><br />
            .<br />
            .<br />
            /dev/sdc1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /mnt/homevideos&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ext2&nbsp;&nbsp;&nbsp; defaults&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0<br />
            .<br />
            .<br />
            <strong>#</strong></p>
<p><strong>You&#8217;re done!</strong></p>
</td>
</tr>
</tbody>
</table>
<p>Granted, <strong>EXT2</strong> filesystem really isn&#8217;t the best choice here and when I have time I&#8217;ll see if I can change that to either <strong>XFS</strong>, <strong>EXT3</strong> or better yet, <strong>EXT4</strong>.&nbsp; Unfortunately, <strong>EXT3</strong> and <strong>XFS</strong>&nbsp;were not available through parted.</p>
<p>Cheers!<br />
Tom K.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microdevsys.com/WordPress/2009/07/28/linux-unix-adding-a-new-sata-harddrive-using-parted-instead-of-fdisk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Networking: Sharing folders between Windows and Linux using Samba</title>
		<link>http://www.microdevsys.com/WordPress/2009/07/27/networking-sharing-folders-between-windows-and-linux-using-samba/</link>
		<comments>http://www.microdevsys.com/WordPress/2009/07/27/networking-sharing-folders-between-windows-and-linux-using-samba/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 19:53:50 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
		
		<category><![CDATA[NIX Posts]]></category>

		<category><![CDATA[Windows]]></category>

		<category><![CDATA[Called name not present]]></category>

		<category><![CDATA[cifs]]></category>

		<category><![CDATA[connect]]></category>

		<category><![CDATA[EXT]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[map]]></category>

		<category><![CDATA[mount]]></category>

		<category><![CDATA[networking]]></category>

		<category><![CDATA[NTFS]]></category>

		<category><![CDATA[NT_STATUS_ACCESS_DENIED]]></category>

		<category><![CDATA[NT_STATUS_BAD_NETWORK_NAME]]></category>

		<category><![CDATA[NT_STATUS_CONNECTION_REFUSED]]></category>

		<category><![CDATA[password]]></category>

		<category><![CDATA[permission denied]]></category>

		<category><![CDATA[samba]]></category>

		<category><![CDATA[Samba GUI]]></category>

		<category><![CDATA[SAMBA Printers]]></category>

		<category><![CDATA[Service MUST be printable]]></category>

		<category><![CDATA[share]]></category>

		<category><![CDATA[sharing]]></category>

		<category><![CDATA[smb]]></category>

		<category><![CDATA[smbclient]]></category>

		<category><![CDATA[smbpasswd]]></category>

		<category><![CDATA[testparm]]></category>

		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.microdevsys.com/WordPress/?p=1256</guid>
		<description><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/07/27/networking-sharing-folders-between-windows-and-linux-using-samba/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Networking: Sharing folders between Windows and Linux using Samba';
digg_bodytext = 'There are plenty of ways to share resources and files between two or more computers.&nbsp; You could do things like:Email yourself an attachment.Use FTP between the two PC&#8217;s.Use SSH between the two computers.Use sneaker-net: copy the files to Flash...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
There are plenty of ways to share resources and files between two or more computers.&#160; You could do things like:

Email yourself an attachment.
Use FTP between the two PC&#8217;s.
Use SSH between the two computers.
Use sneaker-net: copy the files to Flash Disk, DVD, CD, (gulp) floppy etc. and walk over to the other computer then load them [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/07/27/networking-sharing-folders-between-windows-and-linux-using-samba/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Networking: Sharing folders between Windows and Linux using Samba';
digg_bodytext = 'There are plenty of ways to share resources and files between two or more computers.&nbsp; You could do things like:Email yourself an attachment.Use FTP between the two PC&#8217;s.Use SSH between the two computers.Use sneaker-net: copy the files to Flash...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
<p>There are plenty of ways to share resources and files between two or more computers.&nbsp; You could do things like:</p>
<ul>
<li>Email yourself an attachment.</li>
<li>Use <strong>FTP</strong> between the two PC&#8217;s.</li>
<li>Use <strong>SSH</strong> between the two computers.</li>
<li>Use <strong>sneaker-net</strong>: copy the files to <strong>Flash Disk</strong>, <strong>DVD</strong>, <strong>CD</strong>, <strong>(gulp) floppy</strong> etc. and walk over to the other computer then load them up.</li>
<li>Copy the file by hand.</li>
<li><strong>etc </strong>(It pretty much just goes downhill from here)<strong>.</strong></li>
</ul>
<p>Or you could enable&nbsp;<strong>NFS</strong>&nbsp;or better yet, as we will discuss here, use <strong>SAMBA</strong>&nbsp;and share entire folders, allowing you to simply save to a shared folder making the file / folder visible from other PC&#8217;s on your network.&nbsp;</p>
<p>We will therefore do two things over the network in this post using <strong>SAMBA</strong>:</p>
<ul>
<li>Mount <strong>Windows</strong> shared folders on <strong>Linux</strong>.</li>
<li>Map <strong>Linux</strong> shared folders (Using Map Network Drive&#8230; option) on <strong>Windows</strong>.</li>
</ul>
<p>This of course will be different then simply mounting partitions on the same machine as we have outlined in <a title="Edit &quot;Windows / Linux: Mutually accessing various filesystems on the same PC.&quot;" rel="nofollow" href="http://www.microdevsys.com/WordPress/2007/06/29/windows-linux-mutually-accessing-various-filesystems-on-the-same-pc/" class="row-title">Windows / Linux: Mutually accessing various filesystems on the same PC.</a> since will be doing this type of sharing over the network instead of just on the same PC.&nbsp; In this post we will share folders between <strong>Fedora</strong><span style="font-weight: bold;"> Linux </span>and <strong>Windows</strong>, though the general config of the applications can apply to other distributions.&nbsp; Here&#8217;s how to get this done:</p>
<p><span id="more-1256"></span></p>
<p><a name="SAMBA_Win_Linux-mWonL"><u><span style="font-size: large;"><strong>LINUX : Mounting Shared Windows folders on Linux</strong></span></u></a><span style="font-size: large;"><strong><br />
</strong></span></p>
<p>Here are the steps in order to get SMB / SAMBA configured on the Linux host to see a windows shared path:</p>
<table border="0" align="left" width="100%" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td valign="top"><strong>STEP</strong></td>
<td width="35%" valign="top"><strong>DESCRIPTION</strong></td>
<td valign="top"><strong>COMMAND</strong></td>
</tr>
<tr>
<td valign="top"><strong>1</strong></td>
<td width="35%" valign="top">Check if you have the necessary packages, commands and daemons running.&nbsp; (If you get <strong>command  not found</strong> or <strong>No such file or directory</strong>, you&#8217;ll need to install these prior to going further with the installation.)</td>
<td valign="top">
<p>Run the below to check if <strong>chkconfig</strong> and the <strong>SAMBA</strong> RPM&#8217;s are installed:</p>
<p style="margin-left: 40px;"><strong># which chkconfig</strong><br />
            /sbin/chkconfig<br />
            <strong>#</strong></p>
<p>            <strong># rpm -aq|egrep -i &quot;smb|samba&quot;</strong><br />
            .<br />
            samba-client-3.3.2-0.33.fc11.i586<br />
            .<br />
            <strong>#</strong></p>
<p>If anyone is missing, you can use:</p>
<p style="margin-left: 40px;"><strong># nice -n 19 yum search samba</strong></p>
<p>to get a list of available packages to install from.</p>
<p>Check if the smb daemon is installed:</p>
<p style="margin-left: 40px;"><strong># chkconfig &#8211;list smb</strong><br />
            smb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:off&nbsp;&nbsp; 1:off&nbsp;&nbsp; 2:off&nbsp;&nbsp; 3:off&nbsp;&nbsp; 4:off&nbsp;&nbsp; 5:on&nbsp;&nbsp;&nbsp; 6:off<br />
            <strong>#</strong></p>
<p>If nothing comes back other then the prompt, check if the service exists:</p>
<p style="margin-left: 40px;"><strong># ls -al /etc/init.d/smb</strong><br />
            -rwxr-xr-x 1 root root 1745 2009-03-26 16:49 /etc/init.d/smb<br />
            <strong>#</strong></p>
<p>and enable it in this manner:</p>
<p style="margin-left: 40px;"><strong># chkconfig &#8211;add smb 5</strong></p>
<p>to add it to run level 5 (Linux GUI stage).&nbsp; Samba comes with an comprehensive set of commands to choose from.&nbsp; Those most important to this post are <strong>enbolded</strong>:</p>
<p style="margin-left: 40px;">/usr/bin/findsmb<br />
            /usr/bin/mksmbpasswd.sh<br />
            /usr/bin/smbcacls<br />
            <strong>/usr/bin/smbclient</strong><br />
            /usr/bin/smbcontrol<br />
            /usr/bin/smbcquotas<br />
            /usr/bin/smbencrypt<br />
            /usr/bin/smbget<br />
            <strong>/usr/bin/smbpasswd</strong><br />
            /usr/bin/smbprint<br />
            /usr/bin/smbspool<br />
            /usr/bin/smbstatus<br />
            /usr/bin/smbtar<br />
            /usr/bin/smbtree</p>
<p>&nbsp;To find out version of package owning above files use:</p>
<p style="margin-left: 40px;"><strong># rpm -qf /usr/bin/smbclient</strong><br />
            samba-client-3.3.2-0.33.fc11.i586<br />
            <strong>#</strong></p>
<p>Finally, you can use:</p>
<p style="margin-left: 40px;"><strong># ps -ef |grep smbd</strong><br />
            root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2026&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 0 Jul23 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 smbd -D<br />
            root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2046&nbsp; 2026&nbsp; 0 Jul23 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 smbd -D<br />
            root&nbsp;&nbsp;&nbsp;&nbsp; 14524&nbsp; 2026&nbsp; 0 Jul25 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 smbd -D<br />
            <strong>#</strong></p>
<p>to ensure it is in fact running.</p>
<p>If the daemon is not running you can restart it by running:</p>
<p><strong># service smb restart</strong></p>
<p>OR</p>
<p><strong># /etc/init.d/smb restart</strong></p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top"><strong>2</strong></td>
<td width="35%" valign="top">Share a folder on the Windows PC so it is visible.&nbsp; Before you can access the remote folders through Linux, they need to be shared first on the remote Windows PC.</td>
<td valign="top">
<ul>
<li>In Windows, right click on the start button then choose <br />
                <strong>Explore</strong><br />
                OR<br />
                <strong>Explore All Users</strong></li>
<li>Browse to or create a folder you would like to share such as <strong>C:\HomeMovies</strong> or <strong>I:\HomeMovies</strong> etc.</li>
<li>&nbsp;Right click the folder then select <strong>Properties&#8230;</strong> from the pop up menu.&nbsp; On the popup menu select the <strong>Sharing</strong> tab.&nbsp; You should see this panel:</li>
</ul>
<p><img src="http://www.microdevsys.com/WordPressImages/samba-post_win-sharing_1.jpg" alt="SAMBA: Windows Sharing Properties Popup" /></p>
<p>&nbsp;</p>
<p>Ensure:<strong><br />
            </strong></p>
<ul>
<li><strong>Share this folder on the network</strong> is checked.</li>
<li><strong>Share name:</strong> is set to either the default value or you can type your preference.</li>
<li>If you would like others to modify files on this disk, select <strong>Allow network users to change my files</strong>.&nbsp; This will depend on whether you need to let others modify files there and the who will have access to it.</li>
</ul>
<p>You will notice that after you do this there will now be a blue hand under that folder indicating it is shared:</p>
<p><img alt="SAMBA Shared Folder" src="http://www.microdevsys.com/WordPressImages/samba-post_win-sharing_2.jpg" /></p>
<p>as opposed to:</p>
<p><img alt="SAMBA Non-shared folder." src="http://www.microdevsys.com/WordPressImages/samba-post_win-sharing_3.jpg" /></p>
<p>for non shared folders.<br />
            <strong><span style="color: rgb(51, 102, 255);"><br />
            </span></strong></p>
</td>
</tr>
<tr>
<td valign="top"><strong>3</strong></td>
<td width="35%" valign="top">On <strong>Linux</strong>, verify that the remote <strong>Windows</strong> machine shares are visible.</td>
<td valign="top">
<p>For this, we wil use the <strong>smbclient</strong> command like this:</p>
<p><strong># smbclient -L 192.168.57.7</strong><br />
            Enter root&#8217;s password:<br />
            Domain=[MSWIN_NAME] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]</p>
<p>            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sharename&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Comment<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;-<br />
            .<br />
            .<br />
            .<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HomeVideos &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Disk<br />
            .<br />
            .<br />
            .<br />
            session request to 192.168.0.3 failed (Called name not present)<br />
            session request to 192 failed (Called name not present)<br />
            Domain=[WINPC_NAME] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]</p>
<p>            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Comment<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;-</p>
<p>            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Workgroup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Master<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;-<br />
            <strong>#</strong></p>
<p>At least one shared folder off the remote <strong>Windows</strong> PC should be visible.&nbsp; In this case, <strong>HomeVideos</strong> is visible, which is good.</p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top">&nbsp;<strong>4</strong></td>
<td width="35%" valign="top">Mount the remote <strong>Windows</strong> shared drives and access them as if any <strong>UNIX</strong> folder.</td>
<td valign="top">
<p>Create a mount folder then use the <strong>mount</strong> command to mount the shared drive:&nbsp;</p>
<p><strong># mkdir /mnt/HomeVideos<br />
            # mount -t cifs &quot;//192.168.76.6/HomeVideos&quot; &quot;/mnt/HomeVideos&quot; -ouser=<em>windowsuser</em>,pass=<em>mypassword</em>,domain=WINPC_NAME,rw</strong></p>
<p>though even depending on permissions and setup, the default anonymous user should work (<span style="color: rgb(51, 102, 255);"><strong>see further down</strong></span>):</p>
<p>            <strong># mount -t cifs &quot;//192.168.76.6/HomeVideos&quot; &quot;/mnt/HomeVideos&quot;</strong></p>
<p>            Test the drive by navigating to it and creating a test file:</p>
<p><strong># cd /mnt/HomeVideos<br />
            # touch test-file.txt</strong></p>
<p>On your Windows system, check that the <strong>test-file.txt</strong> exists and remote it.&nbsp; This simulates a short read and write test on both systems.</p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top"><strong>5</strong></td>
<td width="35%" valign="top"><strong>Help!</strong>&nbsp; I&#8217;ve encountered problems!</td>
<td valign="top">
<p>See the <a href="#SAMBA_Win_Linux-Service-Must-Be-Printable"><strong>Q&amp;A</strong></a> below.&nbsp; If you don&#8217;t find the answer there, try to search this post as many errors I&#8217;ve encountered are listed in the <a href="#SAMBA_Win_Linux-Service-Must-Be-Printable"><strong>Q&amp;A</strong></a>.</p>
<p>&nbsp;</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Click below for next page&#8230;</p>
<p>
]]></content:encoded>
			<wfw:commentRss>http://www.microdevsys.com/WordPress/2009/07/27/networking-sharing-folders-between-windows-and-linux-using-samba/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Red Hat Linux Fedora: Fedora 10 to Fedora 11 upgrade.</title>
		<link>http://www.microdevsys.com/WordPress/2009/07/11/red-hat-linux-fedora-fedora-10-to-fedora-11-upgrade/</link>
		<comments>http://www.microdevsys.com/WordPress/2009/07/11/red-hat-linux-fedora-fedora-10-to-fedora-11-upgrade/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 00:30:29 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
		
		<category><![CDATA[NIX Posts]]></category>

		<category><![CDATA[debuglevel]]></category>

		<category><![CDATA[errorlevel]]></category>

		<category><![CDATA[Fedora 10]]></category>

		<category><![CDATA[Fedora 11]]></category>

		<category><![CDATA[KDE 4.0]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[No more mirrors to try]]></category>

		<category><![CDATA[Qt 4]]></category>

		<category><![CDATA[Red Hat]]></category>

		<category><![CDATA[RPM]]></category>

		<category><![CDATA[secure]]></category>

		<category><![CDATA[Transaction Check Error]]></category>

		<category><![CDATA[transition]]></category>

		<category><![CDATA[unable to authenticate user]]></category>

		<category><![CDATA[unix]]></category>

		<category><![CDATA[upgrade]]></category>

		<category><![CDATA[wget]]></category>

		<category><![CDATA[yum -y upgrade]]></category>

		<category><![CDATA[yum clean all]]></category>

		<category><![CDATA[yum update]]></category>

		<guid isPermaLink="false">http://www.microdevsys.com/WordPress/?p=1217</guid>
		<description><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/07/11/red-hat-linux-fedora-fedora-10-to-fedora-11-upgrade/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Red Hat Linux Fedora: Fedora 10 to Fedora 11 upgrade.';
digg_bodytext = 'Well, Fedora 11 has been out for some time now.&nbsp; And though I&#8217;ve been coping with the new KDE 4.0 deployment, my general experience has left me somewhat unsatisfied, though sure enough, there are good points about it.&nbsp; Somehow I&nbsp;don&#8217;t...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
Well, Fedora 11 has been out for some time now.&#160; And though I&#8217;ve been coping with the new KDE 4.0 deployment, my general experience has left me somewhat unsatisfied, though sure enough, there are good points about it.&#160; Somehow I&#160;don&#8217;t feel alone but can&#8217;t help stick with it.&#160;&#160;After all, KDE&#160;4.0 is a COMPLETE&#160;rewrite of KDE [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/07/11/red-hat-linux-fedora-fedora-10-to-fedora-11-upgrade/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Red Hat Linux Fedora: Fedora 10 to Fedora 11 upgrade.';
digg_bodytext = 'Well, Fedora 11 has been out for some time now.&nbsp; And though I&#8217;ve been coping with the new KDE 4.0 deployment, my general experience has left me somewhat unsatisfied, though sure enough, there are good points about it.&nbsp; Somehow I&nbsp;don&#8217;t...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
<p>Well, Fedora 11 has been out for some time now.&nbsp; And though I&#8217;ve been coping with the new KDE 4.0 deployment, my general experience has left me somewhat unsatisfied, though sure enough, there are good points about it.&nbsp; Somehow <a href="http://www.raiden.net/articles/stop_ragging_on_kde4/" rel="nofollow">I&nbsp;don&#8217;t feel alone</a> but can&#8217;t help stick with it.&nbsp;&nbsp;After all, KDE&nbsp;4.0 is a COMPLETE&nbsp;rewrite of KDE in Qt4 and this sort of stuff is to be expected.&nbsp;</p>
<p>With new things comes new apps like KDE&nbsp;4.3 which I&#8217;ve been itching to get my hands on.&nbsp; So with time permitting, I&nbsp;can get to do some updates in hope of getting lot&#8217;s of the old functionality back in KDE or simply adapting to my new environment.&nbsp;</p>
<p>Without further delay it&#8217;s time to do some updates:</p>
<p><span id="more-1217"></span></p>
<p>Before upgrading to Fedora 11, you may want to read about running into possible <a href="http://www.microdevsys.com/WordPress/2009/08/16/fedora-update-undefined-symbol-driopendrmmaster/" rel="nofollow">ATI issues</a> in F11 and <a href="http://lists.rpmfusion.org/pipermail/rpmfusion-users/2009-May/000392.html" rel="nofollow">future support</a> of certain graphics cards:</p>
<ol>
<li>nice -n 19 yum update (If you get <strong>No Packages marked for Update</strong> you are good.)</li>
<li>cd /some/dir</li>
<li>mkdir ./F10toF11</li>
<li>cd ./F10toF11</li>
<li>Ensure you have <strong>debuglevel=10</strong> and <strong>errorlevel=10</strong> enabled in <strong>/etc/yum.conf</strong> in case we need more debugging information.</li>
<li>nice -n 19 yum -y upgrade (should be the same as step 1 above)</li>
<li>nice -n 19 yum clean all</li>
<li>nice -n 19 yum clean all (Just to make sure everything looks clean)</li>
<li>wget <a href="http://download.fedora.redhat.com/pub/fedora/linux/releases/11/Fedora/i386/os/Packages/fedora-release-11-1.noarch.rpm" rel="nofollow"><strong>http://download.fedora.redhat.com/pub/fedora/linux/releases/11/Fedora/i386/os/Packages/fedora-release-11-1.noarch.rpm</strong></a></li>
<li>wget <a href="http://download.fedora.redhat.com/pub/fedora/linux/releases/11/Fedora/i386/os/Packages/fedora-release-notes-11.0.0-2.fc11.noarch.rpm" rel="nofollow"><strong>http://download.fedora.redhat.com/pub/fedora/linux/releases/11/Fedora/i386/os/Packages/fedora-release-notes-11.0.0-2.fc11.noarch.rpm</strong></a></li>
<li>rpm -Uvh fedora-release*.rpm</li>
<li>cat /etc/fedora-release&nbsp; (Make sure &lsquo;<strong>Fedora release 11 (Leonidas)</strong>&lsquo; appears )</li>
<li>nice -n 19 yum -y upgrade 2&gt;&amp;1|tee -a ./F10-to-F11-upgrade.Jul.11.2009.08.09.PM.txt</li>
<li><strong>Refer below for any issues</strong> and repeat from step 12) as necessary.</li>
</ol>
<p><strong>RUNNING INTO PROBLEMS</strong></p>
<p>One of the easiest things to do is to run into problems.&nbsp; If you ever do, try to a search this blog for some solutions I&#8217;ve encountered.&nbsp; For some notable ones that popped up, see the section below.</p>
<p>Aside from the above, this upgrade was no exception to repo errors.&nbsp; Just a note in case you are new here:&nbsp;<strong><span style="color: rgb(255, 0, 0);">CAUTION</span></strong><span style="color: rgb(255, 0, 0);">: </span><strong>Some steps during such upgrades require removal of certain RPM&#8217;s.&nbsp; If it happens that you end up rebooting after deleting an RPM before you fully upgrade, you may end up running into other issues.&nbsp; You have been warned</strong>:</p>
<blockquote>
<p>Error Downloading Packages:<br />
&nbsp; grubby-6.0.87-1.fc11.i586: failure: grubby-6.0.87-1.fc11.i586.rpm from updates: [Errno 256] No more mirrors to try.<br />
&nbsp; 12:dhcp-devel-4.1.0-22.fc11.i586: failure: dhcp-devel-4.1.0-22.fc11.i586.rpm from updates: [Errno 256] No more mirrors to try.<br />
&nbsp; 12:dhcp-4.1.0-22.fc11.i586: failure: dhcp-4.1.0-22.fc11.i586.rpm from updates: [Errno 256] No more mirrors to try.<br />
&nbsp; blender-2.49a-1.fc11.i586: failure: blender-2.49a-1.fc11.i586.rpm from updates: [Errno 256] No more mirrors to try.<br />
&nbsp; 12:dhclient-4.1.0-22.fc11.i586: failure: dhclient-4.1.0-22.fc11.i586.rpm from updates: [Errno 256] No more mirrors to try.<br />
&nbsp; espeak-1.40.02-2.fc11.i586: failure: espeak-1.40.02-2.fc11.i586.rpm from updates: [Errno 256] No more mirrors to try.<br />
&nbsp; gstreamer-plugins-good-0.10.15-3.fc11.i586: failure: gstreamer-plugins-good-0.10.15-3.fc11.i586.rpm from updates: [Errno 256] No more mirrors to try.<br />
&nbsp; 1:dovecot-1.2.0-1.fc11.i586: failure: dovecot-1.2.0-1.fc11.i586.rpm from updates: [Errno 256] No more mirrors to try.<br />
&nbsp; gdb-6.8.50.20090302-33.fc11.i586: failure: gdb-6.8.50.20090302-33.fc11.i586.rpm from updates: [Errno 256] No more mirrors to try.</p>
</blockquote>
<p>So I find by doing some digging ($ <strong>locate yum|grep cache</strong>) out that it&#8217;s storing the updates in <strong>/var/cache/yum/updates/packages</strong> and go to that folder:</p>
<blockquote>
<p><strong>cd /var/cache/yum/updates/packages</strong></p>
</blockquote>
<p>Then locate the repos I need off the web.&nbsp; Unfortunately they&#8217;re off the testing repos so if you&#8217;re reading this, you should weight the risks using these repos, if it&#8217;s right for you before going forward.&nbsp; I&#8217;m running Fedora, bleeding edge stuff, so these are fine for me.&nbsp; I&#8217;ll upgrade later when new updates become available (<strong>NOTE:</strong> I&#8217;m in folder <strong>/var/cache/yum/updates/packages</strong> when I run below commands effectively saving to this folder:</p>
<blockquote>
<p>wget http://mirror.anl.gov/pub/fedora/linux/updates/testing/11/i386/grubby-6.0.87-1.fc11.i586.rpm<br />
wget http://mirror.anl.gov/pub/fedora/linux/updates/testing/11/i386/dhcp-devel-4.1.0-22.fc11.i586.rpm<br />
wget http://mirror.anl.gov/pub/fedora/linux/updates/testing/11/i386/dhcp-4.1.0-22.fc11.i586.rpm<br />
wget http://mirror.anl.gov/pub/fedora/linux/updates/testing/11/i386/blender-2.49a-1.fc11.i586.rpm<br />
wget http://mirror.anl.gov/pub/fedora/linux/updates/testing/11/i386/dhclient-4.1.0-22.fc11.i586.rpm<br />
wget http://mirror.anl.gov/pub/fedora/linux/updates/testing/11/i386/espeak-1.40.02-2.fc11.i586.rpm<br />
wget http://mirror.anl.gov/pub/fedora/linux/updates/testing/11/i386/gstreamer-plugins-good-0.10.15-3.fc11.i586<br />
wget http://mirror.anl.gov/pub/fedora/linux/updates/testing/11/i386/dovecot-1.2.0-1.fc11.i586*<br />
wget http://mirror.anl.gov/pub/fedora/linux/updates/testing/11/i386/dovecot-1.2.0-1.fc11.i586<br />
wget http://mirror.anl.gov/pub/fedora/linux/updates/testing/11/i386/gstreamer-plugins-good-0.10.15-3.fc11.i586.rpm<br />
wget http://mirror.anl.gov/pub/fedora/linux/updates/testing/11/i386/dovecot-1.2.0-1.fc11.i586.rpm</p>
</blockquote>
<p>Running the update again, it then resulted in:</p>
<p>Error Downloading Packages:<br />
&nbsp; 1:dovecot-1.2.0-1.fc11.i586: failure: dovecot-1.2.0-1.fc11.i586.rpm from updates: [Errno 256] No more mirrors to try.<br />
&nbsp; gdb-6.8.50.20090302-33.fc11.i586: failure: gdb-6.8.50.20090302-33.fc11.i586.rpm from updates: [Errno 256] No more mirrors to try.</p>
<p>I couldn&#8217;t find anything for dovecot and gdb matching the above at the moment, leaving me with only the last sensible thing I&nbsp;could do:</p>
<blockquote>
<p>$ <strong>rpm -aq|grep dovecot</strong><br />
dovecot-1.1.16-1.fc10.i386<br />
$ <strong>rpm -e dovecot-1.1.16-1.fc10.i386</strong><br />
$ <strong>rpm -e gdb-6.8-32.fc10.i386</strong><br />
error: Failed dependencies:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdb is needed by (installed) kdbg-1:2.1.0-3.fc10.i386<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdb is needed by (installed) bug-buddy-1:2.24.2-1.fc10.i386<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdb is needed by (installed) ddd-3.3.11-19.fc10.i386<br />
$ <strong>rpm -e kdbg-2.1.0-3.fc10.i38</strong><br />
$ <strong>rpm -e bug-buddy-2.24.2-1.fc10.i386</strong><br />
Could not parse file &#8216;/usr/share/applications/switchdesk.desktop&#8217;: Key file contains line &#8216;????????? ?????????????&#8217; which is not a key-value pair, group, or comment<br />
$ <strong>rpm -e gdb-6.8-32.fc10.i386</strong><br />
$</p>
</blockquote>
<p>And that moved the upgrade forward.&nbsp; Moving right along to rerunning step 13 above, we get this:</p>
<blockquote>
<p>Transaction Check Error:<br />
&nbsp; file /usr/bin/keytab-lilo from install of syslinux-3.75-1.fc11.i586 conflicts with file from package lilo-21.4.4-26.i386<br />
&nbsp; file /etc/rc.d/init.d/iscsi from install of iscsi-initiator-utils-6.2.0.870-8.fc11.i586 conflicts with file from package iscsi-3.1.0.3-4.1.i386<br />
&nbsp; file /sbin/iscsi-iname from install of iscsi-initiator-utils-6.2.0.870-8.fc11.i586 conflicts with file from package iscsi-3.1.0.3-4.1.i386<br />
&nbsp; file /sbin/iscsid from install of iscsi-initiator-utils-6.2.0.870-8.fc11.i586 conflicts with file from package iscsi-3.1.0.3-4.1.i386<br />
&nbsp; file /usr/share/man/man8/iscsid.8.gz from install of iscsi-initiator-utils-6.2.0.870-8.fc11.i586 conflicts with file from package iscsi-3.1.0.3-4.1.i386</p>
</blockquote>
<p>If you look closely, there are really two issues here which can be solved in this manner (By deleting the RPM&#8217;s to the right of the error above):</p>
<blockquote>
<p><strong>$ rpm -e lilo-21.4.4-26.i386<br />
$ rpm -e iscsi-3.1.0.3-4.1.i38</strong></p>
</blockquote>
<p>&nbsp;Rerunning the upgrade, finally gave me after a few hours:</p>
<blockquote>
<p>&nbsp; xorg-x11-drv-spaceorb.i386 0:1.1.0-6.fc9<br />
&nbsp; xorg-x11-drv-summa.i386 0:1.2.0-2.fc10<br />
&nbsp; xorg-x11-drv-tek4957.i386 0:1.2.0-1.fc9<br />
&nbsp; xorg-x11-drv-ur98.i386 0:1.1.0-5.fc9<br />
&nbsp; xorg-x11-drv-wiimote.i386 0:0.0.1-1.fc9</p>
<p>Complete!<br />
You have new mail in /var/spool/mail/root<br />
$</p>
</blockquote>
<p>Sure enough the system booted fine but an old bug (<strong>unable to authenticate user</strong>) came up that was solved for Fedora 10 earlier.&nbsp; This time it required another step.&nbsp; Please see <a href="http://www.microdevsys.com/WordPress/2008/12/05/fedora-10-unable-to-authenticate-user-and-reenabling-the-root-login-access/" rel="nofollow">Fedora 10: unable to authenticate user and reenabling the root login access</a>.</p>
<p><strong>POST UPGRADE</strong></p>
<p>If you have not already done this, you may wish to visit the previous <a href="http://www.microdevsys.com/WordPress/2008/12/05/redhat-linux-fedora-fedora-9-to-fedora-10-upgrade/" rel="nofollow">Fedora 10 upgrade</a> post for both latest bugs and other issues encountered and remedied after the upgrade.&nbsp; There is lot&#8217;s new in Fedora 8 and above, with Fedora 11 not being an exception to that rule, so this upgrade may not be for all if you plan on using KDE.&nbsp; KDE 3.X is worlds different then the newly shipped KDE&nbsp;4.X.&nbsp; Just a word of caution in case you are fully entrentched in the old KDE&nbsp;3 functionality.&nbsp; <img src='http://www.microdevsys.com/WordPress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>A NOTE ABOUT THE ROOT ACCOUNT</strong></p>
<p>Granted we all should be using a non root account.&nbsp; Eventually, I would like to transition to one.&nbsp; I can also understand how the open source community would like to keep their reputation of Linux being a safer operating system then windows.&nbsp; All good things.</p>
<p>In respect of above, I&#8217;ve gone quite some time using the root account form above all else, resolving system errors I&#8217;ve had.&nbsp; Thinking back I&#8217;ve saved countless of hours not using a plain user account and relying on <strong>su</strong> or falling into other restrictions thereby resolving issues that much more difficult.&nbsp; I&nbsp;also do plenty of software configuration and administration which has a rather heavy relieance on previlidged accounts.&nbsp; So for me, <strong>root</strong> is essential until I&nbsp;find time to transition my stuff over.&nbsp;</p>
<p>Cheers!<br />
Tom K.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microdevsys.com/WordPress/2009/07/11/red-hat-linux-fedora-fedora-10-to-fedora-11-upgrade/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WordPress: Dealing with Comment and User Registration Spam.</title>
		<link>http://www.microdevsys.com/WordPress/2009/07/01/wordpress-dealing-with-comment-and-user-registration-spam/</link>
		<comments>http://www.microdevsys.com/WordPress/2009/07/01/wordpress-dealing-with-comment-and-user-registration-spam/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 20:27:17 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
		
		<category><![CDATA[NIX Posts]]></category>

		<category><![CDATA[Web]]></category>

		<category><![CDATA[.htaccess]]></category>

		<category><![CDATA[Akismet]]></category>

		<category><![CDATA[bash]]></category>

		<category><![CDATA[block]]></category>

		<category><![CDATA[botscout.com]]></category>

		<category><![CDATA[CAPTCHA]]></category>

		<category><![CDATA[comment spam]]></category>

		<category><![CDATA[firewall]]></category>

		<category><![CDATA[history]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[phpMyAdmin]]></category>

		<category><![CDATA[reCAPTCHA]]></category>

		<category><![CDATA[registration]]></category>

		<category><![CDATA[script]]></category>

		<category><![CDATA[select]]></category>

		<category><![CDATA[spam]]></category>

		<category><![CDATA[stopforumspam.com]]></category>

		<category><![CDATA[user registration]]></category>

		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[wp_comments]]></category>

		<guid isPermaLink="false">http://www.microdevsys.com/WordPress/?p=1160</guid>
		<description><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/07/01/wordpress-dealing-with-comment-and-user-registration-spam/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'WordPress: Dealing with Comment and User Registration Spam.';
digg_bodytext = 'This is a fine one.&nbsp; Anyone who uses WordPress may need to deal with this.&nbsp; Unfortunately, despite using reCAPTCHA, Akismet still picks up tons of span on my blog.&nbsp; So why am I getting spam comments when I&nbsp;have reCAPTCHA? The answer...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
This is a fine one.&#160; Anyone who uses WordPress may need to deal with this.&#160; Unfortunately, despite using reCAPTCHA, Akismet still picks up tons of span on my blog.&#160; So why am I getting spam comments when I&#160;have reCAPTCHA? The answer could surprise you.
I&#160;really had no idea, but it turned out reCAPTCHA&#160;is marking those that [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/07/01/wordpress-dealing-with-comment-and-user-registration-spam/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'WordPress: Dealing with Comment and User Registration Spam.';
digg_bodytext = 'This is a fine one.&nbsp; Anyone who uses WordPress may need to deal with this.&nbsp; Unfortunately, despite using reCAPTCHA, Akismet still picks up tons of span on my blog.&nbsp; So why am I getting spam comments when I&nbsp;have reCAPTCHA? The answer...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
<p>This is a fine one.&nbsp; Anyone who uses WordPress may need to deal with this.&nbsp; Unfortunately, despite using reCAPTCHA, Akismet still picks up tons of span on my blog.&nbsp; <strong>So why am I getting spam comments when I&nbsp;have reCAPTCHA?</strong> The answer could surprise you.<span id="more-1160"></span></p>
<p>I&nbsp;really had no idea, but it turned out <strong>reCAPTCHA</strong>&nbsp;is marking those that come in as spam and that resulted in them appearing in the <strong>Akismet</strong> spam folder making it <em><strong>appear</strong></em> that <strong>Akismet</strong> caught them.&nbsp; How&#8217;s that for mistaken identify!&nbsp; <a rel="nofollow" href="http://www.microdevsys.com/WordPress/2007/12/29/recaptcha-wordpress-posting-verification/">Some time back when I installed <strong>reCAPTCHA</strong></a> all of a sudden ALL&nbsp;comment spam stopped so I&nbsp;could hardly imagine Akismet doing that.&nbsp; I&nbsp;would imagine spammers are not breaking through the CAPTCHA box but have been reading online that either:</p>
<ol>
<li>CAPTCHA&#8217;s are potentially breakable by software.</li>
<li>Some foreigh workers get payed to do that sort of spam to make CAPTCHA look breakable.</li>
</ol>
<p>I really don&#8217;t know or would like to believe they are unbreakable.&nbsp; I&nbsp;do know I&#8217;m getting spam and I&nbsp;don&#8217;t want it.&nbsp; So off I go seeing how I can deal with this because:</p>
<ol>
<li>I&nbsp;won&#8217;t read, buy or visit any link in a message I feel is spam</li>
<li>The only thing I&#8217;ll do with it is to try to prevent it when I&nbsp;see it.</li>
<li>I really don&#8217;t want these things hitting my site generating extra bandwidth to begin with.</li>
</ol>
<p>I&#8217;ve decided to deal with this from the database side using <strong>phpMyAdmin</strong> of my provider (<span style="color: rgb(255, 0, 0);"><strong>WORD&nbsp;OF&nbsp;CAUTION</strong></span>:&nbsp;If you haven&#8217;t done any sort of SQL before, I recommend you take caution, even though we&#8217;re not deleting or modifying anything).&nbsp; So once I login to <strong>phpMyAdmin</strong> I select the <strong>wp_comments</strong> table and run this query:</p>
<p style="margin-left: 40px;"><span style="color: rgb(51, 153, 102);">SELECT distinct comment_author_IP, count(comment_author_IP) as Occurrance <br />
FROM `wp_comments` <br />
WHERE comment_approved LIKE &#8216;%spam%&#8217; <br />
GROUP BY comment_author_IP <br />
ORDER BY Occurrance DESC <br />
LIMIT 0, 500</span></p>
<p>So with a rather simple query I tried to mimick the results Akismet reports it on the WordPress Dashboard, I get this list of offending IP&#8217;s:&nbsp;</p>
<table border="0" cellspacing="1" cellpadding="2" id="table_results">
<tbody>
<tr>
<th>comment_author_IP</th>
<th>Occurrance</th>
</tr>
<p>        <!-- Results table body --></p>
<tr onmousedown="setPointer(this, 0, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 0, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 0, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete0');">194.8.75.141</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete0');">178</td>
</tr>
<tr onmousedown="setPointer(this, 1, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 1, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 1, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete1');">194.8.74.171</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete1');">53</td>
</tr>
<tr onmousedown="setPointer(this, 2, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 2, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 2, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete2');">212.117.176.186</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete2');">30</td>
</tr>
<tr onmousedown="setPointer(this, 3, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 3, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 3, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete3');">91.214.44.201</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete3');">10</td>
</tr>
<tr onmousedown="setPointer(this, 4, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 4, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 4, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete4');">194.8.75.161</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete4');">4</td>
</tr>
<tr onmousedown="setPointer(this, 5, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 5, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 5, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete5');">86.122.164.46</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete5');">4</td>
</tr>
<tr onmousedown="setPointer(this, 6, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 6, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 6, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete6');">70.70.10.78</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete6');">2</td>
</tr>
<tr onmousedown="setPointer(this, 7, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 7, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 7, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete7');">114.127.246.36</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete7');">2</td>
</tr>
<tr onmousedown="setPointer(this, 8, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 8, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 8, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete8');">194.8.75.159</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete8');">2</td>
</tr>
<tr onmousedown="setPointer(this, 9, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 9, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 9, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete9');">194.8.74.133</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete9');">2</td>
</tr>
<tr onmousedown="setPointer(this, 10, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 10, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 10, 'over', '#E9F0FA', '', '#BFD4F1');">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete10');">212.95.54.40</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete10');">2</td>
</tr>
<tr onmousedown="setPointer(this, 11, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 11, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 11, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete11');">209.162.3.99</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete11');">1</td>
</tr>
<tr onmousedown="setPointer(this, 12, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 12, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 12, 'over', '#E9F0FA', '', '#BFD4F1');">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete12');">76.125.194.28</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete12');">1</td>
</tr>
<tr onmousedown="setPointer(this, 13, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 13, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 13, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete13');">188.16.124.183</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete13');">1</td>
</tr>
<tr onmousedown="setPointer(this, 14, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 14, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 14, 'over', '#E9F0FA', '', '#BFD4F1');">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete14');">85.13.138.96</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete14');">1</td>
</tr>
<tr onmousedown="setPointer(this, 15, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 15, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 15, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete15');">69.42.209.2</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete15');">1</td>
</tr>
<tr onmousedown="setPointer(this, 16, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 16, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 16, 'over', '#E9F0FA', '', '#BFD4F1');">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete16');">211.141.86.152</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete16');">1</td>
</tr>
<tr onmousedown="setPointer(this, 17, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 17, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 17, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete17');">220.199.184.27</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete17');">1</td>
</tr>
<tr onmousedown="setPointer(this, 18, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 18, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 18, 'over', '#E9F0FA', '', '#BFD4F1');">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete18');">194.8.75.153</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete18');">1</td>
</tr>
<tr onmousedown="setPointer(this, 19, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 19, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 19, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete19');">189.202.11.120</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete19');">1</td>
</tr>
<tr onmousedown="setPointer(this, 20, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 20, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 20, 'over', '#E9F0FA', '', '#BFD4F1');">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete20');">62.175.249.249</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete20');">1</td>
</tr>
<tr onmousedown="setPointer(this, 21, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 21, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 21, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete21');">208.115.135.106</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete21');">1</td>
</tr>
<tr onmousedown="setPointer(this, 22, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 22, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 22, 'over', '#E9F0FA', '', '#BFD4F1');">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete22');">212.117.187.10</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete22');">1</td>
</tr>
<tr onmousedown="setPointer(this, 23, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 23, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 23, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete23');">79.142.207.54</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete23');">1</td>
</tr>
<tr onmousedown="setPointer(this, 24, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 24, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 24, 'over', '#E9F0FA', '', '#BFD4F1');">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete24');">90.198.135.211</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete24');">1</td>
</tr>
<tr onmousedown="setPointer(this, 25, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 25, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 25, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete25');">202.239.242.75</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete25');">1</td>
</tr>
<tr onmousedown="setPointer(this, 26, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 26, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 26, 'over', '#E9F0FA', '', '#BFD4F1');">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete26');">67.234.218.99</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete26');">1</td>
</tr>
<tr onmousedown="setPointer(this, 27, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 27, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 27, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete27');">188.16.118.12</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete27');">1</td>
</tr>
<tr onmousedown="setPointer(this, 28, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 28, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 28, 'over', '#E9F0FA', '', '#BFD4F1');">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete28');">24.44.166.244</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete28');">1</td>
</tr>
<tr onmousedown="setPointer(this, 29, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 29, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 29, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete29');">94.142.128.140</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete29');">1</td>
</tr>
<tr onmousedown="setPointer(this, 30, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 30, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 30, 'over', '#E9F0FA', '', '#BFD4F1');">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete30');">94.181.233.87</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete30');">1</td>
</tr>
<tr onmousedown="setPointer(this, 31, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 31, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 31, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete31');">220.72.71.220</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete31');">1</td>
</tr>
<tr onmousedown="setPointer(this, 32, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 32, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 32, 'over', '#E9F0FA', '', '#BFD4F1');">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete32');">98.130.2.75</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete32');">1</td>
</tr>
<tr onmousedown="setPointer(this, 33, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 33, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 33, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete33');">92.113.234.71</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete33');">1</td>
</tr>
<tr onmousedown="setPointer(this, 34, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 34, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 34, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete34');">70.38.38.164</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete34');">1</td>
</tr>
<tr onmousedown="setPointer(this, 35, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 35, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 35, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#bfd4f1" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete35');">217.170.53.71</td>
<td bgcolor="#bfd4f1" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete35');">1</td>
</tr>
<tr onmousedown="setPointer(this, 36, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 36, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 36, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: pointer;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete36');">92.112.50.231</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete36');">1</td>
</tr>
<tr onmousedown="setPointer(this, 37, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 37, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 37, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete37');">201.76.212.243</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete37');">1</td>
</tr>
<tr onmousedown="setPointer(this, 38, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 38, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 38, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete38');">79.116.143.11</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete38');">1</td>
</tr>
<tr onmousedown="setPointer(this, 39, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 39, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 39, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete39');">193.231.72.188</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete39');">1</td>
</tr>
<tr onmousedown="setPointer(this, 40, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 40, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 40, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete40');">83.233.30.77</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete40');">1</td>
</tr>
<tr onmousedown="setPointer(this, 41, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 41, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 41, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete41');">188.16.117.72</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete41');">1</td>
</tr>
<tr onmousedown="setPointer(this, 42, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 42, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 42, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete42');">86.108.136.123</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete42');">1</td>
</tr>
<tr onmousedown="setPointer(this, 43, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 43, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 43, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete43');">124.173.195.8</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete43');">1</td>
</tr>
<tr onmousedown="setPointer(this, 44, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 44, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 44, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete44');">115.124.102.182</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete44');">1</td>
</tr>
<tr onmousedown="setPointer(this, 45, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 45, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 45, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete45');">96.9.170.124</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete45');">1</td>
</tr>
<tr onmousedown="setPointer(this, 46, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 46, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 46, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete46');">95.133.64.118</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete46');">1</td>
</tr>
<tr onmousedown="setPointer(this, 47, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 47, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 47, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete47');">190.38.153.184</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete47');">1</td>
</tr>
<tr onmousedown="setPointer(this, 48, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 48, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 48, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete48');">62.147.192.173</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete48');">1</td>
</tr>
<tr onmousedown="setPointer(this, 49, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 49, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 49, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete49');">58.185.196.82</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete49');">1</td>
</tr>
<tr onmousedown="setPointer(this, 50, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 50, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 50, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete50');">69.133.77.123</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete50');">1</td>
</tr>
</tbody>
</table>
<p>&nbsp;<br />
So what does someone do with a list like this.&nbsp; In my case, as I have no access to the firewall on my host, I&#8217;m going to use <strong>.htaccess</strong> to essentially block the IP&#8217;s.&nbsp; Before I&nbsp;just plug all the IP&#8217;s there, I&#8217;m going to check on some of the less frequently noted IP&#8217;s above with this query and omit the ones that have one occurrance.&nbsp;&nbsp; This should prevent a couple of things:</p>
<ol>
<li>In case a comment within one of the single occurrances is not really spam.</li>
<li>I&#8217;ll use a rule of thumb and say everything around five occurrances and that is already marked as spam by Akismet is really Spam.</li>
<li>I don&#8217;t want to get overly complicated and keep a large <strong>.htaccess</strong> file.</li>
</ol>
<p>So I use this query to check on a few of the less often ones just to see if they are spam or not:</p>
<p style="margin-left: 40px;"><span style="color: rgb(51, 153, 102);"><span class="syntax"><span class="syntax_alpha syntax_alpha_reservedWord">SELECT</span>  <span class="syntax_punct">*</span> <br />
<span class="syntax_alpha syntax_alpha_reservedWord">FROM</span> <span class="syntax_alpha syntax_alpha_identifier">wp_comments</span><br />
<span class="syntax_alpha syntax_alpha_reservedWord">WHERE</span> <span class="syntax_alpha syntax_alpha_identifier">comment_author_IP</span><br />
<span class="syntax_alpha syntax_alpha_reservedWord">IN</span> <span class="syntax_punct syntax_punct_bracket_open_round">(</span> </span><span class="syntax"><span class="syntax_quote syntax_quote_single">&#8216;194.8.75.161&#8242;</span><span class="syntax_punct syntax_punct_listsep">,</span>  <span class="syntax_quote syntax_quote_single"><br />
&#8216;86.122.164.46&#8242;</span><span class="syntax_punct syntax_punct_listsep">,</span> <br />
<span class="syntax_quote syntax_quote_single">&#8216;70.70.10.78&#8242;</span><span class="syntax_punct syntax_punct_listsep">,</span> <br />
<span class="syntax_quote syntax_quote_single">&#8216;114.127.246.36&#8242;</span><span class="syntax_punct syntax_punct_listsep">,</span> <br />
<span class="syntax_quote syntax_quote_single">&#8216;194.8.75.159&#8242;</span><span class="syntax_punct syntax_punct_listsep">,</span> <br />
<span class="syntax_quote syntax_quote_single">&#8216;194.8.74.133&#8242;</span><span class="syntax_punct syntax_punct_listsep">,</span> <br />
<span class="syntax_quote syntax_quote_single">&#8216;212.95.54.40&#8242;</span><span class="syntax_punct syntax_punct_bracket_close_round">)</span><br />
</span><span class="syntax"> <span class="syntax_alpha syntax_alpha_reservedWord">LIMIT</span> <span class="syntax_digit syntax_digit_integer">0</span> <span class="syntax_punct syntax_punct_listsep">,</span> <span class="syntax_digit syntax_digit_integer">500</span></span></span></p>
<p>Going over the list quickly, I&nbsp;see it&#8217;s all spam.&nbsp; So everything with two or more occurrances, get&#8217;s a spot in my <strong>.htaccess</strong> file.&nbsp; I decide to use this query to automate some of the labour and generate the correct <strong>.htaccess</strong> syntax automagically:</p>
<p style="margin-left: 40px;"><span style="color: rgb(51, 153, 102);">SELECT CONCAT(&quot;deny from&quot;, &quot; &quot;, comment_author_IP) as Action<br />
FROM wp_comments <br />
WHERE comment_approved LIKE &#8216;%spam%&#8217;<br />
GROUP BY comment_author_IP<br />
HAVING COUNT(comment_author_IP) &gt;= 2<br />
LIMIT 0, 500</span></p>
<table border="0" cellspacing="1" cellpadding="2" id="table_results">
<tbody>
<tr>
<th>Action</th>
</tr>
<p>        <!-- Results table body --></p>
<tr onmousedown="setPointer(this, 0, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 0, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 0, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete0');">deny from 114.127.246.36</td>
</tr>
<tr onmousedown="setPointer(this, 1, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 1, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 1, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete1');">deny from 194.8.74.133</td>
</tr>
<tr onmousedown="setPointer(this, 2, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 2, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 2, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete2');">deny from 194.8.74.171</td>
</tr>
<tr onmousedown="setPointer(this, 3, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 3, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 3, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete3');">deny from 194.8.75.141</td>
</tr>
<tr onmousedown="setPointer(this, 4, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 4, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 4, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete4');">deny from 194.8.75.159</td>
</tr>
<tr onmousedown="setPointer(this, 5, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 5, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 5, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete5');">deny from 194.8.75.161</td>
</tr>
<tr onmousedown="setPointer(this, 6, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 6, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 6, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: pointer;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete6');">deny from 212.117.176.186</td>
</tr>
<tr onmousedown="setPointer(this, 7, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 7, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 7, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete7');">deny from 212.95.54.40</td>
</tr>
<tr onmousedown="setPointer(this, 8, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 8, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 8, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete8');">deny from 70.70.10.78</td>
</tr>
<tr onmousedown="setPointer(this, 9, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 9, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 9, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete9');">deny from 86.122.164.46</td>
</tr>
<tr onmousedown="setPointer(this, 10, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 10, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 10, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#bfd4f1" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete10');">deny from 91.214.44.201</td>
</tr>
</tbody>
</table>
<p>
<strong>&nbsp;.htaccess</strong> relevant code</p>
<p>.<br />
.<br />
.<br />
&lt;Limit GET POST&gt;<br />
order deny,allow<br />
# Old Entries<br />
deny from 209.47.94.52<br />
deny from 72.20.4.30<br />
deny from 92.48.193.55<br />
deny from 87.118.104.158</p>
<p># New Entries<br />
deny from 114.127.246.36<br />
deny from 194.8.74.133<br />
deny from 194.8.74.171<br />
deny from 194.8.75.141<br />
deny from 194.8.75.159<br />
deny from 194.8.75.161<br />
deny from 212.117.176.186<br />
deny from 212.95.54.40<br />
deny from 70.70.10.78<br />
deny from 86.122.164.46<br />
deny from 91.214.44.201<br />
&lt;/Limit&gt;<br />
.<br />
.<br />
.</p>
<p>And that is that.&nbsp; The only thing that&#8217;s left now is to save and upload the new <strong>.htaccess</strong> file to your web root and see if there is any improvement.</p>
<p>The baffling thing for me is user registrations.&nbsp; I&#8217;ll use a combination of LINUX&nbsp;and SQL here.&nbsp; I&#8217;m interested in all the user names I&#8217;m getting that have registered but are listed as spam bots.&nbsp; I also want to know the IP&#8217;s of the registrations but really I&nbsp;would prefer a CAPTCHA style code to filter stuff like this.&nbsp; So the first thing I&nbsp;get is a list of users that have been registered recently:</p>
<p style="margin-left: 40px;"><span style="color: rgb(51, 153, 102);"><span class="syntax"><span class="syntax_alpha syntax_alpha_reservedWord">SELECT</span> <span class="syntax_alpha syntax_alpha_identifier">user_email</span><span class="syntax_punct syntax_punct_listsep">,</span> <span class="syntax_alpha syntax_alpha_identifier">user_registered</span><span class="syntax_punct syntax_punct_listsep">,</span> <span class="syntax_alpha syntax_alpha_identifier">user_nicename</span><br />
<span class="syntax_alpha syntax_alpha_reservedWord">FROM</span> <span class="syntax_alpha syntax_alpha_identifier">wp_users</span><br />
<span class="syntax_alpha syntax_alpha_reservedWord">WHERE</span> <span class="syntax_alpha syntax_alpha_identifier">user_login</span> <span class="syntax_alpha syntax_alpha_reservedWord">NOT</span>  <span class="syntax_alpha syntax_alpha_reservedWord">LIKE</span>  <span class="syntax_quote syntax_quote_single">&#8216;%admin%&#8217;</span><br />
<span class="syntax_alpha syntax_alpha_reservedWord">LIMIT</span> <span class="syntax_digit syntax_digit_integer">0</span> <span class="syntax_punct syntax_punct_listsep">,</span> <span class="syntax_digit syntax_digit_integer">100</span></span></span></p>
<p>This gives me something like this:</p>
<p>which I then stick it in some file on my UNIX&nbsp;box called:</p>
<p><strong># cat ureg.txt</strong><br />
fdghjweudyf@konversia-aero.ru&nbsp;&nbsp; 2009-04-20 06:16:04&nbsp;&nbsp;&nbsp;&nbsp; analia<br />
draimacleroic@gmail.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2009-04-20 21:16:31&nbsp;&nbsp;&nbsp;&nbsp; sopssheerce<br />
changfuuu@gmail.com&nbsp;&nbsp;&nbsp;&nbsp; 2009-04-21 02:08:15&nbsp;&nbsp;&nbsp;&nbsp; anavoinkemi<br />
actichziniunc@gmail.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2009-04-21 11:32:10&nbsp;&nbsp;&nbsp;&nbsp; joannahopkin<br />
katyai4857@atlaskit.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2009-04-21 13:25:08&nbsp;&nbsp;&nbsp;&nbsp; hewatmom<br />
qapocahemiekid12763@gmail.com&nbsp;&nbsp; 2009-04-23 06:27:04&nbsp;&nbsp;&nbsp;&nbsp; kesenasikacusa<br />
.<br />
.<br />
.<br />
<strong>#</strong></p>
<p>Now that I&nbsp;have this file, I&nbsp;would like to check if these are legitimate users or spammers:</p>
<p><a rel="nofollow" href="http://www.stopforumspam.com">http://www.stopforumspam.com</a><br />
<a rel="nofollow" href="http://www.botscout.com">http://www.botscout.com</a></p>
<p>I&#8217;ll then use that network and the below tiny script to find out which ones are legitimate and which ones I&nbsp;should get rid of:</p>
<blockquote>
<p>&nbsp;#!/bin/bash</p>
<p># Short code for checking forum spam user registrations:</p>
<p>currdate=$(date +%d_%m_%Y-%H_%M_%S);<br />
tmpfile=ureg.tran.$currdate.dat;<br />
ipfile=ureg.ip.$currdate.dat;</p>
<p>&gt;$tmpfile;<br />
&gt;$ipfile;<br />
for email in $(cat $1|awk &#8216;{ print $1 }&#8217;); do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lwp-request &quot;http://www.stopforumspam.com/search?q=$email&amp;export=xml&quot; &gt; $tmpfile;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [[ $(cat $tmpfile|egrep &quot;no results found.&quot;) != &quot;&quot; ]]; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf &quot;%50s%-30s\n&quot; $email &quot; : &quot;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf &quot;%50s%-30s\n&quot; $email &quot;: LISTED&quot;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for ipv in $(cat $tmpfile|egrep &quot;&lt;ip&gt;&quot;|sed -e &quot;s/[&lt;&gt;]/ /g&quot;|awk &#8216;{ print $2 }&#8217;|sort|uniq); do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;$ipv&quot; &gt;&gt; $ipfile;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; done<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sleep 2;<br />
done</p>
<p>echo -ne &quot;UNIQUE IP&#8217;S\n&quot;;<br />
cat $ipfile|sort|uniq -c;<br />
/bin/rm $tmpfile</p>
</blockquote>
<p>This will give something like:</p>
<p style="text-align: left;">fdghjweudyf@konversia-aero.ru: LISTED<br />
draimacleroic@gmail.com: LISTED<br />
changfuuu@gmail.com: LISTED<br />
actichziniunc@gmail.com: LISTED<br />
katyai4857@atlaskit.com: LISTED<br />
qapocahemiekid12763@gmail.com: LISTED<br />
payomacon@gmail.com :<br />
rackflinciatt@gmail.com: LISTED</p>
<p>The code also generates an IP&nbsp;file called something like <strong>ureg.ip.&lt;DATE&gt;.dat</strong>.&nbsp; The unfortunate thing is that the IP&#8217;s from the emails above all vary&nbsp; with only a few that have the same subnets so it made it impractical to block these single IP&#8217;s with <strong>.htaccess</strong> files.&nbsp; The reason for this is that most of the IP&#8217;s in emails that can be shown in the comments above usually can be and are fake IP addresses that have nothing to do with spam and have been put there by the spammers to confuse things.&nbsp; So it turned out it simply wasn&#8217;t worth blocking the IP&#8217;s in the emails though the method did tell me which of the above comments are valid based on whether the email address itself appeared on the above spambot monitoring websites.&nbsp; This verification was the main thing I&nbsp;wanted that told me the emails typically used in trying to register spam comments.</p>
<p>Least but not last, I&#8217;ll add a plugin here called:&nbsp;<a rel="nofollow" href="http://wordpress.org/extend/plugins/wp-recaptcha/">WP-reCAPTCHA</a> to help handle these when they come in so I don&#8217;t have to repeat this procedure too often.&nbsp; <strong><br />
</strong></p>
<p>&nbsp;</p>
<p><strong>FAST FORWARD TO THE FUTURE</strong></p>
<p>So what did my spambox look like after about one month.&nbsp; Here is a basic brakedown:</p>
<ul>
<li>Thanks to <a href="http://wordpress.org/extend/plugins/wp-recaptcha/" rel="nofollow">WP-reCAPTCHA</a>, I received no further spam user registrations.&nbsp; All gone.&nbsp; 100%.</li>
<li>Since blocking the IP&#8217;s, my Akismet stats now look like this:<br />
<h2>Historical Stats</h2>
<table class="widefat">
<thead>
<tr style="text-align: right;">
<th style="background-color: rgb(255, 255, 255);">&nbsp;</th>
<th>Spam detected</th>
<th>Ham detected</th>
<th>Missed spam</th>
<th>False positives</th>
</tr>
</thead>
<tbody>
<tr class="alt">
<th scope="row">2009-08</th>
<td>95</td>
<td>0</td>
<td>0</td>
<td>3</td>
</tr>
<tr>
<th scope="row">2009-07</th>
<td>92</td>
<td>10</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="alt">
<th scope="row">2009-06</th>
<td>562</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<th scope="row">2009-05</th>
<td>541</td>
<td>1</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="alt">
<th scope="row">2009-04</th>
<td>814</td>
<td>8</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<th scope="row">2009-03</th>
<td>413</td>
<td>12</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="alt">
<th scope="row">2009-02</th>
<td>34</td>
<td>4</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<th scope="row">2009-01</th>
<td>13</td>
<td>20</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="alt">
<th scope="row">2008-12</th>
<td>39</td>
<td>35</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<th scope="row">2008-11</th>
<td>34</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
</tbody>
</table>
</li>
</ul>
<p>So for July, I got about 7 times less spam.&nbsp; Mind you, 100% of spam got caught and put in the spam bucket.&nbsp; The stuff above in the <strong>Historical Stats</strong> is basically those IP&#8217;s that are still spamming and not blocked in my .htaccess file and are still getting to the comments post page to attempt to spam.&nbsp;</p>
<p>What&#8217;s also not shown is also a large spike that braught in about 53 comments in on <strong>August 4th</strong>.&nbsp; This typically is an indication that it was done from only one or two IP&#8217;s.&nbsp; Running the first SQL above, promptly verified that:</p>
<table border="0" cellspacing="1" cellpadding="2" id="table_results">
<tbody>
<tr>
<th>comment_author_IP</th>
<th>Occurrance</th>
</tr>
<p>        <!-- Results table body --></p>
<tr onmousedown="setPointer(this, 0, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 0, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 0, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#bfd4f1" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete0');">91.214.44.229</td>
<td bgcolor="#bfd4f1" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete0');">25</td>
</tr>
<tr onmousedown="setPointer(this, 1, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 1, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 1, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete1');">94.142.129.98</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete1');">7</td>
</tr>
<tr onmousedown="setPointer(this, 2, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 2, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 2, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete2');">92.241.160.24</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete2');">6</td>
</tr>
<tr onmousedown="setPointer(this, 3, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 3, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 3, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete3');">194.8.75.147</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete3');">4</td>
</tr>
<tr onmousedown="setPointer(this, 4, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 4, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 4, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete4');">78.110.175.31</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete4');">3</td>
</tr>
<tr onmousedown="setPointer(this, 5, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 5, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 5, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete5');">93.185.199.117</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete5');">3</td>
</tr>
<tr onmousedown="setPointer(this, 6, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 6, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 6, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete6');">74.86.148.194</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete6');">2</td>
</tr>
<tr onmousedown="setPointer(this, 7, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 7, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 7, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete7');">212.95.54.235</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete7');">2</td>
</tr>
<tr onmousedown="setPointer(this, 8, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 8, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 8, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete8');">221.178.181.198</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete8');">2</td>
</tr>
<tr onmousedown="setPointer(this, 9, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 9, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 9, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete9');">94.102.51.196</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete9');">2</td>
</tr>
<tr onmousedown="setPointer(this, 10, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 10, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 10, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete10');">148.233.229.235</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete10');">2</td>
</tr>
<tr onmousedown="setPointer(this, 11, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 11, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 11, 'over', '#FFFFFF', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete11');">119.95.171.110</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete11');">2</td>
</tr>
<tr onmousedown="setPointer(this, 12, 'click', '#E9F0FA', '', '#BFD4F1');" onmouseout="setPointer(this, 12, 'out', '#E9F0FA', '', '#BFD4F1');" onmouseover="setPointer(this, 12, 'over', '#E9F0FA', '', '#BFD4F1');" style="cursor: default;">
<td bgcolor="#e9f0fa" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete12');">85.11.66.105</td>
<td bgcolor="#e9f0fa" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete12');">2</td>
</tr>
<tr onmousedown="setPointer(this, 13, 'click', '#FFFFFF', '', '#BFD4F1');" onmouseout="setPointer(this, 13, 'out', '#FFFFFF', '', '#BFD4F1');" onmouseover="setPointer(this, 13, 'over', '#FFFFFF', '', '#BFD4F1');">
<td bgcolor="#ffffff" valign="top" onmousedown="setCheckboxColumn('id_rows_to_delete13');">143.161.248.25</td>
<td bgcolor="#ffffff" align="right" valign="top" class="nowrap" onmousedown="setCheckboxColumn('id_rows_to_delete13');">2</td>
</tr>
</tbody>
</table>
<p>and off it went to the <strong>.htaccess</strong> file.&nbsp; <img src='http://www.microdevsys.com/WordPress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Good Luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microdevsys.com/WordPress/2009/07/01/wordpress-dealing-with-comment-and-user-registration-spam/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Linux / Akonadi: The QtSQL driver &#8216;QMYSQL&#8217; is required by your current Akonadi server configuration.</title>
		<link>http://www.microdevsys.com/WordPress/2009/03/29/linux-akonadi-the-qtsql-driver-qmysql-is-required-by-your-current-akonadi-server-configuration/</link>
		<comments>http://www.microdevsys.com/WordPress/2009/03/29/linux-akonadi-the-qtsql-driver-qmysql-is-required-by-your-current-akonadi-server-configuration/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 16:31:24 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
		
		<category><![CDATA[JADDB]]></category>

		<category><![CDATA[NIX Posts]]></category>

		<category><![CDATA[Akonadi]]></category>

		<category><![CDATA[Akonadi Server Configuration]]></category>

		<category><![CDATA[config]]></category>

		<category><![CDATA[configuration]]></category>

		<category><![CDATA[Fedora Upgrade]]></category>

		<category><![CDATA[kcmshell4 kcm_akonadi]]></category>

		<category><![CDATA[KDE]]></category>

		<category><![CDATA[konsole]]></category>

		<category><![CDATA[my.cnf]]></category>

		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[mysql-local.conf]]></category>

		<category><![CDATA[PIM]]></category>

		<category><![CDATA[QMYSQL]]></category>

		<category><![CDATA[QMYSQL3]]></category>

		<category><![CDATA[QSQLITE]]></category>

		<category><![CDATA[QtSQL]]></category>

		<category><![CDATA[upgrade]]></category>

		<category><![CDATA[~/.config/akonadi/]]></category>

		<category><![CDATA[~/.local/share/akonadi]]></category>

		<guid isPermaLink="false">http://www.microdevsys.com/WordPress/?p=1121</guid>
		<description><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/03/29/linux-akonadi-the-qtsql-driver-qmysql-is-required-by-your-current-akonadi-server-configuration/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Linux / Akonadi: The QtSQL driver &#8216;QMYSQL&#8217; is required by your current Akonadi server configuration.';
digg_bodytext = 'PROBLEMAnother day brings another bug. This time it&#8217;s with the Akonadi server failing or unable to start.&nbsp; This error followed a recent update I&#8217;ve done on my Fedora box.&nbsp; This is what greeted me each time I&nbsp;started up KDE:The...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
PROBLEM
Another day brings another bug. This time it&#8217;s with the Akonadi server failing or unable to start.&#160; This error followed a recent update I&#8217;ve done on my Fedora box.&#160; This is what greeted me each time I&#160;started up KDE:

The QtSQL driver &#8216;QMYSQL&#8217; is required by your current Akonadi server configuration.
The following drivers are installed: QSQLITE, [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;"><script type="text/javascript">
<!--
digg_url = 'http://www.microdevsys.com/WordPress/2009/03/29/linux-akonadi-the-qtsql-driver-qmysql-is-required-by-your-current-akonadi-server-configuration/';
digg_bgcolor = '#F7F7F7';
digg_skin = '';
digg_window = '';
digg_title = 'Linux / Akonadi: The QtSQL driver &#8216;QMYSQL&#8217; is required by your current Akonadi server configuration.';
digg_bodytext = 'PROBLEMAnother day brings another bug. This time it&#8217;s with the Akonadi server failing or unable to start.&nbsp; This error followed a recent update I&#8217;ve done on my Fedora box.&nbsp; This is what greeted me each time I&nbsp;started up KDE:The...';
digg_media = 'news';
digg_topic = '';
//-->
</script>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
</div>
<p><strong>PROBLEM</strong></p>
<p>Another day brings another bug. This time it&#8217;s with the Akonadi server failing or unable to start.&nbsp; This error followed a recent update I&#8217;ve done on my Fedora box.&nbsp; This is what greeted me each time I&nbsp;started up KDE:</p>
<blockquote>
<p>The QtSQL driver &#8216;QMYSQL&#8217; is required by your current Akonadi server configuration.<br />
The following drivers are installed: QSQLITE, QMYSQL3, QMYSQL.<br />
Make sure the required driver is installed.</p>
</blockquote>
<p>Personally, I don&#8217;t like uninvited guests, especially the ones that crash the party.&nbsp; So off I&nbsp;went to see what broke.&nbsp; The error gave some clues where I should look which included MySQL, akonadi and QtSQL.&nbsp; Here&#8217;s how I went about resolving this one.</p>
<p><strong>SOLUTION</strong><br />
<span id="more-1121"></span></p>
<p>The solution to this one was fairly straightforward.&nbsp; it followed these steps:</p>
<ol>
<li>Open command console such as <strong>konsole</strong></li>
<li>Check if you have the config file, run:<strong> ls -al /root/.config/akonadi/mysql-local.conf</strong></li>
<li>Run <strong>echo &quot;user=root&quot; &gt; /root/.config/akonadi/mysql-local.conf</strong></li>
<li>Either type <strong>kcmshell4 kcm_akonadi</strong> on the command line to start <strong>Akonadi configuration</strong> panel or follow steps <strong>4</strong> &amp; <strong>5</strong> below.</li>
<li>Go to <strong>KDE&nbsp;Start</strong> -&gt; <strong>System Settings</strong></li>
<li>Under <strong>System Settings</strong> dialog click the&nbsp; <strong>Advanced</strong> tab then <strong>Akonadi configuration</strong>.</li>
<li>Click the <strong>Akonadi Server Configuration</strong> tab then the <strong>Restart</strong> button.<br />
    &nbsp;</li>
</ol>
<p><strong>THE PROCESS</strong></p>
<p>Getting to the solution was another matter alltogether.&nbsp; The first order of business was to check the akonadi server logs to narrow down the problem:</p>
<blockquote>
<p>/root/.local/share/akonadi/akonadiserver.error</p>
<p>Database process existed unexpectedly during intial connection!<br />
executable: &quot;/usr/libexec/mysqld&quot;<br />
arguments: (&quot;&#8211;defaults-file=/root/.local/share/akonadi//mysql.conf&quot;, &quot;&#8211;datadir=/root/.local/share/akonadi/db_data/&quot;, &quot;&#8211;socket=/root/.local/share/akonadi/db_misc/mysql.socket&quot;)<br />
stdout: &quot;&quot;<br />
stderr: &quot;090322 23:25:47 [Warning] option &#8216;max_join_size&#8217;: unsigned value 18446744073709551615 adjusted to 4294967295<br />
090322 23:25:47 [Warning] option &#8216;max_join_size&#8217;: unsigned value 18446744073709551615 adjusted to 4294967295<br />
<span style="color: rgb(255, 0, 0);">090322 23:25:47 [ERROR] Fatal error: Please read &quot;Security&quot; section of the manual to find out how to run mysqld as root!</span></p>
<p><span style="color: rgb(255, 0, 0);">090322 23:25:47 [ERROR] Aborting</span></p>
<p>090322 23:25:47 [Note] /usr/libexec/mysqld: Shutdown complete</p>
<p>&quot;<br />
exit code: 1<br />
process error: &quot;Unknown error&quot;<br />
&quot;[<br />
0: akonadiserver(_Z10kBacktracev+0x35) [0x8051f75]<br />
1: akonadiserver [0x8052456]<br />
2: [0xc62400]<br />
3: [0xc62416]<br />
4: /lib/libc.so.6(gsignal+0&#215;50) [0x1dd460]<br />
5: /lib/libc.so.6(abort+0&#215;188) [0x1dee28]<br />
6: /usr/lib/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0&#215;95) [0x5886855]<br />
7: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xc4) [0x8053164]<br />
8: /usr/lib/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0&#215;9e) [0x59143ce]<br />
9: /usr/lib/libQtCore.so.4 [0x592139e]<br />
10: /usr/lib/libQtCore.so.4(_ZN11QTextStreamD1Ev+0&#215;68) [0x5921698]<br />
11: akonadiserver(_ZN6QDebugD1Ev+0&#215;44) [0x804d674]<br />
12: /usr/lib/libakonadiprivate.so.1(_ZN7Akonadi13AkonadiServer20startDatabaseProcessEv+0&#215;1a8e) [0x3f9e9e]<br />
13: /usr/lib/libakonadiprivate.so.1(_ZN7Akonadi13AkonadiServerC1EP7QObject+0&#215;72) [0x3fbc02]<br />
14: /usr/lib/libakonadiprivate.so.1(_ZN7Akonadi13AkonadiServer8instanceEv+0&#215;56) [0x3fcd06]<br />
15: akonadiserver(main+0&#215;398) [0x804c9e8]<br />
16: /lib/libc.so.6(__libc_start_main+0xe5) [0x1c86e5]<br />
17: akonadiserver [0x804c581]<br />
&nbsp;</p>
</blockquote>
<p>So that error narrowed down the problem alot.&nbsp; We now know Akonadi wants to run as the root user.&nbsp; Or at least is trying to run as root in an unsupported manner.&nbsp; First I&nbsp;checked with MySQL to see what they say about this even though it&#8217;s an Akonadi related problem.&nbsp; Here&#8217;s what MySQL&nbsp;has to say about all of this:</p>
<p>http://dev.mysql.com/doc/refman/5.0/en/changing-mysql-user.html</p>
<p>Further down the page we see that to run MySQL as root we need to set:</p>
<p>user=user_name</p>
<p>in <strong>/etc/my.cnf</strong> which for us would amount to <strong>user=root</strong> in <strong>/etc/my.cnf</strong>.&nbsp; The problem with this is that also according to the above MySQL&nbsp;page, you should never run the MySQL server as root.&nbsp; It&#8217;s also fairly common knowledge that MySQL runs as the <em><strong>mysql</strong></em> user on Fedora Linux installations at least .&nbsp; So let&#8217;s see what the Akonadi folks say about this I&nbsp;visit <a href="http://pim.kde.org/" rel="nofollow">http://pim.kde.org/</a>.&nbsp; Then choose the <span style="color: rgb(0, 0, 255);">Akonadi</span> link when I get there.&nbsp; Sadly nothing searchable could be dug up.&nbsp; Let&#8217;s try plan <strong>B</strong>.&nbsp; Configuration files for applications ran from a user account, typically exist within the users home directory.&nbsp; So in this case let&#8217;s check your ID (Assuming <strong>root</strong> here).&nbsp; So we run this command:</p>
<blockquote>
<p><strong>#</strong> <strong>cd ~;find ./ -name *akonadi*</strong><br />
./.kde/share/config/akonadiconsolerc<br />
./.local/share/akonadi<br />
./.local/share/akonadi/db_data/akonadi<br />
./.local/share/akonadi/akonadiserver.error.old<br />
./.local/share/akonadi/akonadiserver.socket<br />
./.config/akonadi<br />
./.config/akonadi/akonadiconnectionrc<br />
./.config/akonadi/akonadiserverrc<br />
#</p>
</blockquote>
<p>So looks like we have some Akonadi stuff inside our user account.&nbsp; Great.&nbsp; Since Akonadi is giving MySQL&nbsp;errors it should be related.&nbsp; Let&#8217;s dig deeper to see what we can find inside above folders:</p>
<blockquote>
<p><strong># cd ~/.config/akonadi/<br />
# find ./ -iname *mysql*</strong><br />
<span style="color: rgb(51, 153, 102);"><strong>./mysql-local.conf</strong></span><br />
<strong># cd ~/.local/share/akonadi/<br />
# find ./ -iname *mysql*</strong><br />
<span style="color: rgb(51, 153, 102);"><strong>./mysql.conf</strong></span><br />
<strong>#</strong></p>
</blockquote>
<p>So looks like Akonadi has it&#8217;s own mysql configuration files, which is good, and perhaps for it&#8217;s own purposes it needs to run as root for a local instance of mysql (What other reason is there for another MySQL config file).&nbsp; That would be safer.&nbsp; But which one of the above do I&nbsp;put <strong>user=root</strong> under.&nbsp; Checking my system, it was empty of any sort of documentation for Akonadi.&nbsp; So I try the RPM:</p>
<blockquote>
<p><strong># rpm -aq|grep akonadi</strong><br />
akonadi-1.1.1-1.fc10.i386<br />
<strong># rpm -lq akonadi-1.1.1-1.fc10.i386</strong><br />
.<br />
.<br />
/etc/akonadi/mysql-global.conf<br />
.<br />
.</p>
</blockquote>
<p>But all we get is another mysql config file, which isn&#8217;t helpful.&nbsp; We need to know which one we need to set <strong>user=root</strong> in.&nbsp;</p>
<blockquote>
<p><strong>#</strong> <strong>vi /root/.local/share/akonadi/mysql.conf</strong><br />
<strong>#</strong> <strong>cat /root/.local/share/akonadi/mysql.conf|head</strong><br />
#<br />
# Global Akonadi MySQL server settings,<br />
# <strong><span style="color: rgb(51, 153, 102);">These settings can be adjusted using $HOME/.config/akonadi/mysql-local.conf</span></strong><br />
#<br />
# Based on advice by Kris K&Atilde;&para;hntopp &lt;kris@mysql.com&gt;<br />
#<br />
[mysqld]<br />
skip_grant_tables<br />
skip_networking</p>
<p>#</p>
</blockquote>
<p>Which gives us the answer (green above) which we were looking for.&nbsp; Doing the above but for <strong>/etc/akonadi/mysql-global.conf</strong> instead says the same thing (files are copies of each other).&nbsp; Hence the <strong>SOLUTION</strong> above.&nbsp; <img src='http://www.microdevsys.com/WordPress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Cheers and Good Luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microdevsys.com/WordPress/2009/03/29/linux-akonadi-the-qtsql-driver-qmysql-is-required-by-your-current-akonadi-server-configuration/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
