<?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/"
   >
<channel>
    <title>Undrblog - Linux</title>
    <link>http://www.undrground.org/</link>
    <description></description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.4.1 - http://www.s9y.org/</generator>
    <pubDate>Wed, 21 Oct 2009 12:32:23 GMT</pubDate>

    <image>
        <url>http://www.undrground.org/templates/bulletproof/img/s9y_banner_small.png</url>
        <title>RSS: Undrblog - Linux - </title>
        <link>http://www.undrground.org/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>SLES 10, your kernel is not safe!</title>
    <link>http://www.undrground.org/index.php?/archives/91-SLES-10,-your-kernel-is-not-safe!.html</link>
            <category>Linux</category>
    
    <comments>http://www.undrground.org/index.php?/archives/91-SLES-10,-your-kernel-is-not-safe!.html#comments</comments>
    <wfw:comment>http://www.undrground.org/wfwcomment.php?cid=91</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.undrground.org/rss.php?version=2.0&amp;type=comments&amp;cid=91</wfw:commentRss>
    

    <author>nospam@example.com (War)</author>
    <content:encoded>
    So, i recently came across a startling discovery. On a SLES 10 server, when you install a kernel update, the update process kindly DELETES your old kernel.  It&#039;s not clear to me yet if it does this after its next succesful reboot, or if it does it during the update. In other words, the people at SuSE/Novell are &lt;u&gt;SO&lt;/u&gt; confident that you&#039;ll never have a problem with a brand spankin new kernel, that they perform without a net.  I&#039;m a very conservative sysadmin.  I don&#039;t like to do anything without a backup plan.  When it comes to kernel updates, that backup plan is option 1 in my grub.conf (option 1 being the second option in my boot list, generally, my old kernel). From what I&#039;m reading, there&#039;s also no way to tell the update process NOT to delete the old kernel.  So you&#039;re sort of stuck with this behaviour.  This actually bit us a few days ago, when due to some rather odd circumstances, we ended up with a SLES that was trying to boot a kernel that was 1 revision old.  Because SLES thought it had cleaned up this kernel, the /lib/modules/&lt;kernelversion&gt;/ directory for this kernel was empty.  This obviously caused some confusion on the kernel&#039;s part, and it refused to boot.  If the update process had left the older boot/module files alone, and left it up to a responsible sysadmin to clean up old kernels when they saw fit, this wouldn&#039;t have happened. Granted, in this case, the server had other issues, but that&#039;s a different story. &lt;br /&gt;
&lt;br /&gt;
So I&#039;ve set out to fix this.  Giving yourself some peace of mind is as simple as taking your kernel, and its modules, and locking copies of them away in a safe deposit box (or at least a backup directory) during the update process.  And then putting them somewhere accessible afterwards, then re-add ing the old kernel to grub. This is all well and good, if you had one, maybe two servers to worry about, go ahead and do it manually.  If you have a couple dozen, this is a considerable amount of work to do manually, and it takes up your time! &lt;br /&gt;
&lt;br /&gt;
So, i wrote a script to do it for you!  It&#039;s a perl script, and it should run on a base install of SLES (or, so it has in my testing).  &lt;br /&gt;
You can download it &lt;a href=&quot;scripts/kernel_saver.tar.gz&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Just download it to your SLES server, and run it, it&#039;ll do the work for you.  Run it before your update, and select option 1, which backs up the kernel.  Then run it again after the update, and select option 2, which restores the kernel. &lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&lt;br /&gt;
-War 
    </content:encoded>

    <pubDate>Wed, 07 Oct 2009 15:34:00 -0400</pubDate>
    <guid isPermaLink="false">http://www.undrground.org/index.php?/archives/91-guid.html</guid>
    
</item>
<item>
    <title>iostat demystified</title>
    <link>http://www.undrground.org/index.php?/archives/90-iostat-demystified.html</link>
            <category>Linux</category>
    
    <comments>http://www.undrground.org/index.php?/archives/90-iostat-demystified.html#comments</comments>
    <wfw:comment>http://www.undrground.org/wfwcomment.php?cid=90</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.undrground.org/rss.php?version=2.0&amp;type=comments&amp;cid=90</wfw:commentRss>
    

    <author>nospam@example.com (War)</author>
    <content:encoded>
    Recently, we&#039;ve been looking into our options for a new SAN at work.  That I&#039;ll save for a whole other post.  In our search, it became apparent that we didnt truly understand how much we were utilizing our current system.  Our current product requires that we purchase a license in order to check these statistics on the SAN, so we turned to the servers for some more insight. &lt;br /&gt;
