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

<channel>
	<title>Open-Moments &#187; Linux</title>
	<atom:link href="http://open-moments.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://open-moments.com</link>
	<description>Linux, programming and other geeky stuff</description>
	<lastBuildDate>Mon, 09 Jan 2012 08:25:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Splitting Strings in bash</title>
		<link>http://open-moments.com/2012/01/09/splitting-strings-in-bash/</link>
		<comments>http://open-moments.com/2012/01/09/splitting-strings-in-bash/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 08:25:10 +0000</pubDate>
		<dc:creator>deathadder</dc:creator>
				<category><![CDATA[Bash Tips]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[split]]></category>
		<category><![CDATA[string]]></category>

		<guid isPermaLink="false">http://open-moments.com/?p=45</guid>
		<description><![CDATA[Say you&#8217;ve got a pipe &#8216;&#124;&#8217; separated string; to get each element of it you can use awk. myString="a&#124;b&#124;c&#124;d" firstElem=$(echo "$myString" &#124; awk '{split($0,temp,"&#124;"); print temp[1]}') firstElem would then contain &#8220;a&#8221;. Or by using tr: myString="a&#124;b&#124;c&#124;d" myArray=( $(echo $myString &#124; tr "&#124;" " ") ) echo ${myArray[0]} # prints a]]></description>
			<content:encoded><![CDATA[<p>Say you&#8217;ve got a pipe &#8216;|&#8217; separated string; to get each element of it you can use awk.</p>
<pre>myString="a|b|c|d"
firstElem=$(echo "$myString" | awk '{split($0,temp,"|"); print temp[1]}')</pre>
<p>firstElem would then contain &#8220;a&#8221;.</p>
<p>Or by using tr:</p>
<pre>myString="a|b|c|d"
myArray=( $(echo $myString | tr "|" " ") )
echo ${myArray[0]} # prints a</pre>
]]></content:encoded>
			<wfw:commentRss>http://open-moments.com/2012/01/09/splitting-strings-in-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remove Windows EOL characters ^M</title>
		<link>http://open-moments.com/2012/01/09/remove-windows-eol-characters-m/</link>
		<comments>http://open-moments.com/2012/01/09/remove-windows-eol-characters-m/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 08:19:39 +0000</pubDate>
		<dc:creator>deathadder</dc:creator>
				<category><![CDATA[Bash Tips]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[character]]></category>
		<category><![CDATA[eol]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://open-moments.com/?p=42</guid>
		<description><![CDATA[If you&#8217;ve copied/edited a script from a Windows machine you may get a &#8220;bad interrupter&#8221; error due to Windows EOL characters seen as ^M, sometimes, in vi. To remove them you can use sed like so: $ sed 's/^M//g' Win_File &#62; Unix_File To get ^M you&#8217;ll need to enter &#8216;Ctrl-V Ctrl-M&#8217;. You can do the [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve copied/edited a script from a Windows machine you may get a &#8220;bad interrupter&#8221; error due to Windows EOL characters seen as ^M, sometimes, in vi. To remove them you can use sed like so:</p>
<pre>$ sed 's/^M//g' Win_File &gt; Unix_File</pre>
<p>To get ^M you&#8217;ll need to enter &#8216;Ctrl-V Ctrl-M&#8217;. You can do the same from vi directly by bringing up vi&#8217;s command mode, the ESC key followed by :, and typing</p>
<pre>% s'/^M//g'</pre>
<p><!--[if gte mso 9]><xml><br />
<w:WordDocument><br />
<w:View>Normal</w:View><br />
<w:Zoom>0</w:Zoom><br />
<w:TrackMoves/><br />
<w:TrackFormatting/><br />
<w:PunctuationKerning/><br />
<w:ValidateAgainstSchemas/><br />
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid><br />
<w:IgnoreMixedContent>false</w:IgnoreMixedContent><br />
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText><br />
<w:DoNotPromoteQF/><br />
<w:LidThemeOther>EN-GB</w:LidThemeOther><br />
<w:LidThemeAsian>X-NONE</w:LidThemeAsian><br />
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript><br />
<w:Compatibility><br />
<w:BreakWrappedTables/><br />
<w:SnapToGridInCell/><br />
<w:WrapTextWithPunct/><br />
<w:UseAsianBreakRules/><br />
<w:DontGrowAutofit/><br />
<w:SplitPgBreakAndParaMark/><br />
<w:DontVertAlignCellWithSp/><br />
<w:DontBreakConstrainedForcedTables/><br />
<w:DontVertAlignInTxbx/><br />
<w:Word11KerningPairs/><br />
<w:CachedColBalance/><br />
</w:Compatibility><br />
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><br />
<m:mathPr><br />
<m:mathFont m:val="Cambria Math"/><br />
<m:brkBin m:val="before"/><br />
<m:brkBinSub m:val="&#45;-"/><br />
<m:smallFrac m:val="off"/><br />
<m:dispDef/><br />
<m:lMargin m:val="0"/><br />
<m:rMargin m:val="0"/><br />
<m:defJc m:val="centerGroup"/><br />
<m:wrapIndent m:val="1440"/><br />
<m:intLim m:val="subSup"/><br />
<m:naryLim m:val="undOvr"/><br />
</m:mathPr></w:WordDocument><br />
</xml><![endif]--><!--[if gte mso 9]><xml><br />
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"<br />
DefSemiHidden="true" DefQFormat="false" DefPriority="99"<br />
LatentStyleCount="267"><br />
<w:LsdException Locked="false" Priority="0" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Normal"/><br />
<w:LsdException Locked="false" Priority="9" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/><br />
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/><br />
<w:LsdException Locked="false" Priority="39" Name="toc 1"/><br />
<w:LsdException Locked="false" Priority="39" Name="toc 2"/><br />
<w:LsdException Locked="false" Priority="39" Name="toc 3"/><br />
<w:LsdException Locked="false" Priority="39" Name="toc 4"/><br />
<w:LsdException Locked="false" Priority="39" Name="toc 5"/><br />
<w:LsdException Locked="false" Priority="39" Name="toc 6"/><br />
<w:LsdException Locked="false" Priority="39" Name="toc 7"/><br />
<w:LsdException Locked="false" Priority="39" Name="toc 8"/><br />
<w:LsdException Locked="false" Priority="39" Name="toc 9"/><br />
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/><br />
<w:LsdException Locked="false" Priority="10" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Title"/><br />
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/><br />
<w:LsdException Locked="false" Priority="11" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/><br />
<w:LsdException Locked="false" Priority="22" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Strong"/><br />
<w:LsdException Locked="false" Priority="20" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/><br />
<w:LsdException Locked="false" Priority="59" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Table Grid"/><br />
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/><br />
<w:LsdException Locked="false" Priority="1" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading"/><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List"/><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid"/><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1"/><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2"/><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1"/><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2"/><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1"/><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2"/><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3"/><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List"/><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading"/><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List"/><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid"/><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 1"/><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 1"/><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 1"/><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/><br />
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/><br />
<w:LsdException Locked="false" Priority="34" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/><br />
<w:LsdException Locked="false" Priority="29" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Quote"/><br />
<w:LsdException Locked="false" Priority="30" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 1"/><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 1"/><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 2"/><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 2"/><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 2"/><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 2"/><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 2"/><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 3"/><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 3"/><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 3"/><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 3"/><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 3"/><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 4"/><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 4"/><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 4"/><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 4"/><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 4"/><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 5"/><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 5"/><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 5"/><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 5"/><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 5"/><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/><br />
<w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Shading Accent 6"/><br />
<w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light List Accent 6"/><br />
<w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Light Grid Accent 6"/><br />
<w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/><br />
<w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/><br />
<w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/><br />
<w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/><br />
<w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/><br />
<w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/><br />
<w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/><br />
<w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Dark List Accent 6"/><br />
<w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/><br />
<w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful List Accent 6"/><br />
<w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/><br />
<w:LsdException Locked="false" Priority="19" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/><br />
<w:LsdException Locked="false" Priority="21" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/><br />
<w:LsdException Locked="false" Priority="31" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/><br />
<w:LsdException Locked="false" Priority="32" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/><br />
<w:LsdException Locked="false" Priority="33" SemiHidden="false"<br />
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/><br />
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/><br />
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/><br />
</w:LatentStyles><br />
</xml><![endif]--><!--[if gte mso 10]></p>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
</style>
<p><![endif]--><span style="font-size: 12.0pt; font-family: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://open-moments.com/2012/01/09/remove-windows-eol-characters-m/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configure PAN to use SSL</title>
		<link>http://open-moments.com/2012/01/08/configure-pan-to-use-ssl/</link>
		<comments>http://open-moments.com/2012/01/08/configure-pan-to-use-ssl/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 14:44:03 +0000</pubDate>
		<dc:creator>deathadder</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[pan]]></category>
		<category><![CDATA[reader]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://open-moments.com/?p=35</guid>
		<description><![CDATA[Pan, a GTK news reader does not support SSL connects itself, which means if you want to connect to a news server using SSL you will have to setup a SSL tunnel. To do this you will need to install stunnel, I&#8217;m going to assume you have already installed stunnel and wish to know how [...]]]></description>
			<content:encoded><![CDATA[<p>Pan, a GTK news reader does not support SSL connects itself, which means if you want to connect to a news server using SSL you will have to setup a SSL tunnel. To do this you will need to install stunnel, I&#8217;m going to assume you have already installed stunnel and wish to know how to set it up. As the configuration files for stunnel are located within /etc/stunnel you will need to switch to the root user before attempting to edit the file. You can do this using the &#8216;su&#8217; command. My configuration file is located in /etc/stunnel/stunnel.conf-sample, you may or may not have the &#8216;-sample&#8217; suffix. If you do, simple rename name the file:</p>
<p><code>[root@Kahlan ~]# cp /etc/stunnel/stunnel.conf-sample /etc/stunnel/stunnel.conf</code></p>
<p>It is possible that your distro has added the major version number to the configuration file, for example instead of have stunnel.conf you stunnel4.conf if this is the case just edit that file. Now we can start configuring stunnel by opening the file in your favourite text editor. Before we start editing the file you should be aware that stunnel considers any line that begins with a semicolon, &#8220;;&#8221; , as a comment. So uncommenting a line means removing the semicolon from the beginning of the line and commenting out a line means placing a semicolon at the begining of the line. As you are using stunnel within a client mode you can comment out, if it&#8217;s not already, the line:</p>
<p><code>cert = /etc/stunnel/mail.pem</code></p>
<p>Next you need to make sure that stunnel will use version 3 of the SSL protocol. Your configuration file should have the setuid, setgid and pid options already set, if they are not comment out the beginning of each line, or add the following:</p>
<p><code>setuid = stunnel<br />
setgid = stunnel<br />
pid = /stunnel.pid</code></p>
<p>The setuid and setgid options tells stunnel which users to run the stunnel process as. It&#8217;s important that these do not run under the root, or any normal user accounts on your system. This is done for a number of security related reasons. As we will be running stunnel as a client, i.e connecting to a SSL server you need to ensure that the client option is set to yes, on the installations I&#8217;ve seen this is commented out by default so make sure that it&#8217;s uncommented:</p>
<p><code>; Use it for client mode<br />
client = yes</code></p>
<p>Next in the configuration file you will see a list of services that stunnel will be listening for. For me pop3s, imaps and ssmtp are all set to listen. You should comment out any services that you will not be using, you need to comment out all 3 lines relating the service like so:</p>
<p><code>;[pop3s]<br />
;accept = 995<br />
;connect = 110</code></p>
<p>Afterwards you will need to add the entry for a news server, to do this you will need the servers address and port number for example if your usenet server was secure.foonews.com and they used the standard SSL port, 443, you would add:</p>
<p><code>[nntp]<br />
accept = localhost:2119<br />
connect = secure.foonews.com:443</code></p>
<p>This tells stunnel that it should listen for nntp connections on the local machine and forward those to secure.foonews.com on port 443. Once you&#8217;ve add your nntp setting you should have the file and exit your text editor. Now you need to start the stunnel daemon the way you do this depends on your distro, but a couple of examples are below:</p>
<p><code>Arch Linux<br />
# /etc/rc.d/stunnel start</p>
<p>Debian / Ubuntu / Kubuntu / Xubuntu<br />
# /etc/init.d/stunnel4 start</p>
<p>Mandriva<br />
# service stunnel start</code></p>
<p>Now that stunnel as started, any errors will get printed to the command line, you are ready to configure Pan. You will need to update your setting for a news server if you have already got one configured within Pan. The settings you will need to use, regardless of if your updating settings or adding a new server, are the ones you set in your stunnel configuration file:</p>
<p><code>Address = localhost<br />
Port = 2119</code></p>
<p>If your news server requires you to enter a username and password do so normally, stunnel will simple forward your credentials to the news server. My configuration file is below so you can compare it to yours if you need too:</p>
<p><code>; Sample stunnel configuration file by Michal Trojnara 2002-2006<br />
; Some options used here may not be adequate for your particular configuration<br />
; Please make sure you understand them (especially the effect of chroot jail)<br />
; Certificate/key is needed in server mode and optional in client mode<br />
;cert = /etc/stunnel/mail.pem<br />
;key = /etc/stunnel/mail.pem<br />
; Protocol version (all, SSLv2, SSLv3, TLSv1)<br />
sslVersion = SSLv3<br />
delay = yes</p>
<p>; Some security enhancements for UNIX systems - comment them out on Win32<br />
; chroot = /var/run/stunnel<br />
setuid = stunnel<br />
setgid = stunnel<br />
; PID is created inside chroot jail<br />
pid = /stunnel.pid</p>
<p>; Some performance tunings<br />
socket = l:TCP_NODELAY=1<br />
socket = r:TCP_NODELAY=1</p>
<p>; Workaround for Eudora bug<br />
;options = DONT_INSERT_EMPTY_FRAGMENTS<br />
; Authentication stuff<br />
;verify = 2<br />
; Don't forget to c_rehash CApath<br />
; CApath is located inside chroot jail<br />
;CApath = /certs</p>
<p>; It's often easier to use CAfile<br />
;CAfile = /etc/stunnel/certs.pem<br />
; Don't forget to c_rehash CRLpath<br />
; CRLpath is located inside chroot jail<br />
;CRLpath = /crls</p>
<p>; Alternatively you can use CRLfile<br />
;CRLfile = /etc/stunnel/crls.pem<br />
; Some debugging stuff useful for troubleshooting<br />
;debug = 7<br />
;output = stunnel.log<br />
; Use it for client mode<br />
client = yes</p>
<p>; Service-level configuration<br />
[nntp]<br />
accept = localhost:119<br />
connect = secure.foonews.com:443<br />
;vim:ft=dosini</code></p>
]]></content:encoded>
			<wfw:commentRss>http://open-moments.com/2012/01/08/configure-pan-to-use-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uninstalling Software</title>
		<link>http://open-moments.com/2012/01/08/uninstalling-software/</link>
		<comments>http://open-moments.com/2012/01/08/uninstalling-software/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 14:30:44 +0000</pubDate>
		<dc:creator>deathadder</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[bz]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[gz]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[remove]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tar]]></category>
		<category><![CDATA[uninstall]]></category>

		<guid isPermaLink="false">http://open-moments.com/?p=26</guid>
		<description><![CDATA[Here I will explain the ways to uninstall software you installed via source code, Debian and Red Hat packages. To remove software you&#8217;ll need to run the commands below as the root user. Source code (tar.gz / tar.bz2) Debian Packages (debs) Red Hat Packages (rpms) Source code To uninstall from source it is easiest to [...]]]></description>
			<content:encoded><![CDATA[<p>Here I will explain the ways to uninstall software you installed via source code, Debian and Red Hat packages. To remove software you&#8217;ll need to run the commands below as the <a title="Change to root user" href="http://open-moments.com/2012/01/08/installing-software/#su" target="_blank">root user</a>.</p>
<p><a href="#src">Source code (tar.gz / tar.bz2)</a><br />
<a href="#deb">Debian Packages (debs)</a><br />
<a href="#rpm">Red Hat Packages (rpms)</a></p>
<h3><a name="src"></a>Source code</h3>
<p>To uninstall from source it is easiest to keep the directory you installed from around after installation. Assuming that the directory you installed the application from was /home/user/src/foo-2.1.2 you will need to change into that directory as root. Once you are within that directory you need to issue the command make uninstall. A typical uninstall would look like this.</p>
<p><code>[root@host ~]# cd ~user/src/foo-2.1.2<br />
[root@host /home/user/src/foo-2.1.2]# make uninstall<br />
list='foo'; for p in $list;<br />
do rm -f /usr/local/sbin/'echo $p|sed 's/$//'|sed 's,x,x,'|sed's/$//''; done make uninstall-man8 make[1]: Entering directory<br />
'/usr/local/src/foo-2.1.2'<br />
rm -f /usr/local/man/man8/foo.8 make[1]:<br />
Leaving directory '/usr/local/src/foo-2.1.2'</code></p>
<p>If you get the error below, then you&#8217;re unable to run make install for the software package and should read the README and INSTALL files to see if there are any instructions on uninstalling. Failing that you will have to check documentation on the projects website / forums etc to see which files need to be removed from your system.</p>
<p><code>make: *** No rule to make target 'unistall'. Stop.</code></p>
<h3><a name="deb"></a>Debian Packages</h3>
<p>Uninstalling DEB files is as simple as their installation, lets assume we installed the file foo-2.1.2.deb which provided the package foo. You would need to switch to <a title="Change to root user" href="http://open-moments.com/2012/01/08/installing-software/#su">root</a> and run the dpkg command like so:</p>
<p><code>[root@host ~]# dpkg -r foo</code></p>
<p>If there are no error messages this will have removed the foo package from your system.</p>
<h3><a name="rpm"></a>Red Hat Packages</h3>
<p>Uninstalling RPM packages requires you to be <a title="Change to root user" href="http://open-moments.com/2012/01/08/installing-software/#su">root</a> and use the rpm command. If the RPM installed was foo-2.1.2.rpm and provided the package foo you would uninstall it with:</p>
<p><code>[root@host ~]# rpm -e foo</code></p>
<p>If there aren&#8217;t any error messages you would have removed the application from your system. As with software installation it is recommended to use a package manager for removing software.</p>
]]></content:encoded>
			<wfw:commentRss>http://open-moments.com/2012/01/08/uninstalling-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Software</title>
		<link>http://open-moments.com/2012/01/08/installing-software/</link>
		<comments>http://open-moments.com/2012/01/08/installing-software/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 12:38:58 +0000</pubDate>
		<dc:creator>deathadder</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[bz]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[gz]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tar]]></category>

		<guid isPermaLink="false">http://open-moments.com/?p=11</guid>
		<description><![CDATA[There are a number of ways to install software within Linux using the command line, you can compile the source code yourself, or use a precompiled binary. Here I plan on explaining how to install software using the main methods, these are: Source code (tar.gz / tar.bz2) Debian Packages (debs) Red Hat Packages (rpms) However [...]]]></description>
			<content:encoded><![CDATA[<p>There are a number of ways to install software within Linux using the command line, you can compile the source code yourself, or use a precompiled binary. Here I plan on explaining how to install software using the main methods, these are:</p>
<p><a href="#src">Source code (tar.gz / tar.bz2)</a><br />
<a href="#deb">Debian Packages (debs)</a><br />
<a href="#rpm">Red Hat Packages (rpms)</a></p>
<p>However these are not the only ways of installing software, distributions have package managers which can take care of installing dependices and updates for packages. Which is why it is always recommended to use a Package Manager, with that in mind the below explains how to install software manually.</p>
<h3><a name="su"></a>Changing to the administrator (root)</h3>
<p>Linux, and Unix, has only one administrator user called root. To make any changes to the system in general you will need to use the root account. To do this you use the &#8216;su&#8217; command, you will need to enter the root password when prompted. If you enter the incorrect password you will either get prompted to enter the password again or be returned to the shell. If you do get returned to the shell you can simple try the command again. You can use the command like so:</p>
<p><code>[user@host ~]$ su -<br />
Password:<br />
[root@host ~]#</code></p>
<p>An alternative to using su is the command sudo, which runs individual commands as the root user, Ubuntu based distros uses sudo instead of a normal root user, so you would prepend sudo to your commands, for example:</p>
<p><code>[user@host ~]$ sudo dpkg -i foo.deb</code></p>
<p>If you are running Ubuntu, or Ubuntu based system, when I mention root, simply prepend sudo to the command.</p>
<h3><a name="src"></a>Source code</h3>
<p>Source packages are simple compressed source code, generally a tar.gz or tar.bz2. To install these you need to decompress the source code, configure it, and then compile it, this has the advantage of allowing you to optimise the process so that the application is built for your specific hardware instead of a generic build. However, for large applications like OpenOffice for example, the compliation process can take several hours with a end result that makes the application load a second or two faster. Having said that the steps generally undertake for source pacakges are the following:</p>
<ol>
<li>uncompress</li>
<li>configure</li>
<li>compile application</li>
<li>move files into correct directories</li>
</ol>
<p>For the purpose of this I am going to assume you have downloaded the application foo version 2.1.2 into a Downloads folder in your home directory. To uncompress the source you need to run one of the following commands from within a terminal:</p>
<p><code>user@host:~/Downloads$ tar zxvf foo-2.1.2.tar.gz</code></p>
<p>Or</p>
<p><code>user@host:~/Downloads$ tar jxvf foo-2.1.2.tar.bz2</code></p>
<p>Each of the above will uncompress the file you&#8217;ve downloaded, the standard is that the code will get extracted into a folder that is named the same as the compress file without the extension, for this example that would be foo-2.1.2, now you need to change into that directory using the &#8216;cd&#8217; command. Inside the newly created directory you should be able to see a few different files, the INSTALL and README files are the most important and you should read both of these files as they give you specific information about how to install your newly downloaded software. You can read these files using the &#8216;less&#8217; command, to move to the &#8220;next page&#8221; use the space bar. So the commands for change into our directory and reading our files are:</p>
<p><code>user@host:~/Downloads$ cd foo-2.1.2<br />
user@host:~/Downloads/foo-2.1.2$ less INSTALL<br />
user@host:~/Downloads/foo-2.1.2$ less README</code></p>
<p>Now you know of any specific requirements for installing the source code you can start the process of configuring and compiling your software. To setup the source so you can start compiling it you need to run the configure script, this will check that all of the dependencies for a application are present on the system and that all of the source files are present. To run this script you use the following, included is some typical output.</p>
<p><code>user@host:~/Downloads/foo-2.1.2$ ./configure<br />
checking for a BSD-compatible install... /usr/bin/install -c<br />
checking whether build environment is sane... yes<br />
checking for a thread-safe mkdir -p... /bin/mkdir -p<br />
checking for gawk... no<br />
checking for mawk... mawk<br />
checking whether make sets $(MAKE)... yes<br />
checking whether to enable maintainer-specific portions of Makefiles... no</code></p>
<p>If configure runs successfully you&#8217;ll see configure create a number of files like the Makefile, some example output is below. If the configure process fails you will see some out put that describes what application or library is missing, to fix this you will need to install the package listed and rerun configure. You can pass flags to configure to optimise the process, this will be described for you in the INSTALL/README files.</p>
<p><code>config.status: creating Makefile<br />
config.status: creating icons/Makefile<br />
config.status: creating icons/16x16/Makefile<br />
config.status: creating tagmanager/Makefile<br />
config.status: creating tagmanager/include/Makefile<br />
config.status: creating scintilla/Makefile<br />
config.status: creating scintilla/include/Makefile<br />
config.status: creating src/Makefile<br />
config.status: creating plugins/Makefile<br />
config.status: creating po/Makefile.in<br />
config.status: creating doc/Makefile<br />
config.status: creating doc/geany.1<br />
config.status: creating geany.spec<br />
config.status: creating geany.pc<br />
config.status: creating doc/Doxyfile<br />
config.status: creating config.h<br />
config.status: executing depfiles commands<br />
config.status: executing default-1 commands<br />
config.status: executing po/stamp-it commands</code></p>
<p>Once the configuration has completed it is time to compile the source code, this is done using the make command like so:</p>
<p><code>user@host:~/Downloads/foo-2.1.2$ make<br />
gcc -DHAVE_CONFIG_H -I. -I.. -I./../scintilla/include<br />
-I./../tagmanager/include -I/usr/include/gtk-2.0<br />
-I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo<br />
-I/usr/include/pango-1.0 -I/usr/include/glib-2.0<br />
-I/usr/lib/glib-2.0/include -I/usr/include/pixman-1<br />
-I/usr/include/freetype2 -I/usr/include/libpng12<br />
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include<br />
-DGEANY_DATADIR=""/usr/local/share""<br />
-DGEANY_DOCDIR=""/usr/local/share/doc/geany""<br />
-DGEANY_LIBDIR=""/usr/local/lib""<br />
-DGEANY_LOCALEDIR=""/usr/local/share/locale""<br />
-DGEANY_PREFIX=""/usr/local"" -g -O2 -MT main.o -MD -MP -MF<br />
.deps/main.Tpo -c -o main.o main.c</code></p>
<p>The output from make will be more or less meaningless to you, don&#8217;t worry about that. All you need to look out for are any errors, these will generally result in make stopping. The common reasons for make stopping during a compliation is that it&#8217;s unable to find the development packages needed. However the help files or websites for the application should be able to help you. Failing that any problems can be Goggled. Once the make process has finished it&#8217;s time for you to install the application, this basically means moving the files into the correct locations on your computer. This is done by using the &#8216;make install&#8217; process, since it will be moving files onto sections of the drive that your user does not have write access too, for example /usr/bin, you will need to do this as the <a href="#su">root user</a>, if you&#8217;re not sure how to do this have a read of changing to root. Once you&#8217;re logged in as the root user you&#8217;ll have to change to the directory that contains the source code and run make install for example.</p>
<p><code>root@host:~/# cd ~user/Downloads/foo-2.1.2<br />
root@host:/home/user/Downloads/foo-2.1.2# make install</code></p>
<p>The output shown will be the locations of files as they&#8217;re moved. Unless there is an error the process was successful, errors will be shown similiar to.</p>
<p><code>install: cannot stat 'foo/bar/install.cpp': No such file or directory<br />
make: *** [install] Error 1</code></p>
<p>If when you run make install and get errors the quickest way to get them fixed is look on the projects website and forums or searching on Google. Some of the error may be simple to understand, for example a missing application, in which case you can install the application required and try the process again. If you run make install and no errors are displayed the application should have installed successfully and you user can then run the application like any other application from the command line. Application menu short cuts may not be provided for all applications, the way to add to your menus is out of scope for this page and can be fixed by reading the documentation for your desktop environment.</p>
<h3><a name="deb"></a>Debian Packages</h3>
<p>Debian packages are precompiled binaries, this means that someone has undertaken the task of compiling the source code and has provided a package that can be extract, basically, into the right locations on your computer. Within Debian based system you use the application dpkg to install debs. To install these packages you will need to issue the following command as the <a href="#su">root user</a>:</p>
<p><code>root@host~/# dpkg -i foo-2.1.2.deb</code></p>
<p>This will install the application you&#8217;ve downloaded as long as all of the required software / libraries can be found on your computer you may however run into the problem of missing dependcies, if you see a message like:</p>
<p><code>Unpacking replacement foo ...<br />
dpkg: dependency problems prevent configuration of foo:<br />
foo depends on bar; however:<br />
Package bar is not configured yet.</code></p>
<p>You will need to install the package bar and then try to reinstall foo-2.1.2.deb.</p>
<h3><a name="rpm"></a>Red Hat Packages</h3>
<p>Red Hat packages are, like debs, precompiled binaries. As such you will need to install them as the <a href="#su">root user</a> using the following command:</p>
<p><code>root@host~/# rpm -ivh foo-1.5.7.rpm<br />
Preparing.... ###################################### [100%]<br />
1: foo ###################################### [100%]</code></p>
<p>This will install the application foo, however as with the other methods of installing software described here, it does not handle dependencies for the applications you&#8217;re installing, so if you&#8217;re faced with a message similiar to:</p>
<p><code>error: Failed dependencies:<br />
libbar.so.0 is needed by foo-2.1.2</code></p>
<p>You will need to install the shared library libbar. Package managers provide a means to install dependenices for you and keep your software up-to-date as such it&#8217;s recommended to use those when ever possible!</p>
]]></content:encoded>
			<wfw:commentRss>http://open-moments.com/2012/01/08/installing-software/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

