<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-13778166</id><updated>2011-11-27T16:17:47.918-08:00</updated><title type='text'>Unix Notebook</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13778166.post-6044447423174793631</id><published>2009-08-05T09:13:00.000-07:00</published><updated>2009-08-05T09:14:22.226-07:00</updated><title type='text'>NCFTP log codes</title><content type='html'>I can never remember what the Letters mean in ncftp logs - so here they are!&lt;br /&gt;&lt;br /&gt;&lt;table width="60%" bgcolor="#cccccc" cellpadding="5"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="center"&gt;&lt;b&gt;R&lt;/b&gt; &lt;/td&gt;  &lt;td&gt;&lt;a href="http://www.ncftp.com/ncftpd/doc/xferlog.html#S_and_R"&gt;Retrieve&lt;/a&gt; operation (download from server) &lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td align="center"&gt;&lt;b&gt;S&lt;/b&gt; &lt;/td&gt;  &lt;td&gt;&lt;a href="http://www.ncftp.com/ncftpd/doc/xferlog.html#S_and_R"&gt;Store&lt;/a&gt; operation (upload to server) &lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td align="center"&gt;&lt;b&gt;T&lt;/b&gt; &lt;/td&gt;  &lt;td&gt;Directory &lt;a href="http://www.ncftp.com/ncftpd/doc/xferlog.html#T"&gt;listing&lt;/a&gt; operation &lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td align="center"&gt;&lt;b&gt;D&lt;/b&gt; &lt;/td&gt;  &lt;td&gt;&lt;a href="http://www.ncftp.com/ncftpd/doc/xferlog.html#D"&gt;Delete&lt;/a&gt; operation (file or empty directory removed successfully) &lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td align="center"&gt;&lt;b&gt;M&lt;/b&gt; &lt;/td&gt;  &lt;td&gt;&lt;a href="http://www.ncftp.com/ncftpd/doc/xferlog.html#M"&gt;Mkdir&lt;/a&gt; operation (directory creation) succeeded &lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td align="center"&gt;&lt;b&gt;C&lt;/b&gt; &lt;/td&gt;  &lt;td&gt;&lt;a href="http://www.ncftp.com/ncftpd/doc/xferlog.html#C"&gt;Chmod&lt;/a&gt; operation succeeded &lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td align="center"&gt;&lt;b&gt;L&lt;/b&gt; &lt;/td&gt;  &lt;td&gt;Symbolic &lt;a href="http://www.ncftp.com/ncftpd/doc/xferlog.html#L"&gt; link&lt;/a&gt; operation succeeded. &lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td align="center"&gt;&lt;b&gt;N&lt;/b&gt; &lt;/td&gt;  &lt;td&gt;&lt;a href="http://www.ncftp.com/ncftpd/doc/xferlog.html#N"&gt;Rename&lt;/a&gt; operation succeeded &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-6044447423174793631?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/6044447423174793631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=6044447423174793631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/6044447423174793631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/6044447423174793631'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2009/08/ncftp-log-codes.html' title='NCFTP log codes'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-5872024543460860441</id><published>2009-07-30T06:46:00.000-07:00</published><updated>2009-07-30T06:52:33.088-07:00</updated><title type='text'>Shell script for many occasions</title><content type='html'>So, many times you have to quickly process a list of files in some way.  This is the most common thing an admin has to do regarding files.  For example, lets say I had 200 files in a directory that I wanted to zip and send off.  Rather than type it all by hand, I could run the handy script below, which is little more than a template for these types of activities:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;for i in `ls`&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;gzip $i&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If I wanted to delete specific files, for example, a directory containing numbered files in the hundreds of thousands, which, when you try to use the "rm" command results in a "Argument list too long" error, you could run the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;for i in n`ls 10002*`&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/bin/rm $i&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The above script will individually delete every file beginning with 10002.  You could then run it again for 10003, 10004, etc.  Easy peasy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-5872024543460860441?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/5872024543460860441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=5872024543460860441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/5872024543460860441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/5872024543460860441'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2009/07/shell-script-for-many-occasions.html' title='Shell script for many occasions'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-7777512319321841873</id><published>2009-07-28T09:56:00.000-07:00</published><updated>2009-07-28T09:57:21.667-07:00</updated><title type='text'>Dokuwiki</title><content type='html'>The following site has a very easy, very cool wiki that you can set up with amazing speed.  Its just as simple as 1) running apache, 2) having it enabled for php, 3) knowing how to unzip something.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dokuwiki.org/dokuwiki"&gt;Dokuwiki&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-7777512319321841873?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/7777512319321841873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=7777512319321841873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/7777512319321841873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/7777512319321841873'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2009/07/dokuwiki.html' title='Dokuwiki'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-115385647080836809</id><published>2006-07-25T12:41:00.000-07:00</published><updated>2006-07-25T12:41:13.426-07:00</updated><title type='text'>debugging ssl</title><content type='html'>If you want to see the hello's/cert trading going on in an ssl connection, just to see that its getting that far, do the following:&lt;br /&gt;&lt;br /&gt;openssl s_client -connect hostname.com:443 -debug&lt;br /&gt;&lt;br /&gt;Also, there are other options for other types of checks.  Just throw a bad argument in and you get a help message.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-115385647080836809?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/115385647080836809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=115385647080836809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/115385647080836809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/115385647080836809'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2006/07/debugging-ssl.html' title='debugging ssl'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-115333744700925794</id><published>2006-07-19T12:30:00.000-07:00</published><updated>2006-07-19T12:31:20.356-07:00</updated><title type='text'>Self-signed Certs</title><content type='html'>Ok, long time no write I know.  Here's a nifty little page I've been using to make self-signed certs, because I can never remember all the commands:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://http://hausheer.osola.com/docs/9/"&gt;Self-Signed Certs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-115333744700925794?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/115333744700925794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=115333744700925794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/115333744700925794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/115333744700925794'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2006/07/self-signed-certs.html' title='Self-signed Certs'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-113623266343030542</id><published>2006-01-02T12:11:00.000-08:00</published><updated>2006-01-02T12:11:03.480-08:00</updated><title type='text'>Unix Notebook</title><content type='html'>Ignore this post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-113623266343030542?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/113623266343030542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=113623266343030542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/113623266343030542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/113623266343030542'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2006/01/unix-notebook.html' title='Unix Notebook'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-112905577110217364</id><published>2005-10-11T11:36:00.000-07:00</published><updated>2005-10-11T11:36:11.536-07:00</updated><title type='text'>More Grub stuff</title><content type='html'>Ok, so I fdisk'd my disk to get another partition, and rebooted, and...grub hung with the word: GRUB&lt;br /&gt;&lt;br /&gt;Long story short, I had to re-install GRUB on my boot disk:&lt;br /&gt;&lt;br /&gt;/sbin/grub-install hd0&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-112905577110217364?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/112905577110217364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=112905577110217364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112905577110217364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112905577110217364'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/10/more-grub-stuff.html' title='More Grub stuff'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-112672356736408205</id><published>2005-09-14T11:35:00.000-07:00</published><updated>2005-09-14T11:46:07.370-07:00</updated><title type='text'>Apache/mysql site optimization</title><content type='html'>I've written a little about apache optimization, but here's me turning a shuddering system into something otherworldly...&lt;br /&gt;&lt;br /&gt;Pre-environment (slow):&lt;br /&gt;1) bl30p with both a mysql database and an apache server using the prefork multi-processing module (MPM).&lt;br /&gt;2) ServerLimit 256 (the default)on apache&lt;br /&gt;3) MaxClients 300 (tweeked)&lt;br /&gt;4) mysql max_connections 300&lt;br /&gt;&lt;br /&gt;The result of that: it didn't work.  Only after stopping/starting apache - and paying attention to the output - did I realize why my connections were taking 10 seconds to serve me pages.  You see, "ServerLimit" is a directive in "prefork" (and I think the other MPMs) which isn't even written in the httpd.conf file!  And its default is 256.  This FORCES MaxClients to go from 300, where I set it, to 256.  So I shot that value up to 450 for both and....it still failed.  Why?!  Because mysql's "max_connections" was still at 300.  Thus, we could get more apache hits, but there were too many for mysql.  We increased that too and it worked.&lt;br /&gt;&lt;br /&gt;Post-environment (faster):&lt;br /&gt;1) bl30p with both a mysql database and an apache server using the prefork multi-processing module (MPM).&lt;br /&gt;2) ServerLimit 450 (tweaked)on apache&lt;br /&gt;3) MaxClients 450 (tweeked)&lt;br /&gt;4) mysql max_connections 450&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-112672356736408205?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/112672356736408205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=112672356736408205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112672356736408205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112672356736408205'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/09/apachemysql-site-optimization.html' title='Apache/mysql site optimization'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-112662038458867072</id><published>2005-09-13T06:49:00.000-07:00</published><updated>2005-09-13T07:08:43.736-07:00</updated><title type='text'>Re-install grub into the master boot record (MBR)</title><content type='html'>What happened:&lt;br /&gt;--------------&lt;br /&gt;I rebooted the server, and it crashed on the way down causing some issues with the disk that messed up the MBR somehow.  The box kept coming up without even hitting the splash screen.  The only message we got was "invalid partition" or something - I wish I could remember the exact error (sorry googlers-to-be).  So I brought the box up in rescue mode with the redhat CD.  The redhat program told me flat out that Redhat ES wasn't installed, which told me that it had to be the MBR.  Since we use grub out of the box and I'm no expert, my buddy and I went googling for how to rebuild the boot record (he found it).&lt;br /&gt;&lt;br /&gt;What I did:&lt;br /&gt;-----------&lt;br /&gt;1) get to the grub shell:&lt;br /&gt;[root@myserver]# grub&lt;br /&gt;2) at the grub shell, set the current root device, in this case hda1:&lt;br /&gt;grub&gt; root hd0,0&lt;br /&gt;3) install grub onto the MBR&lt;br /&gt;grub&gt; setup hd0,0&lt;br /&gt;&lt;br /&gt;These steps assume that grub was working fine before, but "something happened" to the MBR.  To setup grub from scratch...consult your system administrator!  Hah, always wanted to say that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-112662038458867072?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/112662038458867072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=112662038458867072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112662038458867072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112662038458867072'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/09/re-install-grub-into-master-boot.html' title='Re-install grub into the master boot record (MBR)'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-112257442971845277</id><published>2005-07-28T11:13:00.000-07:00</published><updated>2005-07-28T11:13:49.753-07:00</updated><title type='text'>Apache Optimization (linux)</title><content type='html'>Apache Performance Tuning&lt;br /&gt;&lt;br /&gt;There are a number of things that can be done to improve the performance of Apache on a server:&lt;br /&gt;&lt;br /&gt;1)	Stop apache from doing DNS lookups: HostNameLookups off&lt;br /&gt;2)	Modify MaxClients as needed for the traffic.  A higher number for more traffic.  Also check out StartServers, MaxSpareServers, MinSpareServers, and MaxRequestsPerChild.&lt;br /&gt;3)	Comment out any module you don’t need from httpd.conf.&lt;br /&gt;4)	Set “AllowOverride none” in httpd.conf if .htaccess files aren’t required.  This stops apache from looking in every directory for this file.&lt;br /&gt;5)	The fewer “DirectoryIndex” options, the better.&lt;br /&gt;6)	Use the mod_mmap_static module, which takes INFREQUENTLY CHANGED pages and places them in memory to avoid disk hits, serve them up faster, etc.  By “infrequent”, they mean not frequent enough to bother you, because every time you add a new page or make a change you’ll have to restart Apache.&lt;br /&gt;7)	You can use the ext2 filesystem and set the noatime attribute.  For one thing, ext3 filesystems are journaled filesystems, which means that every time a file is changed it updates some counter – an additional, time consuming step.  Add to that the “noatime” attribute, which stops the OS from recording information in every inode of every file accessed regarding when it was accessed, and you will reap performance benefits.&lt;br /&gt;8)	recompile Apache on the machine it will be used on.  This may be necessary for step 1 if mod_mmap_staic isn’t already compiled in.&lt;br /&gt;9)	change the TCP/IP settings for (recommended vals are in parentheses):&lt;br /&gt;a.	tcp_fin_timeout (180)&lt;br /&gt;b.	tcp_keepalive_time (7200)&lt;br /&gt;c.	tcp_window_scaling (1)&lt;br /&gt;d.	tcp_sack (1)&lt;br /&gt;e.	tcp_timestamps (1)&lt;br /&gt;10)	Recompile the kernel into a tight, fast, smaller binary.  Compile the appropriate drivers directly into the kernel – this will take some thinking/trying to determine what to compile I and what to make a module.&lt;br /&gt;11)	Turn off or remove selinux from the server (not sure if disabling gives you the performance gains of outright removing) – more security always means slower systems.  You can reasonably rely on the firewall and good sys-admin practices – other than removing selinux – to secure the system.&lt;br /&gt;12)	stop all non-critical processes.  Don’t expect a miracle here, because sendmail, for example, doesn’t eat up hardly any resources just sitting there waiting for connections.  It does increase the size process tree, which might become an issue on a slammed system.&lt;br /&gt;13)	for highly accessed, slammed systems, increase the ip_local_port_range parameter to “32768 61000” (requires restart of network)&lt;br /&gt;14)	Modify the bdflush parameter – this causes the system to wait a little longer between regular writes to disk from cache.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-112257442971845277?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/112257442971845277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=112257442971845277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112257442971845277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112257442971845277'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/07/apache-optimization-linux.html' title='Apache Optimization (linux)'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-112231620271812102</id><published>2005-07-25T11:30:00.000-07:00</published><updated>2005-07-25T11:31:54.723-07:00</updated><title type='text'>Manual Failover on Redhat Cluster4</title><content type='html'>This document outlines how to shutdown/startup or manually failover a service on a running 2-node cluster:&lt;br /&gt;To manually failover a cluster’s services to the other node:&lt;br /&gt;&lt;br /&gt;1)   Login to one of the servers&lt;br /&gt;&lt;br /&gt;2)   Find out which server is running the service: clustat&lt;br /&gt;&lt;br /&gt;3)   Stop and disable the service: clusvcadm –d service-name&lt;br /&gt;&lt;br /&gt;4)   Start and enable the service on the other node: clusvcadm –e service-name -m new-node-name&lt;br /&gt;&lt;br /&gt;5)   Check to see that it worked: clustat     (you should now see that it is running on the other server).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-112231620271812102?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/112231620271812102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=112231620271812102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112231620271812102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112231620271812102'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/07/manual-failover-on-redhat-cluster4.html' title='Manual Failover on Redhat Cluster4'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-112230502254240016</id><published>2005-07-25T08:10:00.000-07:00</published><updated>2005-07-25T08:23:44.150-07:00</updated><title type='text'>Creating a mirrored, non-boot/root, filesystem (linux)</title><content type='html'>Recently I had to take free space from 2 drives and create a mirrored filesystem.  Here's what I did:&lt;br /&gt;&lt;br /&gt;1) Environment: 2 drives on hda and hdb&lt;br /&gt;&lt;br /&gt;2) fdisk /dev/hda&lt;br /&gt;   i. Create a "Linux raid autodetect" partition (choose "fd") according to your needs.&lt;br /&gt;&lt;br /&gt;3) fdisk /dev/hdb&lt;br /&gt;   i. As with /dev/hda, create an "fd" partition.&lt;br /&gt;&lt;br /&gt;4) mdadm --create /dev/md4 --level=1 --raid-devices=2 /dev/hd[ab]6&lt;br /&gt;   * this line creates a md device using /dev/hda6 and /dev/hdb6.  It also starts the raid device.&lt;br /&gt;&lt;br /&gt;5) Create your filesystem on /dev/md4:&lt;br /&gt;   i. mkfs -t ext2 /dev/md4&lt;br /&gt;   * I chose a non-journaled filesystem because Oracle already does this for you, in a sense.&lt;br /&gt;&lt;br /&gt;6) Edit /etc/mdtab to reflect your changes, followed by /etc/fstab:&lt;br /&gt;   i. Add a single entry to mtab: /dev/md4 /u01 ext2 rw 0 0&lt;br /&gt;   ii. Now fstab: /dev/md4      /u01         ext2    defaults        0 0&lt;br /&gt;&lt;br /&gt;A more thorough description of this process, done slightly differently, but including information on Grub and mirroring the boot disk, can be found at:&lt;br /&gt;http://www.linuxsa.org.au/mailing-list/2003-07/1270.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-112230502254240016?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/112230502254240016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=112230502254240016' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112230502254240016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112230502254240016'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/07/creating-mirrored-non-bootroot.html' title='Creating a mirrored, non-boot/root, filesystem (linux)'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-112156291717727165</id><published>2005-07-16T18:15:00.000-07:00</published><updated>2005-07-20T12:09:35.796-07:00</updated><title type='text'>Redhat Cluster 4 how-to</title><content type='html'>Redhat Cluster 4: Steps for setting up a 2 node cluster&lt;br /&gt;&lt;br /&gt;* This document assumes that you’ve read the pdf found easily at Redhat’s site in the documentation section.  It just sort of condenses it all for you if you want to make a 2 node cluster.&lt;br /&gt;**Make sure you read all the tips at the very bottom or you could be in for some pain&lt;br /&gt;&lt;br /&gt;A) What we want&lt;br /&gt;   1. Two servers in an active/passive cluser (one fails, the other takes over)&lt;br /&gt;   2. A shared storage area between them (disk array, luns from a SAN, etc.)&lt;br /&gt;   3. Floating IP&lt;br /&gt;   4. Bonded Ethernet interfaces (two interfaces on the same system acting as one highly available interface).&lt;br /&gt;   5. Power fencing (if system A appears unreachable, system B turns system A off and takes over the cluster).&lt;br /&gt;&lt;br /&gt;B) Setup interface bonding (fairly easy)&lt;br /&gt;   1. I documented this at: http://unixnotebook.blogspot.com&lt;br /&gt;&lt;br /&gt;C) Startup gui&lt;br /&gt;   1. service ccsd start &lt;br /&gt;   2. service cman start&lt;br /&gt;   3. export DISPLAY=xxx.xxx.xxx.xxx:0&lt;br /&gt;   4. system-config-cluster &amp;&lt;br /&gt;&lt;br /&gt;D) Configure your cluster (in all steps, “close” saves your progress in the setup screens.  “file-&gt;save” saves your cluster.&lt;br /&gt;   1. When you first start you’ll be asked to create a new cluster – do so.&lt;br /&gt;   2. I chose DLM (distributed lock manager) because GULM requires 3 or 5 servers in your cluster.&lt;br /&gt;   3. Name your cluster something nice.&lt;br /&gt;   4. Create a node by clicking on “cluster nodes” and then clicking “add nodes”.   &lt;br /&gt;Choose a quorum vote of 1.  &lt;br /&gt;   5. Create a fence device.  I chose HP’s ILO choice.  This require me to put AS the hostname the hostname of the actual ILO, not the hostname of the node in the cluster.  I “named” my fences arbitrarily.&lt;br /&gt;   6. Assign those fences to the nodes by clicking on the nodes created in step 4 and clicking “manage fencing for this node”.  When you do, a window pops up and you’ll click “add a new fence level”.  Then you’ll click on that level (probably level 1 if you’ve just started) and click “add a fence to this level”.  Then you choose the fence created in step 5 to the appropriate node.&lt;br /&gt;   7. Click “failover domains” and create a new failover domain.  Use any name you want.  I recommend unordered priority and unrestricted – let any node in the cluster run the cluster.  Fool with it later if you have time.&lt;br /&gt;8. Resources: resources are things like “IP addresses” of “shared filesystems” or “scripts”.  Generally, your “scripts” will be the ones in /etc/init.d (httpd, for example).   This part of the setup is straight forward.  I’m pretty sure I had to put my IPs in /etc/hosts, but I’m not sure if that’s what made it work or not.  BE VERY AWARE: “ifconfig –a” may or may not show eth0:1 or the like.  I’m not sure how redhat does it or if it is a bug, but both of my 2.6.9-11 ELsmp kernels brought up the IPs but didn’t bring up the interface.  Also, this was clearly a bug: I couldn’t create one particular IP address for the life of me (10.x.x.25).  I then tried doing .98 and it worked fine.  Something got “hosed” up in the plumbing probably.&lt;br /&gt;   9. Create services: create an arbitrary name for your service (whatever you like), and add resources to it.  Order matters – IP’s and filesystems first and scripts last because they needed the other two.  Also, you can nest your stuff.  It appears that the top most layer is the base layer, and the lower layers are the things that rely on the base layer.  Either way, it’s a little buggy in my opinion so I didn’t layer anything.  It seems to work just laying them all down 1 after the other, from most basic to most complex.  When you are ready, assign this service to a failover domain.&lt;br /&gt;   10. Save your script (goes to /etc/cluster/cluster.config)&lt;br /&gt;   11. Bring the other node into the cluster:&lt;br /&gt;      i. # service ccsd start  (on the other node)&lt;br /&gt;      ii. # service cman start&lt;br /&gt;      iii. On the original system, bring up that gui again.  This time  you’ll see a management console tab and button in the top right corner which reads “Send to cluster”.  The button saves the config to /etc/cluster/cluster.config.  If there’s already one there (and there should be) it moves it to a backup file first and then saves.  The last thing the button does is shoots the config over to the other system.  If you need to, ftp will also do the trick but you shouldn’t need to.&lt;br /&gt;iv. Exit the gui.&lt;br /&gt;   12. Start the cluster&lt;br /&gt;      i. On both systems, 1 node first and then the other, run the other two daemons:&lt;br /&gt;      ii. # service fenced start&lt;br /&gt;      iii. # service rgmanager start&lt;br /&gt;   13. Check the cluster&lt;br /&gt;      i. # clustat (you should see ‘stuff’)&lt;br /&gt;   14. If the cluster isn’t started&lt;br /&gt;      i. Go into the gui, go to the management tab and click on the service, then “enable” it.  If it is in a failed state and won’t start, take down everything with all the “service x start/stop” commands and bring everything up.  If it still doesn’t work, do some basic unix troubleshooting (permissions, groups, paths to resources/scripts, does it really mount like you think it will, is there an ip conflict, etc.)  If that doesn’t work you’re in for the long haul…&lt;br /&gt;&lt;br /&gt;Stuff that took me forever to figure out:&lt;br /&gt;&lt;br /&gt;1) bonding was easy on one server that had a very up2date kernel.  The one that was slightly behind in its upkeep had problems – bonding came up but we had a ton of kernel errors that I didn’t have time to really figure out, so I just upgraded the kernel – it worked.&lt;br /&gt;&lt;br /&gt;2) As I mentioned above, Redhat Cluster didn’t (maybe doesn’t) make a virtual interface of the “ethx:1” variety.  So don’t waste hours looking for it.&lt;br /&gt;&lt;br /&gt;3) HEAR ME HEAR ME: Every start/stop script in Redhat Cluster requires a “status” option (eg., /etc/init.d/mysql.server status).  If you don’t have one, redhat cluster will keep bounding your service.  You’ll have to put a status check in there that returns 0 (zero).&lt;br /&gt;&lt;br /&gt;4) Make sure 127.0.0.1 is only named “loopback” and not your server name.  Make your servername a useful IP.  You should also put any other names you can think of in your hostfile (like your fences).&lt;br /&gt;&lt;br /&gt;5) HEAR ME HEAR ME: if you enable fencing and you are having problems with its stop/start procedures hanging, don’t reboot.  Your system will hang as its coming up, forcing you to bring it up manually 1 process at a time, hitting No at that process.&lt;br /&gt;&lt;br /&gt;6) The default log location for Redhat Cluster is /var/log/messages.  Tail –f that file and grep for “clu” and you’ll see all the cluster-related messages.&lt;br /&gt;&lt;br /&gt;7) If you ever get complaints from the gui at startup about XML syntax errors, well, it means that you screwed something up.  I know, I can’t believe it either – the gui allows you to make impossible entries into your XML file.  No matter how much you think you are doing it right, trust me, you messed up – and the gui let you.&lt;br /&gt;&lt;br /&gt;8) As you struggle to get things going, ALWAYS check your services using “ps” and ALWAYS check to see if what you expect to be mounted or unmounted are the way you expect.  Until you get everything right, you have to babysit your system – you literally could get the same filesystem mounted on two boxes, and services trying to start them.  Its disgusting.&lt;br /&gt;&lt;br /&gt;9) If you’re like me and you don’t have a CDROM connected to your proliant blade server and only have an iso, and you mount that for your install, you’re going to be asked to insert one of your Redhat Linux install disks (or you might).  This is nuts.  It auto-ejects your iso, and suddenly you need to put a disk in – which it expects to auto-mount for you when you click “ok”.  The workaround is to copy everything from the iso to disk, and delete/move all rpms from the rpms directory that don’t pertain to your specific type of kernel (smp, bigmem, and the like).  Then install all the rpms with a * as an argument – it worked for me.&lt;br /&gt;&lt;br /&gt;10) HEAR ME HEAR ME HEAR ME: If you find that when you simulate a network failure to make the cluster failover (eg., ifdown eth0), and all you see is "CMANsendmesg failed: -101", then here's the problem: your power-fencing system is sending "poweroff" to the server, but the "acpid" service is interpreting it as "shutdown -h", which won't allow the server to come down unless its done gracefully.  You need to go into /etc/acpi/events and change the config flie, then hup the daemon (/etc/init.d/acpid stop/start).  The config file might be named "sample.conf" or something, that's fine - it'll use that (man acpid).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-112156291717727165?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/112156291717727165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=112156291717727165' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112156291717727165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112156291717727165'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/07/redhat-cluster-4-how-to.html' title='Redhat Cluster 4 how-to'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-112143433657544938</id><published>2005-07-15T06:26:00.000-07:00</published><updated>2005-07-15T06:32:16.580-07:00</updated><title type='text'>Network interface bonding</title><content type='html'>Bonding is a way for a linux server with 2 network cards to share a virtual interface which represents both real interfaces.  I'm not sure if you get a boost in throughput or if it is only failover.  On a redhat ES4 server, all I did was edit these files and reboot (the modules were alredy loadable by the kernel):&lt;br /&gt;&lt;br /&gt;modprobe.conf&lt;br /&gt;ifcfg-eth0&lt;br /&gt;ifcfg-eth1&lt;br /&gt;ifcfg-bond0 (I made this one, as per instructions)&lt;br /&gt;&lt;br /&gt;Snipits (all you need to add before rebooting):&lt;br /&gt;&lt;br /&gt;From - modprobe.conf -&gt;&lt;br /&gt;&lt;br /&gt;###BEGIN JEFF'S BONDING&lt;br /&gt;probeall bond0 eth0 eth1 bonding&lt;br /&gt;alias bond0 bonding&lt;br /&gt;options bonding miimon=100 mode=1&lt;br /&gt;###END JEFF'S BONDING&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From -&gt; ifcfg-eth0&lt;br /&gt;&lt;br /&gt;DEVICE=eth0&lt;br /&gt;USERCTL=no&lt;br /&gt;ONBOOT=yes&lt;br /&gt;MASTER=bond0&lt;br /&gt;SLAVE=yes&lt;br /&gt;BOOTPROTO=none&lt;br /&gt;&lt;br /&gt;From -&gt; ifcfg-eth1&lt;br /&gt;&lt;br /&gt;DEVICE=eth1&lt;br /&gt;USERCTL=no&lt;br /&gt;ONBOOT=yes&lt;br /&gt;MASTER=bond0&lt;br /&gt;SLAVE=yes&lt;br /&gt;BOOTPROTO=none&lt;br /&gt;&lt;br /&gt;From -&gt; ifcfg-bond0&lt;br /&gt;&lt;br /&gt;DEVICE=bond0&lt;br /&gt;USERCTL=no&lt;br /&gt;ONBOOT=yes&lt;br /&gt;NETMASK=255.255.254.0&lt;br /&gt;BROADCAST=10.200.58.255&lt;br /&gt;GATEWAY=10.200.58.1&lt;br /&gt;IPADDR=10.200.58.21&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-112143433657544938?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/112143433657544938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=112143433657544938' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112143433657544938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112143433657544938'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/07/network-interface-bonding.html' title='Network interface bonding'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-112105269120947703</id><published>2005-07-10T20:30:00.000-07:00</published><updated>2005-07-10T20:31:31.216-07:00</updated><title type='text'>listing/loading/removing drivers (linux)</title><content type='html'>[root@saturn /]# lsmod | grep floppy&lt;br /&gt;floppy                 65269  0&lt;br /&gt;[root@saturn /]# modprobe -r floppy&lt;br /&gt;[root@saturn /]# lsmod | grep floppy&lt;br /&gt;[root@saturn /]# modprobe -a floppy&lt;br /&gt;[root@saturn /]# lsmod | grep floppy&lt;br /&gt;floppy                 65269  0&lt;br /&gt;[root@saturn /]#&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-112105269120947703?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/112105269120947703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=112105269120947703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112105269120947703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112105269120947703'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/07/listingloadingremoving-drivers-linux.html' title='listing/loading/removing drivers (linux)'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-112105214880494521</id><published>2005-07-10T20:21:00.000-07:00</published><updated>2005-07-10T20:22:28.806-07:00</updated><title type='text'>Linux filesystem splash</title><content type='html'>Ugh, reduced to posting man pages!  Just kidding.  I'm posting this because its a nice roundup of basic filesystem junk for Linux, which I'm just getting back into after over a year away:&lt;br /&gt;&lt;br /&gt;[root@saturn /]# man -k ext2&lt;br /&gt;debugfs              (8)  - ext2/ext3 file system debugger&lt;br /&gt;dump                 (8)  - ext2/3 filesystem backup&lt;br /&gt;dumpe2fs             (8)  - dump ext2/ext3 filesystem information&lt;br /&gt;e2fsck               (8)  - check a Linux ext2/ext3 file system&lt;br /&gt;e2fsck [fsck]        (8)  - check a Linux ext2/ext3 file system&lt;br /&gt;e2image              (8)  - Save critical ext2/ext3 filesystem data to a file&lt;br /&gt;e2label              (8)  - Change the label on an ext2/ext3 filesystem&lt;br /&gt;ext2online           (8)  - online (mounted) ext2 filesystem resizer&lt;br /&gt;filesystems [fs]     (5)  - Linux filesystem types: minix, ext, ext2, ext3, xia, msdos, umsdos, vfat, proc, nfs, iso9660, hpfs, sysv, smb, ncpfs&lt;br /&gt;mke2fs               (8)  - create an ext2/ext3 filesystem&lt;br /&gt;mke2fs [mkfs]        (8)  - create an ext2/ext3 filesystem&lt;br /&gt;resize2fs            (8)  - ext2/ext3 file system resizer&lt;br /&gt;tune2fs              (8)  - adjust tunable filesystem parameters on ext2/ext3 filesystems&lt;br /&gt;[root@saturn /]#&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-112105214880494521?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/112105214880494521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=112105214880494521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112105214880494521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/112105214880494521'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/07/linux-filesystem-splash.html' title='Linux filesystem splash'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-111963724924551313</id><published>2005-06-24T11:12:00.000-07:00</published><updated>2005-06-24T11:20:49.256-07:00</updated><title type='text'>Processor control (Sun)</title><content type='html'>Not sure if this is supported on all processors or not, so I'm putting this under "Sun" vs "Solaris".&lt;br /&gt;&lt;br /&gt;There are two (at least) great tools for modifying how your system operates, particularly if you are a control freak and are free to try different things.  The following commands modify how your processes and processors run:&lt;br /&gt;&lt;br /&gt;pbind - bind a single process to a single cpu&lt;br /&gt;&lt;br /&gt;psradm - bring a cpu online, offline, or not allow it to receive interrupts.  This is so you can stop IO devices from accessing your singled-out workhorse CPU.&lt;br /&gt;&lt;br /&gt;psrset - create a group of processors to which one or more processes will only be allowed to operate on one or more CPUs.  You can also include a flag to stop interrupts as with the psradm command.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-111963724924551313?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/111963724924551313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=111963724924551313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111963724924551313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111963724924551313'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/06/processor-control-sun.html' title='Processor control (Sun)'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-111919096177290189</id><published>2005-06-19T07:11:00.000-07:00</published><updated>2005-06-19T07:22:41.776-07:00</updated><title type='text'>ndd</title><content type='html'>ndd is a useful command to get and set values for drivers to use.  It is most typically used (by me) to set/get network interface behavior.  Here's a script to view the duplex and speed of an interface.  Zero usually means it is off, 1 that it is on.  But I think with "link speed", for example, a 0 means it is 10mb a second, and a 1 means 100.  I know that you set full/half 10/100 by adjusting the values prefixed with "adv".&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;# The script is called "get"&lt;br /&gt;for i in `ndd -get /dev/ce \?|grep -v ?|awk '{print $1}'`&lt;br /&gt;do&lt;br /&gt;echo $i `ndd -get /dev/ce $i`&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;root@servername1 # ./get&lt;br /&gt;instance 0&lt;br /&gt;adv_autoneg_cap 0&lt;br /&gt;adv_1000fdx_cap 0&lt;br /&gt;adv_1000hdx_cap 0&lt;br /&gt;adv_100T4_cap 0&lt;br /&gt;adv_100fdx_cap 1&lt;br /&gt;adv_100hdx_cap 0&lt;br /&gt;adv_10fdx_cap 0&lt;br /&gt;adv_10hdx_cap 0&lt;br /&gt;adv_asmpause_cap 0&lt;br /&gt;adv_pause_cap 0&lt;br /&gt;master_cfg_enable 0&lt;br /&gt;master_cfg_value 0&lt;br /&gt;use_int_xcvr 0&lt;br /&gt;enable_ipg0 1&lt;br /&gt;ipg0 8&lt;br /&gt;ipg1 8&lt;br /&gt;ipg2 4&lt;br /&gt;rx_intr_pkts 8&lt;br /&gt;rx_intr_time 3&lt;br /&gt;red_dv4to6k 0&lt;br /&gt;red_dv6to8k 0&lt;br /&gt;red_dv8to10k 0&lt;br /&gt;red_dv10to12k 0&lt;br /&gt;tx_dma_weight 0&lt;br /&gt;rx_dma_weight 0&lt;br /&gt;infinite_burst 1&lt;br /&gt;disable_64bit 0&lt;br /&gt;accept_jumbo 0&lt;br /&gt;link_status 1&lt;br /&gt;link_mode 1&lt;br /&gt;link_speed 1&lt;br /&gt;root@servername #&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-111919096177290189?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/111919096177290189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=111919096177290189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111919096177290189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111919096177290189'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/06/ndd.html' title='ndd'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-111918990825743319</id><published>2005-06-19T07:02:00.000-07:00</published><updated>2005-06-19T07:05:08.256-07:00</updated><title type='text'>Setting groups with vxvm</title><content type='html'>I'll probably make a single post with all my most frequently used vxvm commands, but this one is important enough to enter it alone here.  What it does is take your brand-new volume and cause it to be owned by whomever needs it.  Usually, this would be oracle or your application username.  The reason why you need to do it is because if you reboot, it will revert back to root ownership.  So do this:&lt;br /&gt;&lt;br /&gt;vxedit -g dg_name set user=oracle group=dba mode=660 VOL_NAME&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-111918990825743319?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/111918990825743319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=111918990825743319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111918990825743319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111918990825743319'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/06/setting-groups-with-vxvm.html' title='Setting groups with vxvm'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-111918958332101747</id><published>2005-06-19T06:49:00.000-07:00</published><updated>2005-06-19T06:59:43.320-07:00</updated><title type='text'>ifconfig with "plumb" and "unplumb"</title><content type='html'>Solaris introduced me to "plumbing" an interface.  I'm not sure if you do this on other OS's, but you do it in Solaris.  Here you are:&lt;br /&gt;&lt;br /&gt;1) bring an interface down:&lt;br /&gt;ifconfig ce0 down&lt;br /&gt;&lt;br /&gt;2) take an interface offline:&lt;br /&gt;ifconfig ce0 unplumb&lt;br /&gt;&lt;br /&gt;3) bring an interface online:&lt;br /&gt;ifconfig ce1 plumb&lt;br /&gt;&lt;br /&gt;4) configure the interface and bring it up:&lt;br /&gt;ifconfig ce1 10.2.2.190 netmask + broadcast + up&lt;br /&gt;&lt;br /&gt;In number 4, the "netmask +" entry reads from the longest matching entry in /etc/netmasks and populates it.  You could also put your own entry in.&lt;br /&gt;The "broadcast +" tells ifconfig to use a reasonable broadcast address - namely, it populates the last octet with all 1's (255).  You could also put your own entry in, but I recommend against it.  You could end up with an almost impossible problem to figure out, because the wrong broadcast address will cause all those arps and rarps and icmp chatter between your server and the router to fail.  I learned this last bit on an interview :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-111918958332101747?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/111918958332101747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=111918958332101747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111918958332101747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111918958332101747'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/06/ifconfig-with-plumb-and-unplumb.html' title='ifconfig with &quot;plumb&quot; and &quot;unplumb&quot;'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-111918850161471131</id><published>2005-06-19T06:39:00.000-07:00</published><updated>2005-06-19T06:41:41.616-07:00</updated><title type='text'>Using "fmcutil" to see fiber card (HP)</title><content type='html'>1) Get the device name for the fiber device&lt;br /&gt;ioscan -funC fc&lt;br /&gt;&lt;br /&gt;2) run fmcsutil to see the information on the device:&lt;br /&gt;root@servername:/ # fcmsutil /dev/td0&lt;br /&gt;&lt;br /&gt;                           Vendor ID is = 0x00103c&lt;br /&gt;                           Device ID is = 0x001028&lt;br /&gt;                 TL Chip Revision No is = 2.3&lt;br /&gt;            PCI Sub-system Vendor ID is = 0x00103c&lt;br /&gt;                   PCI Sub-system ID is = 0x000006&lt;br /&gt;                      Previous Topology = UNINITIALIZED&lt;br /&gt;                     Local N_Port_id is = 0x000000&lt;br /&gt;                       Local Loop_id is = 126&lt;br /&gt;            N_Port Node World Wide Name = 0x50060b0000070df9&lt;br /&gt;            N_Port Port World Wide Name = 0x50060b0000070df8&lt;br /&gt;                           Driver state = AWAITING_LINK_UP&lt;br /&gt;                       Hardware Path is = 0/4/0/0&lt;br /&gt;                 Number of Assisted IOs = 0&lt;br /&gt;        Number of Active Login Sessions = 0&lt;br /&gt;                   Dino Present on Card = NO&lt;br /&gt;                     Maximum Frame Size = 960&lt;br /&gt;                         Driver Version = @(#) PATCH_11.00: libtd.a : Jul 15 2002, 11:34:12, PHSS_26798&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-111918850161471131?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/111918850161471131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=111918850161471131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111918850161471131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111918850161471131'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/06/using-fmcutil-to-see-fiber-card-hp.html' title='Using &quot;fmcutil&quot; to see fiber card (HP)'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-111914701771919961</id><published>2005-06-18T19:10:00.000-07:00</published><updated>2005-06-18T19:10:17.723-07:00</updated><title type='text'>Nohup doesn't work?  Do an "at" job!</title><content type='html'>I was asked to run a startup script which sends output to nohup.out.  The problem is, every time I logged out it wouldn't stick around.  It was supposed to - there must have been some trick that the previous admin did to make it work.  I've used nohup before, and I'll tell you: it either works or it doesn't :)  One thing you can do if it isn't working is do an at job:&lt;br /&gt;&lt;br /&gt;at -qb now&lt;br /&gt;at&gt; ./the_process_name&lt;br /&gt;at&gt; control-d&lt;br /&gt;&lt;br /&gt;The output after control-d will look like this:&lt;br /&gt;&lt;br /&gt;"commands will be executed using /bin/ksh&lt;br /&gt;job 1119147442.b at Sat Jun 18 22:17:22 2005"&lt;br /&gt;&lt;br /&gt;That's all there is to it.  Let the OS deal with the problem....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-111914701771919961?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/111914701771919961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=111914701771919961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111914701771919961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111914701771919961'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/06/nohup-doesnt-work-do-at-job.html' title='Nohup doesn&apos;t work?  Do an &quot;at&quot; job!'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-111913579314986247</id><published>2005-06-18T16:03:00.000-07:00</published><updated>2005-06-18T16:03:13.153-07:00</updated><title type='text'>Upgrading Solaris from 8 to 9 with VXVM and VXFS complications</title><content type='html'>Our environment:&lt;br /&gt;1) /opt was on the root disk - but not by design.  It was supposed to be on another disk but got hot-relocated over.&lt;br /&gt;2) The root disk was encapsulated by vm&lt;br /&gt;3) /opt was mirrored to another disk in rootdg&lt;br /&gt;4) this was on a vm 4.0 system&lt;br /&gt;&lt;br /&gt;SAVE YOUR STUFF off of the server:&lt;br /&gt;vxprint -ht &gt; file1&lt;br /&gt;/etc/vx/licenses&lt;br /&gt;sd.conf (this is a MUST if you are using a SAN.  All this will get blown away, trust me.)&lt;br /&gt;lpfc.conf (if you use emulex)&lt;br /&gt;hosts&lt;br /&gt;ifconfig -a &gt; file2&lt;br /&gt;vxdisk list &gt; file3&lt;br /&gt;and anything else you can think of&lt;br /&gt;&lt;br /&gt;Prereq's:&lt;br /&gt;1) I had to get /opt relocated BACK to the other disk (Fundamentals book, section 8-20)&lt;br /&gt;    # vxunreloc -g DG ORIG_DISK_NAME&lt;br /&gt;    Note: you can find out which disk is the original disk that got hot-relocated from by the following command, performed on each disk:&lt;br /&gt;    # vxprint -g DG -se 'sd_orig_dmname="diskname01"'&lt;br /&gt;&lt;br /&gt;2) I then had to break the mirrors off of the boot disk (Maintenance lessons, 4-21):&lt;br /&gt;    # vxprint -ht rootdg swapvol usr var  (this shows the plexes on these volumes)&lt;br /&gt;    # vxplex -o rm dis PLEX_NAME (I had to make sure to only remove the plexes on the non-root subdisk)&lt;br /&gt;&lt;br /&gt;3) I then needed to vxunroot to get my system ready for the next step (Maintenance lessons, 4-21:&lt;br /&gt;    # vxunroot&lt;br /&gt;&lt;br /&gt;4) I needed to create /opt_new off of the boot disk in preparation for moving opt to the boot disk&lt;br /&gt;    # format (make the new device on an empty slice; I chose 5)&lt;br /&gt;    # newfs /path/to/raw-dvice  (you want to use newfs so you can get a good UFS filesystem with all the fancy flags and options built-in.  Don't use veritas - you won't be resizing anyway once you encapsulate).&lt;br /&gt;    - mount the file system&lt;br /&gt;    # cp -Rp /from /to  (you want to use R to only copy links, not the linked-to stuff, and you use p to keep permissions)&lt;br /&gt;&lt;br /&gt; 5) switch the entries in /etc/vfstab.  I kept the "opt" volume anyway, even though I used my new ufs system for opt - you never know if you need something that didn't get included.  you can always delete it later.&lt;br /&gt;&lt;br /&gt;6) Now you are ready to run the following in preparation for the solaris upgrade:&lt;br /&gt;   # upgrade_start  (can be found on your veritas volume manager CD)&lt;br /&gt;&lt;br /&gt;7) init 0 (powers down to the ok prompt)&lt;br /&gt;&lt;br /&gt;Upgrading Solaris:&lt;br /&gt;In my environment, on an F15k, we do network installs/upgrades using jumpstart.  Here are the files you need to touch (I just fuzzed my way through it):&lt;br /&gt;1) /etc/bootparams (when you boot net, it looks here to see what image to boot from)&lt;br /&gt;2) /export/install/rules and /export/install/rules.ok (I'm pretty sure only one is needed, but we did both).  Here's what the key entry looked like for our domain:&lt;br /&gt;    hostname gnsf15k-g    -       v240-15k_sol9_upgrade -&lt;br /&gt;3) Make sure the above mentioned v240-15k_sol9_upgrade file exists in /export/install, and that it has but a single entry reading: install_type    upgrade&lt;br /&gt;4) With all this done, go to the system in question which should be at the "ok prompt" by now, and: boot net&lt;br /&gt;5) Don't be alarmed if it acts a little like it is doing an "install".  If you did everything right, you'll begin seeing the words "upgrade" here and there.&lt;br /&gt;&lt;br /&gt;After the upgrade:&lt;br /&gt;1) move your sd.conf back to /kernel/drv&lt;br /&gt;2) pkgrm VRTSvxfs (remove the old Solaris 8 binaries - they won't work now)&lt;br /&gt;3) pkgadd VRTSvxfs (add the Sol 9 binaries in)&lt;br /&gt;4) reboot -- -r (to recreate all the devices that may or may not be missing)&lt;br /&gt;5) when it comes back up: upgrade_finish&lt;br /&gt;NOTE: BECAUSE YOU UNROOTED FIRST, YOU WON'T HAVE ANY ISSUES WITH THE SYSTEM TRYING TO CREATE A bootdg DISK GROUP IN PLACE OF WHAT YOU PREFER.  LATER, WHEN YOU ENCAPSULATE, IS ANOTHER STORY.&lt;br /&gt;6) reboot (not sure about -- -r, don't think you need to)&lt;br /&gt;&lt;br /&gt;It should work :)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-111913579314986247?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/111913579314986247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=111913579314986247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111913579314986247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111913579314986247'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/06/upgrading-solaris-from-8-to-9-with.html' title='Upgrading Solaris from 8 to 9 with VXVM and VXFS complications'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13778166.post-111913115432470595</id><published>2005-06-18T14:44:00.000-07:00</published><updated>2005-06-18T14:45:54.326-07:00</updated><title type='text'>The unix notebook</title><content type='html'>This is where I'll start posting the technical things I do at work so that I don't forget them.  Do not try to use anything you see here, I'm not responsible if you break anything.  You've been warned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13778166-111913115432470595?l=unixnotebook.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixnotebook.blogspot.com/feeds/111913115432470595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13778166&amp;postID=111913115432470595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111913115432470595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13778166/posts/default/111913115432470595'/><link rel='alternate' type='text/html' href='http://unixnotebook.blogspot.com/2005/06/unix-notebook.html' title='The unix notebook'/><author><name>Jeffrey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='13' src='http://photos1.blogger.com/img/91/2327/640/eye.jpg'/></author><thr:total>0</thr:total></entry></feed>
