<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">
<channel>
    <title>GizmoLA.com - Linux</title>
    <link>http://www.gizmola.com/blog/</link>
    <description></description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.1 - http://www.s9y.org/</generator>
    <managingEditor>webmaster@gizmola.com</managingEditor>
<webMaster>webmaster@gizmola.com</webMaster>
<pubDate>Mon, 15 Sep 2008 23:41:47 GMT</pubDate>

    <image>
        <url>http://www.gizmola.com/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: GizmoLA.com - Linux - </title>
        <link>http://www.gizmola.com/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Linux shell scripting: bad interpreter: No such file or directory</title>
    <link>http://www.gizmola.com/blog/archives/87-Linux-shell-scripting-bad-interpreter-No-such-file-or-directory.html</link>
            <category>Linux</category>
    
    <comments>http://www.gizmola.com/blog/archives/87-Linux-shell-scripting-bad-interpreter-No-such-file-or-directory.html#comments</comments>
    <wfw:comment>http://www.gizmola.com/blog/wfwcomment.php?cid=87</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.gizmola.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=87</wfw:commentRss>
    

    <author>nospam@example.com (David Rolston)</author>
    <content:encoded>
    This error pops up for a couple of reasons.  At the top of the script there will probably be a line that looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
This is telling Linux that this script should be interpreted using the /bin/sh program.  So your first step is to verify that program exists.  I tend to use:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;which sh&lt;br /&gt;&amp;#160;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
This will typically come back with a response like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;/bin/sh&lt;br /&gt;&amp;#160;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
This is telling us that the path to the sh program is in fact /bin/sh, matching the path specified at the top of the script.  Ok, so what gives?  Well, it&#039;s possible that this script was made on an operating system that has line ending characters different than linux.  This could have been on on a Mac or PC, or the file could have been converted when it was packaged.  In this case, you get the relatively misleading &lt;strong&gt;bad interpreter: No such file or directory&lt;/strong&gt; message, which is really trying to look for sh&lt;garbage character&gt;, although you don&#039;t get any indication of the fact. &lt;br /&gt;
&lt;br /&gt;
So, how to fix? Read on.&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.gizmola.com/blog/archives/87-Linux-shell-scripting-bad-interpreter-No-such-file-or-directory.html#extended&quot;&gt;Continue reading &quot;Linux shell scripting: bad interpreter: No such file or directory&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 15 Sep 2008 16:22:39 -0700</pubDate>
    <guid isPermaLink="false">http://www.gizmola.com/blog/archives/87-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/1.0/</creativeCommons:license>
</item>
<item>
    <title>AT+T Wireless XPress Mail Courier IMAP setup problem - Trash Folder?</title>
    <link>http://www.gizmola.com/blog/archives/84-AT+T-Wireless-XPress-Mail-Courier-IMAP-setup-problem-Trash-Folder.html</link>
            <category>Linux</category>
    
    <comments>http://www.gizmola.com/blog/archives/84-AT+T-Wireless-XPress-Mail-Courier-IMAP-setup-problem-Trash-Folder.html#comments</comments>
    <wfw:comment>http://www.gizmola.com/blog/wfwcomment.php?cid=84</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.gizmola.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=84</wfw:commentRss>
    

    <author>nospam@example.com (David Rolston)</author>
    <content:encoded>
    &lt;!-- s9ymdb:151 --&gt;&lt;img width=&#039;433&#039; height=&#039;423&#039; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.gizmola.com/blog/uploads/images/xpressmail.png&quot; alt=&quot;&quot; /&gt;Having recently left a company that had Exchange, the removal of Goodlink from my Samsung Blackjack left the phone in a fairly broken state.  I fixed this by doing a full reset (Turn on phone while holding Up Arrow) and choosing 1.  This put things back in basic working order.&lt;br /&gt;
&lt;br /&gt;
My efforts to use the built in email client to access my Courier IMap Email had never been successful, so I decided to explore AT+T&#039;s XPress Mail system.  This consists of client software you install on the phone, and a desktop application that connects through AT+T&#039;s servers to give you access to your email remotely, and also can be used to give you access to files on your PC. &lt;br /&gt;
&lt;br /&gt;
Upon install of the client you choose your mail server (in my case IMAP) and input the basic settings required by most IMAP client softare (Account name &amp;amp; Password, email address, the IMAP server, SMTP server, security settings, etc).  I did notice an unusual configuration box asking for &quot;Root Folder Path&quot; which I left blank.  Here&#039;s where the fun began.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.gizmola.com/blog/archives/84-AT+T-Wireless-XPress-Mail-Courier-IMAP-setup-problem-Trash-Folder.html#extended&quot;&gt;Continue reading &quot;AT+T Wireless XPress Mail Courier IMAP setup problem - Trash Folder?&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 12 Jul 2008 14:40:17 -0700</pubDate>
    <guid isPermaLink="false">http://www.gizmola.com/blog/archives/84-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/1.0/</creativeCommons:license>
