<?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>Zarathustra Shall Speak &#187; Linux</title>
	<atom:link href="http://zarathustrashallspeak.com/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://zarathustrashallspeak.com</link>
	<description>And you yourself are also this Will to Power.</description>
	<lastBuildDate>Tue, 13 Jul 2010 18:35:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>NoDaddy.</title>
		<link>http://zarathustrashallspeak.com/2010/04/29/nodaddy/</link>
		<comments>http://zarathustrashallspeak.com/2010/04/29/nodaddy/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 01:31:04 +0000</pubDate>
		<dc:creator>Akairenn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Fail]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SysAdmin]]></category>

		<guid isPermaLink="false">http://zarathustrashallspeak.com/?p=347</guid>
		<description><![CDATA[What to do when you're trying to get someone onto decent hosting, and budget crap stands in the way.]]></description>
			<content:encoded><![CDATA[<p>Dealing with a client we&#8217;re trying to move off their meh infrastructure onto our omgwtfbbq infrastructure.</p>
<p>Problem is, I can&#8217;t migrate their docroots.   Well, I can grab most of the docroots &#8211; but curiously, there&#8217;s a number of files which are owned by apache:apache and -rx to anything but, wull, Apache.</p>
<p>The virtual server in question has no root access, no sudo, and no way to configure either through their control panel.   Last time I had the misfortune of dealing with GoDaddy&#8217;s support&#8230;   Let&#8217;s just say, I don&#8217;t have three days for another non-resolution.</p>
<p>What to do?   Wull, it <em>is</em> a Drupal site&#8230;</p>
<p><code>&lt;?php</p>
<p>system('/bin/chmod -R go+rx /path/to/files', $retval);</p>
<p>?&gt;</code></p>
<p>Suck it, Trebek.  Suck it long, and suck it hard.</p>
<p><em>(Please note that your mileage may vary depending on how insane the host you&#8217;re trying to rescue a client from is. :p)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://zarathustrashallspeak.com/2010/04/29/nodaddy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My kingdom for a solid OS.</title>
		<link>http://zarathustrashallspeak.com/2010/04/11/my-kingdom-for-a-solid-os/</link>
		<comments>http://zarathustrashallspeak.com/2010/04/11/my-kingdom-for-a-solid-os/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 04:20:45 +0000</pubDate>
		<dc:creator>Akairenn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://zarathustrashallspeak.com/?p=317</guid>
		<description><![CDATA[First they laugh at you.  Then they keep on laughing.  Then they cry, because they realize the alternatives are just as bad.]]></description>
			<content:encoded><![CDATA[<p>All I want for Christmas are up to date packages, no need to sit around compiling kernels, and solid networking.  Is it too much to ask?</p>
<p>Yes, clearly.</p>
<p>RHEL/CentOS: Networking is beyond solid, albeit best configured manually in terms of setup.  Xen is absolutely archaic, but at least comes with a dom0 kernel &#8211; though it seems plenty finicky around scsi devices and VNC.</p>
<p>Fedora: &#8230;Hung at the splash screen post-install.  On a Sun Fire x4150.  Seriously?  Points for the upcoming Xenified kernel in Fedora 13, though.</p>
<p>Ubuntu: Networking seems easy enough to configure, and works, as long as you&#8217;re not going super-crazy with abstract interconnects.  Xen is absolutely archaic, and there&#8217;s not even a dom0 kernel.  The answer is to pull a Debian kernel (lol) or compile your own kernel, manually patching with OpenSuSE(!) patches.  Yeah, no thanks.</p>
<p>OpenSuSE: Xen is up to date, and has a potentially super-up-to-date dom0 kernel.  Networking is curiously annoying to deal with via YaST &#8211; but the real problem is, right out of the disc, I apparently can&#8217;t do ethernet bonding with Xen due to module differences.</p>
<p>It&#8217;s 2010.</p>
<p>I&#8217;m just trying to run a solid, up-to-date Xen dom0 with simple, bonded ethernet, without having to a) compile Xen myself, or b) compile a dom0 kernel myself.</p>
<p>It&#8217;s pointedly not 1995.</p>
<p>Really, if I wanted to compile common software myself, I&#8217;d step into a police box and at least get a kick-ass theme song out of it.</p>
<p>Well, OpenSuSE still seems like the best solution for those who are interested in non-broken, easy-to-manage 3.4.x XEN.  Time to fiddle &#8211; I have no doubt that bonding works and that I&#8217;ve just missed the obvious in the installation process.</p>
]]></content:encoded>
			<wfw:commentRss>http://zarathustrashallspeak.com/2010/04/11/my-kingdom-for-a-solid-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Broken Bash Prompt</title>
		<link>http://zarathustrashallspeak.com/2009/11/10/broken-bash/</link>
		<comments>http://zarathustrashallspeak.com/2009/11/10/broken-bash/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 21:44:21 +0000</pubDate>
		<dc:creator>Akairenn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SysAdmin]]></category>

		<guid isPermaLink="false">http://zarathustrashallspeak.com/?p=153</guid>
		<description><![CDATA[ohgodibrokeitanditsproductionandwecantrebootitohnoes]]></description>
			<content:encoded><![CDATA[<p>Ran into an interesting issue today &#8211; made a change to root&#8217;s .bashrc, logged out, logged back in and&#8230;  Broken system.</p>
<p>Initial login was sucessful, the &#8216;Last logged in&#8230;&#8217; line displayed, but after that nothing but a blinking cursor.  Commands could be entered, but nothing would execute, and no bash prompt was seen.</p>
<p>The problem was quickly fixed with a strategic rsync, but let this be a lesson:</p>
<p>If you&#8217;re messing with root&#8217;s bash prompt, either test it on a non-root user, or open a second session to test.  I was quite taken aback by this, because it didn&#8217;t dawn on me that it was possible to break bash to such a degree via a simple prompt modification.</p>
]]></content:encoded>
			<wfw:commentRss>http://zarathustrashallspeak.com/2009/11/10/broken-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>x4500 Disk Mapping</title>
		<link>http://zarathustrashallspeak.com/2009/11/03/x4500-disk-mapping/</link>
		<comments>http://zarathustrashallspeak.com/2009/11/03/x4500-disk-mapping/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 14:11:51 +0000</pubDate>
		<dc:creator>Akairenn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Nexenta]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[x4500]]></category>

		<guid isPermaLink="false">http://zarathustrashallspeak.com/?p=99</guid>
		<description><![CDATA[Aside from Linux, once you can see the controller numbering used, this is pretty easy to figure out.  Still, handy reference is handy.]]></description>
			<content:encoded><![CDATA[<p>Disk mapping for the x4500 (aka, Thumper). Mileage may vary, depending on phase of the moon, firmware update status, operating system/distribution, solar flares.</p>
<p><strong>Linux</strong></p>
<p><code><br />
36&nbsp;&nbsp;&nbsp; 37&nbsp;&nbsp; | 38&nbsp;&nbsp;&nbsp; 39&nbsp;&nbsp; | 40&nbsp;&nbsp;&nbsp; 41&nbsp;&nbsp; | 42&nbsp;&nbsp;&nbsp; 43&nbsp;&nbsp; | 44&nbsp;&nbsp;&nbsp; 45&nbsp;&nbsp; | 46&nbsp;&nbsp;&nbsp; 47<br />
sdab&nbsp; sdaf | sdt&nbsp;&nbsp; sdx&nbsp; | sdar&nbsp; sdav | sdaj&nbsp; sdan | sdl&nbsp;&nbsp; sdp&nbsp; | sdd&nbsp;&nbsp; sdh<br />
-----------+------------+------------+------------+------------+-----------<br />
24&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp; | 26&nbsp;&nbsp;&nbsp; 27&nbsp;&nbsp; | 28&nbsp;&nbsp;&nbsp; 29&nbsp;&nbsp; | 30&nbsp;&nbsp;&nbsp; 31&nbsp;&nbsp; | 32&nbsp;&nbsp;&nbsp; 33&nbsp;&nbsp; | 34&nbsp;&nbsp;&nbsp; 35<br />
sdaa&nbsp; sdae | sds&nbsp;&nbsp; sdw&nbsp; | sdaq&nbsp; sdau | sdai&nbsp; sdam | sdk&nbsp;&nbsp; sdo&nbsp; | sdc&nbsp;&nbsp; sdg<br />
-----------+------------+------------+------------+------------+-----------<br />
12&nbsp;&nbsp;&nbsp; 13&nbsp;&nbsp; | 14&nbsp;&nbsp;&nbsp; 15&nbsp;&nbsp; | 16&nbsp;&nbsp;&nbsp; 17&nbsp;&nbsp; | 18&nbsp;&nbsp;&nbsp; 19&nbsp;&nbsp; | 20&nbsp;&nbsp;&nbsp; 21&nbsp;&nbsp; | 22&nbsp;&nbsp;&nbsp; 23<br />
 sdz&nbsp;&nbsp; sdad | sdr&nbsp;&nbsp; sdv&nbsp; | sdap&nbsp; sdat | sdah&nbsp; sdal | sdj&nbsp;&nbsp; sdn&nbsp; | sdb&nbsp;&nbsp; sdf<br />
-----------+------------+------------+------------+------------+-----------<br />
00&nbsp;&nbsp;&nbsp; 01&nbsp;&nbsp; | 02&nbsp;&nbsp;&nbsp; 03&nbsp;&nbsp; | 04&nbsp;&nbsp;&nbsp; 05&nbsp;&nbsp; | 06&nbsp;&nbsp;&nbsp; 07&nbsp;&nbsp; | 08&nbsp;&nbsp;&nbsp; 09&nbsp;&nbsp; | 10&nbsp;&nbsp;&nbsp; 11<br />
 sdy&nbsp;&nbsp; sdac | sdq&nbsp;&nbsp; sdu&nbsp; | sdao&nbsp; sdas | sdag&nbsp; sdak | sdi&nbsp;&nbsp; sdm&nbsp; | sda&nbsp;&nbsp; sde<br />
 BOOT DEV<br />
</code></p>
<p><strong>Solaris</strong></p>
<p><code><br />
36&nbsp;&nbsp;&nbsp; 37&nbsp;&nbsp; | 38&nbsp;&nbsp;&nbsp; 39&nbsp;&nbsp; | 40&nbsp;&nbsp;&nbsp; 41&nbsp;&nbsp; | 42&nbsp;&nbsp;&nbsp; 43&nbsp;&nbsp; | 44&nbsp;&nbsp;&nbsp; 45&nbsp;&nbsp; | 46&nbsp;&nbsp;&nbsp; 47<br />
c3t3&nbsp; c3t7 | c2t3&nbsp; c2t7 | c5t3&nbsp; c5t7 | c4t3&nbsp; c4t7 | c1t3&nbsp; c1t7 | c0t3&nbsp; c0t7<br />
-----------+------------+------------+------------+------------+-----------<br />
24&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp; | 26&nbsp;&nbsp;&nbsp; 27&nbsp;&nbsp; | 28&nbsp;&nbsp;&nbsp; 29&nbsp;&nbsp; | 30&nbsp;&nbsp;&nbsp; 31&nbsp;&nbsp; | 32&nbsp;&nbsp;&nbsp; 33&nbsp;&nbsp; | 34&nbsp;&nbsp;&nbsp; 35<br />
c3t2&nbsp; c3t6 | c2t2&nbsp; c2t6 | c5t2&nbsp; c5t6 | c4t2&nbsp; c4t6 | c1t2&nbsp; c1t6 | c0t2&nbsp; c0t6<br />
-----------+------------+------------+------------+------------+-----------<br />
12&nbsp;&nbsp;&nbsp; 13&nbsp;&nbsp; | 14&nbsp;&nbsp;&nbsp; 15&nbsp;&nbsp; | 16&nbsp;&nbsp;&nbsp; 17&nbsp;&nbsp; | 18&nbsp;&nbsp;&nbsp; 19&nbsp;&nbsp; | 20&nbsp;&nbsp;&nbsp; 21&nbsp;&nbsp; | 22&nbsp;&nbsp;&nbsp; 23<br />
c3t1&nbsp; c3t5 | c2t1&nbsp; c2t5 | c5t1&nbsp; c5t5 | c4t1&nbsp; c4t5 | c1t1&nbsp; c1t5 | c0t1&nbsp; c0t5<br />
-----------+------------+------------+------------+------------+-----------<br />
00&nbsp;&nbsp;&nbsp; 01&nbsp;&nbsp; | 02&nbsp;&nbsp;&nbsp; 03&nbsp;&nbsp; | 04&nbsp;&nbsp;&nbsp; 05&nbsp;&nbsp; | 06&nbsp;&nbsp;&nbsp; 07&nbsp;&nbsp; | 08&nbsp;&nbsp;&nbsp; 09&nbsp;&nbsp; | 10&nbsp;&nbsp;&nbsp; 11<br />
c3t0&nbsp; c3t4 | c2t0&nbsp; c2t4 | c5t0&nbsp; c5t4 | c4t0&nbsp; c4t4 | c1t0&nbsp; c1t4 | c0t0&nbsp; c0t4<br />
 BOOT DEV<br />
</code></p>
<p><strong>OpenSolaris</strong></p>
<p><code><br />
36&nbsp;&nbsp;&nbsp; 37&nbsp;&nbsp;&nbsp; | 38&nbsp;&nbsp;&nbsp; 39&nbsp;&nbsp;&nbsp; | 40&nbsp;&nbsp;&nbsp; 41&nbsp;&nbsp;&nbsp; | 42&nbsp;&nbsp;&nbsp; 43&nbsp;&nbsp;&nbsp; | 44&nbsp;&nbsp;&nbsp; 45&nbsp;&nbsp; | 46&nbsp;&nbsp;&nbsp; 47<br />
c11t3 c11t7 | c10t3 c10t7 | c13t3 c13t7 | c12t3 c12t7 | c8t3&nbsp; c8t7 | c7t3&nbsp; c7t7<br />
------------+-------------+-------------+-------------+------------+-----------<br />
24&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp;&nbsp; | 26&nbsp;&nbsp;&nbsp; 27&nbsp;&nbsp;&nbsp; | 28&nbsp;&nbsp;&nbsp; 29&nbsp;&nbsp;&nbsp; | 30&nbsp;&nbsp;&nbsp; 31&nbsp;&nbsp;&nbsp; | 32&nbsp;&nbsp;&nbsp; 33&nbsp;&nbsp; | 34&nbsp;&nbsp;&nbsp; 35<br />
c11t2 c11t6 | c10t2 c10t6 | c13t2 c13t6 | c12t2 c12t6 | c8t2&nbsp; c8t6 | c7t2&nbsp; c7t6<br />
------------+-------------+-------------+-------------+------------+-----------<br />
12&nbsp;&nbsp;&nbsp; 13&nbsp;&nbsp;&nbsp; | 14&nbsp;&nbsp;&nbsp; 15&nbsp;&nbsp;&nbsp; | 16&nbsp;&nbsp;&nbsp; 17&nbsp;&nbsp;&nbsp; | 18&nbsp;&nbsp;&nbsp; 19&nbsp;&nbsp;&nbsp; | 20&nbsp;&nbsp;&nbsp; 21&nbsp;&nbsp; | 22&nbsp;&nbsp;&nbsp; 23<br />
c11t1 c11t5 | c10t1 c10t5 | c13t1 c13t5 | c12t1 c12t5 | c8t1&nbsp; c8t5 | c7t1&nbsp; c7t5<br />
------------+-------------+-------------+-------------+------------+-----------<br />
00&nbsp;&nbsp;&nbsp; 01&nbsp;&nbsp;&nbsp; | 02&nbsp;&nbsp;&nbsp; 03&nbsp;&nbsp;&nbsp; | 04&nbsp;&nbsp;&nbsp; 05&nbsp;&nbsp;&nbsp; | 06&nbsp;&nbsp;&nbsp; 07&nbsp;&nbsp;&nbsp; | 08&nbsp;&nbsp;&nbsp; 09&nbsp;&nbsp; | 10&nbsp;&nbsp;&nbsp; 11<br />
c11t0 c11t4 | c10t0 c10t4 | c13t0 c13t4 | c12t0 c12t4 | c8t0&nbsp; c8t4 | c7t0&nbsp; c7t4<br />
 BOOT DEV<br />
</code></p>
<p><strong>Nexenta</strong></p>
<p><code><br />
36&nbsp;&nbsp;&nbsp; 37&nbsp;&nbsp; | 38&nbsp;&nbsp;&nbsp; 39&nbsp;&nbsp; | 40&nbsp;&nbsp;&nbsp; 41&nbsp;&nbsp; | 42&nbsp;&nbsp;&nbsp; 43&nbsp;&nbsp; | 44&nbsp;&nbsp;&nbsp; 45&nbsp;&nbsp; | 46&nbsp;&nbsp;&nbsp; 47<br />
c4t3&nbsp; c4t7 | c3t3&nbsp; c3t7 | c6t3&nbsp; c6t7 | c5t3&nbsp; c5t7 | c1t3&nbsp; c1t7 | c0t3&nbsp; c0t7<br />
-----------+------------+------------+------------+------------+-----------<br />
24&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp; | 26&nbsp;&nbsp;&nbsp; 27&nbsp;&nbsp; | 28&nbsp;&nbsp;&nbsp; 29&nbsp;&nbsp; | 30&nbsp;&nbsp;&nbsp; 31&nbsp;&nbsp; | 32&nbsp;&nbsp;&nbsp; 33&nbsp;&nbsp; | 34&nbsp;&nbsp;&nbsp; 35<br />
c4t2&nbsp; c4t6 | c3t2&nbsp; c3t6 | c6t2&nbsp; c6t6 | c5t2&nbsp; c5t6 | c1t2&nbsp; c1t6 | c0t2&nbsp; c0t6<br />
-----------+------------+------------+------------+------------+-----------<br />
12&nbsp;&nbsp;&nbsp; 13&nbsp;&nbsp; | 14&nbsp;&nbsp;&nbsp; 15&nbsp;&nbsp; | 16&nbsp;&nbsp;&nbsp; 17&nbsp;&nbsp; | 18&nbsp;&nbsp;&nbsp; 19&nbsp;&nbsp; | 20&nbsp;&nbsp;&nbsp; 21&nbsp;&nbsp; | 22&nbsp;&nbsp;&nbsp; 23<br />
c4t1&nbsp; c4t5 | c3t1&nbsp; c3t5 | c6t1&nbsp; c6t5 | c5t1&nbsp; c5t5 | c1t1&nbsp; c1t5 | c0t1&nbsp; c0t5<br />
-----------+------------+------------+------------+------------+-----------<br />
00&nbsp;&nbsp;&nbsp; 01&nbsp;&nbsp; | 02&nbsp;&nbsp;&nbsp; 03&nbsp;&nbsp; | 04&nbsp;&nbsp;&nbsp; 05&nbsp;&nbsp; | 06&nbsp;&nbsp;&nbsp; 07&nbsp;&nbsp; | 08&nbsp;&nbsp;&nbsp; 09&nbsp;&nbsp; | 10&nbsp;&nbsp;&nbsp; 11<br />
c4t0&nbsp; c4t4 | c3t0&nbsp; c3t4 | c6t0&nbsp; c6t4 | c5t0&nbsp; c5t4 | c1t0&nbsp; c1t4 | c0t0&nbsp; c0t4<br />
  BOOT DEV<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://zarathustrashallspeak.com/2009/11/03/x4500-disk-mapping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yeah, Linux Is&#8230;</title>
		<link>http://zarathustrashallspeak.com/2009/10/21/yeah-linux-is/</link>
		<comments>http://zarathustrashallspeak.com/2009/10/21/yeah-linux-is/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 20:45:36 +0000</pubDate>
		<dc:creator>Akairenn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[SysAdmin]]></category>

		<guid isPermaLink="false">http://zarathustrashallspeak.com/?p=48</guid>
		<description><![CDATA[What a backwards operating system you have, -Lamb-.]]></description>
			<content:encoded><![CDATA[<p><i>Four Port Link Aggregation on Solaris:</i></p>
<p><code>dladm create-aggr -d e1000g0 -d e1000g1 -d e1000g2 -d e1000g3 1<br />
ifconfig aggr1 plumb 10.103.0.13 up<br />
dladm modify-aggr -L active -T short 1</code></p>
<p><i>Four Port Link Aggregation on Linux:</i></p>
<p><code>modprobe bonding mode=* miimon=100<br />
ifconfig bond0 hw ether randommacaddress<br />
ifconfig bond0 10.103.0.13 up<br />
ifenslave bond0 eth0<br />
ifenslave bond0 eth1<br />
ifenslave bond0 eth2<br />
ifenslave bond0 eth3</code></p>
<p>I won&#8217;t even get into the simplicity of Solaris&#8217; persistent configuration vs. Linux&#8217;s persistent configuration &#8211; which will change between distributions, even.</p>
<p>The more I play with Solaris and OpenSolaris, the more I&#8217;m forced to admit that Linux is a mere toy compared to either.</p>
<p>Three commands and link aggregation just works.  No hassle.  No debugging.  No conflicting instructions on how various bits should be configured.  No trying to figure out what mode to use, or why your selected mode isn&#8217;t working despite the fact that it should.</p>
<p>It&#8217;s unfortunate Solaris requires a logical method of thinking.  More people should be using it.  The learning curve is supposedly steep &#8211; I dare say it is, when you&#8217;re used to the nonsensical environments of Linux, Windows or even OS X.  Do yourself a favor and try to get past that.</p>
<p>Once you start discovering why things are so obviously set up the way they are, you&#8217;ll pause, perhaps scratch your chin, and say, &#8220;Damn &#8211; why the hell isn&#8217;t that other operating system like this?&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://zarathustrashallspeak.com/2009/10/21/yeah-linux-is/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yum Update From USB Thumb Drive</title>
		<link>http://zarathustrashallspeak.com/2009/07/13/yum-update-from-usb-thumb-drive/</link>
		<comments>http://zarathustrashallspeak.com/2009/07/13/yum-update-from-usb-thumb-drive/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 01:01:23 +0000</pubDate>
		<dc:creator>Akairenn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SysAdmin]]></category>

		<guid isPermaLink="false">http://zarathustrashallspeak.com/?p=126</guid>
		<description><![CDATA[Network connectivity is for chumps.]]></description>
			<content:encoded><![CDATA[<p>Had a situation where I needed to update a pair of CentOS 5.3 boxes post-installation, but before they would have network connectivity.  The answer?  USB thumb drive.  Man, I love those little things.</p>
<p>To create a USB thumb drive repository, basically, just grab a blank USB thumb drive and &#8211; download an existing repository.  Hit up a random page on the CentOS mirrors page.  For updates, on your USB stick you need to create the following directory structure:</p>
<p><code>centos/5/updates/</code></p>
<p>From here, download your version&#8217;s (5.3 being the latest as of writing) &#8216;updates&#8217; directory contents.  You need at least one arch (i386 or x86_64) directory as a minimum, including the RPMS and repodata directories under each arch.   Good idea to snag both i386 and x86_64, unless you know you&#8217;re only using one or the other.  (And keep in mind, a default CentOS x86_64 install *will* install i386 rpms &#8211; more on killing those later.)</p>
<p>So, your USB stick should now look something like this:</p>
<p><code>centos/5/updates/i386/<br />
...RPMS/<br />
...repodata/<br />
centos/5/updates/x86_64/<br />
...RPMS/<br />
...repodata/</code></p>
<p>Obviously, you&#8217;ll have individual RPMS in the i386/x86_64 RPMS directories, and repository files in the repodata directories.</p>
<p>Now for the update.   First, if you want a *pure* x86_64 system, run this on the system you&#8217;re updating:</p>
<p><code>rpm -qa --queryformat='%{n}-%{v}-%{r}.%{arch}\n' | grep '\.i[3456]86$' | xargs rpm -ev</code></p>
<p>This command kills all non-x86_64, non-noarch packages.</p>
<p>Insert your USB thumb drive into the box you&#8217;re updating.</p>
<p><code>mkdir -p /mnt/usb<br />
mount /dev/YOURUSBDEVICE1 /mnt/usb</code></p>
<p>Generally, when you insert a USB thumb drive, some lovely messages will pop up, including the location of the drive.  Use that in the above mount command.  Remember, you&#8217;re mounting a partition, not the entire device &#8211; so if the messages spewed when plugging the drive in say it&#8217;s located at, say, &#8216;sdg&#8217;, you&#8217;d use:</p>
<p><code>mount /dev/sdg1 /mnt/usb</code></p>
<p>Now set up yum to use your new repository:</p>
<p><code>vi /etc/yum.repos.d/CentOS-Base.repo<br />
Comment out the 'mirrorlist' line under the [updates] repo.<br />
Uncomment the 'baseurl' line and set it to:<br />
          file:///mnt/usb/centos/$releasever/updates/$basearch/</code></p>
<p>Save the file, quit.   Execute:</p>
<p><code>yum --disablerepo=* --enablerepo=updates -y update</code></p>
<p>If you want to undo your repository info (always a good idea, unless you&#8217;re going to permanantly be swapping out USB drives for updates), just edit CentOS-Base.repo and uncomment &#8216;mirrorlist&#8217; and comment out &#8216;baseurl&#8217; under the updates repo.</p>
]]></content:encoded>
			<wfw:commentRss>http://zarathustrashallspeak.com/2009/07/13/yum-update-from-usb-thumb-drive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun With UUIDs and ext3, XFS</title>
		<link>http://zarathustrashallspeak.com/2009/06/13/fun-with-uuids-and-ext3-xfs/</link>
		<comments>http://zarathustrashallspeak.com/2009/06/13/fun-with-uuids-and-ext3-xfs/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 16:28:07 +0000</pubDate>
		<dc:creator>Akairenn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[SysAdmin]]></category>

		<guid isPermaLink="false">http://zarathustrashallspeak.com/?p=82</guid>
		<description><![CDATA[CentOS, my distribution of choice, isn't as UUID-happy as other distributions are.]]></description>
			<content:encoded><![CDATA[<p>The following examples assume the partition in question is located at /dev/sdb1.  YMMV.</p>
<p>Set new UUID on XFS Partition, RHEL/CentOS:</p>
<p><code>xfs admin -U generate /dev/sdb1</code></p>
<p>Set new UUID on XFS Partition, SLES/OpenSUSE:</p>
<p><code>xfs_admin -U generate /dev/sdb1</code></p>
<p>Set new UUID on ext3 Partition and Display New UUID (RHEL/CentOS, SLES/OpenSUSE):</p>
<p><code>tune2fs /dev/sdb1 -U random<br />
dumpe2fs -h /dev/sdb1 | grep UUID</code></p>
]]></content:encoded>
			<wfw:commentRss>http://zarathustrashallspeak.com/2009/06/13/fun-with-uuids-and-ext3-xfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading from CentOS 4.5 to CentOS 5, XEN Style</title>
		<link>http://zarathustrashallspeak.com/2007/08/18/upgrading-from-centos-4-5-to-centos-5-xen-style/</link>
		<comments>http://zarathustrashallspeak.com/2007/08/18/upgrading-from-centos-4-5-to-centos-5-xen-style/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 23:01:38 +0000</pubDate>
		<dc:creator>Akairenn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SysAdmin]]></category>

		<guid isPermaLink="false">http://zarathustrashallspeak.com/?p=115</guid>
		<description><![CDATA[There's a reason you should do a clean install instead of an upgrade between major versions.]]></description>
			<content:encoded><![CDATA[<p>With CentOS 5 having been out for awhile now, customers are going to start being interested in it. No problems there; I did in fact spend a great deal of last night working on a base CentOS 5 image for future installed feature bloat and distribution. However, setting up clean VEs is a different issue entirely than upgrading old ones.</p>
<p>Sooner or later, someone&#8217;s going to want to upgrade from CentOS 4.5 to CentOS 5. Since it&#8217;s theoretically possible to do this without setting up a new VE and manually migrating all of a customer&#8217;s data (something that can take far, far too much of our time), I&#8217;ve decided to use my own system as a test case.</p>
<p>So, go run down the street naked while screaming, &#8220;I&#8217;m going to upgrade to CentOS 5 &#8211; via YUM!&#8221; and see what happens. Assuming you don&#8217;t get arrested for indecent exposure, and ignoring people who will merely gawk at you&#8230; Someone, from a doorway or a random window, might scream, &#8220;Yum relaxes the fibres. It&#8217;s a scientific fact.&#8221;</p>
<p>That (or those) person (or people) will pointedly ignore the fact that, one, you&#8217;re on the east coast and your VE is in a datacenter on the west coast. They&#8217;ll also ignore the fact that you pointedly want to avoid doing a clean install, because you&#8217;d rather risk a small chance of problems than be guaranteed to spend hours migrating your data manually.</p>
<p>You&#8217;ll tell them this, and they&#8217;ll still shout, &#8220;I always recommend a clean install! Yum relaxes the fibres!&#8221;</p>
<p>Grass combing buggers; bleeding sodomites. Perhaps you want your fibres relaxed.</p>
<p>At any rate, here&#8217;s Howe:</p>
<p><img src="http://zarathustrashallspeak.com/wp-content/uploads/2009/11/wikipedia-admiral_howe.gif" alt="wikipedia-admiral_howe" title="wikipedia-admiral_howe" width="150" height="188" class="alignleft size-full wp-image-116 imgleft" /></p>
<p>(Yes, I&#8217;ve been waiting far, far too long to use that joke.)</p>
<p><strong>Step 1: Preparation</strong></p>
<p>The first thing you need to do is back up anything of any importance to you. Ideally, if you can get a full copy of your VE made, that&#8217;s perfect. The way our hardware is set up, each VE is on its own LVM partition. So in my case, all I need to do is bring down the system, mount the partition somewhere and tar it up. Then umount and restart the system.</p>
<p>Of course, I have access to the hardware, being the Harbinger of Upgrades that I am. Not only can I make a full, working snapshot of my VE, but I can restore it at any time I see fit.</p>
<p>You may not be so lucky. If you don&#8217;t have access to your hardware, the best thing to do is to try to work with your host. If you explain what you&#8217;re about, they should be happy to make time to create an image for you, and later restore it if things go bad. (It&#8217;ll be helpful if you mumble about security &#8211; hosting companies love it when users are proactive about security and updates.)</p>
<p>Failing that, I&#8217;d honestly abort, and start looking for a new hosting provider. If something goes horribly wrong, backups or no, you&#8217;re really not going to want to try and repair the damage. Restoring a known-good image from before your attempt at upgrading takes little time and ensures your system is back in a working condition. Attempting to repair serious borkage through yum can take a great deal of time, and isn&#8217;t guaranteed to work.</p>
<p>If you&#8217;re not that experienced as a sysadmin, you&#8217;re really asking for trouble by not having a known-good, complete backup.</p>
<p>If you still want to chance it though, here&#8217;s a quick list of stuff that you might want to back up:</p>
<ul>
<li>Document Root(s) of Website(s)</li>
<li>Databases, preferably by creating dumps that can be reimported</li>
<li>/home directories</li>
<li>Mail, usually kept in /home directories and /var/spool/mail</li>
<li>Apache configuration, located in /etc/httpd</li>
<li>PHP configuration, in /etc/php.ini</li>
<li>MySQL configuration, in /etc/my.cnf</li>
<li>Postgres configuration, in /var/lib/pgsql/data</li>
</ul>
<p>This is by no means a complete list, and the paths given are generic standards &#8211; your own files might be somewhere else.</p>
<p>Note: Regardless of having an image available or not, it&#8217;s a very good idea to dump your databases anyway; if there&#8217;s a major version change, you&#8217;ll likely need to re-import the data!</p>
<p>Now that you&#8217;ve taken care of a point-of-restore, the next step in preparation is figuring out if you have enough disk space. The &#8216;du -h&#8217; command is essential here.</p>
<p>You want to have at least 1.5-2GB available.</p>
<p>If you don&#8217;t, don&#8217;t bother until you free space. The thing is, yum downloads packages before installing them. You can get away with normal yum updating with very little disk space free. The problem is, you&#8217;re trying to upgrade from CentOS 4.x to CentOS 5. Think about what that means. That&#8217;s right, mate, it&#8217;s going to download a massive number of packages &#8211; pretty much a package for every package you currently have installed. That&#8217;s going to eat a pretty piece of disk (at least as far as your average hosting account is concerned). /var/cache/yum is going to be filled with silks, spice, ambergris &#8211; and all the gems of Araby. It&#8217;d be a damned awkward situation was you to fill up your disk while updating, and thusly be brought by the lee.</p>
<p>So now you have a point of restoration and have ensured you have enough disk space to continue. Ready? Not yet you aren&#8217;t. Make sure you don&#8217;t have packages from third party repositories. If you don&#8217;t, great.</p>
<p>If you do, there are two ways of dealing with the situation. For example, if you have packages installed via RPM Forge (everyone loves RPM Forge), you&#8217;ll be able to simply update the repository information like you&#8217;ll be doing with the normal CentOS repository. Well and good, and you should be fine with that.</p>
<p>If you were unwise enough to download .rpm&#8217;s from somewhere and install them manually, you do have a problem. Since they&#8217;re not in an actual repository, they won&#8217;t get updated. What&#8217;s more, they may cause things to break, since they will still have dependencies &#8211; dependencies which might not be solved with CentOS 5.</p>
<p>The best case here is if you can temporarily remove them (via rpm -e) and download/install CentOS 5-compatible versions again after your upgrade.</p>
<p>And so it begins.</p>
<p>I&#8217;m going to start by stopping any services I can &#8211; I don&#8217;t want any havoc being played during this upgrade.</p>
<p><code>/etc/init.d/httpd stop<br />
/etc/init.d/postfix stop<br />
/etc/init.d/dovecot stop<br />
/etc/init.d/postgresql stop<br />
/etc/init.d/crond stop</code></p>
<p>Your list, of course, might be different.</p>
<p>It&#8217;s time to upgrade release packages. First I head over to /etc/yum.repos.d and check out my existing repository files. I make sure to take a note of any special configuration I&#8217;ve done &#8211; that is, stuff like enabling centosplus, includepkg lines, exclude lines. Write this stuff down, and then get ready to update your repositories.</p>
<p>For RPM Forge, I simply need to do this:</p>
<p><code>rpm -Uvh http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5...</code></p>
<p>If you&#8217;re a user of RPM Forge, you can figure out what you need to do to upgrade the RPM Forge release package by going to http://dag.wieers.com/rpm/FAQ.php.</p>
<p>Next up is CentOS itself. For this, I hit up <a href="http://www.centos.org/">http://www.centos.org/</a>, browse to a mirror, and to the appropriate 5.0 source.</p>
<p>I&#8217;m looking for &#8216;centos-release&#8217; and &#8216;centos-release-notes&#8217;. I&#8217;ll download them, and then carry out the following:</p>
<p><code>rpm -Uvh centos-release-*.rpm centos-release-notes-*.rpm</code></p>
<p>After this, hop back to /etc/yum.repos.d and make any adjustments to your repositories that you need to make. In my case, I actually don&#8217;t have any adjustments. Go me.</p>
<p>Now it&#8217;s time to shed any old kernel packages:</p>
<p><code>rpm -qa | grep 'kernel'<br />
rpm -e --nodeps kernel kernel-utils</code></p>
<p>Your rpm -e arguments may look different, depending on the kernel packages you have installed.</p>
<p><strong>Step 2: Execution</strong></p>
<p>It&#8217;s already time for the main event, so to speak. Lay the ship alongside, thump in three broadsides and board &#8216;em in the smoke. Five minutes hearty and she&#8217;s ours, mates. Do you want to see a guillotine in Picadilly? Do you want your children to sing La Marseillaise? Do you want to call that raggedy arse Napoleon your King?</p>
<p>Mr. Mowett, Mr. Pullings, yum upgrade.</p>
<p><code>yum upgrade</code></p>
<p>This will take some time. Feel free to grab some coffee; by the time you come back, one of two things should happen. Either yum will be ready to rock and waiting for you to hit &#8216;yes&#8217;, or you&#8217;ll have dependency errors.</p>
<p>In my case, I have dependency errors:</p>
<p><em>Error: Missing Dependency: python-abi = 2.3 is needed by package python-elementtree</em></p>
<p>Ordinarily this should not happen. But as the sea is a harsh mistress, it so happens that CentOS 4.5&#8242;s python-elementtree is newer than CentOS 5&#8242;s python-elementtree. They&#8217;re also of the same version. What this means is that in a fight, CentOS 4.5&#8242;s version wins, according to yum. Since CentOS 4.5&#8242;s version wins, the CentOS 5.0 version will not be selected for installation. Unfortunately, CentOS 5 is moving to Python 2.4 as opposed to 2.3, which means CentOS 4.5&#8242;s version will not work with centOS 5&#8242;s python, and vice versa.</p>
<p>The real crux of the issue is this, though: yum needs python-elementtree to operate!</p>
<p>We can&#8217;t just remove python-elementtree and then proceed with our upgrade, because yum won&#8217;t work. We can&#8217;t forcibly replace it with CentOS 5&#8242;s package, because yum won&#8217;t work. Thankfully, we have one option open to us: Revert to CentOS 4.4&#8242;s python-elementtree, which should be older than CentOS 5&#8242;s:</p>
<p><code>wget http://vault.centos.org/4.4/os/i386/CentOS/RPMS/python-elementtree-1.2.6...<br />
rpm -e --nodeps python-elementtree<br />
rpm -ivh --nodeps python-elementtree*.rpm</code></p>
<p>As of the time of writing this, with CentOS 4.5, this works and continues to allow yum to operate. Your mileage may vary with future/older versions of CentOS.</p>
<p>Now let&#8217;s continue on schedule here &#8211; execute the upgrade again:</p>
<p><code>yum upgrade</code></p>
<p>Okay, now that my problem is fixed, I can tell you, assuming everything goes right, you should see something like:</p>
<p><code>Total download size: 265 M<br />
Is this ok [y/N]:</code></p>
<p>Total download size will of course vary depending on what you have installed and what&#8217;s being updated. I started my system in a very barebones manner and went to extra pains to remove excess cruft I had no use for. But you can see anywhere from this pitiful amount of downloaded packages to 1+ GB. But anyway, you obviously want to say &#8216;y&#8217; here.</p>
<p>Now yum will begin replacing packages. This is where it all happens &#8211; you are, in fact, upgrading now. This step should take a good long while as well. Go grab some more coffee.</p>
<p>798 actions later&#8230; And we may be good to go. Well, there&#8217;s only one thing to do &#8211; attempt to reboot, and see if the system is going to come back up or not.</p>
<p><code>shutdown -r now</code></p>
<p><strong>Step 3: Damage Control</strong></p>
<p>Give it a bit, and try getting back into the system. I have the benefit of being able to see what&#8217;s happening during boot through the XEN console from the hardware. Go me. At any rate, once your system is back up, you can either console in or attempt to SSH in.</p>
<p>In my case, I was greeted with the glory of:</p>
<p><code>CentOS release 5 (Final)<br />
Kernel 2.6.16.29-xen_3.0.3.0 on an i686</p>
<p>trafalgar login:</code></p>
<p>Hot damn.</p>
<p>Post Upgrade Damage Control</p>
<p>After logging in, I checked to make sure all the appropriate services that should be started, were in fact started. Postgres, of course, failed to start:</p>
<p><code>/etc/init.d/postgresql start</p>
<p>An old version of the database format was found.<br />
You need to upgrade the data format before using PostgreSQL.<br />
See /usr/share/doc/postgresql-8.1.9/README.rpm-dist for more information.</code></p>
<p>That&#8217;s to be expected, of course. There&#8217;s a good reason you should take a database dump regardless of a system image. As it were, I simply moved the existing pgsql directory elsewhere, re-initialized, and re-imported my dump. One thing that bears noting, I had to actually edit my dump &#8211; I needed to kill a few improper DELETE commands (pointless since the databases didn&#8217;t even exist) and also a function called &#8216;greatest&#8217; &#8211; &#8216;greatest&#8217; has since become a keyword that cannot be used as a function name. This was provided by Drupal; I&#8217;m thinking Postgres finally got around to making a greatest function, and this is thusly unnecessary as well.</p>
<p>With that done, I went to check some stuff out. Surprise &#8211; no network. In this case, it was a simple matter of moving /etc/sysconfig/network-scripts/ifcfg-eth0.bak to /etc/sysconfig/network-scripts/ifcfg.eth0 and restarting the network with /etc/init.d/network restart. I should have certainly noticed this earlier if I hadn&#8217;t been looking at a XEN console after the reboot&#8230; Doh. At any rate, before the reboot, be sure to make sure your network config is set up.</p>
<p>Next up, let&#8217;s check yum. Unfortunately, I ended up with:</p>
<p><code>Loading "installonlyn" plugin</p>
<p>Could not find any working storages.</code></p>
<p>Interesting if true. But this was fixed by manually downloading the python-sqlite package from a CentOS 5 mirror and installing it:</p>
<p><code>rpm -Uvh python-sqlite*.rpm --force</code></p>
<p>After this, yum returned to cromulence.</p>
<p>Next up was my httpd.conf; the updates had made a mockery of it. Simple fix though; I pretty much just copied and pasted my old virtual host configurations directly into the new httpd.conf. Once I did that, I restarted httpd and things were good &#8211; News of the Imperium loaded right up.</p>
<p>After this, it was time to get e-mail back up and running. Postfix itself was fine, but dovecot was failing:</p>
<p><code>Starting Dovecot Imap: Error: Error in configuration file /etc/dovecot.conf<br />
line 21: Unknown setting: imap_listen [FAILED]</code></p>
<p>Weird. But this is usual with upgrades to Dovecot &#8211; configuration has probably changed yet again. Sure enough, we have an .rpmnew for dovecot.conf.</p>
<p><code>cd /etc<br />
cp dovecot.conf dovecot.old<br />
mv dovecot.conf.rpmnew dovecot.conf</code></p>
<p>At this point dovecot starts, but I quickly shut it down. I don&#8217;t want anything getting screwed up, and since Dovecot only deals with retrieval and sending of mail, I can wait for another time. (The only thing I ever get in my inbox is spam; I&#8217;m not waiting eagerly to read it, believe me.)</p>
<p>My trac installation looks good &#8211; it loads without error, but I don&#8217;t play with it yet. That&#8217;s another thing I can wait on looking at.</p>
<p>PHP modules, however, cannot wait. At the least, I need APC installed. Come to think of it, I don&#8217;t think I had APC installed before &#8211; might&#8217;ve been using eAccelerator. But I&#8217;ve grown fond of APC&#8230; Oops. I guess I did have APC installed. Well, then..</p>
<p><code>pecl uninstall APC<br />
pecl install APC</code></p>
<p>After this, I make sure apc.so is still being loaded, and restart Apache again. This is the only non-native PHP module I&#8217;m using presently, so I&#8217;m done with that.</p>
<p>That&#8217;s about it, then. I&#8217;m just giving my Drupal sites a once-over; making sure there&#8217;s no weird SQL errors popping up in watchdog since there&#8217;s been a major upgrade of Postgres. With that done, I&#8217;ve just glanced over the logs to make sure nothing funky is happening there&#8230; Not a thing. Everything looks good, and despite me needing to figure out what dovecot changed, config wise, postfix is happily shoving spam into my inbox like there&#8217;s no tomorrow.</p>
]]></content:encoded>
			<wfw:commentRss>http://zarathustrashallspeak.com/2007/08/18/upgrading-from-centos-4-5-to-centos-5-xen-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RPM out of locker what now?!</title>
		<link>http://zarathustrashallspeak.com/2007/07/12/rpm-out-of-locker-what-now/</link>
		<comments>http://zarathustrashallspeak.com/2007/07/12/rpm-out-of-locker-what-now/#comments</comments>
		<pubDate>Thu, 12 Jul 2007 04:54:42 +0000</pubDate>
		<dc:creator>Akairenn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SysAdmin]]></category>

		<guid isPermaLink="false">http://zarathustrashallspeak.com/?p=109</guid>
		<description><![CDATA[The more tired you are, the more things will break, just to keep you awake and miserable.]]></description>
			<content:encoded><![CDATA[<p><em>rpmdb: Lock table is out of available locker entries</em></p>
<p>What is this, and why is it suggesting you install bash for an rpm that doesn&#8217;t need it, especially considering you have bash installed already?</p>
<p>It&#8217;s very simple: Your RPM DB is completely borked; good luck installing packages now. You&#8217;re doomed. Doomed! DoOOoOOoOomed! It&#8217;s almost 5 AM, and you need to get stuff working! What will you do?! Oh, crap!</p>
<p><img src="http://zarathustrashallspeak.com/wp-content/uploads/2009/11/fixd.jpg" alt="Wait, I&#039;ll fix it." title="fixd" width="375" height="312" class="size-full wp-image-108 imgleft" /></p>
<p>Chances are, no matter how bad this might look, you&#8217;ve only got simple corruption. Sure, simple corruption of the RPM DB means &#8216;completely borked&#8217;, but simple corruption also means, &#8216;easily fixed&#8217;. Here&#8217;s what you want to do:</p>
<p>First, for the love of Bob, take a backup of the existing DB. If you manage to break things more, you want to be able to restore it to a point of slightly less broken, so you can always blame someone else for the original state you found things in:</p>
<p><code># cd /var/lib<br />
# tar czvf /tmp/rpmdb.tar.gz rpm</code></p>
<p>Once you&#8217;ve done that, it&#8217;s time for the main event. Don&#8217;t go and get some popcorn, because this is fairly quick:</p>
<p><code># rpm -vv --rebuilddb</code></p>
<p>Run this and it&#8217;ll rebuild your rpm database with terminal verbosity.  To test, just run yum or up2date or manually attempt to rpm -ivh something, and it should act normally again.</p>
<p>If it doesn&#8217;t, hit up Google, or as I suggested earlier &#8211; restore that backup you made, and just blame somebody else. <img src='http://zarathustrashallspeak.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://zarathustrashallspeak.com/2007/07/12/rpm-out-of-locker-what-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
