<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Penguin on Rails</title>
	
	<link>http://www.cherpec.com</link>
	<description>linux + ruby on rails = love</description>
	<lastBuildDate>Thu, 17 Jun 2010 14:06:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SysadminTips" /><feedburner:info uri="sysadmintips" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Count internal and external links in a page</title>
		<link>http://feedproxy.google.com/~r/SysadminTips/~3/PtNnuVV1uzE/</link>
		<comments>http://www.cherpec.com/2010/06/count-internal-and-external-links-in-a-page/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 14:06:12 +0000</pubDate>
		<dc:creator>Vitalie Cherpec</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[links count]]></category>

		<guid isPermaLink="false">http://www.cherpec.com/?p=672</guid>
		<description><![CDATA[Today I&#8217;ve readed the Webmaster Guidelines, in the &#8220;Design and content guidelines&#8221; section Google recommends to keep  a resonable number of links in the page:
Keep the links on a given page to a reasonable number.
Mat Cutts talks about 100 links/page. 
Hmm, how many links do I have in my pages ? I&#8217;ve made a [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;ve readed the <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=35769">Webmaster Guidelines</a>, in the &#8220;Design and content guidelines&#8221; section Google recommends to keep  a resonable number of links in the page:</p>
<blockquote><p>Keep the links on a given page to a reasonable number.</p></blockquote>
<p><a href="http://www.mattcutts.com/blog/how-many-links-per-page/">Mat Cutts</a> talks about <a href="http://www.mattcutts.com/blog/how-many-links-per-page/">100 links</a>/page. </p>
<p>Hmm, how many links do I have in my pages ? I&#8217;ve made a simple Ruby script to count links in a page (<a href="http://nokogiri.org/">Nokogiri</a>, <a href="http://github.com/pauldix/domainatrix">Domainatrix</a> and Open-Uri made it trivial):</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;">#!/usr/bin/env ruby</span>
&nbsp;
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">&quot;rubygems&quot;</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">&quot;nokogiri&quot;</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">&quot;open-uri&quot;</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'domainatrix'</span>
&nbsp;
url = ARGV.<span style="color:#9900CC;">first</span>
&nbsp;
<span style="color:#CC0066; font-weight:bold;">raise</span> <span style="color:#996600;">&quot;*** Use: links_count &lt;url&gt;&quot;</span> <span style="color:#9966CC; font-weight:bold;">unless</span> url
&nbsp;
domain = Domainatrix.<span style="color:#9900CC;">parse</span><span style="color:#006600; font-weight:bold;">&#40;</span>url<span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
int_links = <span style="color:#006666;">0</span>
ext_links = <span style="color:#006666;">0</span>
&nbsp;
doc = <span style="color:#6666ff; font-weight:bold;">Nokogiri::HTML</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0066; font-weight:bold;">open</span><span style="color:#006600; font-weight:bold;">&#40;</span>url<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">read</span><span style="color:#006600; font-weight:bold;">&#41;</span>
doc.<span style="color:#9900CC;">xpath</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;//a[@href]&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">each</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>node<span style="color:#006600; font-weight:bold;">|</span>
  link = node.<span style="color:#9900CC;">get_attribute</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'href'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
  <span style="color:#9966CC; font-weight:bold;">if</span> link =~ <span style="color:#006600; font-weight:bold;">%</span>r<span style="color:#006600; font-weight:bold;">&#123;</span>\Ahttp:<span style="color:#006600; font-weight:bold;">//</span><span style="color:#006600; font-weight:bold;">&#125;</span>
    l = Domainatrix.<span style="color:#9900CC;">parse</span><span style="color:#006600; font-weight:bold;">&#40;</span>link<span style="color:#006600; font-weight:bold;">&#41;</span>
    <span style="color:#9966CC; font-weight:bold;">if</span> l.<span style="color:#9900CC;">public_suffix</span> == domain.<span style="color:#9900CC;">public_suffix</span> <span style="color:#9966CC; font-weight:bold;">and</span> l.<span style="color:#9900CC;">domain</span> == domain.<span style="color:#9900CC;">domain</span>
      int_links <span style="color:#006600; font-weight:bold;">+</span>= <span style="color:#006666;">1</span>
    <span style="color:#9966CC; font-weight:bold;">else</span>
      ext_links <span style="color:#006600; font-weight:bold;">+</span>= <span style="color:#006666;">1</span>
      <span style="color:#CC0066; font-weight:bold;">puts</span> link
    <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#9966CC; font-weight:bold;">else</span>
    int_links <span style="color:#006600; font-weight:bold;">+</span>= <span style="color:#006666;">1</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;&quot;</span>
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;*** internal links: #{int_links}&quot;</span>
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;*** external links: #{ext_links}&quot;</span>
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;*** total: #{int_links + ext_links}&quot;</span></pre></div></div>

<p>Now I can see how many internal/external links contains a page. Example for CNN.com:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>vitalie<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ links_count.rb http:<span style="color: #000000; font-weight: bold;">//</span>www.cnn.com
http:<span style="color: #000000; font-weight: bold;">//</span>www.cnnmexico.com<span style="color: #000000; font-weight: bold;">/</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.ireport.com<span style="color: #000000; font-weight: bold;">/</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.time.com<span style="color: #000000; font-weight: bold;">/</span>time<span style="color: #000000; font-weight: bold;">/</span>world<span style="color: #000000; font-weight: bold;">/</span>article<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">0</span>,<span style="color: #000000;">8599</span>,<span style="color: #000000;">1997325</span>,00.html
http:<span style="color: #000000; font-weight: bold;">//</span>www.ireport.com<span style="color: #000000; font-weight: bold;">/</span>docs<span style="color: #000000; font-weight: bold;">/</span>DOC-<span style="color: #000000;">459640</span>?<span style="color: #007800;">hpt</span>=Mid
http:<span style="color: #000000; font-weight: bold;">//</span>www.ireport.com<span style="color: #000000; font-weight: bold;">/</span>docs<span style="color: #000000; font-weight: bold;">/</span>DOC-<span style="color: #000000;">459640</span>?<span style="color: #007800;">hpt</span>=Mid
http:<span style="color: #000000; font-weight: bold;">//</span>www.ireport.com<span style="color: #000000; font-weight: bold;">/</span>?<span style="color: #007800;">hpt</span>=Sbin
http:<span style="color: #000000; font-weight: bold;">//</span>twitter.com<span style="color: #000000; font-weight: bold;">/</span>worldcupcnn
http:<span style="color: #000000; font-weight: bold;">//</span>foursquare.com<span style="color: #000000; font-weight: bold;">/</span>cnn
http:<span style="color: #000000; font-weight: bold;">//</span>movie-critics.ew.com<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2010</span><span style="color: #000000; font-weight: bold;">/</span>06<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span><span style="color: #000000; font-weight: bold;">/</span>psycho-turns-<span style="color: #000000;">50</span>-today<span style="color: #000000; font-weight: bold;">/</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.cnngo.com<span style="color: #000000; font-weight: bold;">/</span>hong-kong<span style="color: #000000; font-weight: bold;">/</span>play<span style="color: #000000; font-weight: bold;">/</span>beyond-star-ferry-<span style="color: #000000;">457619</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.cnngo.com<span style="color: #000000; font-weight: bold;">/</span>bangkok<span style="color: #000000; font-weight: bold;">/</span>play<span style="color: #000000; font-weight: bold;">/</span>spirited-competition-koh-samui-regatta-<span style="color: #000000;">706618</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.ireport.com<span style="color: #000000; font-weight: bold;">/</span>?<span style="color: #007800;">cnn</span>=<span style="color: #c20cb9; font-weight: bold;">yes</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.turnerstoreonline.com<span style="color: #000000; font-weight: bold;">/</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.cnntraveller.com
http:<span style="color: #000000; font-weight: bold;">//</span>www.cnnchile.com
http:<span style="color: #000000; font-weight: bold;">//</span>www.cnnmexico.com
http:<span style="color: #000000; font-weight: bold;">//</span>cnn.joins.com<span style="color: #000000; font-weight: bold;">/</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.cnn.co.jp<span style="color: #000000; font-weight: bold;">/</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.cnnturk.com<span style="color: #000000; font-weight: bold;">/</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.turner.com<span style="color: #000000; font-weight: bold;">/</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.cnnmediainfo.com<span style="color: #000000; font-weight: bold;">/</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.turner.com<span style="color: #000000; font-weight: bold;">/</span>careers<span style="color: #000000; font-weight: bold;">/</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">***</span> internal links: <span style="color: #000000;">263</span>
<span style="color: #000000; font-weight: bold;">***</span> external links: <span style="color: #000000;">22</span>
<span style="color: #000000; font-weight: bold;">***</span> total: <span style="color: #000000;">285</span></pre></div></div>

<img src="http://feeds.feedburner.com/~r/SysadminTips/~4/PtNnuVV1uzE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cherpec.com/2010/06/count-internal-and-external-links-in-a-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.cherpec.com/2010/06/count-internal-and-external-links-in-a-page/</feedburner:origLink></item>
		<item>
		<title>SpamAssassin FH_DATE_PAST_20XX bug</title>
		<link>http://feedproxy.google.com/~r/SysadminTips/~3/gnHD-a7znHk/</link>
		<comments>http://www.cherpec.com/2010/02/spamassassin-fh_date_past_20xx-bug/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 00:03:32 +0000</pubDate>
		<dc:creator>Vitalie Cherpec</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[SpamAssassin]]></category>
		<category><![CDATA[SpamGuardian]]></category>

		<guid isPermaLink="false">http://www.cherpec.com/?p=655</guid>
		<description><![CDATA[Starting with January many I had many complaints from customers  regarding legitimate mail marked as SPAM hosted on Plesk/SpamGuardian machines.
After a small investigation I&#8217;ve found the problems were from SpamAssassin&#8217;s FH_DATE_PAST_20XX rule bug that caused mails to receive a high score if date is past 2010-01-01.
http://wiki.apache.org/spamassassin/Rules/FH_DATE_PAST_20XX
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=5852
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6269
I didn&#8217;t wanted to run sa-update, so I&#8217;ve created [...]]]></description>
			<content:encoded><![CDATA[<p>Starting with January many I had many complaints from customers  regarding legitimate mail marked as SPAM hosted on Plesk/SpamGuardian machines.</p>
<p>After a small investigation I&#8217;ve found the problems were from SpamAssassin&#8217;s FH_DATE_PAST_20XX rule bug that caused mails to receive a high score if date is past 2010-01-01.</p>
<p><a href="http://wiki.apache.org/spamassassin/Rules/FH_DATE_PAST_20XX">http://wiki.apache.org/spamassassin/Rules/FH_DATE_PAST_20XX</a><br />
<a href="https://issues.apache.org/SpamAssassin/show_bug.cgi?id=5852">https://issues.apache.org/SpamAssassin/show_bug.cgi?id=5852</a><br />
<a href="https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6269">https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6269</a></p>
<p>I didn&#8217;t wanted to run sa-update, so I&#8217;ve created a config file to ignore this rule (I do love stability, so I&#8217;m more conservative <img src='http://www.cherpec.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>apollo ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># cat /etc/mail/spamassassin/fh_date_past_20xx_fix.cf</span>
<span style="color: #666666; font-style: italic;"># https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6269</span>
score FH_DATE_PAST_20XX <span style="color: #000000;">0.0</span></pre></div></div>

<img src="http://feeds.feedburner.com/~r/SysadminTips/~4/gnHD-a7znHk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cherpec.com/2010/02/spamassassin-fh_date_past_20xx-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.cherpec.com/2010/02/spamassassin-fh_date_past_20xx-bug/</feedburner:origLink></item>
		<item>
		<title>Speed up your website by compressing PNG images</title>
		<link>http://feedproxy.google.com/~r/SysadminTips/~3/xP23ghhGrTE/</link>
		<comments>http://www.cherpec.com/2010/01/speed-up-your-website-by-compressing-png-images/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 14:08:50 +0000</pubDate>
		<dc:creator>Vitalie Cherpec</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[BMP]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[compress]]></category>
		<category><![CDATA[GIF]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[PNG]]></category>
		<category><![CDATA[PNM]]></category>
		<category><![CDATA[rhel]]></category>
		<category><![CDATA[TIFF]]></category>

		<guid isPermaLink="false">http://www.cherpec.com/?p=626</guid>
		<description><![CDATA[Webpagetest.org is a great tool to learn how you can improve your website loading time (you should use it if you aren&#8217;t using it already). 
Today after running a report I&#8217;ve seen that we had a large image on the home page that can be compressed to minimize loading time.
Smaller images means faster pages, faster [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.webpagetest.org">Webpagetest.org</a> is a great tool to learn how you can improve your website loading time (you should use it if you aren&#8217;t using it already). </p>
<p>Today after running a report I&#8217;ve seen that we had a large image on the home page that can be compressed to minimize loading time.</p>
<p>Smaller images means faster pages, faster pages means happy users <img src='http://www.cherpec.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . To compress images on Linux there are at least 2 alternatives:</p>
<p><strong><a href="http://optipng.sourceforge.net/">OptiPNG: Advanced PNG Optimizer</a></strong><br />
OptiPNG is a PNG optimizer that recompresses image files to a smaller size, without losing any information. This program also converts external formats (BMP, GIF, PNM and TIFF) to optimized PNG, and performs PNG integrity checks and corrections.</p>
<p>Install <strong>optipng</strong> package from <a href="http://fedoraproject.org/wiki/EPEL">EPEL</a> repository:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># yum install optipng</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># optipng </span>
OptiPNG 0.6.2: Advanced PNG optimizer.
Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>C<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">2001</span>-<span style="color: #000000;">2008</span> Cosmin Truta.
&nbsp;
Type <span style="color: #ff0000;">&quot;optipng -h&quot;</span> <span style="color: #000000; font-weight: bold;">for</span> advanced help.
&nbsp;
Synopsis:
    optipng <span style="color: #7a0874; font-weight: bold;">&#91;</span>options<span style="color: #7a0874; font-weight: bold;">&#93;</span> files ...
Files:
    Image files of <span style="color: #7a0874; font-weight: bold;">type</span>: PNG, BMP, GIF, PNM or TIFF
Basic options:
    -h, <span style="color: #660033;">-help</span>           show the advanced <span style="color: #7a0874; font-weight: bold;">help</span>
    <span style="color: #660033;">-v</span>                  verbose mode <span style="color: #000000; font-weight: bold;">/</span> show copyright, version and build info
    <span style="color: #660033;">-o</span>  <span style="color: #000000; font-weight: bold;">&lt;</span>level<span style="color: #000000; font-weight: bold;">&gt;</span>         optimization level <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">0</span>-<span style="color: #000000;">7</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>                default <span style="color: #000000;">2</span>
    <span style="color: #660033;">-i</span>  <span style="color: #000000; font-weight: bold;">&lt;</span><span style="color: #7a0874; font-weight: bold;">type</span><span style="color: #000000; font-weight: bold;">&gt;</span>          interlace <span style="color: #7a0874; font-weight: bold;">type</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">0</span>-<span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>                    default <span style="color: #000000; font-weight: bold;">&lt;</span>input<span style="color: #000000; font-weight: bold;">&gt;</span>
    -k, <span style="color: #660033;">-keep</span>           keep a backup of the modified files
    -q, <span style="color: #660033;">-quiet</span>          quiet mode
Examples:
    optipng file.png                    <span style="color: #7a0874; font-weight: bold;">&#40;</span>default speed<span style="color: #7a0874; font-weight: bold;">&#41;</span>
    optipng <span style="color: #660033;">-o5</span> file.png                <span style="color: #7a0874; font-weight: bold;">&#40;</span>moderately slow<span style="color: #7a0874; font-weight: bold;">&#41;</span>
    optipng <span style="color: #660033;">-o7</span> file.png                <span style="color: #7a0874; font-weight: bold;">&#40;</span>very slow<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p><strong><a href="http://pmt.sourceforge.net/pngcrush/">Pngcrush</a></strong><br />
Pngcrush is an optimizer for PNG (Portable Network Graphics) files. It can be run from a commandline in an MSDOS window, or from a UNIX or LINUX commandline.</p>
<p>Its main purpose is to reduce the size of the PNG IDAT datastream by trying various compression levels an PNG filter methods. It also can be used to remove unwanted ancillary chunks, or to add certain chunks including gAMA, tRNS, iCCP, and textual chunks. </p>
<p>Install <strong>pngcrush</strong> from <a href="http://dag.wieers.com/rpm/">DAG</a>&#8217;s repository:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># yum install pngcrush</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># pngcrush --help</span>
&nbsp;
 <span style="color: #000000; font-weight: bold;">|</span> pngcrush 1.7.3
 <span style="color: #000000; font-weight: bold;">|</span>    Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>C<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1998</span>-<span style="color: #000000;">2002</span>,<span style="color: #000000;">2006</span>-<span style="color: #000000;">2009</span> Glenn Randers-Pehrson
 <span style="color: #000000; font-weight: bold;">|</span>    Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>C<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">2005</span>      Greg Roelofs
 <span style="color: #000000; font-weight: bold;">|</span> This is a <span style="color: #c20cb9; font-weight: bold;">free</span>, open-source program.  Permission is irrevocably
 <span style="color: #000000; font-weight: bold;">|</span> granted to everyone to use this version of pngcrush without
 <span style="color: #000000; font-weight: bold;">|</span> payment of any fee.
 <span style="color: #000000; font-weight: bold;">|</span> Executable name is pngcrush
 <span style="color: #000000; font-weight: bold;">|</span> It was built with libpng version 1.2.40, and is
 <span style="color: #000000; font-weight: bold;">|</span> running with  libpng version 1.2.40 - September <span style="color: #000000;">10</span>, <span style="color: #000000;">2009</span>
&nbsp;
 <span style="color: #000000; font-weight: bold;">|</span>    Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>C<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1998</span>-<span style="color: #000000;">2004</span>,<span style="color: #000000;">2006</span>-<span style="color: #000000;">2009</span> Glenn Randers-Pehrson,
 <span style="color: #000000; font-weight: bold;">|</span>    Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>C<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1996</span>, <span style="color: #000000;">1997</span> Andreas Dilger,
 <span style="color: #000000; font-weight: bold;">|</span>    Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>C<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1995</span>, Guy Eric Schalnat, Group <span style="color: #000000;">42</span> Inc.,
 <span style="color: #000000; font-weight: bold;">|</span> and zlib version 1.2.3.3, Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>C<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1998</span>-<span style="color: #000000;">2002</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>or later<span style="color: #7a0874; font-weight: bold;">&#41;</span>,
 <span style="color: #000000; font-weight: bold;">|</span>    Jean-loup Gailly and Mark Adler.
 <span style="color: #000000; font-weight: bold;">|</span> It was compiled with <span style="color: #c20cb9; font-weight: bold;">gcc</span> version 4.1.2 <span style="color: #000000;">20080704</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>Red Hat 4.1.2-<span style="color: #000000;">46</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>.
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
usage: pngcrush <span style="color: #7a0874; font-weight: bold;">&#91;</span>options<span style="color: #7a0874; font-weight: bold;">&#93;</span> infile.png outfile.png
       pngcrush <span style="color: #660033;">-e</span> ext <span style="color: #7a0874; font-weight: bold;">&#91;</span>other options<span style="color: #7a0874; font-weight: bold;">&#93;</span> files.png ...
       pngcrush <span style="color: #660033;">-d</span> <span style="color: #c20cb9; font-weight: bold;">dir</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>other options<span style="color: #7a0874; font-weight: bold;">&#93;</span> files.png ...
options:
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div>

<p>Now you can compress PNG images to reduce its size using command line:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>vitalie<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ optipng <span style="color: #660033;">-o7</span> example.png
<span style="color: #7a0874; font-weight: bold;">&#91;</span>vitalie<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ pngcrush <span style="color: #660033;">-brute</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;.compressed.png&quot;</span>  <span style="color: #000000; font-weight: bold;">*</span>png</pre></div></div>

<p>I&#8217;ve achieved 20% &#8211; 24% file size reduction after compression.</p>
<p>More on the subject:<br />
<a href="http://www.indopedia.org/Indopedia:How_to_keep_image_file_sizes_as_small_as_possible.html">Indopedia</a><br />
<a href="http://www.raymond.cc/blog/archives/2009/03/19/4-free-tools-to-optimize-and-compress-png-images-without-loosing-quality/">Raymond.cc</a></p>
<img src="http://feeds.feedburner.com/~r/SysadminTips/~4/xP23ghhGrTE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cherpec.com/2010/01/speed-up-your-website-by-compressing-png-images/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.cherpec.com/2010/01/speed-up-your-website-by-compressing-png-images/</feedburner:origLink></item>
		<item>
		<title>MysqlProxy: No package ‘lua5.1′ found</title>
		<link>http://feedproxy.google.com/~r/SysadminTips/~3/ZoqFbDSPe4I/</link>
		<comments>http://www.cherpec.com/2009/12/mysqlproxy-no-package-lua5-1-found/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 11:20:52 +0000</pubDate>
		<dc:creator>Vitalie Cherpec</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[lua]]></category>
		<category><![CDATA[MysqlProxy]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[rpmbuild]]></category>

		<guid isPermaLink="false">http://www.cherpec.com/?p=608</guid>
		<description><![CDATA[Somehow my Lua rpm package missed the /usr/lib/pkgconfig/lua.pc file and MysqlProxy couldn&#8217;t detect Lua install:

&#91;vitalie@silver tmp&#93;$ rpmbuild -ta --define 'with_lua 1' mysql-proxy-0.6.0.tar.gz
&#160;
&#91;...&#93;
&#160;
checking for LUA... checking for LUA... configure: error: Package requirements &#40;lua5.1 &#62;= 5.1&#41; were not met:
&#160;
No package 'lua5.1' found
&#160;
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
&#160;
Alternatively, you may set [...]]]></description>
			<content:encoded><![CDATA[<p>Somehow my <a href="http://www.lua.org/">Lua</a> rpm package missed the /usr/lib/pkgconfig/lua.pc file and <a href="http://forge.mysql.com/wiki/MySQL_Proxy">MysqlProxy</a> couldn&#8217;t detect Lua install:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>vitalie<span style="color: #000000; font-weight: bold;">@</span>silver tmp<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ rpmbuild <span style="color: #660033;">-ta</span> <span style="color: #660033;">--define</span> <span style="color: #ff0000;">'with_lua 1'</span> mysql-proxy-0.6.0.tar.gz
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
checking <span style="color: #000000; font-weight: bold;">for</span> LUA... checking <span style="color: #000000; font-weight: bold;">for</span> LUA... configure: error: Package requirements <span style="color: #7a0874; font-weight: bold;">&#40;</span>lua5.1 <span style="color: #000000; font-weight: bold;">&gt;</span>= <span style="color: #000000;">5.1</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> were not met:
&nbsp;
No package <span style="color: #ff0000;">'lua5.1'</span> found
&nbsp;
Consider adjusting the PKG_CONFIG_PATH environment variable <span style="color: #000000; font-weight: bold;">if</span> you
installed software <span style="color: #000000; font-weight: bold;">in</span> a non-standard prefix.
&nbsp;
Alternatively, you may <span style="color: #000000; font-weight: bold;">set</span> the environment variables LUA_CFLAGS
and LUA_LIBS to avoid the need to call pkg-config.
See the pkg-config <span style="color: #c20cb9; font-weight: bold;">man</span> page <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #c20cb9; font-weight: bold;">more</span> details.</pre></div></div>

<p>The solution was to specify LUA_CFLAGS and LUA_LIBS variables:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>vitalie<span style="color: #000000; font-weight: bold;">@</span>silver tmp<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ <span style="color: #007800;">LUA_CFLAGS</span>=<span style="color: #ff0000;">&quot;-I/usr/include&quot;</span> <span style="color: #007800;">LUA_LIBS</span>=<span style="color: #ff0000;">&quot;-llua -lm -ldl&quot;</span> rpmbuild <span style="color: #660033;">-ta</span> <span style="color: #660033;">--define</span> <span style="color: #ff0000;">'with_lua 1'</span> mysql-proxy-0.6.0.tar.gz
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
Requires<span style="color: #7a0874; font-weight: bold;">&#40;</span>rpmlib<span style="color: #7a0874; font-weight: bold;">&#41;</span>: rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>CompressedFileNames<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= 3.0.4-<span style="color: #000000;">1</span> rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>PayloadFilesHavePrefix<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= <span style="color: #000000;">4.0</span>-<span style="color: #000000;">1</span>
Requires: libc.so.6<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libc.so.6<span style="color: #7a0874; font-weight: bold;">&#40;</span>GLIBC_2.2.5<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libc.so.6<span style="color: #7a0874; font-weight: bold;">&#40;</span>GLIBC_2.3<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libc.so.6<span style="color: #7a0874; font-weight: bold;">&#40;</span>GLIBC_2.3.4<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libc.so.6<span style="color: #7a0874; font-weight: bold;">&#40;</span>GLIBC_2.4<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libdl.so.2<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libdl.so.2<span style="color: #7a0874; font-weight: bold;">&#40;</span>GLIBC_2.2.5<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libevent-1.1a.so.1<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libglib-2.0.so.0<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libm.so.6<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libm.so.6<span style="color: #7a0874; font-weight: bold;">&#40;</span>GLIBC_2.2.5<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> rtld<span style="color: #7a0874; font-weight: bold;">&#40;</span>GNU_HASH<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Processing files: mysql-proxy-debuginfo-0.6.0-<span style="color: #000000;">0</span>
Requires<span style="color: #7a0874; font-weight: bold;">&#40;</span>rpmlib<span style="color: #7a0874; font-weight: bold;">&#41;</span>: rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>CompressedFileNames<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= 3.0.4-<span style="color: #000000;">1</span> rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>PayloadFilesHavePrefix<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= <span style="color: #000000;">4.0</span>-<span style="color: #000000;">1</span>
Checking <span style="color: #000000; font-weight: bold;">for</span> unpackaged <span style="color: #c20cb9; font-weight: bold;">file</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>s<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>rpm<span style="color: #000000; font-weight: bold;">/</span>check-files <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>mysql-proxy-0.6.0-<span style="color: #000000;">0</span>-root
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>SRPMS<span style="color: #000000; font-weight: bold;">/</span>mysql-proxy-0.6.0-0.src.rpm
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>RPMS<span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>mysql-proxy-0.6.0-0.x86_64.rpm
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>RPMS<span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>mysql-proxy-debuginfo-0.6.0-0.x86_64.rpm
Executing<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">%</span>clean<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>rpm-tmp.9187
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div>

<p>References:</p>
<ul>
<li><a href="http://blog.cheyer.biz/2008/08/31/building-mysql-proxy-060-on-centos-52/">http://blog.cheyer.biz/2008/08/31/building-mysql-proxy-060-on-centos-52/</a></li>
<li><a href="http://www.gunfist.com/techy/2008/10/buildings-mysql-proxy-060-on-centos-52/">http://www.gunfist.com/techy/2008/10/buildings-mysql-proxy-060-on-centos-52/</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/SysadminTips/~4/ZoqFbDSPe4I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cherpec.com/2009/12/mysqlproxy-no-package-lua5-1-found/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.cherpec.com/2009/12/mysqlproxy-no-package-lua5-1-found/</feedburner:origLink></item>
		<item>
		<title>Swappiness and responsiveness on Linux desktops</title>
		<link>http://feedproxy.google.com/~r/SysadminTips/~3/t5Thf6QQy1A/</link>
		<comments>http://www.cherpec.com/2009/11/swappiness-and-responsiveness-on-linux-desktops/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 17:31:25 +0000</pubDate>
		<dc:creator>Vitalie Cherpec</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[responsiveness]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[vm.swappines]]></category>

		<guid isPermaLink="false">http://www.cherpec.com/?p=587</guid>
		<description><![CDATA[Doing a lots of db import/export/migration tasks on my Linux notebook on large DB tables, I&#8217;ve seen  slow responsiveness from the system. After a small investigation I&#8217;ve seen that my OS is swapping out too much causing performance degradation and making my system unusable. 
By default Linux kernel is configured for  server environments. [...]]]></description>
			<content:encoded><![CDATA[<p>Doing a lots of db import/export/migration tasks on my Linux notebook on large DB tables, I&#8217;ve seen  slow responsiveness from the system. After a small investigation I&#8217;ve seen that my OS is swapping out too much causing performance degradation and making my system unusable. </p>
<p>By default Linux kernel is configured for  server environments. One important parameter that should be considered when using Linux as desktop is <strong>vm.swappines</strong>, by default it&#8217;s value is 60.</p>
<p>That&#8217;s fine for a server as it swaps out memory to disk aggressively to release it for active processes, but on desktops this value is to high, the recommended value is 10 to allow the system to be more responsive.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># tail -2 /etc/sysctl.conf</span>
<span style="color: #666666; font-style: italic;"># desktop settings</span>
vm.swappiness = <span style="color: #000000;">10</span></pre></div></div>

<p>More details:<br />
<a href="https://help.ubuntu.com/community/SwapFaq#What%20is%20swappiness%20and%20how%20do%20I%20change%20it?">Ubuntu Swap Faq</a><br />
<a href="http://www.linuxjournal.com/article/8308">Optimizing Desktop Performance, Part I</a><br />
<a href="http://www.linuxjournal.com/article/8317">Optimizing Desktop Performance, Part II</a><br />
<a href="http://www.linuxjournal.com/article/8322">Optimizing Desktop Performance, Part III</a></p>
<img src="http://feeds.feedburner.com/~r/SysadminTips/~4/t5Thf6QQy1A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cherpec.com/2009/11/swappiness-and-responsiveness-on-linux-desktops/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.cherpec.com/2009/11/swappiness-and-responsiveness-on-linux-desktops/</feedburner:origLink></item>
		<item>
		<title>Howto install RMagick 2 on CentOS/RHEL 5</title>
		<link>http://feedproxy.google.com/~r/SysadminTips/~3/OexrYP-7IgU/</link>
		<comments>http://www.cherpec.com/2009/10/howto-install-rmagick-2-on-centosrhel-5/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 17:21:00 +0000</pubDate>
		<dc:creator>Vitalie Cherpec</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[Centos Plus]]></category>
		<category><![CDATA[Dag]]></category>
		<category><![CDATA[epel]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[rhel]]></category>
		<category><![CDATA[RMagick]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[RPMForge]]></category>

		<guid isPermaLink="false">http://www.cherpec.com/?p=525</guid>
		<description><![CDATA[Installing RMagick 2 on CentOS/RHEL 5 it&#8217;s not that hard, you just need to install ImageMagick  newer than 6.3.5 (CentOS/RHEL 5 is shipping ImageMagick 6.2.8) and  that&#8217;s the hardest part of the job.

&#91;root@silver ~&#93;# gem install rmagick
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
     [...]]]></description>
			<content:encoded><![CDATA[<p>Installing RMagick 2 on CentOS/RHEL 5 it&#8217;s not that hard, you just need to install ImageMagick  newer than 6.3.5 (CentOS/RHEL 5 is shipping ImageMagick 6.2.8) and  that&#8217;s the hardest part of the job.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># gem install rmagick</span>
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
        ERROR: Failed to build gem native extension.
&nbsp;
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>ruby extconf.rb
checking <span style="color: #000000; font-weight: bold;">for</span> Ruby version <span style="color: #000000; font-weight: bold;">&gt;</span>= 1.8.5... <span style="color: #c20cb9; font-weight: bold;">yes</span>
checking <span style="color: #000000; font-weight: bold;">for</span> gcc... <span style="color: #c20cb9; font-weight: bold;">yes</span>
checking <span style="color: #000000; font-weight: bold;">for</span> Magick-config... <span style="color: #c20cb9; font-weight: bold;">yes</span>
checking <span style="color: #000000; font-weight: bold;">for</span> ImageMagick version <span style="color: #000000; font-weight: bold;">&gt;</span>= 6.3.5... no
Can<span style="color: #ff0000;">'t install RMagick 2.12.2. You must have ImageMagick 6.3.5 or later.</span></pre></div></div>

<p>I&#8217;ve tried to avoid ImageMagick upgrade and to <a href="http://www.cherpec.com/2008/08/howto-install-rmagick-on-centos-4/">install RMagick 1</a>, but RMagick 1 failed to install with a strange compile error, probably because the gcc compliler shipped with CentOS/RHEL 5 is too new for version 1. </p>
<p>I didn&#8217;t wanted to patch RMagick 1, neither to install from sources (I do prefer RPM packages). So, I&#8217;ve decided to upgrade ImageMagick library to satisfy RMagick 2 requirements.</p>
<p>Subscribe your system to the following repositories:</p>
<ul>
<li><a href="http://wiki.centos.org/AdditionalResources/Repositories/RPMForge#head-20e1f65f19ccf2f5fbf5adb30dbaf5ea963a64ae">RPMforge</a></li>
<li><a href="http://wiki.centos.org/AdditionalResources/Repositories/CentOSPlus#head-ef9d75ccc01fef919e07b65d8e390d3c91e5e993">Centos Plus</a></li>
<li><a href="http://fedoraproject.org/wiki/EPEL/FAQ#howtouse">EPEL</a></li>
</ul>
<p>Install the following packages:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># yum --enablerepo=epel --enablerepo=rpmforge --enablerepo=centosplus install djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel librsvg2-devel openexr-devel graphviz-devel gcc gcc-c++ ghostscript freetype-devel libjpeg-devel libpng-devel giflib-devel libwmf-devel libexif-devel libtiff-devel</span></pre></div></div>

<p>Add &#8220;&#8211;noplugins&#8221; if you are using &#8220;yum-priorities&#8221;, or it will fail to install packages.</p>
<p>Download <a href='http://www.cherpec.com/wp-content/uploads/2009/10/ImageMagick.spec'>ImageMagick.spec</a> to your SPECS directory and <a href="ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.5.7-0.tar.bz2">ImageMagick-6.5.7-0.tar.bz2</a> to SOURCES directory and then rebuild the rpm using rpmbuild:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver SPECS<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># rpmbuild -ba ImageMagick.spec</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div>

<p>Or just grab the source RPM from here:<br />
<a href="http://red.penguin.ro/SRPMS/ImageMagick-6.5.7-0.src.rpm">http://red.penguin.ro/SRPMS/ImageMagick-6.5.7-0.src.rpm</a></p>
<p>and build it:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># rpmbuild --rebuild ImageMagick-6.5.7-0.src.rpm </span>
Installing ImageMagick-6.5.7-0.src.rpm
warning: user vitalie does not exist - using root
warning: group vitalie does not exist - using root
warning: user vitalie does not exist - using root
warning: group vitalie does not exist - using root
Executing<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">%</span>prep<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>rpm-tmp.11936
+ <span style="color: #7a0874; font-weight: bold;">umask</span> 022
+ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>BUILD
+ <span style="color: #007800;">LANG</span>=C
+ <span style="color: #7a0874; font-weight: bold;">export</span> LANG
+ <span style="color: #7a0874; font-weight: bold;">unset</span> DISPLAY
+ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>BUILD
+ <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> ImageMagick-6.5.7-<span style="color: #000000;">0</span>
+ <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">bzip2</span> <span style="color: #660033;">-dc</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>SOURCES<span style="color: #000000; font-weight: bold;">/</span>ImageMagick-6.5.7-0.tar.bz2
+ <span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-xf</span> -
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
Requires<span style="color: #7a0874; font-weight: bold;">&#40;</span>rpmlib<span style="color: #7a0874; font-weight: bold;">&#41;</span>: rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>CompressedFileNames<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= 3.0.4-<span style="color: #000000;">1</span> rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>PayloadFilesHavePrefix<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= <span style="color: #000000;">4.0</span>-<span style="color: #000000;">1</span>
Requires: <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span> ImageMagick-c++ = 6.5.7-<span style="color: #000000;">0</span> ImageMagick-devel = 6.5.7-<span style="color: #000000;">0</span> libMagick++.so.2<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Processing files: ImageMagick-debuginfo-6.5.7-<span style="color: #000000;">0</span>
Provides: Magick.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> analyze.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> art.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> avi.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> avs.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> bmp.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> braille.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> cals.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> caption.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> cin.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> cip.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> clip.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> cmyk.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> cut.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> dcm.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> dds.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> dib.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> djvu.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> dng.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> dot.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> dpx.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> ept.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> fax.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> fits.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> gif.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> gradient.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> gray.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> hald.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> histogram.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> hrz.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> html.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> icon.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> info.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> inline.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> ipl.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> jp2.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> jpeg.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> label.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libMagick++.so.2.0.0.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libMagickCore.so.2.0.0.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libMagickWand.so.2.0.0.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> magick.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> map.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> mat.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> matte.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> meta.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> miff.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> mono.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> mpc.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> mpeg.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> mpr.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> msl.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> mtv.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> mvg.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> null.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> otb.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> palm.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> pattern.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> pcd.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> pcl.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> pcx.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> pdb.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> pdf.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> pict.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> pix.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> plasma.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> png.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> pnm.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> preview.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> ps.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> ps2.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> ps3.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> psd.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> pwp.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> raw.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> rgb.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> rla.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> rle.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> scr.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> sct.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> sfw.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> sgi.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> stegano.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> sun.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> svg.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> tga.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> thumbnail.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> tiff.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> tile.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> tim.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> ttf.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> txt.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> uil.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> url.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> uyvy.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> vicar.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> vid.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> viff.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> wbmp.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> wmf.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> wpg.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> x.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> xbm.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> xc.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> xcf.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> xpm.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> xps.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> xwd.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> ycbcr.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> yuv.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Requires<span style="color: #7a0874; font-weight: bold;">&#40;</span>rpmlib<span style="color: #7a0874; font-weight: bold;">&#41;</span>: rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>CompressedFileNames<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= 3.0.4-<span style="color: #000000;">1</span> rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>PayloadFilesHavePrefix<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= <span style="color: #000000;">4.0</span>-<span style="color: #000000;">1</span>
Checking <span style="color: #000000; font-weight: bold;">for</span> unpackaged <span style="color: #c20cb9; font-weight: bold;">file</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>s<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>rpm<span style="color: #000000; font-weight: bold;">/</span>check-files <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>ImageMagick-6.5.7-<span style="color: #000000;">0</span>-root-root
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>RPMS<span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>ImageMagick-6.5.7-0.x86_64.rpm
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>RPMS<span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>ImageMagick-devel-6.5.7-0.x86_64.rpm
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>RPMS<span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>ImageMagick-doc-6.5.7-0.x86_64.rpm
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>RPMS<span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>ImageMagick-perl-6.5.7-0.x86_64.rpm
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>RPMS<span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>ImageMagick-c++-6.5.7-0.x86_64.rpm
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>RPMS<span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>ImageMagick-c++-devel-6.5.7-0.x86_64.rpm
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>RPMS<span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>ImageMagick-debuginfo-6.5.7-0.x86_64.rpm
Executing<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">%</span>clean<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>rpm-tmp.25482
+ <span style="color: #7a0874; font-weight: bold;">umask</span> 022
+ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>BUILD
+ <span style="color: #7a0874; font-weight: bold;">cd</span> ImageMagick-6.5.7-<span style="color: #000000;">0</span>
+ <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>ImageMagick-6.5.7-<span style="color: #000000;">0</span>-root-root
+ <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>
Executing<span style="color: #7a0874; font-weight: bold;">&#40;</span>--clean<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>rpm-tmp.25482
+ <span style="color: #7a0874; font-weight: bold;">umask</span> 022
+ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>worf<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>BUILD
+ <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> ImageMagick-6.5.7-<span style="color: #000000;">0</span>
+ <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>

<p>Uninstall i386 ImageMagick libraries if you are on x86_64 system:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># rpm -qa | grep ImageMagick | grep -i i386 | xargs rpm -e</span></pre></div></div>

<p>Install the new RPMs compiled in the  previous steps:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver x86_64<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># rpm -Uvh ImageMagick-6.5.7-0.x86_64.rpm ImageMagick-c++-6.5.7-0.x86_64.rpm ImageMagick-c++-devel-6.5.7-0.x86_64.rpm ImageMagick-devel-6.5.7-0.x86_64.rpm</span></pre></div></div>

<p>Finally, install the RMagick 2 plugin:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># gem install rmagick --no-rdoc --no-ri</span>
Building native extensions.  This could take a while...
Successfully installed rmagick-2.12.2
<span style="color: #000000;">1</span> gem installed</pre></div></div>

<img src="http://feeds.feedburner.com/~r/SysadminTips/~4/OexrYP-7IgU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cherpec.com/2009/10/howto-install-rmagick-2-on-centosrhel-5/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://www.cherpec.com/2009/10/howto-install-rmagick-2-on-centosrhel-5/</feedburner:origLink></item>
		<item>
		<title>Ruby Enterprise Edition 1.8.7 source RPM for CentOS5 / RHEL5</title>
		<link>http://feedproxy.google.com/~r/SysadminTips/~3/CkDSK6OB8Tg/</link>
		<comments>http://www.cherpec.com/2009/10/ruby-enterprise-edition-1-8-7-source-rpm-for-centos5-rhel5/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 13:27:08 +0000</pubDate>
		<dc:creator>Vitalie Cherpec</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[ree]]></category>
		<category><![CDATA[rhel]]></category>
		<category><![CDATA[rhel5]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[ruby enterprise]]></category>
		<category><![CDATA[src]]></category>
		<category><![CDATA[src.rpm]]></category>

		<guid isPermaLink="false">http://www.cherpec.com/?p=504</guid>
		<description><![CDATA[Ruby Enterprise Edition is a server-oriented friendly branch of Ruby which includes various enhancements:
    * A copy-on-write friendly garbage collector. Phusion Passenger uses this, in combination with a technique called preforking, to reduce Ruby on Rails applications&#8217; memory usage by 33% on average.
    * An improved memory allocator called [...]]]></description>
			<content:encoded><![CDATA[<p>Ruby Enterprise Edition is a server-oriented friendly branch of Ruby which includes various enhancements:</p>
<p>    * A copy-on-write friendly garbage collector. Phusion Passenger uses this, in combination with a technique called preforking, to reduce Ruby on Rails applications&#8217; memory usage by 33% on average.<br />
    * An improved memory allocator called tcmalloc, which improves performance quite a bit.<br />
    * The ability to tweak garbage collector settings for maximum server performance, and the ability to inspect the garbage collector&#8217;s state. (RailsBench GC patch)<br />
    * The ability to dump stack traces for all running threads (caller_for_all_threads), making it easier for one to debug multithreaded Ruby web applications.</p>
<p>More on Ruby Enterprise Edition&#8217;s website:<br />
<a href="http://www.rubyenterpriseedition.com/">http://www.rubyenterpriseedition.com/</a></p>
<p>Download source rpm:<br />
<a href='http://www.cherpec.com/wp-content/uploads/2009/10/ruby-enterprise-1.8.7-1.el5.src.rpm'>ruby-enterprise-1.8.7-1.el5.src.rpm</a></p>
<p>Build rpm package using rpmbuild:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>vitalie<span style="color: #000000; font-weight: bold;">@</span>silver SRPMS<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ rpmbuild <span style="color: #660033;">--rebuild</span> <span style="color: #660033;">--define</span> <span style="color: #ff0000;">'dist el5'</span> ruby-enterprise-1.8.7-1.el5.src.rpm 
Installing ruby-enterprise-1.8.7-1.el5.src.rpm
Executing<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">%</span>prep<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>rpm-tmp.89437
+ <span style="color: #7a0874; font-weight: bold;">umask</span> 022
+ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>BUILD
+ <span style="color: #007800;">LANG</span>=C
+ <span style="color: #7a0874; font-weight: bold;">export</span> LANG
+ <span style="color: #7a0874; font-weight: bold;">unset</span> DISPLAY
+ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>BUILD
+ <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> ruby-enterprise-1.8.7-<span style="color: #000000;">20090928</span>
+ <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">gzip</span> <span style="color: #660033;">-dc</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>SOURCES<span style="color: #000000; font-weight: bold;">/</span>ruby-enterprise-1.8.7-20090928.tar.gz
+ <span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-xf</span> -
+ <span style="color: #007800;">STATUS</span>=<span style="color: #000000;">0</span>
+ <span style="color: #ff0000;">'['</span> <span style="color: #000000;">0</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">0</span> <span style="color: #ff0000;">']'</span>
+ <span style="color: #7a0874; font-weight: bold;">cd</span> ruby-enterprise-1.8.7-<span style="color: #000000;">20090928</span>
++ <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">id</span> <span style="color: #660033;">-u</span>
+ <span style="color: #ff0000;">'['</span> <span style="color: #000000;">500</span> = <span style="color: #000000;">0</span> <span style="color: #ff0000;">']'</span>
++ <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">id</span> <span style="color: #660033;">-u</span>
+ <span style="color: #ff0000;">'['</span> <span style="color: #000000;">500</span> = <span style="color: #000000;">0</span> <span style="color: #ff0000;">']'</span>
+ <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #660033;">-Rf</span> a+rX,u+<span style="color: #c20cb9; font-weight: bold;">w</span>,g-w,o-w .
+ <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>
Executing<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">%</span>build<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>rpm-tmp.89437
+ <span style="color: #7a0874; font-weight: bold;">umask</span> 022
+ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>BUILD
+ <span style="color: #7a0874; font-weight: bold;">cd</span> ruby-enterprise-1.8.7-<span style="color: #000000;">20090928</span>
+ <span style="color: #007800;">LANG</span>=C
+ <span style="color: #7a0874; font-weight: bold;">export</span> LANG
+ <span style="color: #7a0874; font-weight: bold;">unset</span> DISPLAY
+ .<span style="color: #000000; font-weight: bold;">/</span>installer <span style="color: #660033;">--auto</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #660033;">--dont-install-useful-gems</span> <span style="color: #660033;">--destdir</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>ruby-enterprise-1.8.7-<span style="color: #000000;">20090928</span>-root-vitalie
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
Provides: ruby-enterprise<span style="color: #7a0874; font-weight: bold;">&#40;</span>rubygems<span style="color: #7a0874; font-weight: bold;">&#41;</span> = 1.3.2
Requires<span style="color: #7a0874; font-weight: bold;">&#40;</span>interp<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span>
Requires<span style="color: #7a0874; font-weight: bold;">&#40;</span>rpmlib<span style="color: #7a0874; font-weight: bold;">&#41;</span>: rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>CompressedFileNames<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= 3.0.4-<span style="color: #000000;">1</span> rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>PayloadFilesHavePrefix<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= <span style="color: #000000;">4.0</span>-<span style="color: #000000;">1</span> rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>VersionedDependencies<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= 3.0.3-<span style="color: #000000;">1</span>
Requires<span style="color: #7a0874; font-weight: bold;">&#40;</span>pre<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span>
Requires: <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>ruby ruby-enterprise <span style="color: #000000; font-weight: bold;">&gt;</span>= <span style="color: #000000;">1.8</span>
Processing files: ruby-enterprise-debuginfo-1.8.7-1.el5
Provides: bigdecimal.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> bubblebabble.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> cparse.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> curses.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> dbm.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> digest.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> dl.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> etc.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> fcntl.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> gdbm.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> iconv.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> libtcmalloc_minimal.so.0.0.0.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> md5.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> nkf.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> openssl.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> pty.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> readline.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> rmd160.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> sdbm.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> sha1.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> sha2.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> socket.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> stringio.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> strscan.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> syck.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> syslog.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> thread.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> wait.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span> zlib.so.debug<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>64bit<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Requires<span style="color: #7a0874; font-weight: bold;">&#40;</span>rpmlib<span style="color: #7a0874; font-weight: bold;">&#41;</span>: rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>CompressedFileNames<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= 3.0.4-<span style="color: #000000;">1</span> rpmlib<span style="color: #7a0874; font-weight: bold;">&#40;</span>PayloadFilesHavePrefix<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>= <span style="color: #000000;">4.0</span>-<span style="color: #000000;">1</span>
Checking <span style="color: #000000; font-weight: bold;">for</span> unpackaged <span style="color: #c20cb9; font-weight: bold;">file</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>s<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>rpm<span style="color: #000000; font-weight: bold;">/</span>check-files <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>ruby-enterprise-1.8.7-<span style="color: #000000;">20090928</span>-root-vitalie
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>RPMS<span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>ruby-enterprise-1.8.7-1.el5.x86_64.rpm
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>RPMS<span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>ruby-enterprise-rubygems-1.3.2-1.el5.x86_64.rpm
Wrote: <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>RPMS<span style="color: #000000; font-weight: bold;">/</span>x86_64<span style="color: #000000; font-weight: bold;">/</span>ruby-enterprise-debuginfo-1.8.7-1.el5.x86_64.rpm
Executing<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">%</span>clean<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>rpm-tmp.76776
+ <span style="color: #7a0874; font-weight: bold;">umask</span> 022
+ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>BUILD
+ <span style="color: #7a0874; font-weight: bold;">cd</span> ruby-enterprise-1.8.7-<span style="color: #000000;">20090928</span>
+ <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>ruby-enterprise-1.8.7-<span style="color: #000000;">20090928</span>-root-vitalie
+ <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>
Executing<span style="color: #7a0874; font-weight: bold;">&#40;</span>--clean<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">sh</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>rpm-tmp.76776
+ <span style="color: #7a0874; font-weight: bold;">umask</span> 022
+ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>vitalie<span style="color: #000000; font-weight: bold;">/</span>rpmbuild<span style="color: #000000; font-weight: bold;">/</span>BUILD
+ <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> ruby-enterprise-1.8.7-<span style="color: #000000;">20090928</span>
+ <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>

<p>Alternatively you can download just spec file and grab sources from the REE&#8217;s website:<br />
<a href='http://www.cherpec.com/wp-content/uploads/2009/10/ruby-enterprise.spec'>ruby-enterprise.spec</a></p>
<img src="http://feeds.feedburner.com/~r/SysadminTips/~4/CkDSK6OB8Tg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cherpec.com/2009/10/ruby-enterprise-edition-1-8-7-source-rpm-for-centos5-rhel5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.cherpec.com/2009/10/ruby-enterprise-edition-1-8-7-source-rpm-for-centos5-rhel5/</feedburner:origLink></item>
		<item>
		<title>acts_as_redis_counter plugin</title>
		<link>http://feedproxy.google.com/~r/SysadminTips/~3/grORSAsb5j4/</link>
		<comments>http://www.cherpec.com/2009/10/acts_as_redis_counter-plugin/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 11:36:52 +0000</pubDate>
		<dc:creator>Vitalie Cherpec</dc:creator>
				<category><![CDATA[ActsAsRedisCounter]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[counter]]></category>
		<category><![CDATA[countes]]></category>
		<category><![CDATA[high performance]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[redis]]></category>

		<guid isPermaLink="false">http://www.cherpec.com/?p=500</guid>
		<description><![CDATA[I&#8217;ve just released acts_as_redis_counter plugin for Rails.
Description:
The acts_as_redis_counter plugin implements high performance counters using write-back strategy with Redis key-value database.
Enjoy it!
http://github.com/vitalie/acts_as_redis_counter
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just released <strong>acts_as_redis_counter</strong> plugin for Rails.</p>
<p>Description:</p>
<p>The acts_as_redis_counter plugin implements high performance counters using write-back strategy with Redis key-value database.</p>
<p>Enjoy it!<br />
<a href="http://github.com/vitalie/acts_as_redis_counter">http://github.com/vitalie/acts_as_redis_counter</a></p>
<img src="http://feeds.feedburner.com/~r/SysadminTips/~4/grORSAsb5j4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cherpec.com/2009/10/acts_as_redis_counter-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.cherpec.com/2009/10/acts_as_redis_counter-plugin/</feedburner:origLink></item>
		<item>
		<title>Easy Rails virtual hosts with mod_macro</title>
		<link>http://feedproxy.google.com/~r/SysadminTips/~3/Q5fKBelrJDg/</link>
		<comments>http://www.cherpec.com/2009/10/easy-rails-virtual-hosts-with-mod_macro/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 14:43:16 +0000</pubDate>
		<dc:creator>Vitalie Cherpec</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apxs]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[mod_macro]]></category>
		<category><![CDATA[mod_passenger]]></category>
		<category><![CDATA[mod_rails]]></category>
		<category><![CDATA[passenger]]></category>

		<guid isPermaLink="false">http://www.cherpec.com/?p=465</guid>
		<description><![CDATA[Keeping a separate file for each virtual host in /etc/httpd/vhosts.d it&#8217;s clean and cool, but when you have many virtual hosts with same settings it&#8217;s a pain to keep them updated. We need a template system for Apache configurations and mod_macro module it&#8217;s a handy tool for this job.
Download module version suited for your Apache [...]]]></description>
			<content:encoded><![CDATA[<p>Keeping a separate file for each virtual host in /etc/httpd/vhosts.d it&#8217;s clean and cool, but when you have many virtual hosts with same settings it&#8217;s a pain to keep them updated. We need a template system for Apache configurations and <a href="http://www.cri.ensmp.fr/~coelho/mod_macro/">mod_macro</a> module it&#8217;s a handy tool for this job.</p>
<p>Download module version suited for your Apache from:<br />
<a href="http://www.cri.ensmp.fr/~coelho/mod_macro/">http://www.cri.ensmp.fr/~coelho/mod_macro/</a></p>
<p>Ensure that you have httpd-devel package installed then untar archive and compile mod_macro module with apxs:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver tmp<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># wget http://www.cri.ensmp.fr/~coelho/mod_macro/mod_macro-1.1.10.tar.bz2</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver tmp<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># tar xvfjp mod_macro-1.1.10.tar.bz2 </span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver tmp<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># cd mod_macro-1.1.10</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>silver mod_macro-1.1.10<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># apxs -cia mod_macro.c </span>
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>apr-<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>build<span style="color: #000000; font-weight: bold;">/</span>libtool <span style="color: #660033;">--silent</span> <span style="color: #660033;">--mode</span>=compile <span style="color: #c20cb9; font-weight: bold;">gcc</span> <span style="color: #660033;">-prefer-pic</span> <span style="color: #660033;">-O2</span> <span style="color: #660033;">-g</span> <span style="color: #660033;">-pipe</span> <span style="color: #660033;">-Wall</span> -Wp,-D_FORTIFY_SOURCE=<span style="color: #000000;">2</span> <span style="color: #660033;">-fexceptions</span> <span style="color: #660033;">-fstack-protector</span> <span style="color: #660033;">--param</span>=ssp-buffer-size=<span style="color: #000000;">4</span> <span style="color: #660033;">-m64</span> <span style="color: #660033;">-mtune</span>=generic <span style="color: #660033;">-fno-strict-aliasing</span>  <span style="color: #660033;">-DLINUX</span>=<span style="color: #000000;">2</span> -D_REENTRANT -D_GNU_SOURCE <span style="color: #660033;">-pthread</span> -I<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>httpd  -I<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>apr-<span style="color: #000000;">1</span>   -I<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>apr-<span style="color: #000000;">1</span>   <span style="color: #660033;">-c</span> <span style="color: #660033;">-o</span> mod_macro.lo mod_macro.c <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">touch</span> mod_macro.slo
mod_macro.c: In <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #ff0000;">'looks_like_an_argument'</span>:
mod_macro.c:<span style="color: #000000;">316</span>: warning: cast from pointer to integer of different <span style="color: #c20cb9; font-weight: bold;">size</span>
mod_macro.c: In <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #ff0000;">'say_it'</span>:
mod_macro.c:<span style="color: #000000;">929</span>: warning: cast from pointer to integer of different <span style="color: #c20cb9; font-weight: bold;">size</span>
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>apr-<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>build<span style="color: #000000; font-weight: bold;">/</span>libtool <span style="color: #660033;">--silent</span> <span style="color: #660033;">--mode</span>=<span style="color: #c20cb9; font-weight: bold;">link</span> <span style="color: #c20cb9; font-weight: bold;">gcc</span> <span style="color: #660033;">-o</span> mod_macro.la  <span style="color: #660033;">-rpath</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>modules <span style="color: #660033;">-module</span> <span style="color: #660033;">-avoid-version</span>    mod_macro.lo
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>build<span style="color: #000000; font-weight: bold;">/</span>instdso.sh <span style="color: #007800;">SH_LIBTOOL</span>=<span style="color: #ff0000;">'/usr/lib64/apr-1/build/libtool'</span> mod_macro.la <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>modules
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>apr-<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>build<span style="color: #000000; font-weight: bold;">/</span>libtool <span style="color: #660033;">--mode</span>=<span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #c20cb9; font-weight: bold;">cp</span> mod_macro.la <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">cp</span> .libs<span style="color: #000000; font-weight: bold;">/</span>mod_macro.so <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>mod_macro.so
<span style="color: #c20cb9; font-weight: bold;">cp</span> .libs<span style="color: #000000; font-weight: bold;">/</span>mod_macro.lai <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>mod_macro.la
<span style="color: #c20cb9; font-weight: bold;">cp</span> .libs<span style="color: #000000; font-weight: bold;">/</span>mod_macro.a <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>mod_macro.a
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">644</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>mod_macro.a
ranlib <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>mod_macro.a
<span style="color: #007800;">PATH</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$PATH</span>:/sbin&quot;</span> ldconfig <span style="color: #660033;">-n</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>modules
<span style="color: #660033;">----------------------------------------------------------------------</span>
Libraries have been installed <span style="color: #000000; font-weight: bold;">in</span>:
   <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>modules
&nbsp;
If you ever happen to want to <span style="color: #c20cb9; font-weight: bold;">link</span> against installed libraries
<span style="color: #000000; font-weight: bold;">in</span> a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the <span style="color: #000000; font-weight: bold;">`</span>-LLIBDIR<span style="color: #ff0000;">'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH'</span> environment variable
     during execution
   - add LIBDIR to the <span style="color: #000000; font-weight: bold;">`</span>LD_RUN_PATH<span style="color: #ff0000;">' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR'</span> linker flag
   - have your system administrator add LIBDIR to <span style="color: #000000; font-weight: bold;">`/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ld.so.conf<span style="color: #ff0000;">'
&nbsp;
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/lib64/httpd/modules/mod_macro.so
[activating module `macro'</span> <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>conf<span style="color: #000000; font-weight: bold;">/</span>httpd.conf<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div>

<p>Create a file that will keep your macros in Apache&#8217;s conf.d directory (example: _mod_macro.conf), conf.d files are executed after modules are loaded:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># /etc/httpd/conf.d/_mod_macro.conf</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># RailsHost macro</span>
<span style="color: #000000; font-weight: bold;">&lt;</span>Macro RailsHost <span style="color: #007800;">$host</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">&gt;</span>
  <span style="color: #000000; font-weight: bold;">&lt;</span>VirtualHost <span style="color: #000000; font-weight: bold;">*</span>:<span style="color: #000000;">80</span><span style="color: #000000; font-weight: bold;">&gt;</span>
    ServerName www.<span style="color: #007800;">$host</span>
    ServerAlias <span style="color: #007800;">$host</span>
    DocumentRoot <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>current<span style="color: #000000; font-weight: bold;">/</span>public
&nbsp;
    CustomLog <span style="color: #ff0000;">&quot;logs/<span style="color: #007800;">$host_access</span>.log&quot;</span> combined
    ErrorLog <span style="color: #ff0000;">&quot;logs/<span style="color: #007800;">$host_error</span>.log&quot;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;"># Passenger settings</span>
    RailsBaseURI <span style="color: #000000; font-weight: bold;">/</span>
    RailsMaxPoolSize <span style="color: #000000;">1</span>
    RailsPoolIdleTime <span style="color: #000000;">3600</span>
    RailsEnv production
&nbsp;
    <span style="color: #666666; font-style: italic;"># Redirect example.com -&gt; www.example.com</span>
    RewriteEngine On
    RewriteCond <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>HTTP_HOST<span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #000000; font-weight: bold;">!</span>^www.<span style="color: #007800;">$host</span>
    RewriteRule ^<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>.<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.<span style="color: #007800;">$host</span><span style="color: #000000; font-weight: bold;">/</span>$<span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #007800;">R</span>=<span style="color: #000000;">301</span>,L<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;"># Check for maintenance file and redirect all requests</span>
    RewriteCond <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>DOCUMENT_ROOT<span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>maintenance.html <span style="color: #660033;">-f</span>
    RewriteCond <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>SCRIPT_FILENAME<span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #000000; font-weight: bold;">!</span>maintenance.html
    RewriteCond <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>SCRIPT_FILENAME<span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #000000; font-weight: bold;">!</span>^<span style="color: #000000; font-weight: bold;">/</span>images
    RewriteCond <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>SCRIPT_FILENAME<span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #000000; font-weight: bold;">!</span>^<span style="color: #000000; font-weight: bold;">/</span>stylesheets
    RewriteCond <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>SCRIPT_FILENAME<span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #000000; font-weight: bold;">!</span>^<span style="color: #000000; font-weight: bold;">/</span>javascripts
    RewriteRule ^.<span style="color: #000000; font-weight: bold;">*</span>$ <span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>maintenance.html <span style="color: #7a0874; font-weight: bold;">&#91;</span>L<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
    ErrorDocument <span style="color: #000000;">404</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>current<span style="color: #000000; font-weight: bold;">/</span>public<span style="color: #000000; font-weight: bold;">/</span>404.html
    ErrorDocument <span style="color: #000000;">422</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>current<span style="color: #000000; font-weight: bold;">/</span>public<span style="color: #000000; font-weight: bold;">/</span>422.html
    ErrorDocument <span style="color: #000000;">500</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>current<span style="color: #000000; font-weight: bold;">/</span>public<span style="color: #000000; font-weight: bold;">/</span>500.html
&nbsp;
    Use ModDeflate
    Use ModExpires
&nbsp;
    <span style="color: #000000; font-weight: bold;">&lt;</span>Directory <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>current<span style="color: #000000; font-weight: bold;">/</span>public<span style="color: #000000; font-weight: bold;">&gt;</span>
      Options FollowSymLinks
      AllowOverride None
      Order allow,deny
      Allow from all
    <span style="color: #000000; font-weight: bold;">&lt;/</span>Directory<span style="color: #000000; font-weight: bold;">&gt;</span>
  <span style="color: #000000; font-weight: bold;">&lt;/</span>VirtualHost<span style="color: #000000; font-weight: bold;">&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;/</span>Macro<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># ModDeflate macro</span>
<span style="color: #000000; font-weight: bold;">&lt;</span>Macro ModDeflate<span style="color: #000000; font-weight: bold;">&gt;</span>
  <span style="color: #000000; font-weight: bold;">&lt;</span>IfModule mod_deflate.c<span style="color: #000000; font-weight: bold;">&gt;</span>
    AddOutputFilterByType DEFLATE text<span style="color: #000000; font-weight: bold;">/</span>plain
    AddOutputFilterByType DEFLATE text<span style="color: #000000; font-weight: bold;">/</span>html
    AddOutputFilterByType DEFLATE text<span style="color: #000000; font-weight: bold;">/</span>xml
    AddOutputFilterByType DEFLATE text<span style="color: #000000; font-weight: bold;">/</span>css
    AddOutputFilterByType DEFLATE application<span style="color: #000000; font-weight: bold;">/</span>xml
    AddOutputFilterByType DEFLATE application<span style="color: #000000; font-weight: bold;">/</span>xhtml+xml
    AddOutputFilterByType DEFLATE application<span style="color: #000000; font-weight: bold;">/</span>rss+xml
    AddOutputFilterByType DEFLATE application<span style="color: #000000; font-weight: bold;">/</span>javascript
    AddOutputFilterByType DEFLATE application<span style="color: #000000; font-weight: bold;">/</span>x-javascript
&nbsp;
    BrowserMatch ^Mozilla<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">4</span> gzip-only-text<span style="color: #000000; font-weight: bold;">/</span>html
    BrowserMatch ^Mozilla<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">4</span>\.0<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">678</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> no-gzip
    BrowserMatch \bMSIE <span style="color: #000000; font-weight: bold;">!</span>no-gzip <span style="color: #000000; font-weight: bold;">!</span>gzip-only-text<span style="color: #000000; font-weight: bold;">/</span>html
  <span style="color: #000000; font-weight: bold;">&lt;/</span>IfModule<span style="color: #000000; font-weight: bold;">&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;/</span>Macro<span style="color: #000000; font-weight: bold;">&gt;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># ModExpires macro</span>
<span style="color: #000000; font-weight: bold;">&lt;</span>Macro ModExpires<span style="color: #000000; font-weight: bold;">&gt;</span>
  <span style="color: #000000; font-weight: bold;">&lt;</span>IfModule mod_expires.c<span style="color: #000000; font-weight: bold;">&gt;</span>
    ExpiresActive On
    <span style="color: #000000; font-weight: bold;">&lt;</span>LocationMatch <span style="color: #ff0000;">&quot;^/(images|javascripts|stylesheets)&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>
      ExpiresDefault <span style="color: #ff0000;">&quot;access plus 1 year&quot;</span>
    <span style="color: #000000; font-weight: bold;">&lt;/</span>LocationMatch<span style="color: #000000; font-weight: bold;">&gt;</span>
  <span style="color: #000000; font-weight: bold;">&lt;/</span>IfModule<span style="color: #000000; font-weight: bold;">&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;/</span>Macro<span style="color: #000000; font-weight: bold;">&gt;</span></pre></div></div>

<p>Append RailsHost macro calls to your httpd.conf to define your virtual hosts :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># /etc/httpd/conf/httpd.conf</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
Use RailsHost vhost1.com <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>virtualhosts<span style="color: #000000; font-weight: bold;">/</span>vhost1.com
Use RailsHost vhost2.com <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>virtualhosts<span style="color: #000000; font-weight: bold;">/</span>vhost2.com</pre></div></div>

<p>Now, your Apache configuration looks much better and when it comes make changes to your configurations you&#8217;ll need to change just one macro.</p>
<img src="http://feeds.feedburner.com/~r/SysadminTips/~4/Q5fKBelrJDg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cherpec.com/2009/10/easy-rails-virtual-hosts-with-mod_macro/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.cherpec.com/2009/10/easy-rails-virtual-hosts-with-mod_macro/</feedburner:origLink></item>
		<item>
		<title>Configure DenyHosts to ignore local networks</title>
		<link>http://feedproxy.google.com/~r/SysadminTips/~3/GXIOCyWoxYo/</link>
		<comments>http://www.cherpec.com/2009/10/configure-denyhosts-to-ignore-local-networks/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 17:46:52 +0000</pubDate>
		<dc:creator>Vitalie Cherpec</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[DenyHosts]]></category>
		<category><![CDATA[hosts.allow]]></category>
		<category><![CDATA[hosts.deny]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.cherpec.com/?p=439</guid>
		<description><![CDATA[I would not talk about how important is to secure your ssh server. One of the tools that helps us to secure ssh server is DenyHosts. From the DenyHosts home page:

DenyHosts is a script intended to be run by Linux system administrators to help thwart SSH server attacks (also known as dictionary based attacks and [...]]]></description>
			<content:encoded><![CDATA[<p>I would not talk about how important is to secure your ssh server. One of the tools that helps us to secure ssh server is <a href="http://denyhosts.sourceforge.net">DenyHosts</a>. From the DenyHosts home page:</p>
<blockquote><p>
DenyHosts is a script intended to be run by Linux system administrators to help thwart SSH server attacks (also known as dictionary based attacks and brute force attacks).
</p></blockquote>
<p>Sending accidentally wrong password to server will block your access. You can avoid it by using public key authentication or when it&#8217;s not possible you can configure DenyHosts to ignore IP addresses from your network:</p>
<blockquote><p><strong>How can I prevent a legitimate IP address from being blocked by DenyHosts?</strong></p>
<p>Since it is quite possible for a user to mistype their password repeatedly it may be desirable to have DenyHosts prevent specific IP addresses from being added to /etc/hosts.deny. To address this issue, create a file named allowed-hosts in the WORK_DIR. Simply add an IP address, one per line. Any IP address that appears in this file will not be blocked.<br />
[...]</p>
<p><a href="http://denyhosts.sourceforge.net/faq.html#3_7">more</a>
</p></blockquote>
<p>I do prefer the TCP wrappers way, I&#8217;ll just bypass DenyHosts for local networks. </p>
<p>Configure DenyHosts to write blocked IPs to <em>/etc/denyhosts/blocked</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># /etc/denyhosts/denyhosts.cfg</span>
HOSTS_DENY = <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>denyhosts<span style="color: #000000; font-weight: bold;">/</span>blocked
BLOCK_SERVICE  =</pre></div></div>

<p>Allow ssh connection if listed in <em>/etc/denyhosts/ignored</em>, and then the last rule is to allow ssh access unless listed in <em>/etc/denyhosts/blocked</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># hosts.allow   This file describes the names of the hosts which are</span>
<span style="color: #666666; font-style: italic;">#               allowed to use the local INET services, as decided</span>
<span style="color: #666666; font-style: italic;">#               by the '/usr/sbin/tcpd' server.</span>
<span style="color: #666666; font-style: italic;">#</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># ssh access</span>
sshd: <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>denyhosts<span style="color: #000000; font-weight: bold;">/</span>ignored : allow
sshd: ALL EXCEPT <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>denyhosts<span style="color: #000000; font-weight: bold;">/</span>blocked</pre></div></div>

<p>Add IPs/networks to ignore:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># /etc/denyhosts/ignored</span>
<span style="color: #666666; font-style: italic;"># hosts allowed to connect bypassing DenyHosts</span>
192.168.10.0<span style="color: #000000; font-weight: bold;">/</span>255.255.255.0</pre></div></div>

<p>More on the file format:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">man</span> hosts.allow</pre></div></div>

<img src="http://feeds.feedburner.com/~r/SysadminTips/~4/GXIOCyWoxYo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.cherpec.com/2009/10/configure-denyhosts-to-ignore-local-networks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.cherpec.com/2009/10/configure-denyhosts-to-ignore-local-networks/</feedburner:origLink></item>
	</channel>
</rss>