</item>
<item>
    <title>Xen 3.0 Fedora Core, RHEL, Centos 4.x How-to</title>
    <link>http://www.gizmola.com/blog/archives/75-Xen-3.0-Fedora-Core,-RHEL,-Centos-4.x-How-to.html</link>
            <category>Linux</category>
    
    <comments>http://www.gizmola.com/blog/archives/75-Xen-3.0-Fedora-Core,-RHEL,-Centos-4.x-How-to.html#comments</comments>
    <wfw:comment>http://www.gizmola.com/blog/wfwcomment.php?cid=75</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://www.gizmola.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=75</wfw:commentRss>
    

    <author>nospam@example.com (David Rolston)</author>
    <content:encoded>
    &lt;!-- s9ymdb:134 --&gt;&lt;img width=&#039;226&#039; height=&#039;106&#039; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.gizmola.com/blog/uploads/images/xen30_r_med.gif&quot; alt=&quot;&quot; /&gt;I gave a talk on the use of Xen for web developers at Lampsig.  It took me a while to get my notes transcribed, but here at last they are.  This prescription has been used by me to install Xen successfully on a Fedora core 4 box, Centos 4.3 and 4.4 boxes, and should probably work on RHEL, assuming you can figure out how to get the packages you need.  &lt;br /&gt;
&lt;br /&gt;
I cover use of file backed file systems, and how to mount and edit them, as well as expanding a file based filesystem.&lt;br /&gt;
&lt;br /&gt;
I have run gentoo and Centos guests I got from jailtime.org and have found them to be very stable.  I even was able to use this on a 64 bit server, although I did have to build my own guest.  Many people who have had trouble getting Xen to work reliably when using the packaged (rpm) versions of Xen may find this prescription fixes their problems.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.gizmola.com/blog/pages/xen-howto.html&quot;  title=&quot;Here&#039;s the How-to&quot;&gt;Xen 3.0 Centos How-to&lt;/a&gt; 
    </content:encoded>

    <pubDate>Tue, 12 Jun 2007 00:28:03 -0700</pubDate>
    <guid isPermaLink="false">http://www.gizmola.com/blog/archives/75-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/1.0/</creativeCommons:license>
</item>
<item>
    <title>Install Xwindows and Gnome on Centos with Yum</title>
    <link>http://www.gizmola.com/blog/archives/74-Install-Xwindows-and-Gnome-on-Centos-with-Yum.html</link>
            <category>Linux</category>
    
    <comments>http://www.gizmola.com/blog/archives/74-Install-Xwindows-and-Gnome-on-Centos-with-Yum.html#comments</comments>
    <wfw:comment>http://www.gizmola.com/blog/wfwcomment.php?cid=74</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://www.gizmola.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=74</wfw:commentRss>
    

    <author>nospam@example.com (David Rolston)</author>
    <content:encoded>
    I recently had need to add XWindows to a Centos 4.x install that didn&#039;t have X or Gnome.  I was doing this under VMware which added slightly to the degree of difficulty.  As it turns out, using Yum makes this a very easy process, although you probably end up with some bloated packageware.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# yum groupinstall X Window System GNOME Desktop Environment&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Pay close attention to the capitalization -- Yum is picky.  &quot;&lt;strong&gt;Gnome desktop environment&quot;&lt;/strong&gt; won&#039;t work, for example. 
    </content:encoded>

    <pubDate>Sun, 20 May 2007 13:55:43 -0700</pubDate>
    <guid isPermaLink="false">http://www.gizmola.com/blog/archives/74-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/1.0/</creativeCommons:license>