&lt;br /&gt;
The majority (if not ALL) of our servers are running some flavour of linux, most of which are RHEL 4.x and 5.x.  RHEL (and most other distro&#039;s) offer a package called sysstat, which includes an I/O reporting tool called iostat.  &lt;br /&gt;
&lt;br /&gt;
The output of iostat looks something like:&lt;br /&gt;
&lt;pre&gt;&lt;br /&gt;
[war@somehost ~]$ iostat -x&lt;br /&gt;
Linux 2.6.30.5-43.fc11.i686.PAE (somehost) 	09/24/2009&lt;br /&gt;
&lt;br /&gt;
avg-cpu:  %user   %nice %system %iowait  %steal   %idle&lt;br /&gt;
           1.87    0.01    1.52    0.22    0.00   96.38&lt;br /&gt;
&lt;br /&gt;
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util&lt;br /&gt;
sda               0.08    24.70    4.79    4.36   258.97   232.48    53.74     0.21   23.45   2.27   2.07&lt;br /&gt;
sda1              0.00     0.00    0.00    0.00     0.00     0.00    16.26     0.00    7.58   6.91   0.00&lt;br /&gt;
sda2              0.08    24.70    4.79    4.36   258.97   232.48    53.74     0.21   23.45   2.27   2.07&lt;br /&gt;
dm-0              0.00     0.00    4.83   28.95   258.63   231.64    14.51     0.04    1.21   0.61   2.07&lt;br /&gt;
dm-1              0.00     0.00    0.04    0.10     0.34     0.84     8.00     0.02  120.62   1.57   0.02&lt;br /&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
This is a bit daunting.  Lots of info, and no real descriptions. sda{1,2} are your partitions/mounts, dm-{0,1} are virtual devices used by LVM (if you&#039;re using LVM).  The rest is somewhat cryptic. The man page for iostat clears things up slightly, but you may not have a full understanding after just reading these descriptions. &lt;br /&gt;
&lt;br /&gt;
(from the iostat man page)&lt;br /&gt;
rrqm/s: The number of read requests merged per second that were queued to the device.&lt;br /&gt;
wrqm/s: The number of write requests merged per second that were queued to the device.&lt;br /&gt;
r/s: The number of read requests that were issued to the device per second.&lt;br /&gt;
w/s: The number of write requests that were issued to the device per second.&lt;br /&gt;
rsec/s: The number of sectors read from the device per second.&lt;br /&gt;
wsec/s: The number of sectors written to the device per second.&lt;br /&gt;
rkB/s: The number of kilobytes read from the device per second.&lt;br /&gt;
wkB/s: The number of kilobytes written to the device per second.&lt;br /&gt;
avgrq-sz: The average size (in sectors) of the requests that were issued to the device.&lt;br /&gt;
avgqu-sz: The average queue length of the requests that were issued to the device.&lt;br /&gt;
await: The  average  time  (in milliseconds) for I/O requests issued to the device to be served.&lt;br /&gt;
svctm: The  average  service  time  (in  milliseconds)  for I/O requests that were issued to the device.&lt;br /&gt;
%util: Percentage of CPU time during which I/O requests were issued  to  the  device  (bandwidth utilization for the device). Device saturation occurs when this value is close to 100%.&lt;br /&gt;
&lt;br /&gt;
Personally, I&#039;m working on learning this output, so I&#039;m going to use this blog entry as my notes on what these stats mean, and how they react to disk activity. I&#039;ll review all of the stats which i&#039;ve been able to figure out.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;rrqm/s and wrqm/s, r/s and w/s&lt;/h2&gt;&lt;br /&gt;
These are all about read and write requests that had to be queued because the drive was busy when the request came in.  You can drive these up with some simple tests. &lt;br /&gt;
&lt;br /&gt;
Use DD to write a lot of data to a local disk, and you&#039;ll see the wrqm/s, and w/s counters raise. &lt;br /&gt;
&lt;br /&gt;
I started iostat, and then started dd, writing a 2GB file to my home directory.&lt;br /&gt;
dd:&lt;br /&gt;
&lt;pre&gt;&lt;br /&gt;
[war@somehost ~]$ dd if=/dev/zero of=foo bs=8k count=262144&lt;br /&gt;
262144+0 records in&lt;br /&gt;
262144+0 records out&lt;br /&gt;
2147483648 bytes (2.1 GB) copied, 31.0321 s, 69.2 MB/s&lt;br /&gt;
[war@somehost ~]$ &lt;br /&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Now, here&#039;s the iostat command, the -x displays extended statistics, and the 1 tells it to refresh every second.&lt;br /&gt;
&lt;pre&gt;&lt;br /&gt;
[war@somehost ~]$ iostat -x 1&lt;br /&gt;
Linux 2.6.30.5-43.fc11.i686.PAE (somehost) 	09/24/2009&lt;br /&gt;
&lt;br /&gt;
avg-cpu:  %user   %nice %system %iowait  %steal   %idle&lt;br /&gt;
           3.71    0.00    2.99    0.00    0.00   93.30&lt;br /&gt;
&lt;br /&gt;
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util&lt;br /&gt;
sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00&lt;br /&gt;
sda1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00&lt;br /&gt;
sda2              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00&lt;br /&gt;
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00&lt;br /&gt;
dm-1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00&lt;br /&gt;
&lt;br /&gt;
avg-cpu:  %user   %nice %system %iowait  %steal   %idle&lt;br /&gt;
           1.44    0.00    5.78   12.15    0.00   80.63&lt;br /&gt;
&lt;br /&gt;
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util&lt;br /&gt;
sda               0.00  7811.00    3.00  395.00    40.00 29024.00    73.03    48.30   76.60   1.11  44.10&lt;br /&gt;
sda1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00&lt;br /&gt;
sda2              0.00  7811.00    3.00  395.00    40.00 29024.00    73.03    48.30   76.60   1.11  44.10&lt;br /&gt;
dm-0              0.00     0.00    3.00 8354.00    40.00 66832.00     8.00   949.32   51.63   0.05  44.10&lt;br /&gt;
dm-1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00&lt;br /&gt;
&lt;br /&gt;
avg-cpu:  %user   %nice %system %iowait  %steal   %idle&lt;br /&gt;
           4.29    0.00    4.29   35.00    0.00   56.43&lt;br /&gt;
&lt;br /&gt;
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util&lt;br /&gt;
sda               0.00 13542.00    0.00  372.00     0.00 108336.00   291.23   141.91  350.92   2.69 100.00&lt;br /&gt;
sda1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00&lt;br /&gt;
sda2              0.00 13542.00    0.00  372.00     0.00 108336.00   291.23   141.91  350.92   2.69 100.00&lt;br /&gt;
dm-0              0.00     0.00    0.00 13897.00     0.00 111176.00     8.00  5494.24  349.96   0.07 100.00&lt;br /&gt;
dm-1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00&lt;br /&gt;
&lt;br /&gt;
avg-cpu:  %user   %nice %system %iowait  %steal   %idle&lt;br /&gt;
           1.44    0.00    4.56   32.73    0.00   61.27&lt;br /&gt;
&lt;br /&gt;
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util&lt;br /&gt;
sda               0.00 18120.00    0.00  468.00     0.00 147456.00   315.08   138.46  316.45   2.14 100.00&lt;br /&gt;
sda1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00&lt;br /&gt;
sda2              0.00 18120.00    0.00  468.00     0.00 147456.00   315.08   138.46  316.45   2.14 100.00&lt;br /&gt;
dm-0              0.00     0.00    0.00 18592.00     0.00 148736.00     8.00  5450.12  313.56   0.05 100.00&lt;br /&gt;
dm-1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00&lt;br /&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
/dev/sda2 is a Logical Volume that contains / on my system. &lt;br /&gt;
/dev/dm-0 must be the virtual device for that logvol (honestly, i&#039;m guessing here, look at iostat, you&#039;ll see what i mean, look at the w/s on dm-0!)&lt;br /&gt;
&lt;br /&gt;
Now, let&#039;s see if we can get the read counters to raise. &lt;br /&gt;
&lt;br /&gt;
First i tried scping a file from my workstation, to my laptop.  That didnt really get me the dramatic raise in activity that dd did.  Understandably, its a much slower process.  Let&#039;s see what else i can abuse. &lt;br /&gt;
&lt;br /&gt;
I connected my blackberry via usb 2.0.  It&#039;s got 8gb of memory.  This is the closest thing to a usb mass storage device i had handy. &lt;br /&gt;
&lt;br /&gt;
This was slightly better, but still not extremely fast.  I suppose the best way to stress this would be a local drive to local drive copy.  At any rate, i did see the r/s and rrqm/s counters rise while the copy was being performed.&lt;br /&gt;
&lt;br /&gt;
Ah Ha!  /dev/null is the answer.  Copy your 2gb file (created by DD earlier) to /dev/null.  You&#039;ll see r/s jump.  I got about 800 out of my test. &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;rsec/s and wsec/s&lt;/h2&gt;&lt;br /&gt;
These counters are very similar to r/s and w/s, except that they deal with sectors.  Whether these are useful to you are not, depends on what sort of data collection you&#039;re looking for. &lt;br /&gt;
&lt;br /&gt;
In our example from earlier, you can see the wsec/s rose as w/s and wrqm/s did. &lt;br /&gt;
&lt;pre&gt;&lt;br /&gt;
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util&lt;br /&gt;
sda2              0.00  7811.00    3.00  395.00    40.00 29024.00    73.03    48.30   76.60   1.11  44.10&lt;br /&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;await&lt;/h2&gt;&lt;br /&gt;
This is a rather important stat.  This tells us how long requests sent to the drive are being forced to wait, in milliseconds.  The higher this nubmer gets, the more of a bottleneck we can see in our storage. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;m continuing to work with this utility, I&#039;ll post more progress as it comes along. I&#039;m hoping to truly get a feel for the rest of the stats. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-War 
    </content:encoded>

    <pubDate>Thu, 24 Sep 2009 12:27:12 -0400</pubDate>
    <guid isPermaLink="false">http://www.undrground.org/index.php?/archives/90-guid.html</guid>
    
</item>
<item>
    <title>PeerGuardian lists, imported to iptables.</title>
    <link>http://www.undrground.org/index.php?/archives/89-PeerGuardian-lists,-imported-to-iptables..html</link>
            <category>Linux</category>
    
    <comments>http://www.undrground.org/index.php?/archives/89-PeerGuardian-lists,-imported-to-iptables..html#comments</comments>
    <wfw:comment>http://www.undrground.org/wfwcomment.php?cid=89</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.undrground.org/rss.php?version=2.0&amp;type=comments&amp;cid=89</wfw:commentRss>
    

    <author>nospam@example.com (War)</author>
    <content:encoded>
    At home, I have a Smoothwall which connects my network to the internet.  It&#039;s a very robust replacement for these soho routers that everyone seems to use.  It&#039;s not quite as plug and play, but it works very well, and I have a lot more control over it. &lt;br /&gt;
&lt;br /&gt;
I also run PeerGuardian, from Phoenix Labs, on my workstations to help block certain access to my machines.  Peer Guardian is a great program, and most of the time it works very well.  The problem is, sometimes it has issues, and to be honest, I always thought it&#039;d be cleaner to put the firewalling, on my.... Firewall!  So i set out to find a way to add peerguardian&#039;s lists to my Smoothie. &lt;br /&gt;
&lt;br /&gt;
There&#039;s a Project called moblock, which is supposed to do this.  Well, i&#039;ve never seen it work.  Thats not to say it doesnt work, i just couldnt get it working on my Smoothie.  So for a very long time, i went on using peer guardian locally.  Well recently I happened to be watching peer guardian run its update, and realized that it;s pulling its lists from an http address.  Makes sense that i might be able to do the same, right?  So i pointed my web browser there, and sure enough, i&#039;m presented with a list of rules!  Rules that dont match iptables, but look very easy to parse! So, I did just that.  I started writing my own parser, and before long, i had a very long list of iptables compatible rules.  By very long, I mean long!  Over 226000 lines!&lt;br /&gt;
&lt;br /&gt;
I decided that the best way to make this list easy to update was to create a new chain, called PGBLOCK, and put my rules in there.  I also created a chain called PGALLOW which supersedes the block list.  So i can add exceptions if i&#039;d like. &lt;br /&gt;
&lt;br /&gt;
So, on my Fedora 11 Test machine in added the following to /etc/sysconfig/iptables.&lt;br /&gt;
&lt;br /&gt;
After the chain definitions (the :CHAINNAME [number:number] lines) i added 4 lines. &lt;br /&gt;
-N PGALLOW&lt;br /&gt;
-N PGBLOCK&lt;br /&gt;
-A INPUT -j PGALLOW&lt;br /&gt;
-A INPUT -j PGBLOCK&lt;br /&gt;
&lt;br /&gt;
This adds the chains, and adds them to the iptables INPUT chain.  This tells iptables to pass all inbound packets through my chains before they even touch any other rules.  &lt;br /&gt;
&lt;br /&gt;
At first, i tried entering all of my rules into the PGBLOCK chain. This worked, but delayed every inbound packet to the point that my network connection was almost useless. &lt;br /&gt;
&lt;br /&gt;
So I made a slight change.  I made a new chain for each class a.  253 in all (i skipped 10. and 127.), and then i setup more specific rules inside of the PGBLOCK chain.  PGBLOCK now contains lines similar to:&lt;br /&gt;
&lt;br /&gt;
-A INPUT -s 1.0.0.0/8 -j PGBLOCK1&lt;br /&gt;
-A INPUT -s 2.0.0.0/8 -j PGBLOCK2&lt;br /&gt;
..&lt;br /&gt;
-A INPUT -s 254.0.0.0/8 -j PGBLOCK254&lt;br /&gt;
-A INPUT -s 255.0.0.0/8 -j PGBLOCK255&lt;br /&gt;
&lt;br /&gt;
Now each packet gets subjected to a couple hundred (or thousand) rules instead of 226000 of them. &lt;br /&gt;
&lt;br /&gt;
Wondering if you can get ahold of my script? &lt;br /&gt;
Here it is: http://www.undrground.org/scripts/getpg.tar.gz&lt;br /&gt;
&lt;br /&gt;
Making this work is pretty easy. &lt;br /&gt;
There are a few variables at the top of the scipt that point to where you&#039;d like some things to be saved.  It needs a scratch directory for the lists it downloads.  You need write access as the user youre running as, to the directory you&#039;re running it from, and the lists directory, of course.  But just set all that up, and run the script.  It&#039;ll generate a file called pg.firewall.  Use that along with iptables-restore to build the firewall. &lt;br /&gt;
&lt;br /&gt;
iptables-restore --noflush &lt; pg.firewall&lt;br /&gt;
&lt;br /&gt;
Now, updating the firewall is a little more tricky, you need to flush the tables manually before re-importing.  I did this with a perl script that looks something like:&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
foreach (1..255) {&lt;br /&gt;
  if ($&lt;u&gt; eq 10 || $&lt;/u&gt; eq 127) {&lt;br /&gt;
    next;&lt;br /&gt;
  }&lt;br /&gt;
  system(&quot;/usr/sbin/iptables -F PGBLOCK$_&quot;);&lt;br /&gt;
}&lt;br /&gt;
system(&quot;/usr/sbin/iptables-restore --noflush &lt; /root/pg.firewall&quot;);&lt;br /&gt;
&lt;br /&gt;
This flushes the tables, and then imports the new list. &lt;br /&gt;
&lt;br /&gt;
I hope this helps someone else out along the way.  Enjoy!&lt;br /&gt;
&lt;br /&gt;
-War 
    </content:encoded>

    <pubDate>Fri, 11 Sep 2009 23:28:53 -0400</pubDate>
    <guid isPermaLink="false">http://www.undrground.org/index.php?/archives/89-guid.html</guid>
    
</item>
<item>
    <title>Install SLES 10, via Autoyast through KickStart.</title>
    <link>http://www.undrground.org/index.php?/archives/74-Install-SLES-10,-via-Autoyast-through-KickStart..html</link>
            <category>Linux</category>
    
    <comments>http://www.undrground.org/index.php?/archives/74-Install-SLES-10,-via-Autoyast-through-KickStart..html#comments</comments>
    <wfw:comment>http://www.undrground.org/wfwcomment.php?cid=74</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.undrground.org/rss.php?version=2.0&amp;type=comments&amp;cid=74</wfw:commentRss>
    

    <author>nospam@example.com (War)</author>
    <content:encoded>
    I work in a predominantly RedHat Enterprise Linux shop.  We have a number of servers, all running RHEL.  Doing a number of different things. Things like mail, and dns, and other such services that you&#039;d expect to see running at a college. &lt;br /&gt;
&lt;br /&gt;
We also have a number of Novell servers, which are doing, primarily, file services for employee&#039;s and students. We are in the process of migrating from Novell&#039;s proprietary netware platform, to SLES (Suse Linux Enterprise Server).  There are linux equivelant services which run on SLES for each of the NetWare services that we offer. This means we have the need to build a number of SLES servers. We already have a KickStart server setup in order to install RHEL in a rapid fashion, including all of our standard packages, ssh keys, and whatnot.  We thought it might not be a bad idea to look into whatever SUSE offers that might be similar to Kickstart.  I looked into it, and found out about AutoYast.  Yast is the setup tool that SUSE uses to install with (just like RHEL&#039;s anaconda), and just like RHEL, when you install a SUSE box, it generates a config file, for use with its installer, which summarises the options which you configured. &lt;br /&gt;
&lt;br /&gt;
I started reading about how to setup a SLES boot server, similar to our KickStart server, and found a number of similarities, in fact, they&#039;re almost identical. They both use tftp as a means of getting boot images out to the clients, they both use their own internal DHCP servers to assign addresses to PXE clients, and they both use PXE. So it got me thinking.  Can i just add SLES to my KickStart boot menu?  Hell, it s worth a shot! &lt;br /&gt;
&lt;br /&gt;
This is not a complete howto.  It&#039;s intended to show you how to add an autoyast setup to an existing kickstart server. My setup may differ from yours, but if you&#039;re familiar with KickStart, you should be able to take the information and apply it to your setup. &lt;br /&gt;
&lt;br /&gt;
There are a few things you&#039;ll need. &lt;br /&gt;
A setup, and fucntional kickstart server&lt;br /&gt;
a SLES install disc (or iso image thereof)&lt;br /&gt;
an autoinst.xml file from a SLES install.&lt;br /&gt;
&lt;br /&gt;
First, take your SLES install files, and copy the boot files off of it, into a directory inside of your tftp root.  For me, this was:&lt;br /&gt;
From install media: /boot/x86_64/loader/initrd and /boot/x86_64/loader/linux&lt;br /&gt;
Copy to: /tftpboot/linux-install/sles/initrd.img and /tftpboot/linux-install/sles/vmlinuz&lt;br /&gt;
&lt;br /&gt;
Now, you&#039;ll need to make the install media accessible to the pxe booted installer. &lt;br /&gt;
I did this via http.  I happened to be working with an ISO image of the cd.  So i mounted the iso to /var/www/html/sles with something like:&lt;br /&gt;
mount -o loop /path/to/iso/file.iso /var/www/html/sles&lt;br /&gt;
This makes the install media available via &lt;!-- m --&gt;&lt;a class=&quot;postlink&quot; href=&quot;http://kickstart.server.com/sles&quot;&gt;http://kickstart.server.com/sles&lt;/a&gt;&lt;!-- m --&gt;&lt;br /&gt;
&lt;br /&gt;
Now you need to put your autoinst.xml file into a web accessible area, i put it in /var/www/html. so it would be available at &lt;!-- m --&gt;&lt;a class=&quot;postlink&quot; href=&quot;http://kickstart.server.com/autoinst.xml&quot;&gt;http://kickstart.server.com/autoinst.xml&lt;/a&gt;&lt;!-- m --&gt;&lt;br /&gt;
&lt;br /&gt;
These are all obviously sensitive files, if i were you i&#039;d secure them somehow. &lt;br /&gt;
&lt;br /&gt;
We have our kickstart server running on a private network, and we power it down when we&#039;re not actively installing anything. &lt;br /&gt;
&lt;br /&gt;
Now, there are some config changes to make.  We have things setup such:&lt;br /&gt;
/tftproot/linux-install/pxelinux.cfg/default is where we keep the boot loader config, and&lt;br /&gt;
/tftproot/linux-install/msgs/boot.msg is where we keep the menu display file. &lt;br /&gt;
Add something like this to your equivalent of my &amp;quot;default&amp;quot; boot loader config:&lt;br /&gt;
label 5&lt;br /&gt;
  kernel sles/vmlinuz&lt;br /&gt;
  append initrd=sles/initrd.img ramdisk_size=65536 autoyast=http://kickstart.server.com/autoinst.xml install=http://kickstart.server.com/sles/&lt;br /&gt;
&lt;br /&gt;
Then add something denoting &amp;quot;5&amp;quot; as the item for sles, on your boot.msg file. &lt;br /&gt;
&lt;br /&gt;
This is just about it, you&#039;ll want to have a good look at the autoinst.xml file, you can read about what&#039;s in there, and how to modify it here: &lt;!-- m --&gt;&lt;a class=&quot;postlink&quot; href=&quot;http://www.suse.de/~ug/autoyast_doc/Profile.html&quot;&gt;http://www.suse.de/~ug/autoyast_doc/Profile.html&lt;/a&gt;&lt;!-- m --&gt; &lt;br /&gt;
&lt;br /&gt;
I am still in the process of tweaking my config, but that should get you up and runing, and to the same point that i&#039;m at.  Which is, the kick start portion is out of the way, and it&#039;s just getting the auto install xml file perfect. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Happy kickstarting!&lt;br /&gt;
&lt;br /&gt;
-War 
    </content:encoded>

    <pubDate>Fri, 15 May 2009 16:23:35 -0400</pubDate>
    <guid isPermaLink="false">http://www.undrground.org/index.php?/archives/74-guid.html</guid>
    
</item>
<item>
    <title>Linux, and XM.</title>
    <link>http://www.undrground.org/index.php?/archives/76-Linux,-and-XM..html</link>
            <category>Linux</category>
    
    <comments>http://www.undrground.org/index.php?/archives/76-Linux,-and-XM..html#comments</comments>
    <wfw:comment>http://www.undrground.org/wfwcomment.php?cid=76</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.undrground.org/rss.php?version=2.0&amp;type=comments&amp;cid=76</wfw:commentRss>
    

    <author>nospam@example.com (War)</author>
    <content:encoded>
    Over the past week or so, I&#039;ve been trying to figure out a way to get XM Radio Online to work in Linux. &lt;br /&gt;
I just wanted to share my experience, findings, and eventually, success!&lt;br /&gt;
&lt;br /&gt;
XM&#039;s online web player does not work in linux.  Or, I havent been able to get it to work anyway.  I&#039;m running Fedora Core 10, when I tried to load a stream throug the XMRO web interface, firefox loaded a player (i think it was totem, but its difficult to tell...) and basically hung.  Not firefox,the player. It loads embedded in the page, and you cannot interact with it.  I assume trying to load the stream hung the player. &lt;br /&gt;
&lt;br /&gt;
So i started googling. I ran across a few references to a few players that would play mms:// streams (the format that xmro uses), but you need to get the stream&#039;s address. I wasn&#039;t really sure how to get that address.  So these options were less attractive.  Then I ran across uniXM. &lt;!-- m --&gt;&lt;a class=&quot;postlink&quot; href=&quot;http://sourceforge.net/projects/unixm&quot;&gt;http://sourceforge.net/projects/unixm&lt;/a&gt;&lt;!-- m --&gt;&lt;br /&gt;
&lt;br /&gt;
It uses qt, so you&#039;ll need qt installed, maybe even KDE.  I already had KDE installed, so I did not need to install qt.  I did need to install qt-devel through yum in order to get qmake. You basically download the package, make sure you have the dpendancies, and then qmake, make. &lt;br /&gt;
&lt;br /&gt;
I ran into some issues, detailed in this thread on linuxquestions.org, &lt;!-- m --&gt;&lt;a class=&quot;postlink&quot; href=&quot;http://www.linuxquestions.org/questions/linux-software-2/w32codec-717227/&quot;&gt;http://www.linuxquestions.org/questions ... ec-717227/&lt;/a&gt;&lt;!-- m --&gt;. &lt;br /&gt;
&lt;br /&gt;
Detailed in that thread, you&#039;ll see links to downloads for the codecs needed, and the packages you&#039;ll need to grab from yum to get xine setup with the right libraries. &lt;br /&gt;
&lt;br /&gt;
Thus far, I like the player.  It loads my presets, and channel data from xmro.  It displays the song title and artist, and it doesnt have the 2 hour cut off that the web player has. &lt;br /&gt;
&lt;br /&gt;
Good app, alittle difficult to setup, but with the info in that thread you should be good. &lt;br /&gt;
&lt;br /&gt;
-War 
    </content:encoded>

    <pubDate>Mon, 13 Apr 2009 11:41:31 -0400</pubDate>
    <guid isPermaLink="false">http://www.undrground.org/index.php?/archives/76-guid.html</guid>
    
</item>
<item>
    <title>CentOS5!</title>
    <link>http://www.undrground.org/index.php?/archives/66-CentOS5!.html</link>
            <category>Linux</category>
    
    <comments>http://www.undrground.org/index.php?/archives/66-CentOS5!.html#comments</comments>
    <wfw:comment>http://www.undrground.org/wfwcomment.php?cid=66</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.undrground.org/rss.php?version=2.0&amp;type=comments&amp;cid=66</wfw:commentRss>
    

    <author>nospam@example.com (War)</author>
    <content:encoded>
    &lt;a href=&#039;http://www.undrground.org/blogpics/1/centos_icon_60.gif&#039;&gt;&lt;img border=&#039;0&#039; src=&#039;http://www.undrground.org/blogpics/1/thumb_centos_icon_60.gif&#039;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I&#039;ve upgraded my linux server to CentOS5!&amp;#160; The move was actually pretty easy.&amp;#160; Other than some PHP 4 vs PHP 5 issues, everything just sort of ported right over. It&#039;s amazing how easy it is to migrate a Linux server to a new install.&amp;#160; Working with windows servers all day has me dreading moves like this.&amp;#160; It was refreshing to get back to a stable, flexible operating system for a change.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;New features?&amp;#160; Well, there arent many.&amp;#160; Just PHP5, and newer, faster hardware. I;m still not running on state of the art equipment, but i dont expect i ever will be. This server just isnt important enough for that.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;-War&lt;/p&gt; 
    </content:encoded>

    <pubDate>Fri, 15 Feb 2008 14:34:14 -0500</pubDate>
    <guid isPermaLink="false">http://www.undrground.org/index.php?/archives/66-guid.html</guid>
    
</item>
<item>
    <title>Linux on your TV - MythTV</title>
    <link>http://www.undrground.org/index.php?/archives/56-Linux-on-your-TV-MythTV.html</link>
            <category>General</category>
            <category>Linux</category>
    
    <comments>http://www.undrground.org/index.php?/archives/56-Linux-on-your-TV-MythTV.html#comments</comments>
    <wfw:comment>http://www.undrground.org/wfwcomment.php?cid=56</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.undrground.org/rss.php?version=2.0&amp;type=comments&amp;cid=56</wfw:commentRss>
    

    <author>nospam@example.com (War)</author>
    <content:encoded>
    &lt;a href=&#039;http://www.undrground.org/blogpics/1/mythtv-logo.jpg&#039;&gt;&lt;img border=&#039;0&#039; src=&#039;http://www.undrground.org/blogpics/1/thumb_mythtv-logo.jpg&#039;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I;ve got a PC connected to my living room tv at home.&amp;#160; (Does that surprise you?) We use the PC as a media center.&amp;#160; It;s currently running XP Pro.&amp;#160; Not a bad setup, but recently i&#039;ve been having problems with XP.. It&#039;ll jump while playing DVD&#039;s, and it&#039;s just not performing like it did when i first installed it.&amp;#160; As happes to most XP installs, it&#039;s probably time to wipe it, and reinstall.&amp;#160; Man.. I hate windows.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Anyway, I took this opportunity to start looking into alternatives.&amp;#160; I know i can get a DVD player for Linux, and for me it&#039;d be great, but i need something that;s user friendly enough that my wife can sit down and watch a movie while i&#039;m at work, or whatever.&amp;#160; I&#039;ve been unable to find a dvd player for linux that lives up to my expectations.&amp;#160; Sure, i can watch a DVD, but the UI is usually a little less than friendly.&amp;#160; While that&#039;s no problem for me, it makes it difficult for anyone else to just use it as a player.&amp;#160; In XP i just have an icon on the desktop for WinDVD and the program&#039;s UI is easy enough for just about anyone to figure out. I&#039;ve tried Ogle on Fedora Core 7, and while it worked, the UI wasnt nice, and it didnt expand to full screen nicely. Xine does a better job of playing, but the UI isnt friendly.&amp;#160;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Enter MythTV.&amp;#160; I&#039;ve read about it before, in fact i read a very long write-up on setting up MythTV as an all in one PVR with network storage.&amp;#160; Excellent!&amp;#160; I dont have the resources at the moment to setup a whole network just for my entertainment, but i DO have one PC, connected to a TV, that needs a nice friendly DVD player.&amp;#160; MythTV does it all!&amp;#160; There&#039;s plugins for all sorts of things, news feeds, game system front ends, and, of course, DVD playback.&amp;#160; Myth was originally designed as a PVR.&amp;#160; With a TV Turner card, you can use Myth to build your own cable box, with a channel guide, timed recordings, the works!&amp;#160; So i&#039;ve set out on the quest of getting Myth configured for DVD playback, and once i have the spare cash, i&#039;m going to get a tuner card for it.&amp;#160; I&#039;ll post more once i&#039;ve actually done this. &lt;img src=&quot;http://www.undrground.org/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;I tried to install Myth on my FC7 install, but it just wasnt cooperating.&amp;#160; It runs, but i&#039;m getting some backend erros, and for some reason displayed fonts dont work?&amp;#160; So i found this modified FC6 distribution called &lt;a href=&quot;http://www.g-ding.tv&quot;&gt;MythDora&lt;/a&gt; It takes Fc6, and pre-builds Myth into the install. I just went through an install of it on my Laptop, just to test it out, and it looks damn nice.&amp;#160; We&#039;ll see how it pans out when i get home and install it on my entertainment pc.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;-War&lt;/p&gt; 
    </content:encoded>

    <pubDate>Wed, 07 Nov 2007 15:42:06 -0500</pubDate>
    <guid isPermaLink="false">http://www.undrground.org/index.php?/archives/56-guid.html</guid>
    
</item>
<item>
    <title>The Mentor's Last Words</title>
    <link>http://www.undrground.org/index.php?/archives/47-The-Mentors-Last-Words.html</link>
            <category>General</category>
            <category>Linux</category>
            <category>Technology</category>
    
    <comments>http://www.undrground.org/index.php?/archives/47-The-Mentors-Last-Words.html#comments</comments>
    <wfw:comment>http://www.undrground.org/wfwcomment.php?cid=47</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.undrground.org/rss.php?version=2.0&amp;type=comments&amp;cid=47</wfw:commentRss>
    

    <author>nospam@example.com (War)</author>
    <content:encoded>
    A blast from the past...  I was cleaning up my computer room and I ran across my &quot;stash&quot; from when I was a teenage hacker kid.  Which consisteded of 10 floppy disks, containing things like, The Nowhere Utilities, CyberPhreak, VCL, a bunch of old outdated warez serials, and a ton of text files!  I never did anything other than tinker with CyberPhreak, the Nowhere utilities were just a cool pack of utilities, VCL.. hell, i dont have it in me to create a virus, and actually distribute it to anyone other than the kid down the street that cheated me in Doom, but the texts.... man, i used to spend hours reading all the text info I could find.  Thats probably why I am who I am today, and probably why I chose the IT field as my profession.  One of the most profound things I can recall reading back in those days was &quot;The Mentor&#039;s Last Words&quot;, by, of course, The Mentor.  It was (somewhat) featured in the movie &quot;Hackers&quot; though it was chopped up a bit.  I&#039;d read it long before Hollywood stumbled across it and put it in their movie. &lt;br /&gt;
&lt;br /&gt;
When I was in Business School, for PC Networking, I had a public speaking class, and I used this piece as the subject of one of my speaches.  I&#039;d like to think that the class took something away from the whole presentation.  Anyway, because things like this seem to be fading to the background in todays age of script kiddies, botnets, bullshit malicious viruses, and people who care more about the allmighty dollar than even a shred of knowledge... (ranting.. i know), I&#039;ve decided to post this bit of computer history here, for everyone to (re)read... &lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&lt;br /&gt;
Mentor&#039;s Last Words&lt;br /&gt;
&lt;br /&gt;
&quot;Mentor&#039;s Last Words&quot;&lt;br /&gt;
&lt;br /&gt;
Another one got caught today, it&#039;s all over the papers.  &quot;Teenager&lt;br /&gt;
Arrested in Computer Crime Scandal&quot;, &quot;Hacker Arrested after Bank&lt;br /&gt;
Tampering&quot;... Damn kids.  They&#039;re all alike. But did you, in your three-&lt;br /&gt;
piece psychology and 1950&#039;s technobrain, ever take a look behind the&lt;br /&gt;
eyes of the hacker?  Did you ever wonder what made him tick, what forces&lt;br /&gt;
shaped him, what may have molded him? I am a hacker, enter my world...&lt;br /&gt;
Mine is a world that begins with school... I&#039;m smarter than most of the&lt;br /&gt;
other kids, this crap they teach us bores me...  Damn underachiever.&lt;br /&gt;
They&#039;re all alike. I&#039;m in junior high or high school.  I&#039;ve listened to&lt;br /&gt;
teachers explain for the fifteenth time how to reduce a fraction.&lt;br /&gt;
I understand it.  &quot;No, Ms. Smith, I didn&#039;t show my work.  I did it in&lt;br /&gt;
my head...&quot; Damn kid.  Probably copied it.  They&#039;re all alike.&lt;br /&gt;
I made a discovery today.  I found a computer.  Wait a second, this is&lt;br /&gt;
cool.  It does what I want it to.  If it makes a mistake, it&#039;s because I&lt;br /&gt;
screwed it up.  Not because it doesn&#039;t like me...  Or feels threatened by&lt;br /&gt;
me.. Or thinks I&#039;m a smart ass.. Or doesn&#039;t like teaching and shouldn&#039;t be&lt;br /&gt;
here... Damn kid.  All he does is play games.  They&#039;re all alike. And then&lt;br /&gt;
it happened... a door opened to a world... rushing through the phone line&lt;br /&gt;
like heroin through an addict&#039;s veins, an electronic pulse is sent out,&lt;br /&gt;
a refuge from the day-to-day incompetencies is sought... a board is found.&lt;br /&gt;
&quot;This is it... this is where I belong...&quot; I know everyone here... even&lt;br /&gt;
if I&#039;ve never met them, never talked to them, may never hear from them&lt;br /&gt;
again... I know you all... Damn kid.  Tying up the phone line again.&lt;br /&gt;
They&#039;re all alike... You bet your ass we&#039;re all alike... we&#039;ve been&lt;br /&gt;
spoon-fed baby food at school when we hungered for steak... the bits of&lt;br /&gt;
meat that you did let slip through were pre-chewed and tasteless.&lt;br /&gt;
We&#039;ve been dominated by sadists, or ignored by the apathetic.  The few&lt;br /&gt;
that had something to teach found us willing pupils, but those few are&lt;br /&gt;
like drops of water in the desert.&lt;br /&gt;
   This is our world now... the world of the electron and the switch, the&lt;br /&gt;
beauty of the baud.  We make use of a service already existing without&lt;br /&gt;
paying for what could be dirt-cheap if it wasn&#039;t run by profiteering&lt;br /&gt;
gluttons, and you call us criminals.  We explore... and you call us&lt;br /&gt;
criminals.  We seek after knowledge... and you call us criminals.  We&lt;br /&gt;
exist without skin color, without nationality, without religious bias...&lt;br /&gt;
and you call us criminals. You build atomic bombs, you wage wars, you&lt;br /&gt;
murder, cheat, and lie to us and try to make us believe it&#039;s for our&lt;br /&gt;
own good, yet we&#039;re the criminals.&lt;br /&gt;
   Yes, I am a criminal.  My crime is that of curiosity.  My crime is&lt;br /&gt;
that of judging people by what they say and think, not what they look like.&lt;br /&gt;
My crime is that of outsmarting you, something that you will never&lt;br /&gt;
forgive me for. I am a hacker, and this is my manifesto.  You may stop&lt;br /&gt;
this individual,but you can&#039;t stop us all... after all, we&#039;re all alike.&lt;br /&gt;
                            +++The Mentor+++&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hope you&#039;ve enjoyed the read...&lt;br /&gt;
&lt;br /&gt;
-War 
    </content:encoded>

    <pubDate>Wed, 05 Sep 2007 22:40:13 -0400</pubDate>
    <guid isPermaLink="false">http://www.undrground.org/index.php?/archives/47-guid.html</guid>
    
</item>
<item>
    <title>Smooooth</title>
    <link>http://www.undrground.org/index.php?/archives/38-Smooooth.html</link>
            <category>Linux</category>
    
    <comments>http://www.undrground.org/index.php?/archives/38-Smooooth.html#comments</comments>
    <wfw:comment>http://www.undrground.org/wfwcomment.php?cid=38</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.undrground.org/rss.php?version=2.0&amp;type=comments&amp;cid=38</wfw:commentRss>
    

    <author>nospam@example.com (War)</author>
    <content:encoded>
    &lt;a href=&#039;http://www.undrground.org/blogpics/1/header-spin.gif&#039;&gt;&lt;img border=&#039;0&#039; src=&#039;http://www.undrground.org/blogpics/1/thumb_header-spin.gif&#039;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Have you ever built a firewall from scratch? &lt;br /&gt;
&lt;br /&gt;
Did you build it, thinking that you&#039;d thought of everything, just to find out later than you missed something?  I have... So when I decided to replace my old, tired, un-reliable Linksys SoHo router with a full blown firewall, I dug for pre-built linux-like firewall distributions. &lt;br /&gt;
&lt;br /&gt;
A co-worker turned me on to &lt;a href=&#039;http://www.smoothwall.org&#039;&gt;Smoothwall Express&lt;/a&gt;.  It runs a linux kernel, iptables, and a host of custom written seciruty apps.  On top of that, there&#039;s a whole team of coders/security guys working to develop it.  AND you can download the whole source tree, and build it on your own!  &lt;br /&gt;
&lt;br /&gt;
I downloaded the Smoothwall Express 3.0 Beta SP2 ISO.  Installed it, and loved the features!  A day or so later, I decided that I wanted to limit the number of simultaneous connections allowed to my BBS, so i tried to add an ip connlimit rule to iptables.... NO! Ip-connlimit is busted.  So i took the smoothwall down in an effort to find a better solution.  Well, no better solution exists.  So I spent A MONTH working on building a custom, from source, smoothwall, with a patched, and working ip-connlimit module.  The end result?  A rock solid firewall, with a ton of nifty geeky tools, AND connection limiting.  One of the developers even hinted that he might be taking my work, and putting it into the release!  Pretty nice if you ask me. &lt;br /&gt;
&lt;br /&gt;
-War 
    </content:encoded>

    <pubDate>Tue, 21 Aug 2007 19:40:11 -0400</pubDate>
    <guid isPermaLink="false">http://www.undrground.org/index.php?/archives/38-guid.html</guid>
    
</item>

</channel>
</rss>