</item>
<item>
    <title>Lampsig and SCALE</title>
    <link>http://www.gizmola.com/blog/archives/55-Lampsig-and-SCALE.html</link>
            <category>Linux</category>
    
    <comments>http://www.gizmola.com/blog/archives/55-Lampsig-and-SCALE.html#comments</comments>
    <wfw:comment>http://www.gizmola.com/blog/wfwcomment.php?cid=55</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.gizmola.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=55</wfw:commentRss>
    

    <author>nospam@example.com (David Rolston)</author>
    <content:encoded>
    &lt;a href=http://forum.gizmola.com/gallery/displayimage.php?pos=-104&gt;&lt;img width=&#039;110&#039; height=&#039;83&#039; style=&quot;float: left; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.gizmola.com/blog/uploads/images/lampsig.org.tn.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;I&#039;m attending the Southern California Linux Convention this weekend, along with other members of Lampsig. Folks are rabid for information on LAMP as illustrated by this shot of the Lampsig booth.  
    </content:encoded>

    <pubDate>Sat, 12 Feb 2005 15:34:15 -0800</pubDate>
    <guid isPermaLink="false">http://www.gizmola.com/blog/archives/55-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/1.0/</creativeCommons:license>
</item>
<item>
    <title>Redhat RPM reference notes</title>
    <link>http://www.gizmola.com/blog/archives/20-Redhat-RPM-reference-notes.html</link>
            <category>Linux</category>
    
    <comments>http://www.gizmola.com/blog/archives/20-Redhat-RPM-reference-notes.html#comments</comments>
    <wfw:comment>http://www.gizmola.com/blog/wfwcomment.php?cid=20</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.gizmola.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=20</wfw:commentRss>
    

    <author>nospam@example.com (David Rolston)</author>
    <content:encoded>
    &lt;b&gt;Background&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.gizmola.com/blog/exit.php?url=aHR0cDovL3d3dy5naXptb2xhLmNvbS9ibG9nL2V4aXQucGhwP3VybF9pZD0yNDMmYW1wO2VudHJ5X2lkPTIw&amp;amp;entry_id=20&quot;  title=&quot;http://www.redhat.com/&quot;  onmouseover=&quot;window.status=&#039;http://www.redhat.com/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Redhat&lt;/a&gt; is a company providing a Linux distribution. Gizmola.com was installed using Redhat&#039;s distribution.&lt;br /&gt;
&lt;br /&gt;
In the early days of Unix system software was usually distributed in source code form. Part of the allure of Unix to many users was it&#039;s portability aross a variety of different computer systems. Developers would usually create a &amp;quot;tarball&amp;quot; archive of the source code, along with a makefile and basic instructions for how to recompile the software for use on a system. Over time, the issue of upgrading software could become a cumbersome, time consuming matter, often requiring a sysadmin to patch the source code, and recompile the program in order to address bugs and security holes. Unix vendors and open source developers began to develope alternatives to this method for distributing precompiled or configured programs or scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Hello RPM&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
One of the RedHat&#039;s innovations is it&#039;s linux package manager, RPM (RedHat         package manager). Packages are installation modules that handle the installation,         upgrade or deletion of software on a redhat system. &lt;br /&gt;
&lt;br /&gt;
The RPM system created a standardized naming and versioning system, by which the installation (or absence) of a particular software package can be handled. RPM keeps a database of information on all the packages installed on a host. By querying the rpm database with rpm, it is possible to determine whether a particular software package has been installed, the version of that package, and some basic descriptive information about the package. You can also find out what package a particular file belongs to, and whether or not that file has been changed from the one that was installed initially.&lt;br /&gt;
&lt;br /&gt;
Furthermore rpm allows for installation, upgrade and patching of packages.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a list of what I&#039;ve found to be some of the most useful redhat linux rpm commands,  (examples assume a bash shell prompt).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;rpm -qa &amp;gt; rpmlist&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
-q indicates an rpm query, a indicates all packages in database. This creates the file rpmlist. Use a text editor like vi to review the contents, or pipe it to grep if you&#039;re trying to determine if you have a particular package name installed, and if so, what version. Each line will display the installed package string (with version#) ie &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;dhcpcd-1.3.22pl1-7&amp;#160;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
In general you can pass the package name to various rpm commands, and ignore the version string.  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Getting Information about a package&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;rpm -q perl&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Result:  &lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;perl-5.00503-12&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
rpm -q depends on matching the package name up to the last - prior to the package version information. This example searched for the popular sysadmin tool perl. If the query succeeds, the currently installed package string is returned. In this case, the example indicates that perl version 5.00503-12 is installed.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;rpm -qi perl&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Result: &lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;perl&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Relocations&amp;#58;&amp;#160;&amp;#40;not&amp;#160;relocateable&amp;#41;&lt;br /&gt;
Version&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;5.8.0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Vendor&amp;#58;&amp;#160;Red&amp;#160;Hat,&amp;#160;Inc.&lt;br /&gt;
Release&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;88.3&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Build&amp;#160;Date&amp;#58;&amp;#160;Wed&amp;#160;13&amp;#160;Aug&amp;#160;2003&amp;#160;09&amp;#58;21&amp;#58;24&amp;#160;AM&amp;#160;PDT&lt;br /&gt;
Install&amp;#160;date&amp;#58;&amp;#160;Sat&amp;#160;08&amp;#160;Nov&amp;#160;2003&amp;#160;04&amp;#58;24&amp;#58;48&amp;#160;PM&amp;#160;PST&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Build&amp;#160;Host&amp;#58;&amp;#160;stripples.devel.redhat.com&lt;br /&gt;
Group&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;Development/Languages&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Source&amp;#160;RPM&amp;#58;&amp;#160;perl-5.8.0-88.3.src.rpm&lt;br /&gt;
Size&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;34942198&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;License&amp;#58;&amp;#160;Artistic&lt;br /&gt;
Signature&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;DSA/SHA1,&amp;#160;Fri&amp;#160;12&amp;#160;Sep&amp;#160;2003&amp;#160;02&amp;#58;06&amp;#58;47&amp;#160;PM&amp;#160;PDT,&amp;#160;Key&amp;#160;ID&amp;#160;219180cddb42a60e&lt;br /&gt;
Packager&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;Red&amp;#160;Hat,&amp;#160;Inc.&amp;#160;&amp;#60;http&amp;#58;//bugzilla.redhat.com/bugzilla&amp;#62;&lt;br /&gt;
Summary&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;The&amp;#160;Perl&amp;#160;programming&amp;#160;language.&lt;br /&gt;
Description&amp;#160;&amp;#58;&lt;br /&gt;
Perl&amp;#160;is&amp;#160;a&amp;#160;high-level&amp;#160;programming&amp;#160;language&amp;#160;with&amp;#160;roots&amp;#160;in&amp;#160;C,&amp;#160;sed,&amp;#160;awk&lt;br /&gt;
and&amp;#160;shell&amp;#160;scripting.&amp;#160;&amp;#160;Perl&amp;#160;is&amp;#160;good&amp;#160;at&amp;#160;handling&amp;#160;processes&amp;#160;and&amp;#160;files,&lt;br /&gt;
and&amp;#160;is&amp;#160;especially&amp;#160;good&amp;#160;at&amp;#160;handling&amp;#160;text.&amp;#160;&amp;#160;Perl&#039;s&amp;#160;hallmarks&amp;#160;are&lt;br /&gt;
practicality&amp;#160;and&amp;#160;efficiency.&amp;#160;&amp;#160;While&amp;#160;it&amp;#160;is&amp;#160;used&amp;#160;to&amp;#160;do&amp;#160;a&amp;#160;lot&amp;#160;of&lt;br /&gt;
different&amp;#160;things,&amp;#160;Perl&#039;s&amp;#160;most&amp;#160;common&amp;#160;applications&amp;#160;are&amp;#160;system&lt;br /&gt;
administration&amp;#160;utilities&amp;#160;and&amp;#160;web&amp;#160;programming.&amp;#160;&amp;#160;A&amp;#160;large&amp;#160;proportion&amp;#160;of&lt;br /&gt;
the&amp;#160;CGI&amp;#160;scripts&amp;#160;on&amp;#160;the&amp;#160;web&amp;#160;are&amp;#160;written&amp;#160;in&amp;#160;Perl.&amp;#160;&amp;#160;You&amp;#160;need&amp;#160;the&amp;#160;perl&lt;br /&gt;
package&amp;#160;installed&amp;#160;on&amp;#160;your&amp;#160;system&amp;#160;so&amp;#160;that&amp;#160;your&amp;#160;system&amp;#160;can&amp;#160;handle&amp;#160;Perl&lt;br /&gt;
scripts.&lt;br /&gt;
&lt;br /&gt;
Install&amp;#160;this&amp;#160;package&amp;#160;if&amp;#160;you&amp;#160;want&amp;#160;to&amp;#160;program&amp;#160;in&amp;#160;Perl&amp;#160;or&amp;#160;enable&amp;#160;your&lt;br /&gt;
system&amp;#160;to&amp;#160;handle&amp;#160;Perl&amp;#160;scripts.&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
The -i (information) query option returns a wealth of useful information about a package. Adding the &#039;l&#039; option will include a listing of the files inside the path in a format similar to ls.  For example:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;rpm -qil linc&lt;/div&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;linc&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Relocations&amp;#58;&amp;#160;&amp;#40;not&amp;#160;relocateable&amp;#41;&lt;br /&gt;
Version&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;0.5.2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Vendor&amp;#58;&amp;#160;Red&amp;#160;Hat,&amp;#160;Inc.&lt;br /&gt;
Release&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Build&amp;#160;Date&amp;#58;&amp;#160;Fri&amp;#160;23&amp;#160;Aug&amp;#160;2002&amp;#160;10&amp;#58;27&amp;#58;57&amp;#160;AM&amp;#160;PDT&lt;br /&gt;
Install&amp;#160;date&amp;#58;&amp;#160;Sat&amp;#160;08&amp;#160;Nov&amp;#160;2003&amp;#160;12&amp;#58;18&amp;#58;09&amp;#160;AM&amp;#160;PST&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Build&amp;#160;Host&amp;#58;&amp;#160;daffy.perf.redhat.com&lt;br /&gt;
Group&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;System&amp;#160;Environment/Libraries&amp;#160;&amp;#160;&amp;#160;Source&amp;#160;RPM&amp;#58;&amp;#160;linc-0.5.2-2.src.rpm&lt;br /&gt;
Size&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;70859&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;License&amp;#58;&amp;#160;LGPL&lt;br /&gt;
Signature&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;DSA/SHA1,&amp;#160;Tue&amp;#160;03&amp;#160;Sep&amp;#160;2002&amp;#160;02&amp;#58;28&amp;#58;58&amp;#160;PM&amp;#160;PDT,&amp;#160;Key&amp;#160;ID&amp;#160;219180cddb42a60e&lt;br /&gt;
Packager&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;Red&amp;#160;Hat,&amp;#160;Inc.&amp;#160;&amp;#60;http&amp;#58;//bugzilla.redhat.com/bugzilla&amp;#62;&lt;br /&gt;
Summary&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#58;&amp;#160;Library&amp;#160;for&amp;#160;writing&amp;#160;network&amp;#160;programs&lt;br /&gt;
Description&amp;#160;&amp;#58;&lt;br /&gt;
&lt;br /&gt;
linc&amp;#160;is&amp;#160;a&amp;#160;library&amp;#160;that&amp;#160;eases&amp;#160;the&amp;#160;task&amp;#160;of&amp;#160;writing&amp;#160;networked&amp;#160;servers&amp;#160;and&lt;br /&gt;
clients.&amp;#160;It&amp;#160;takes&amp;#160;care&amp;#160;of&amp;#160;connection&amp;#160;initiation&amp;#160;and&amp;#160;maintainance,&amp;#160;and&lt;br /&gt;
the&amp;#160;details&amp;#160;of&amp;#160;varioustransports.&amp;#160;It&amp;#160;is&amp;#160;used&amp;#160;by&amp;#160;the&amp;#160;new&amp;#160;ORBit&amp;#160;to&lt;br /&gt;
handle&amp;#160;message&amp;#160;transmission/receipt.&lt;br /&gt;
/usr/lib/liblinc.so.1&lt;br /&gt;
/usr/lib/liblinc.so.1.0.0&lt;br /&gt;
/usr/share/doc/linc-0.5.2&lt;br /&gt;
/usr/share/doc/linc-0.5.2/AUTHORS&lt;br /&gt;
/usr/share/doc/linc-0.5.2/COPYING&lt;br /&gt;
/usr/share/doc/linc-0.5.2/NEWS&lt;br /&gt;
/usr/share/doc/linc-0.5.2/README&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Note the reference to the Source RPM. RPM&#039;s are compiled into a binary format for efficiency and compression. If you are interested in the complete source for the RPM you can download the src.rpm and take a look at it with a text editor. RPM provides a full set of tools for creating your own RPM&#039;s for distributing your own open source projects. The details of this process is covered in &lt;a href=&quot;http://www.gizmola.com/blog/exit.php?url=aHR0cDovL3d3dy5naXptb2xhLmNvbS9ibG9nL2V4aXQucGhwP3VybF9pZD0yNDQmYW1wO2VudHJ5X2lkPTIw&amp;amp;entry_id=20&quot;  title=&quot;http://www.redhat.com/support/books/&quot;  onmouseover=&quot;window.status=&#039;http://www.redhat.com/support/books/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Maximum RPM&lt;/a&gt; published by RedHat and distributed by them in electronic form on their website.&lt;br /&gt;
&lt;br /&gt;
Sometimes you are looking at a file, and aren&#039;t sure what package it belongs to.  This rpm command will determine that for you.  &lt;b&gt;Note that you must pass the full path to the file and not just the filename itself, if you expect rpm to find a match.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;rpm -qf /usr/bin/gs&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
returns: &lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;ghostscript-7.05-20.1&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
RPM&#039;s main purpose is to actually install packages, so you don&#039;t have to compile everything from source.  It&#039;s also worth noting that packages are created by the linux distro creators typically, and represent someones opinion on how a particular piece of software should be installed on your system.  Although you can override these defaults to a degree, it&#039;s probably not the best idea to fight against the &quot;official&quot; stance of the distro on how that package works best.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Finding packages&lt;/b&gt;&lt;br /&gt;
If you are having trouble installing a package because it depends on other packages to already have been installed first, try &lt;a href=&quot;http://www.gizmola.com/blog/exit.php?url=aHR0cDovL3d3dy5naXptb2xhLmNvbS9ibG9nL2V4aXQucGhwP3VybF9pZD0yNDUmYW1wO2VudHJ5X2lkPTIw&amp;amp;entry_id=20&quot;  title=&quot;http://www.rpmfind.net&quot;  onmouseover=&quot;window.status=&#039;http://www.rpmfind.net&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;www.rpmfind.net&lt;/a&gt;. It&#039;s a handy database which cross references packages across all the linux distributions and architectures that support RPM&#039;s.  For example, try searching for libcrypto.so.0. The results indicate the various packages which include that file, and the location of the rpm for download.&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;
There are options to install an rpm using a variety of protocols, but I typically download the rpm to my server first and install it from the file.  RPM&#039;s installation syntax if very simple in this case:  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;rpm -i&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I always tack on the &lt;i&gt;vh&lt;/i&gt; options to get verbose output and the progress hashes so you can determine whether or not rpm has locked up, which on rare occasions it has been known to do.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;rpm -ivh tcpdump-&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;6&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;-&lt;span style=&quot;color: #cc66cc;&quot;&gt;17&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;8&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;.i386.rpm&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
results:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;Preparing...&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;###########################################&amp;#160;&amp;#91;100%&amp;#93;&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;1&amp;#58;tcpdump&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;###########################################&amp;#160;&amp;#91;100%&amp;#93;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Updating a package&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
So, you find out that a program you are using has a security vulnerability and a new patch (and hopefully a new rpm) has been issued.  Upgrading with rpm is usually a snap.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;rpm -Uvh python-xmlrpc-&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;-&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;6&lt;/span&gt;.x.i386.rpm&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
The -U option causes rpm to update the new package, checking for a prior versions, and saving or reusing configuration options before deleting any prior versions of the package from the system. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Unresolvable dependencies!&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Sometimes you will be unable to update because of dependency issues between two packages. If you find that each package errors saying there are dependencies with the other, you can override the dependency check by add --nodeps as an argument to the update command. For example:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;rpm -Uvh --nodeps python-xmlrpc-&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;-&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;6&lt;/span&gt;.x.i386.rpm&lt;/div&gt;  &lt;br /&gt;
&lt;br /&gt;
I&#039;ve had debates with people about this, but when two packages are in an rpm &lt;i&gt;deadly embrace&lt;/i&gt; where each is dependent on the other, there is no way to move forward without telling one of the two to simply install anyways.  Although this should be used with care, it obviously exists for a reason, and I&#039;ve used it a few times without issue.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Batch patching&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Sometimes you will have a whole slew of patched rpm&#039;s to deal with, and not be completely sure if you need them or not.  One solution is the rpm freshen option.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash&quot; style=&quot;text-align: left&quot;&gt;rpm -Fvh python-xmlrpc-&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;-&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;.&lt;span style=&quot;color: #cc66cc;&quot;&gt;6&lt;/span&gt;.x.i386.rpm&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Like -U -F causes an update or &amp;quot;Freshening&amp;quot; of the package, however, if a prior version of the package doesn&#039;t exist, rpm will exit without doing any installation. Security patches are often distributed with the recommendation that this mode be used. This way sysadmins can download the security patches and attempt to freshen them without concern about whether or not the patch is really needed.&lt;br /&gt;
&lt;br /&gt;
I hope these notes help you out with your use of rpm. 
    </content:encoded>

    <pubDate>Wed, 14 Feb 2001 23:36:00 -0800</pubDate>
    <guid isPermaLink="false">http://www.gizmola.com/blog/archives/20-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/1.0/</creativeCommons:license>
</item>

</channel>
</rss>