<?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-3465511817000766788</id><updated>2012-01-22T09:31:12.263+05:30</updated><title type='text'>Musing with GNU/Linux!</title><subtitle type='html'>GNU/Linux And OpenSource</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>91</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-1478094989886851129</id><published>2012-01-03T15:34:00.003+05:30</published><updated>2012-01-03T16:03:21.585+05:30</updated><title type='text'>How to get over Gentoo's X display problem after update</title><content type='html'>Yep! I could have write the title more specific way,but let it go.So as normal routine I ran a worldsync on my Gentoo and bang! once I reboot the X was not coming up in-spite of having everything in place. What the heck!!!&lt;br /&gt;&lt;br /&gt;Then,I realize that update make some enhancement to X and associated things are not getting updated with it.&lt;br /&gt;&lt;br /&gt;So, instinctively poking at the log file tell me that "&lt;b&gt;ABI version of so many thing ,related to X driver is mismatching with the server version&lt;/b&gt;" and then the obvious thing a little google search reveal that too.Something like this in log file shows:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt; 38.004] (EE) module ABI major version (10) doesn't match the server's version (11)&lt;br /&gt;[    38.004] (II) UnloadModule: "vesa"&lt;br /&gt;[    38.004] (II) Unloading vesa&lt;br /&gt;[    38.005] (EE) Failed to load module "vesa" (module requirement mismatch, 0)&lt;br /&gt;[    38.005] (II) LoadModule: "fbdev"&lt;br /&gt;[    38.005] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so&lt;br /&gt;[    38.005] (II) Module fbdev: vendor="X.Org Foundation"&lt;br /&gt;[    38.005]    compiled for 1.10.2, module version = 0.4.2&lt;br /&gt;[    38.005]    ABI class: X.Org Video Driver, version 10.0&lt;br /&gt;[    38.005] (EE) module ABI major version (10) doesn't match the server's version (11)&lt;br /&gt;[    38.005] (II) UnloadModule: "fbdev"&lt;br /&gt;[    38.005] (II) Unloading fbdev&lt;br /&gt;[    38.005] (EE) Failed to load module "fbdev" (module requirement mismatch, 0)&lt;br /&gt;[    38.005] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,&lt;br /&gt;i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G,&lt;br /&gt;E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,&lt;br /&gt;965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,&lt;br /&gt;4 Series, G45/G43, Q45/Q43, G41, B43, B43, Clarkdale, Arrandale,&lt;br /&gt;Sandybridge Desktop (GT1), Sandybridge Desktop (GT2),&lt;br /&gt;Sandybridge Desktop (GT2+), Sandybridge Mobile (GT1),&lt;br /&gt;Sandybridge Mobile (GT2), Sandybridge Mobile (GT2+),&lt;br /&gt;Sandybridge Server, Ivybridge Mobile (GT1), Ivybridge Mobile (GT2),&lt;br /&gt;Ivybridge Desktop (GT1), Ivybridge Desktop (GT2), Ivybridge Server&lt;br /&gt;[    38.005] (++) using VT number 7&lt;br /&gt;&lt;br /&gt;[    38.038] (EE) No devices detected.&lt;br /&gt;[    38.038] &lt;br /&gt;Fatal server error:&lt;br /&gt;[    38.038] no screens found&lt;br /&gt;[    38.038] &lt;br /&gt;Please consult the The X.Org Foundation support &lt;br /&gt;at http://wiki.x.org&lt;br /&gt;for help. &lt;br /&gt;[    38.038] Please also check the log file at "/var/log/Xorg.1.log" for additional information.&lt;br /&gt;[    38.038] &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now the time to rebuild the X11 drivers ,because I got new X server to match with it.Did it like this :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bhaskar@GentooLinux_15:11:04_Tue Jan 03:~&gt; sudo emerge -1 $(qlist -IC x11-drivers)&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;That is numeric one to the emerge flag...means oneshot..means not put an entry in world file...&lt;br /&gt;&lt;br /&gt;Once it finish I reboot the machine and voila...the X display come back!!&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-1478094989886851129?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/1478094989886851129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2012/01/how-to-get-over-gentoos-x-display.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/1478094989886851129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/1478094989886851129'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2012/01/how-to-get-over-gentoos-x-display.html' title='How to get over Gentoo&apos;s X display problem after update'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-1546197278983565466</id><published>2011-12-08T12:59:00.001+05:30</published><updated>2011-12-08T13:01:25.849+05:30</updated><title type='text'>Using kvm on Arch Linux to install CentOS 6</title><content type='html'>This is mighty interesting and damn easy thing to do for better way to use and test new releases.I am gonna show you how you can exploit the power of KVM with minimal fuss.So here we go:&lt;br /&gt;&lt;br /&gt;I am sitting on Arch Linux and got to bring in the kvm thing into the box..so I went ahead and do this :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@ArchLinux_12:24:23_Thu Dec 08:~&gt; sudo pacman -S qemu-kvm&lt;br /&gt;resolving dependencies...&lt;br /&gt;looking for inter-conflicts...&lt;br /&gt;&lt;br /&gt;Targets (2): vde2-2.3.1-1  qemu-kvm-0.15.1-1&lt;br /&gt;&lt;br /&gt;Total Download Size:    1.96 MB&lt;br /&gt;Total Installed Size:   10.31 MB&lt;br /&gt;&lt;br /&gt;Proceed with installation? [Y/n] y&lt;br /&gt;:: Retrieving packages from extra...&lt;br /&gt;vde2-2.3.1-1-i686                                                                       177.1K   58.0K/s 00:00:03 [#####################################################################] 100%&lt;br /&gt;qemu-kvm-0.15.1-1-i686                                                                 1829.6K   62.8K/s 00:00:29 [#####################################################################] 100%&lt;br /&gt;(2/2) checking package integrity                                                                                   [#####################################################################] 100%&lt;br /&gt;(2/2) checking for file conflicts                                                                                  [#####################################################################] 100%&lt;br /&gt;....&lt;br /&gt;.....&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Then I add myself to the kvm group like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@ArchLinux_12:26:58_Thu Dec 08:~&gt; sudo /usr/sbin/usermod -G kvm -a bhaskar&lt;br /&gt;&lt;br /&gt;bhaskar@ArchLinux_12:27:12_Thu Dec 08:~&gt; id bhaskar&lt;br /&gt;uid=1000(bhaskar) gid=1000(bhaskar) groups=1000(bhaskar),92(audio),78(kvm)&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Next, I modprobe two kernel module to integrate with the system like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bhaskar@ArchLinux_12:27:58_Thu Dec 08:~&gt; sudo /sbin/modprobe kvm-intel&lt;br /&gt;&lt;br /&gt;bhaskar@ArchLinux_12:28:10_Thu Dec 08:~&gt; sudo /sbin/modprobe kvm&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And the result shows like this :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@ArchLinux_12:28:24_Thu Dec 08:~&gt; sudo /bin/lsmod | grep kvm*&lt;br /&gt;kvm_intel             116373  0&lt;br /&gt;kvm                   294406  1 kvm_intel&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Then,the final step ,oh btw I have the ISO image of CentOS6 already downloaded in my system, so it easy to use...&lt;br /&gt;&lt;br /&gt;So I went ahead like this to boot it from that ISO file by kvm:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@ArchLinux_12:39:04_Thu Dec 08:~&gt; qemu-kvm -enable-kvm -cdrom /home/bhaskar/Downloads/CentOS-6.0-i386-bin-DVD.iso&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And here is how it look like the initial screen:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-esgYtK6RjnY/TuBltzxn3xI/AAAAAAAAAIE/Sy83emPLAI8/s1600/CentOS6-by-kvm.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="180" width="320" src="http://1.bp.blogspot.com/-esgYtK6RjnY/TuBltzxn3xI/AAAAAAAAAIE/Sy83emPLAI8/s320/CentOS6-by-kvm.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;So ,pretty easy..huh..you can pass hell lot of option to that command line of qemu-kvm to fine tune you instances.&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-1546197278983565466?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/1546197278983565466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/12/using-kvm-on-arch-linux-to-install.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/1546197278983565466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/1546197278983565466'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/12/using-kvm-on-arch-linux-to-install.html' title='Using kvm on Arch Linux to install CentOS 6'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-esgYtK6RjnY/TuBltzxn3xI/AAAAAAAAAIE/Sy83emPLAI8/s72-c/CentOS6-by-kvm.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-3764642286915640402</id><published>2011-12-06T15:52:00.000+05:30</published><updated>2011-12-06T15:52:13.029+05:30</updated><title type='text'>How to get over Mutt's saga of "Unknown variables"</title><content type='html'>I have wrote an article about Mutt &lt;a href="http://unixbhaskar.blogspot.com/2010/12/fetch-mail-from-gmail-through-mutt.html"&gt;here&lt;/a&gt; . Now I have changed the system and trying to build it to different system and I am getting this errors:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@GentooLinux_15:01:02_Tue Dec 06:~&gt; mutt                                                                                               &lt;br /&gt;Error in /home/bhaskar/.muttrc, line 12: imap_user: unknown variable                                                                          &lt;br /&gt;Error in /home/bhaskar/.muttrc, line 13: imap_pass: unknown variable                                                                          &lt;br /&gt;Error in /home/bhaskar/.muttrc, line 45: message_cachedir: unknown variable                                                                   &lt;br /&gt;Error in /home/bhaskar/.muttrc, line 58: smtp_url: unknown variable                                                                           &lt;br /&gt;Error in /home/bhaskar/.muttrc, line 59: smtp_pass: unknown variable                                                                          &lt;br /&gt;Error in /home/bhaskar/.muttrc, line 60: too few arguments &lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Pretty ordinary!! huh...no so..I was bemused for sometime then discover that when I pull in Mutt on Gentoo it failed to activate those flags and hence causing problem, here is the evidence of lacking those facilities:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@GentooLinux_15:22:37_Tue Dec 06:~&gt; mutt -v &lt;/b&gt;                                                                                           &lt;br /&gt;Mutt 1.5.21 (2010-09-15, Gentoo 1.5.21-r1)&lt;br /&gt;Copyright (C) 1996-2009 Michael R. Elkins and others.&lt;br /&gt;Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.&lt;br /&gt;Mutt is free software, and you are welcome to redistribute it&lt;br /&gt;under certain conditions; type `mutt -vv' for details.&lt;br /&gt;&lt;br /&gt;System: Linux 3.0.6-gentoo (i686)&lt;br /&gt;ncurses: ncurses 5.9.20110404 (compiled with 5.9)&lt;br /&gt;hcache backend: GDBM version 1.8.3. 10/15/2002 (built Aug  2 2011 22:18:59)&lt;br /&gt;Compile options:&lt;br /&gt;-DOMAIN&lt;br /&gt;-DEBUG&lt;br /&gt;+HOMESPOOL  -USE_SETGID  +USE_DOTLOCK  +DL_STANDALONE  -USE_FCNTL  +USE_FLOCK   &lt;br /&gt;&lt;b&gt;-USE_POP&lt;/b&gt;  -USE_NNTP  &lt;b&gt;-USE_IMAP&lt;/b&gt;  -USE_SMTP  &lt;br /&gt;-USE_SSL_OPENSSL  -USE_SSL_GNUTLS  &lt;b&gt;-USE_SASL&lt;/b&gt;  -USE_GSS  -HAVE_GETADDRINFO  &lt;br /&gt;-HAVE_REGCOMP  +USE_GNU_REGEX  +COMPRESSED  &lt;br /&gt;+HAVE_COLOR  +HAVE_START_COLOR  +HAVE_TYPEAHEAD  +HAVE_BKGDSET  &lt;br /&gt;+HAVE_CURS_SET  +HAVE_META  +HAVE_RESIZETERM  &lt;br /&gt;+CRYPT_BACKEND_CLASSIC_PGP  -CRYPT_BACKEND_CLASSIC_SMIME  -CRYPT_BACKEND_GPGME  &lt;br /&gt;-EXACT_ADDRESS  -SUN_ATTACHMENT  &lt;br /&gt;+ENABLE_NLS  -LOCALES_HACK  +HAVE_WC_FUNCS  +HAVE_LANGINFO_CODESET  +HAVE_LANGINFO_YESEXPR  &lt;br /&gt;+HAVE_ICONV  -ICONV_NONTRANS  -HAVE_LIBIDN  +HAVE_GETSID  +USE_HCACHE  &lt;br /&gt;-ISPELL&lt;br /&gt;SENDMAIL="/usr/sbin/sendmail"&lt;br /&gt;MAILPATH="Maildir"&lt;br /&gt;PKGDATADIR="/usr/share/mutt"&lt;br /&gt;SYSCONFDIR="/etc/mutt"&lt;br /&gt;EXECSHELL="/bin/sh"&lt;br /&gt;MIXMASTER="mixmaster"&lt;br /&gt;To contact the developers, please mail to &lt;mutt-dev@mutt.org&gt;.&lt;br /&gt;To report a bug, please visit http://bugs.mutt.org/.&lt;br /&gt;&lt;br /&gt;dgc.subjrx&lt;br /&gt;fg.smarttime&lt;br /&gt;vvv.initials&lt;br /&gt;vvv.quote&lt;br /&gt;vvv.nntp&lt;br /&gt;patch-1.5.20hg.pdmef.progress.vl.2&lt;br /&gt;rr.compressed&lt;br /&gt;patch-1.5.4.lpr.collapse_flagged Lukas P. Ruf &lt;lukas.ruf@lpr.ch&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The minus(-) prepended variables are not activated..so I need to activate them,which is causing trouble.&lt;br /&gt;&lt;br /&gt;Now I need to reinstall mutt with all those enabled..so here we go :&lt;br /&gt;&lt;br /&gt;First I have to set some use flags in &lt;b&gt;/etc/portage/package.use/mutt.use&lt;/b&gt; file:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;mail-client/mutt imap smtp pop gnutls mbox gpg smime sasl&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And off I go to fetch Mutt one more time with those flags enable:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@GentooLinux_15:35:56_Tue Dec 06:~&gt; sudo emerge -av mutt                                                                               &lt;br /&gt;                                                                                                                                              &lt;br /&gt;These are the packages that would be merged, in order:                                                                                        &lt;br /&gt;                                                                                                                                              &lt;br /&gt;Calculating dependencies... done!                                                                                                             &lt;br /&gt;[ebuild   R    ] mail-client/mutt-1.5.21-r1  USE="berkdb crypt gdbm gnutls* gpg* imap* mbox* nls pop* sasl* smime* smtp* ssl -debug -doc -idn -nntp -qdbm -sidebar -tokyocabinet" 0 kB                                                                                                      &lt;br /&gt;                                                                                                                                              &lt;br /&gt;Total: 1 package (1 reinstall), Size of downloads: 0 kB                                                                                       &lt;br /&gt;                                                                                                                                              &lt;br /&gt;Would you like to merge these packages? [Yes/No] y&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Look at the asterix appended values,which is exactly I did mentioned in the mutt.use file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now I can access Mutt without problem :)&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-3764642286915640402?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/3764642286915640402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/12/how-to-get-over-mutts-saga-of-unknown.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/3764642286915640402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/3764642286915640402'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/12/how-to-get-over-mutts-saga-of-unknown.html' title='How to get over Mutt&apos;s saga of &quot;Unknown variables&quot;'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-1584010960636687409</id><published>2011-10-27T15:48:00.001+05:30</published><updated>2011-10-27T15:51:12.355+05:30</updated><title type='text'>How to update/upgrade Slackware packages from command line</title><content type='html'>Yep that is the case.Basically you need to follow just two steps to do that. I am going to show you that.I am doing it on Slackware 13.37 version.But the basic remain the same.So here we go:&lt;br /&gt;&lt;br /&gt;First and foremost update the existing one; if any pending issue are there ,then it will get resolve.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;root@Slackware:~# slackpkg update &lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;It will pop up a TUI and ask for package updation,need to select and press ok.Once that operation done.Go to the next step by doing so..&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;root@Slackware:~# slackpkg upgrade patches&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;At the end of this operation it will ask you like this :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;Searching for NEW configuration files&lt;br /&gt;&lt;br /&gt;Some packages had new configuration files installed.&lt;br /&gt;You have four choices:&lt;br /&gt;&lt;br /&gt;(K)eep the old files and consider .new files later&lt;br /&gt;&lt;br /&gt;(O)verwrite all old files with the new ones. The&lt;br /&gt;old files will be stored with the suffix .orig&lt;br /&gt;&lt;br /&gt;(R)emove all .new files&lt;br /&gt;&lt;br /&gt;(P)rompt K, O, R selection for every single file&lt;br /&gt;&lt;br /&gt;What do you want (K/O/R/P)?&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now it's your call to take,whether you want to do it by hand or the package manager do it for you. I had little to do this specific upgrade so I went for interactive way; like this :&lt;br /&gt;&lt;br /&gt;&lt;coce&gt;&lt;br /&gt;&lt;b&gt;Select what you want file-by-file&lt;br /&gt;&lt;br /&gt;/etc/uniconf.conf.new - (K)eep&lt;br /&gt;(O)verwrite&lt;br /&gt;(R)emove&lt;br /&gt;(D)iff&lt;br /&gt;(M)erge&lt;br /&gt;o&lt;br /&gt;&lt;br /&gt;/etc/httpd/httpd.conf.new - (K)eep&lt;br /&gt;(O)verwrite&lt;br /&gt;(R)emove&lt;br /&gt;(D)iff&lt;br /&gt;(M)erge&lt;br /&gt;0 -------------------&gt; my selection&lt;br /&gt;&lt;br /&gt;/etc/gconf/2/path.new - (K)eep&lt;br /&gt;(O)verwrite&lt;br /&gt;(R)emove&lt;br /&gt;(D)iff&lt;br /&gt;(M)erge&lt;br /&gt;o -----------------------&gt; my selection&lt;br /&gt;&lt;br /&gt;/etc/gconf/2/evoldap.conf.new - (K)eep&lt;br /&gt;(O)verwrite&lt;br /&gt;(R)emove&lt;br /&gt;(D)iff&lt;br /&gt;(M)erge&lt;br /&gt;o ------------------&gt; my selection&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;But for huge upgrade, you should fall back to package manager to do the job for you.Or you are curious(you should be!) then do it by hand, and it will take some amount of time.&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-1584010960636687409?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/1584010960636687409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/10/how-to-updateupgrade-slackware-packages.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/1584010960636687409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/1584010960636687409'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/10/how-to-updateupgrade-slackware-packages.html' title='How to update/upgrade Slackware packages from command line'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-855125507637178934</id><published>2011-10-17T12:23:00.001+05:30</published><updated>2011-10-17T12:27:39.431+05:30</updated><title type='text'>Running google-chrome browser on Scientific Linux</title><content type='html'>You feel the title looks ordinary..yes it is and it;s my lack of observation caused this hindrance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The problem: As far as I am concerned SL not come with google-repository with it. So I went ahead and installed it like most of the RH system do.Yep, SL is a clone of RH system.&lt;br /&gt;&lt;br /&gt;The repo looks like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@Scientific-Linux_11:22:47_Mon Oct 17:~&gt; &lt;b&gt;sudo cat /etc/yum.repos.d/google.repo&lt;/b&gt; &lt;br /&gt;[sudo] password for bhaskar: &lt;br /&gt;[google]&lt;br /&gt;name=Google - i386&lt;br /&gt;baseurl=http://dl.google.com/linux/rpm/stable/i386&lt;br /&gt;enabled=1&lt;br /&gt;gpgcheck=0&lt;br /&gt;gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@Scientific-Linux_12:06:07_Mon Oct 17:~&gt; &lt;b&gt;sudo cat /etc/yum.repos.d/google-chrome.repo&lt;/b&gt; &lt;br /&gt;[google-chrome]&lt;br /&gt;name=google-chrome&lt;br /&gt;baseurl=http://dl.google.com/linux/chrome/rpm/stable/i386&lt;br /&gt;enabled=1&lt;br /&gt;gpgcheck=1 &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Then as usual do the following to install it:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@Scientific-Linux_12:06:33_Mon Oct 17:~&gt; &lt;b&gt;sudo yum install google-chrome-stable&lt;/b&gt;&lt;br /&gt;Loaded plugins: refresh-packagekit&lt;br /&gt;Setting up Install Process&lt;br /&gt;Package google-chrome-stable-14.0.835.202-103287.i386 already installed and latest version&lt;br /&gt;Nothing to do&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So what's the big deal???&lt;br /&gt;&lt;br /&gt;If I clicked my google-chrome icon on panel and menu it won't respond!!! irk..So the as usual get into the terminal and paved into the google-chrome dir..and try to fire from the terminal gave me some library not recognizing error..which I resolve by this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;sudo yum install zlib-devel jzlib&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now ,still it's not opening up!! why? After bit of search(and my lack of interest to digg it in the system,which is bad) reveal that in this thread that it is a SELinux ,which prohibiting it from running. You can find the  thread here: &lt;b&gt;http://code.google.com/p/chromium/issues/detail?id=87704&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Okay, then the obvious next step it correct the SELinux tag for google-sandbox,as mentioned in the thread...&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@Scientific-Linux_12:17:22_Mon Oct 17:~&gt; &lt;b&gt;sudo chcon -t usr_t /opt/google/chrome/chrome-sandbox&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Voila! it is working fine now..what a real laziness can do..very bad of me ahh&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-J7bx9OBTxlg/TpvQU3R1pvI/AAAAAAAAAHc/7pRqYAlqr04/s1600/google-chromeonSL.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="180" width="320" src="http://2.bp.blogspot.com/-J7bx9OBTxlg/TpvQU3R1pvI/AAAAAAAAAHc/7pRqYAlqr04/s320/google-chromeonSL.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-855125507637178934?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/855125507637178934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/10/running-google-chrome-browser-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/855125507637178934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/855125507637178934'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/10/running-google-chrome-browser-on.html' title='Running google-chrome browser on Scientific Linux'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-J7bx9OBTxlg/TpvQU3R1pvI/AAAAAAAAAHc/7pRqYAlqr04/s72-c/google-chromeonSL.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-7726030445701935899</id><published>2011-08-20T10:04:00.000+05:30</published><updated>2011-08-20T10:04:45.874+05:30</updated><title type='text'>How to make USB modem work on Arch Linux</title><content type='html'>I think this topic is an uncanny one..YMMV. Anyway I have done it hundred times before and thought to share it with people.Plug in the USB modem and think it just work in GNU/Linux laptop is not the case(tell me the exception if you have come across one!!).&lt;br /&gt;&lt;br /&gt;It basically require few thing to be checked out in the box,which are mandatory for the USB modem to work..which are:&lt;br /&gt;&lt;br /&gt;1) You need to figure out whether &lt;b&gt;usbserial&lt;/b&gt; driver is loaded into the system or not.But how do you detect that?(kidding!! I know all of you know that). Still give away the steps to do that:&lt;br /&gt;&lt;br /&gt;A) at the terminal,please type the following:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;sudo /sbin/lsmod |grep usbserial&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and you should get a response like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_09:47:44_Sat Aug 20:~&gt; sudo /bin/lsmod | grep usbserial&lt;br /&gt;&lt;b&gt;usbserial              26639  4 &lt;br /&gt;usbcore               119644  9 uas,ums_realtek,usb_storage,uvcvideo,btusb,usbserial,xhci_hcd,ehci_hcd&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now if you don't get a response from that command,that means kernel haven't load the driver to detect the USB thing.So you need to do the following:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;sudo /sbin/modprobe usbserial&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;It basically get that driver initialize into the system to work with it.So the story is not end here..read on..&lt;br /&gt;&lt;br /&gt;Step number 2:&lt;br /&gt;&lt;br /&gt;It is essentially driven by the &lt;b&gt;UDEV &lt;/b&gt;thing..so until you make the UDEV aware of it..it will still hinder you from using it.&lt;br /&gt;&lt;br /&gt;So how do you do that? &lt;br /&gt;&lt;br /&gt;Now you need to go to the directory called &lt;b&gt;/etc/udev/rules.d&lt;/b&gt;..it should be there already and you need to add a udev rule file to in this dir like below:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;ACTION!="add", GOTO="ZTE_End"&lt;br /&gt;&lt;br /&gt;# Is this the ZeroCD device?&lt;br /&gt;SUBSYSTEM=="usb", SYSFS{idProduct}=="2000",&lt;br /&gt;SYSFS{idVendor}=="191g, GOTO="ZTE_ZeroCD"&lt;br /&gt;&lt;br /&gt;# Is this the actual modem?&lt;br /&gt;SUBSYSTEM=="usb", SYSFS{idProduct}=="0001",&lt;br /&gt;SYSFS{idVendor}=="191g", GOTO="ZTE_Modem"&lt;br /&gt;&lt;br /&gt;LABEL="ZTE_ZeroCD"&lt;br /&gt;# This is the ZeroCD part of the card, remove&lt;br /&gt;# the usb_storage kernel module so&lt;br /&gt;# it does not get treated like a storage device&lt;br /&gt;#RUN+="/sbin/rmmod usb_storage"&lt;br /&gt;&lt;br /&gt;LABEL="ZTE_Modem"&lt;br /&gt;# This is the Modem part of the card, let's&lt;br /&gt;# load usbserial with the correct vendor&lt;br /&gt;# and product ID's so we get our usb serial devices&lt;br /&gt;RUN+="/sbin/modprobe usbserial vendor=0x191g product=0xffff",&lt;br /&gt;# Make users belonging to the dialout group&lt;br /&gt;# able to use the usb serial devices.&lt;br /&gt;MODE="660", GROUP="dialout"&lt;br /&gt;&lt;br /&gt;LABEL="ZTE_End"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;I think the file is almost self explain itself.Now you need to restart the network one more time and put in your USB modem into the usb socket.&lt;br /&gt;&lt;br /&gt;Then fire the command at the terminal..I am assuming you have&lt;b&gt; wvdial&lt;/b&gt; installed in the system..&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;sudo wvdial providername&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;The USBmodem should able to ring back to the ISP; that you have already configured and provide you dynamic ip and dns names..voila!!!&lt;br /&gt;&lt;br /&gt;You are connected to the internet through the wireless modem on GNU/Linux.To automate the thing in my laptop I have wrote a very very ordinary and mundane script to invoke from command line to get connected to the internet.The script look like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;if [[ "$UID" = "0" ]]&lt;br /&gt;&lt;br /&gt;then&lt;br /&gt;&lt;br /&gt;   echo " You have the super power to invoke this sript"&lt;br /&gt;else&lt;br /&gt;   echo "Sorry, you don't have the power to run this script"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo&lt;br /&gt;echo&lt;br /&gt;echo " Let's check whether the usb modem is connected to system or not"&lt;br /&gt;echo&lt;br /&gt;echo&lt;br /&gt;&lt;br /&gt;/usr/sbin/lsusb | gawk -F: ' { print $2"===&gt;"$3 }'&lt;br /&gt;&lt;br /&gt;echo&lt;br /&gt;echo&lt;br /&gt;&lt;br /&gt;echo "probing the usb modem...loading driver too....."&lt;br /&gt;&lt;br /&gt;/sbin/modprobe usbserial vendor=0x191g product=0xffff&lt;br /&gt;&lt;br /&gt;echo&lt;br /&gt;echo&lt;br /&gt;&lt;br /&gt;echo "Connecting to ISP...."&lt;br /&gt;echo&lt;br /&gt;echo&lt;br /&gt;&lt;br /&gt;/usr/bin/wvdial ProvidernameISP &amp;&gt;/var/log/wvdial&amp;&lt;br /&gt;&lt;br /&gt;echo&lt;br /&gt;echo&lt;br /&gt;&lt;br /&gt;sleep 5&lt;br /&gt;&lt;br /&gt;echo "PID of of the WvDial..."&lt;br /&gt;&lt;br /&gt;ps -ef | grep wvdial&lt;br /&gt;&lt;br /&gt;echo&lt;br /&gt;echo&lt;br /&gt;&lt;br /&gt;sleep 3&lt;br /&gt;echo&lt;br /&gt;echo&lt;br /&gt;echo "Checking the connection...."&lt;br /&gt;&lt;br /&gt;/bin/ping -c 3 google.com&lt;br /&gt;&lt;br /&gt;echo&lt;br /&gt;echo&lt;br /&gt;&lt;br /&gt;echo " Looking for live stat....."&lt;br /&gt;echo&lt;br /&gt;echo&lt;br /&gt;&lt;br /&gt;/usr/bin/vnstat -i ppp0 -l&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;O yeah, I have written some information about &lt;b&gt;vnstat&lt;/b&gt; in some other blog.It is a nice utility to measure net bandwidth.&lt;br /&gt; &lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-7726030445701935899?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/7726030445701935899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/08/how-to-make-usb-modem-work-on-arch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/7726030445701935899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/7726030445701935899'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/08/how-to-make-usb-modem-work-on-arch.html' title='How to make USB modem work on Arch Linux'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-429116399228188691</id><published>2011-07-04T15:44:00.002+05:30</published><updated>2011-07-04T15:51:03.612+05:30</updated><title type='text'>Running Funtoo,SUSE and Slackware through OpenVZ on Fedora 15</title><content type='html'>In this article I will show you how to run different distros within virtual container.Actually the problem is my machine processor doesn't support virtualization..irk!!! so apart from running different GNU/Linux distros in different physical partitions from several years, now the the time has come to run it seperate space within same OS.&lt;br /&gt;&lt;br /&gt;So here we go...first thing first..we need a technology to enable that..and that technology is called&lt;a href=" http://openvz.org/"&gt; OpenVZ&lt;/a&gt; . Right? Now I have recently stumble over an article published &lt;a href="http://www.howtoforge.com/installing-and-using-openvz-on-fedora-15"&gt;here&lt;/a&gt; and followed those instruction to make it possible for me.&lt;br /&gt;&lt;br /&gt;I am running this experiment on Fedora 15 .&lt;br /&gt;&lt;br /&gt;Step 1;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Get OpenVZ repo into your machine&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_12:55:46_Mon Jul 04:/etc/yum.repos.d&gt; sudo wget http://download.openvz.org/openvz.repo&lt;br /&gt;[sudo] password for bhaskar: &lt;br /&gt;--2011-07-04 12:56:05--  http://download.openvz.org/openvz.repo&lt;br /&gt;Resolving download.openvz.org... 64.131.90.11&lt;br /&gt;Connecting to download.openvz.org|64.131.90.11|:80... connected.&lt;br /&gt;HTTP request sent, awaiting response... 200 OK&lt;br /&gt;Length: 3841 (3.8K) [text/plain]&lt;br /&gt;Saving to: “openvz.repo”&lt;br /&gt;&lt;br /&gt;100%[===================================================================================================================&gt;] 3,841       --.-K/s   in 0.007s  &lt;br /&gt;&lt;br /&gt;2011-07-04 12:56:21 (503 KB/s) - “openvz.repo” saved [3841/3841]&lt;br /&gt;&lt;br /&gt;Step 2:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Get the key for it&lt;/b&gt;:&lt;br /&gt;bhaskar@bhaskar-laptop_12:56:21_Mon Jul 04:/etc/yum.repos.d&gt; sudo rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ&lt;br /&gt;&lt;br /&gt;Step 3:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Search for the specific kernel related to OpenVZ&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_13:01:59_Mon Jul 04:/etc/yum.repos.d&gt; sudo yum search vzkernel&lt;br /&gt;Loaded plugins: langpacks, presto, refresh-packagekit&lt;br /&gt;google                                                                                                                                |  951 B     00:00     &lt;br /&gt;google-chrome                                                                                                                         |  951 B     00:00     &lt;br /&gt;http://mirror.switch.ch/ftp/mirror/rpmfusion/free/fedora/development/source/SRPMS/repodata/repomd.xml: [Errno 14] curl#6 - "Couldn't resolve host"&lt;br /&gt;Trying other mirror.&lt;br /&gt;rpmfusion-free-rawhide-source                                                                                                         | 2.7 kB     00:00     &lt;br /&gt;rpmfusion-free-rawhide-source/primary_db                                                                                              |  79 kB     00:04     &lt;br /&gt;rpmfusion-free-updates                                                                                                                | 2.7 kB     00:00     &lt;br /&gt;updates/metalink                                                                                                                      | 7.4 kB     00:00     &lt;br /&gt;updates                                                                                                                               | 4.7 kB     00:00     &lt;br /&gt;updates/primary_db                                                                                                                    | 2.1 MB     00:20     &lt;br /&gt;openvz-kernel-rhel6                                                                                                                                    12/12&lt;br /&gt;updates/pkgtags                                                                                                                       |  31 kB     00:00     &lt;br /&gt;=================================================================== N/S Matched: vzkernel ===================================================================&lt;br /&gt;vzkernel.i686 : The Linux kernel&lt;br /&gt;vzkernel-debug.i686 : The Linux kernel compiled with extra debugging enabled&lt;br /&gt;vzkernel-debug-devel.i686 : Development package for building kernel modules to match the debug kernel&lt;br /&gt;vzkernel-devel.i686 : Development package for building kernel modules to match the kernel&lt;br /&gt;vzkernel-firmware.noarch : Firmware files used by the Linux kernel&lt;br /&gt;vzkernel-headers.i686 : Header files for the Linux kernel for use by glibc&lt;br /&gt;&lt;br /&gt;Name and summary matches only, use "search all" for everything.&lt;br /&gt;&lt;br /&gt;Step 4:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Install the Kernel&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_13:04:24_Mon Jul 04:/etc/yum.repos.d&gt; sudo yum install vzkernel.i686&lt;br /&gt;[sudo] password for bhaskar: &lt;br /&gt;Loaded plugins: langpacks, presto, refresh-packagekit&lt;br /&gt;Setting up Install Process&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package vzkernel.i686 0:2.6.32-042stab018.1 will be installed&lt;br /&gt;--&gt; Processing Dependency: virtual-vzkernel-install &gt;= 2.0.0 for package: vzkernel-2.6.32-042stab018.1.i686&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package vzctl.i386 0:3.0.28.3-1 will be installed&lt;br /&gt;--&gt; Processing Dependency: vzctl-lib = 3.0.28.3-1 for package: vzctl-3.0.28.3-1.i386&lt;br /&gt;--&gt; Processing Dependency: vzquota &gt;= 2.7.0-4 for package: vzctl-3.0.28.3-1.i386&lt;br /&gt;--&gt; Processing Dependency: libvzctl-0.0.3.so for package: vzctl-3.0.28.3-1.i386&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package vzctl-lib.i386 0:3.0.28.3-1 will be installed&lt;br /&gt;---&gt; Package vzquota.i386 0:3.0.12-1 will be installed&lt;br /&gt;--&gt; Finished Dependency Resolution&lt;br /&gt;&lt;br /&gt;Dependencies Resolved&lt;br /&gt;&lt;br /&gt;=============================================================================================================================================================&lt;br /&gt;Package                          Arch                        Version                                       Repository                                  Size&lt;br /&gt;=============================================================================================================================================================&lt;br /&gt;Installing:&lt;br /&gt;vzkernel                         i686                        2.6.32-042stab018.1                           openvz-kernel-rhel6                         23 M&lt;br /&gt;Installing for dependencies:&lt;br /&gt;vzctl                            i386                        3.0.28.3-1                                    openvz-utils                               162 k&lt;br /&gt;vzctl-lib                        i386                        3.0.28.3-1                                    openvz-utils                               186 k&lt;br /&gt;vzquota                          i386                        3.0.12-1                                      openvz-utils                                82 k&lt;br /&gt;&lt;br /&gt;Transaction Summary&lt;br /&gt;=============================================================================================================================================================&lt;br /&gt;Install       4 Package(s)&lt;br /&gt;&lt;br /&gt;Total download size: 23 M&lt;br /&gt;Installed size: 83 M&lt;br /&gt;Is this ok [y/N]: &lt;br /&gt;Downloading Packages:&lt;br /&gt;Setting up and reading Presto delta metadata&lt;br /&gt;Processing delta metadata&lt;br /&gt;Package(s) data still to download: 23 M&lt;br /&gt;(1/4): vzctl-3.0.28.3-1.i386.rpm                                                                                                      | 162 kB     00:01     &lt;br /&gt;(2/4): vzctl-lib-3.0.28.3-1.i386.rpm                                                                                                  | 186 kB     00:01     &lt;br /&gt;(3/4): vzkernel-2.6.32-042stab018.1.i686.rpm                                                                                          |  23 MB     00:58     &lt;br /&gt;(4/4): vzquota-3.0.12-1.i386.rpm                                                                                                      |  82 kB     00:01     &lt;br /&gt;-------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;Total                                                                                                                        367 kB/s |  23 MB     01:05     &lt;br /&gt;Running rpm_check_debug&lt;br /&gt;Running Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;Installing : vzctl-lib-3.0.28.3-1.i386                                                                                                                 1/4 &lt;br /&gt;Installing : vzquota-3.0.12-1.i386                                                                                                                     2/4 &lt;br /&gt;Installing : vzctl-3.0.28.3-1.i386                                                                                                                     3/4 &lt;br /&gt;Installing : vzkernel-2.6.32-042stab018.1.i686                                                                                                         4/4 &lt;br /&gt;&lt;br /&gt;Installed:&lt;br /&gt;vzkernel.i686 0:2.6.32-042stab018.1                                                                                                                        &lt;br /&gt;&lt;br /&gt;Dependency Installed:&lt;br /&gt;vzctl.i386 0:3.0.28.3-1                           vzctl-lib.i386 0:3.0.28.3-1                           vzquota.i386 0:3.0.12-1                          &lt;br /&gt;&lt;br /&gt;Complete!&lt;br /&gt;&lt;br /&gt;Step 6:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Grub entr&lt;/b&gt;y:&lt;br /&gt;&lt;br /&gt;title OpenVZ-2.6.32-042stab018.1&lt;br /&gt;root (hd0,5)&lt;br /&gt;kernel /vmlinuz-2.6.32-042stab018.1 ro root=UUID=a2298586-fab5-42a5-a84e-276f9565fb37 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us&lt;br /&gt;initrd /initramfs-2.6.32-042stab018.1.img&lt;br /&gt;&lt;br /&gt;Step 7:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Installing some openvz tools&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_13:44:13_Mon Jul 04:~&gt; sudo yum install vzctl vzquota&lt;br /&gt;[sudo] password for bhaskar: &lt;br /&gt;Loaded plugins: langpacks, presto, refresh-packagekit&lt;br /&gt;Setting up Install Process&lt;br /&gt;Package vzctl-3.0.28.3-1.i386 already installed and latest version&lt;br /&gt;Package vzquota-3.0.12-1.i386 already installed and latest version&lt;br /&gt;Nothing to do&lt;br /&gt;&lt;br /&gt;It is saying so because I have already installed those.&lt;br /&gt;&lt;br /&gt;Step 8:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Need to change some kernel paramete&lt;/b&gt;r:&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_13:47:37_Mon Jul 04:~&gt; sudo sysctl -p&lt;br /&gt;net.ipv4.ip_forward = 1&lt;br /&gt;net.ipv4.conf.default.rp_filter = 1&lt;br /&gt;net.ipv4.conf.default.accept_source_route = 0&lt;br /&gt;kernel.sysrq = 0&lt;br /&gt;kernel.core_uses_pid = 1&lt;br /&gt;net.ipv4.conf.default.proxy_arp = 0&lt;br /&gt;net.ipv4.conf.all.rp_filter = 1&lt;br /&gt;kernel.sysrq = 1&lt;br /&gt;net.ipv4.conf.default.send_redirects = 1&lt;br /&gt;net.ipv4.conf.all.send_redirects = 0&lt;br /&gt;net.ipv4.icmp_echo_ignore_broadcasts = 1&lt;br /&gt;net.ipv4.conf.default.forwarding = 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 9:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Change some variable in vz.conf&lt;/b&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;vi /etc/vz/vz.conf&lt;br /&gt;&lt;br /&gt;and put in&lt;br /&gt;&lt;br /&gt;NEIGHBOUR_DEVS=all&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Step 10:&lt;br /&gt;&lt;br /&gt;Here is the file , where you can disable selinux&lt;br /&gt;&lt;br /&gt;selinux disable&lt;br /&gt;/etc/sysconfig/selinux&lt;br /&gt;&lt;br /&gt;Step 11:&lt;br /&gt;&lt;br /&gt;I am putting different ostemplate I have downloaded from &lt;a href="http://wiki.openvz.org/Download/template/precreated"&gt;here&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;And here it looks like :&lt;br /&gt;&lt;br /&gt;cd /vz/template/cache/&lt;br /&gt;&lt;br /&gt;the place to put different os template&lt;br /&gt;&lt;br /&gt;I putting there funtoo,suse,slackware there&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_13:52:31_Mon Jul 04:/lvm&gt; sudo mv -v suse-11.4-x86.tar.gz /vz/template/cache/&lt;br /&gt;`suse-11.4-x86.tar.gz' -&gt; `/vz/template/cache/suse-11.4-x86.tar.gz'&lt;br /&gt;removed `suse-11.4-x86.tar.gz'&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_13:53:06_Mon Jul 04:/lvm&gt; sudo mv -v slackware-13.37-i486-minimal.tar.gz /vz/template/cache/&lt;br /&gt;`slackware-13.37-i486-minimal.tar.gz' -&gt; `/vz/template/cache/slackware-13.37-i486-minimal.tar.gz'&lt;br /&gt;removed `slackware-13.37-i486-minimal.tar.gz'&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_13:53:30_Mon Jul 04:/lvm&gt; sudo mv -v funtoo-openvz-i686-funtoo-current-2011-05-26.tar.xz /vz/template/c &lt;br /&gt;`funtoo-openvz-i686-funtoo-current-2011-05-26.tar.xz' -&gt; `/vz/template/cache/funtoo-openvz-i686-funtoo-current-2011-05-26.tar.xz'&lt;br /&gt;removed `funtoo-openvz-i686-funtoo-current-2011-05-26.tar.xz'&lt;br /&gt;&lt;br /&gt;DO NOT UNTAR those files ever.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 12:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;VPS implementation for SUSE: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_14:05:59_Mon Jul 04:~&gt; sudo vzctl create 101 --ostemplate suse-11.4-x86 --config basic&lt;br /&gt;[sudo] password for bhaskar: &lt;br /&gt;Creating container private area (suse-11.4-x86)&lt;br /&gt;Performing postcreate actions&lt;br /&gt;Saved parameters for CT 101&lt;br /&gt;Container private area was created&lt;br /&gt;&lt;br /&gt;Step 13:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Run at boot&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_14:08:54_Mon Jul 04:~&gt; sudo vzctl set 101 --onboot yes --save&lt;br /&gt;Saved parameters for CT 101&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 14:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;fix a hostname&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_14:10:01_Mon Jul 04:~&gt; sudo vzctl set 101 --hostname SUSE --save&lt;br /&gt;Saved parameters for CT 101&lt;br /&gt;&lt;br /&gt;Step 15:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;saving ip address&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_14:11:57_Mon Jul 04:~&gt; sudo vzctl set 101 --ipadd 127.0.0.2 --save&lt;br /&gt;Saved parameters for CT 101&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 16:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;save some socks&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_14:13:32_Mon Jul 04:~&gt; sudo vzctl set 101 --numothersock 120 --save&lt;br /&gt;Saved parameters for CT 101&lt;br /&gt;&lt;br /&gt;Step 17:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Save Nameserver&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;vzctl set 101 --nameserver 8.8.8.8 --nameserver 8.8.4.4 --nameserver 145.253.2.75 --save&lt;br /&gt;&lt;br /&gt;Step 18:&lt;br /&gt;&lt;b&gt;vz start and set root password&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_14:15:26_Mon Jul 04:~&gt; sudo vzctl start 101&lt;br /&gt;Starting container ...&lt;br /&gt;Container is mounted&lt;br /&gt;Adding IP address(es): 127.0.0.2 192.168.2.167&lt;br /&gt;Setting CPU units: 1000&lt;br /&gt;Set hostname: SUSE&lt;br /&gt;File resolv.conf was modified&lt;br /&gt;Container start in progress...&lt;br /&gt;bhaskar@bhaskar-laptop_14:16:19_Mon Jul 04:~&gt; sudo vzctl exec 101 passwd&lt;br /&gt;New Password: &lt;br /&gt;Bad password: too short&lt;br /&gt;Reenter New Password: suse&lt;br /&gt;Changing password for root.&lt;br /&gt;Password changed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 19:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Enter into one the vz..ie. suse&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_14:18:00_Mon Jul 04:~&gt; sudo vzctl enter 101&lt;br /&gt;entered into CT 101&lt;br /&gt;SUSE:/ # &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 20:&lt;br /&gt;&lt;b&gt;Slackware snapshot&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_14:31:54_Mon Jul 04:~&gt; sudo vzctl enter 102&lt;br /&gt;entered into CT 102&lt;br /&gt;root@Slackware13:/# uname -a&lt;br /&gt;Linux Slackware13 2.6.32-042stab018.1 #1 SMP Fri Jun 10 20:04:40 MSD 2011 i686 Intel(R) Core(TM)2 Duo CPU     T5450  @ 1.66GHz GenuineIntel GNU/Linux&lt;br /&gt;root@Slackware13:/# ls&lt;br /&gt;bin/  boot/  dev/  etc/  fastboot  home/  lib/  media/  mnt/  opt/  proc/  root/  sbin/  srv/  sys/  tmp/  usr/  var/&lt;br /&gt;&lt;br /&gt;Step 21:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inside Funtoo!!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_14:41:38_Mon Jul 04:~&gt; sudo vzctl start 103&lt;br /&gt;Starting container ...&lt;br /&gt;Container is mounted&lt;br /&gt;Adding IP address(es): 192.168.2.118&lt;br /&gt;Setting CPU units: 1000&lt;br /&gt;Set hostname: Funtoo&lt;br /&gt;File resolv.conf was modified&lt;br /&gt;Container start in progress...&lt;br /&gt;bhaskar@bhaskar-laptop_14:41:52_Mon Jul 04:~&gt; sudo vzctl enter 103&lt;br /&gt;entered into CT 103&lt;br /&gt;Funtoo / # ls&lt;br /&gt;bin  boot  dev  etc  fastboot  home  lib  libexec  mnt  opt  proc  root  sbin  sys  tmp  usr  var&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 22:&lt;br /&gt;&lt;br /&gt;Here is the vz list:&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_14:42:49_Mon Jul 04:~&gt; &lt;b&gt;sudo vzlist -a&lt;br /&gt;CTID      NPROC STATUS    IP_ADDR         HOSTNAME&lt;br /&gt;101         16 running   192.168.2.167   SUSE&lt;br /&gt;102          4 running   192.168.2.117   Slackware13&lt;br /&gt;103          2 running   192.168.2.118   Funtoo&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-429116399228188691?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/429116399228188691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/07/running-funtoosuse-and-slackware.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/429116399228188691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/429116399228188691'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/07/running-funtoosuse-and-slackware.html' title='Running Funtoo,SUSE and Slackware through OpenVZ on Fedora 15'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-1928867414250922175</id><published>2011-05-10T12:04:00.000+05:30</published><updated>2011-05-10T12:04:35.689+05:30</updated><title type='text'>Cacti implementation on CentOS AMI</title><content type='html'>In this article I will show you some graphing solution through &lt;a href="http://oss.oetiker.ch/rrdtool/"&gt;RRD tool&lt;/a&gt; along with &lt;a href="http://cacti.net"&gt;Cacti&lt;/a&gt;.I can tell you it require lot of work to get thing going with Cacti for graphing.&lt;br /&gt;&lt;br /&gt;So here we go:&lt;br /&gt;&lt;br /&gt;For cacti installation on RHEL or CentOS we need below package to be installed in the system:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;httpd&lt;br /&gt;php&lt;br /&gt;php-mysql&lt;br /&gt;php-snmp&lt;br /&gt;php-ldap (when using LDAP authentication)&lt;br /&gt;php-xml&lt;br /&gt;mysql&lt;br /&gt;mysql-server&lt;br /&gt;net-snmp (depending on the distro, net-snmp-utils may be required)&lt;/b&gt;&lt;br /&gt;&lt;/code&gt; &lt;br /&gt;Step 1:&lt;br /&gt;&lt;br /&gt;Fetch cacti from cacti.net&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ wget -c http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz&lt;br /&gt;-2011-04-29 02:18:20-  http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz&lt;br /&gt;Resolving www.cacti.net... 140.211.167.231, 173.225.179.10, 209.242.232.5&lt;br /&gt;Connecting to www.cacti.net... connected.&lt;br /&gt;HTTP request sent, awaiting response... 200 OK&lt;br /&gt;Length: 2236916 (2.1M) [application/x-gzip]&lt;br /&gt;Saving to: `cacti-0.8.7g.tar.gz'&lt;br /&gt;&lt;br /&gt;100%[===================================================================================&gt;] 2,236,916   1.34M/s   in 1.6s&lt;br /&gt;&lt;br /&gt;2011-04-29 02:18:22 (1.34 MB/s) - `cacti-0.8.7g.tar.gz' saved [2236916/2236916]&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 2:&lt;br /&gt;&lt;br /&gt;Get the required software in the box:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ sudo yum install httpd php php-mysql php-snmp php-xml mysql mysql-server net-snmp&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;addons                                                                                                |  951 B     00:00&lt;br /&gt;base                                                                                                  | 2.1 kB     00:00&lt;br /&gt;centosplus                                                                                            | 1.9 kB     00:00&lt;br /&gt;epel                                                                                                  | 3.7 kB     00:00&lt;br /&gt;epel/primary_db                                                                                       | 3.7 MB     00:00&lt;br /&gt;extras                                                                                                | 2.1 kB     00:00&lt;br /&gt;rightscale-epel                                                                                       |  951 B     00:00&lt;br /&gt;rightscale-epel/primary                                                                               |  34 kB     00:00&lt;br /&gt;rightscale-epel                                                                                                      118/118&lt;br /&gt;updates                                                                                               | 1.9 kB     00:00&lt;br /&gt;Setting up Install Process&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package httpd.x86_64 0:2.2.3-31.el5.centos.4 set to be updated&lt;br /&gt;addons/filelists                                                                                      |  196 B     00:00&lt;br /&gt;base/filelists_db                                                                                     | 3.9 MB     00:00&lt;br /&gt;centosplus/filelists_db                                                                               | 2.2 MB     00:00&lt;br /&gt;epel/filelists_db                                                                                     | 5.2 MB     00:00&lt;br /&gt;extras/filelists_db                                                                                   | 212 kB     00:00&lt;br /&gt;rightscale-epel/filelists                                                                             |  36 kB     00:00&lt;br /&gt;updates/filelists_db                                                                                  | 2.9 MB     00:00&lt;br /&gt;---&gt; Package mysql.i386 0:5.0.77-4.el5_4.2 set to be updated&lt;br /&gt;--&gt; Processing Dependency: perl(DBI) for package: mysql&lt;br /&gt;---&gt; Package mysql.x86_64 0:5.0.77-4.el5_4.2 set to be updated&lt;br /&gt;---&gt; Package mysql-server.x86_64 0:5.0.77-4.el5_4.2 set to be updated&lt;br /&gt;--&gt; Processing Dependency: perl-DBD-MySQL for package: mysql-server&lt;br /&gt;---&gt; Package net-snmp.x86_64 1:5.3.2.2-7.el5_4.2 set to be updated&lt;br /&gt;--&gt; Processing Dependency: net-snmp-libs = 1:5.3.2.2-7.el5_4.2 for package: net-snmp&lt;br /&gt;--&gt; Processing Dependency: libnetsnmpmibs.so.10()(64bit) for package: net-snmp&lt;br /&gt;--&gt; Processing Dependency: libnetsnmptrapd.so.10()(64bit) for package: net-snmp&lt;br /&gt;--&gt; Processing Dependency: libnetsnmpagent.so.10()(64bit) for package: net-snmp&lt;br /&gt;--&gt; Processing Dependency: libnetsnmp.so.10()(64bit) for package: net-snmp&lt;br /&gt;--&gt; Processing Dependency: libsensors.so.3()(64bit) for package: net-snmp&lt;br /&gt;--&gt; Processing Dependency: libnetsnmphelpers.so.10()(64bit) for package: net-snmp&lt;br /&gt;---&gt; Package php.x86_64 0:5.2.4-RightScale set to be updated&lt;br /&gt;--&gt; Processing Dependency: php-cli = 5.2.4-RightScale for package: php&lt;br /&gt;--&gt; Processing Dependency: php-common = 5.2.4-RightScale for package: php&lt;br /&gt;---&gt; Package php-mysql.x86_64 0:5.2.4-RightScale set to be updated&lt;br /&gt;--&gt; Processing Dependency: php-pdo for package: php-mysql&lt;br /&gt;---&gt; Package php-snmp.x86_64 0:5.2.4-RightScale set to be updated&lt;br /&gt;---&gt; Package php-xml.x86_64 0:5.2.4-RightScale set to be updated&lt;br /&gt;--&gt; Processing Dependency: libexslt.so.0()(64bit) for package: php-xml&lt;br /&gt;--&gt; Processing Dependency: libxslt.so.1()(64bit) for package: php-xml&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package libxslt.x86_64 0:1.1.17-2.el5_2.2 set to be updated&lt;br /&gt;---&gt; Package lm_sensors.x86_64 0:2.10.7-4.el5 set to be updated&lt;br /&gt;---&gt; Package net-snmp-libs.x86_64 1:5.3.2.2-7.el5_4.2 set to be updated&lt;br /&gt;---&gt; Package perl-DBD-MySQL.x86_64 0:3.0007-2.el5 set to be updated&lt;br /&gt;---&gt; Package perl-DBI.x86_64 0:1.52-2.el5 set to be updated&lt;br /&gt;---&gt; Package php-cli.x86_64 0:5.2.4-RightScale set to be updated&lt;br /&gt;---&gt; Package php-common.x86_64 0:5.2.4-RightScale set to be updated&lt;br /&gt;---&gt; Package php-pdo.x86_64 0:5.2.4-RightScale set to be updated&lt;br /&gt;--&gt; Finished Dependency Resolution&lt;br /&gt;&lt;br /&gt;Dependencies Resolved&lt;br /&gt;&lt;br /&gt;=============================================================================================================================&lt;br /&gt; Package                      Arch                 Version                               Repository                     Size&lt;br /&gt;=============================================================================================================================&lt;br /&gt;Installing:&lt;br /&gt; httpd                        x86_64               2.2.3-31.el5.centos.4                 updates                       1.2 M&lt;br /&gt; mysql                        i386                 5.0.77-4.el5_4.2                      updates                       4.8 M&lt;br /&gt; mysql                        x86_64               5.0.77-4.el5_4.2                      updates                       4.8 M&lt;br /&gt; mysql-server                 x86_64               5.0.77-4.el5_4.2                      updates                       9.8 M&lt;br /&gt; net-snmp                     x86_64               1:5.3.2.2-7.el5_4.2                   updates                       701 k&lt;br /&gt; php                          x86_64               5.2.4-RightScale                      rightscale-epel               3.9 M&lt;br /&gt; php-mysql                    x86_64               5.2.4-RightScale                      rightscale-epel               277 k&lt;br /&gt; php-snmp                     x86_64               5.2.4-RightScale                      rightscale-epel                44 k&lt;br /&gt; php-xml                      x86_64               5.2.4-RightScale                      rightscale-epel               328 k&lt;br /&gt;Installing for dependencies:&lt;br /&gt; libxslt                      x86_64               1.1.17-2.el5_2.2                      base                          488 k&lt;br /&gt; lm_sensors                   x86_64               2.10.7-4.el5                          base                          527 k&lt;br /&gt; net-snmp-libs                x86_64               1:5.3.2.2-7.el5_4.2                   updates                       1.3 M&lt;br /&gt; perl-DBD-MySQL               x86_64               3.0007-2.el5                          base                          148 k&lt;br /&gt; perl-DBI                     x86_64               1.52-2.el5                            base                          600 k&lt;br /&gt; php-cli                      x86_64               5.2.4-RightScale                      rightscale-epel               2.7 M&lt;br /&gt; php-common                   x86_64               5.2.4-RightScale                      rightscale-epel               365 k&lt;br /&gt; php-pdo                      x86_64               5.2.4-RightScale                      rightscale-epel               163 k&lt;br /&gt;&lt;br /&gt;Transaction Summary&lt;br /&gt;=============================================================================================================================&lt;br /&gt;Install     17 Package(s)&lt;br /&gt;Update       0 Package(s)&lt;br /&gt;Remove       0 Package(s)&lt;br /&gt;&lt;br /&gt;Total download size: 32 M&lt;br /&gt;Is this ok [y/N]:y&lt;br /&gt;&lt;br /&gt;Downloading Packages:&lt;br /&gt;(1/17): php-snmp-5.2.4-RightScale.x86_64.rpm                                                          |  44 kB     00:00&lt;br /&gt;(2/17): perl-DBD-MySQL-3.0007-2.el5.x86_64.rpm                                                        | 148 kB     00:00&lt;br /&gt;(3/17): php-pdo-5.2.4-RightScale.x86_64.rpm                                                           | 163 kB     00:00&lt;br /&gt;(4/17): php-mysql-5.2.4-RightScale.x86_64.rpm                                                         | 277 kB     00:00&lt;br /&gt;(5/17): php-xml-5.2.4-RightScale.x86_64.rpm                                                           | 328 kB     00:00&lt;br /&gt;(6/17): php-common-5.2.4-RightScale.x86_64.rpm                                                        | 365 kB     00:00&lt;br /&gt;(7/17): libxslt-1.1.17-2.el5_2.2.x86_64.rpm                                                           | 488 kB     00:00&lt;br /&gt;(8/17): lm_sensors-2.10.7-4.el5.x86_64.rpm                                                            | 527 kB     00:00&lt;br /&gt;(9/17): perl-DBI-1.52-2.el5.x86_64.rpm                                                                | 600 kB     00:00&lt;br /&gt;(10/17): net-snmp-5.3.2.2-7.el5_4.2.x86_64.rpm                                                        | 701 kB     00:00&lt;br /&gt;(11/17): httpd-2.2.3-31.el5.centos.4.x86_64.rpm                                                       | 1.2 MB     00:00&lt;br /&gt;(12/17): net-snmp-libs-5.3.2.2-7.el5_4.2.x86_64.rpm                                                   | 1.3 MB     00:00&lt;br /&gt;(13/17): php-cli-5.2.4-RightScale.x86_64.rpm                                                          | 2.7 MB     00:00&lt;br /&gt;(14/17): php-5.2.4-RightScale.x86_64.rpm                                                              | 3.9 MB     00:00&lt;br /&gt;(15/17): mysql-5.0.77-4.el5_4.2.i386.rpm                                                              | 4.8 MB     00:00&lt;br /&gt;(16/17): mysql-5.0.77-4.el5_4.2.x86_64.rpm                                                            | 4.8 MB     00:00&lt;br /&gt;(17/17): mysql-server-5.0.77-4.el5_4.2.x86_64.rpm                                                     | 9.8 MB     00:00&lt;br /&gt;-----------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;Total                                                                                         20 MB/s |  32 MB     00:01&lt;br /&gt;Running rpm_check_debug&lt;br /&gt;Running Transaction Test&lt;br /&gt;Finished Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;  Installing     : php-common                                                                                           1/17&lt;br /&gt;  Installing     : perl-DBI                                                                                             2/17&lt;br /&gt;  Installing     : mysql                                                                                                3/17&lt;br /&gt;  Installing     : net-snmp-libs                                                                                        4/17&lt;br /&gt;  Installing     : perl-DBD-MySQL                                                                                       5/17&lt;br /&gt;  Installing     : php-cli                                                                                              6/17&lt;br /&gt;  Installing     : php-pdo                                                                                              7/17&lt;br /&gt;  Installing     : httpd                                                                                                8/17&lt;br /&gt;warning: /etc/rc.d/init.d/httpd saved as /etc/rc.d/init.d/httpd.rpmorig&lt;br /&gt;  Installing     : lm_sensors                                                                                           9/17&lt;br /&gt;  Installing     : net-snmp                                                                                            10/17&lt;br /&gt;  Installing     : libxslt                                                                                             11/17&lt;br /&gt;  Installing     : mysql                                                                                               12/17&lt;br /&gt;  Installing     : php-mysql                                                                                           13/17&lt;br /&gt;  Installing     : php-xml                                                                                             14/17&lt;br /&gt;  Installing     : php                                                                                                 15/17&lt;br /&gt;  Installing     : php-snmp                                                                                            16/17&lt;br /&gt;  Installing     : mysql-server                                                                                        17/17&lt;br /&gt;&lt;br /&gt;Installed:&lt;br /&gt;  httpd.x86_64 0:2.2.3-31.el5.centos.4        mysql.i386 0:5.0.77-4.el5_4.2            mysql.x86_64 0:5.0.77-4.el5_4.2&lt;br /&gt;  mysql-server.x86_64 0:5.0.77-4.el5_4.2      net-snmp.x86_64 1:5.3.2.2-7.el5_4.2      php.x86_64 0:5.2.4-RightScale&lt;br /&gt;  php-mysql.x86_64 0:5.2.4-RightScale         php-snmp.x86_64 0:5.2.4-RightScale       php-xml.x86_64 0:5.2.4-RightScale&lt;br /&gt;&lt;br /&gt;Dependency Installed:&lt;br /&gt;  libxslt.x86_64 0:1.1.17-2.el5_2.2        lm_sensors.x86_64 0:2.10.7-4.el5      net-snmp-libs.x86_64 1:5.3.2.2-7.el5_4.2&lt;br /&gt;  perl-DBD-MySQL.x86_64 0:3.0007-2.el5     perl-DBI.x86_64 0:1.52-2.el5          php-cli.x86_64 0:5.2.4-RightScale&lt;br /&gt;  php-common.x86_64 0:5.2.4-RightScale     php-pdo.x86_64 0:5.2.4-RightScale&lt;br /&gt;&lt;br /&gt;Complete! &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 3: &lt;br /&gt;Now unzipping the tarball we downloaded from the cacti site:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ tar -xvzf cacti-0.8.7g.tar.gz&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[&lt;b&gt;bhaskar@Amazon-instances ~]$ ls&lt;br /&gt;cacti-0.8.7g  cacti-0.8.7g.tar.gz&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 4:&lt;br /&gt;&lt;br /&gt;Move the cacti dir to short and convinient name&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ mv cacti-0.8.7g cacti&lt;br /&gt;&lt;br /&gt;[bhaskar@Amazon-instances ~]$ ls&lt;br /&gt;cacti  cacti-0.8.7g.tar.gz&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 5:&lt;br /&gt;&lt;br /&gt;Now move the cacti dir to the document root of the system:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ sudo mv -v cacti /var/www/html/&lt;br /&gt;`cacti' -&gt; `/var/www/html/cacti'&lt;/b&gt; &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 6:&lt;br /&gt;&lt;br /&gt;Addming Cacti group and user in the box:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ sudo /usr/sbin/groupadd cacti&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Adding users for cacti:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ sudo /usr/sbin/useradd -g cacti amazoncacti&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Adding password to the user:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ sudo /usr/bin/passwd amazoncacti&lt;br /&gt;Changing password for user amazoncacti.&lt;br /&gt;New UNIX password:&lt;br /&gt;Retype new UNIX password:&lt;br /&gt;passwd: all authentication tokens updated successfully.&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Step 7:&lt;br /&gt;&lt;br /&gt;Chnage the ownership of few dir in the cacti base dir:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances cacti]$ sudo /bin/chown -R amazoncacti rra/ log/&lt;br /&gt;&lt;br /&gt;[bhaskar@Amazon-instances cacti]$ ls -ld rra log&lt;br /&gt;drwxr-xr-x 2 amazoncacti bhaskar 4096 Dec 30  2009 log&lt;br /&gt;drwxr-xr-x 2 amazoncacti bhaskar 4096 May 16  2010 rra&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 8:&lt;br /&gt;&lt;br /&gt;MySql admin password creation:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances cacti]$ sudo /usr/bin/mysqladmin -u root password somethingsensible&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 9:&lt;br /&gt;&lt;br /&gt;Create Cacti database for use:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances cacti]$ sudo /usr/bin/mysql -u root -p&lt;br /&gt;Enter password:&lt;br /&gt;Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;Your MySQL connection id is 3&lt;br /&gt;Server version: 5.0.77 Source distribution&lt;br /&gt;&lt;br /&gt;Type 'help;' or '\h' for help. Type '\c' to clear the buffer.&lt;br /&gt;&lt;br /&gt;mysql&gt; create database cacti;&lt;br /&gt;Query OK, 1 row affected (0.00 sec) &lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 10:&lt;br /&gt;&lt;br /&gt;Sourcing the default sql file into cacti database like below:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;mysql&gt; source cacti.sql&lt;br /&gt;&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 1 row affected (0.00 sec &lt;br /&gt;&lt;/b&gt;&lt;br /&gt;output snipped for the sake of bravity!!! &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 11:&lt;br /&gt;&lt;br /&gt;Now time to grant some priviledge to the cacti user to get into the database and fetch thing from it. From the mysql shell do follow:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;mysql&gt; GRANT ALL ON cacti.* TO amazoncacti@localhost IDENTIFIED BY 'somethingsensible';&lt;br /&gt;Query OK, 0 rows affected (0.00 sec) &lt;br /&gt;&lt;br /&gt;Refreshing the grant table:&lt;br /&gt;&lt;br /&gt;mysql&gt; flush privileges;&lt;br /&gt;Query OK, 0 rows affected (0.00 sec) &lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 12:&lt;br /&gt;&lt;br /&gt;Now time for edit some files within cacti directory..&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances cacti]$ sudo vim include/config.php&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Here it looks like inside... and I have change the database username and password entry in it:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;$database_type = "mysql";&lt;br /&gt;$database_default = "cacti";&lt;br /&gt;$database_hostname = "localhost";&lt;br /&gt;$database_username = "amazoncacti";&lt;br /&gt;$database_password = "somethingsensible";&lt;br /&gt;$database_port = "3306";&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Step 13: &lt;br /&gt;&lt;br /&gt;I am creating a cron job to polls for the infomration:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[root@Amazon-instances cacti]# crontab -e&lt;br /&gt;&lt;br /&gt;[root@Amazon-instances cacti]# crontab -l&lt;br /&gt;*/5 * * * * amazoncacti /usr/bin/php /var/www/html/cacti/poller.php &gt; /dev/null 2&gt;&amp;1 &lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 14:&lt;br /&gt;&lt;br /&gt;Some php tweaking for the betterment:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[root@Amazon-instances cacti]# sudo vim /etc/php.ini&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;In this file I have changed &lt;b&gt;memory_limit variable 32M to 128M&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;Step 15:&lt;br /&gt;&lt;br /&gt;Now we need to got to the web interface of it,by pressing the following url into the browser:&lt;br /&gt;&lt;br /&gt;http://Amazon-instances.amazonaws.com/cacti/&lt;br /&gt;&lt;br /&gt;Step 16:&lt;br /&gt;&lt;br /&gt;Snmpwalk not found by the cacti installer so go ahead and installed more binaries:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[root@Amazon-instances ~]# yum install net-snmp-utils net-snmp-devel&lt;/b&gt;&lt;br /&gt;addons                                                                                                |  951 B     00:00&lt;br /&gt;base                                                                                                  | 2.1 kB     00:00&lt;br /&gt;centosplus                                                                                            | 1.9 kB     00:00&lt;br /&gt;epel                                                                                                  | 3.7 kB     00:00&lt;br /&gt;extras                                                                                                | 2.1 kB     00:00&lt;br /&gt;rightscale-epel                                                                                       |  951 B     00:00&lt;br /&gt;updates                                                                                               | 1.9 kB     00:00&lt;br /&gt;Setting up Install Process&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package net-snmp-devel.i386 1:5.3.2.2-7.el5_4.2 set to be updated&lt;br /&gt;--&gt; Processing Dependency: libnetsnmpagent.so.10 for package: net-snmp-devel&lt;br /&gt;--&gt; Processing Dependency: libnetsnmptrapd.so.10 for package: net-snmp-devel&lt;br /&gt;--&gt; Processing Dependency: elfutils-devel for package: net-snmp-devel&lt;br /&gt;--&gt; Processing Dependency: elfutils-libelf-devel for package: net-snmp-devel&lt;br /&gt;--&gt; Processing Dependency: libnetsnmpmibs.so.10 for package: net-snmp-devel&lt;br /&gt;--&gt; Processing Dependency: libsnmp.so.10 for package: net-snmp-devel&lt;br /&gt;--&gt; Processing Dependency: libnetsnmphelpers.so.10 for package: net-snmp-devel&lt;br /&gt;--&gt; Processing Dependency: libnetsnmp.so.10 for package: net-snmp-devel&lt;br /&gt;--&gt; Processing Dependency: rpm-devel for package: net-snmp-devel&lt;br /&gt;--&gt; Processing Dependency: lm_sensors-devel for package: net-snmp-devel&lt;br /&gt;--&gt; Processing Dependency: beecrypt-devel for package: net-snmp-devel&lt;br /&gt;---&gt; Package net-snmp-devel.x86_64 1:5.3.2.2-7.el5_4.2 set to be updated&lt;br /&gt;---&gt; Package net-snmp-utils.x86_64 1:5.3.2.2-7.el5_4.2 set to be updated&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package beecrypt-devel.x86_64 0:4.1.2-10.1.1 set to be updated&lt;br /&gt;--&gt; Processing Dependency: beecrypt = 4.1.2-10.1.1 for package: beecrypt-devel&lt;br /&gt;--&gt; Processing Dependency: libbeecrypt.so.6()(64bit) for package: beecrypt-devel&lt;br /&gt;---&gt; Package elfutils-devel.x86_64 0:0.137-3.el5 set to be updated&lt;br /&gt;--&gt; Processing Dependency: elfutils-devel-static-x86_64 = 0.137-3.el5 for package: elfutils-devel&lt;br /&gt;---&gt; Package elfutils-libelf-devel.x86_64 0:0.137-3.el5 set to be updated&lt;br /&gt;--&gt; Processing Dependency: elfutils-libelf-devel-static-x86_64 = 0.137-3.el5 for package: elfutils-libelf-devel&lt;br /&gt;---&gt; Package lm_sensors-devel.x86_64 0:2.10.7-4.el5 set to be updated&lt;br /&gt;---&gt; Package net-snmp-libs.i386 1:5.3.2.2-7.el5_4.2 set to be updated&lt;br /&gt;---&gt; Package rpm-devel.x86_64 0:4.4.2.3-18.el5 set to be updated&lt;br /&gt;--&gt; Processing Dependency: sqlite-devel for package: rpm-devel&lt;br /&gt;--&gt; Processing Dependency: libselinux-devel for package: rpm-devel&lt;br /&gt;--&gt; Processing Dependency: nss-devel for package: rpm-devel&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package beecrypt.x86_64 0:4.1.2-10.1.1 set to be updated&lt;br /&gt;---&gt; Package elfutils-devel-static.x86_64 0:0.137-3.el5 set to be updated&lt;br /&gt;---&gt; Package elfutils-libelf-devel-static.x86_64 0:0.137-3.el5 set to be updated&lt;br /&gt;---&gt; Package libselinux-devel.x86_64 0:1.33.4-5.5.el5 set to be updated&lt;br /&gt;--&gt; Processing Dependency: libsepol-devel &gt;= 1.15.2-1 for package: libselinux-devel&lt;br /&gt;---&gt; Package nss-devel.x86_64 0:3.12.6-1.el5.centos set to be updated&lt;br /&gt;--&gt; Processing Dependency: nspr-devel &gt;= 4.8.4 for package: nss-devel&lt;br /&gt;---&gt; Package sqlite-devel.x86_64 0:3.3.6-5 set to be updated&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package libsepol-devel.x86_64 0:1.15.2-2.el5 set to be updated&lt;br /&gt;---&gt; Package nspr-devel.x86_64 0:4.8.4-1.el5_4 set to be updated&lt;br /&gt;--&gt; Finished Dependency Resolution&lt;br /&gt;&lt;br /&gt;Dependencies Resolved&lt;br /&gt;&lt;br /&gt;=============================================================================================================================&lt;br /&gt; Package                                   Arch                Version                            Repository            Size&lt;br /&gt;=============================================================================================================================&lt;br /&gt;Installing:&lt;br /&gt; net-snmp-devel                            i386                1:5.3.2.2-7.el5_4.2                updates              1.9 M&lt;br /&gt; net-snmp-devel                            x86_64              1:5.3.2.2-7.el5_4.2                updates              2.0 M&lt;br /&gt; net-snmp-utils                            x86_64              1:5.3.2.2-7.el5_4.2                updates              187 k&lt;br /&gt;Installing for dependencies:&lt;br /&gt; beecrypt                                  x86_64              4.1.2-10.1.1                       base                  87 k&lt;br /&gt; beecrypt-devel                            x86_64              4.1.2-10.1.1                       base                 118 k&lt;br /&gt; elfutils-devel                            x86_64              0.137-3.el5                        base                  62 k&lt;br /&gt; elfutils-devel-static                     x86_64              0.137-3.el5                        base                 119 k&lt;br /&gt; elfutils-libelf-devel                     x86_64              0.137-3.el5                        base                  24 k&lt;br /&gt; elfutils-libelf-devel-static              x86_64              0.137-3.el5                        base                  64 k&lt;br /&gt; libselinux-devel                          x86_64              1.33.4-5.5.el5                     base                 149 k&lt;br /&gt; libsepol-devel                            x86_64              1.15.2-2.el5                       base                 192 k&lt;br /&gt; lm_sensors-devel                          x86_64              2.10.7-4.el5                       base                  81 k&lt;br /&gt; net-snmp-libs                             i386                1:5.3.2.2-7.el5_4.2                updates              1.3 M&lt;br /&gt; nspr-devel                                x86_64              4.8.4-1.el5_4                      updates              111 k&lt;br /&gt; nss-devel                                 x86_64              3.12.6-1.el5.centos                updates              233 k&lt;br /&gt; rpm-devel                                 x86_64              4.4.2.3-18.el5                     base                 1.3 M&lt;br /&gt; sqlite-devel                              x86_64              3.3.6-5                            base                 257 k&lt;br /&gt;&lt;br /&gt;Transaction Summary&lt;br /&gt;=============================================================================================================================&lt;br /&gt;Install     17 Package(s)&lt;br /&gt;Update       0 Package(s)&lt;br /&gt;Remove       0 Package(s)&lt;br /&gt;&lt;br /&gt;Total download size: 8.0 M&lt;br /&gt;Is this ok [y/N]:y&lt;br /&gt;&lt;br /&gt;Downloading Packages:&lt;br /&gt;(1/17): elfutils-libelf-devel-0.137-3.el5.x86_64.rpm                                                  |  24 kB     00:00&lt;br /&gt;(2/17): elfutils-devel-0.137-3.el5.x86_64.rpm                                                         |  62 kB     00:00&lt;br /&gt;(3/17): elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm                                           |  64 kB     00:00&lt;br /&gt;(4/17): lm_sensors-devel-2.10.7-4.el5.x86_64.rpm                                                      |  81 kB     00:00&lt;br /&gt;(5/17): beecrypt-4.1.2-10.1.1.x86_64.rpm                                                              |  87 kB     00:00&lt;br /&gt;(6/17): nspr-devel-4.8.4-1.el5_4.x86_64.rpm                                                           | 111 kB     00:00&lt;br /&gt;(7/17): beecrypt-devel-4.1.2-10.1.1.x86_64.rpm                                                        | 118 kB     00:00&lt;br /&gt;(8/17): elfutils-devel-static-0.137-3.el5.x86_64.rpm                                                  | 119 kB     00:00&lt;br /&gt;(9/17): libselinux-devel-1.33.4-5.5.el5.x86_64.rpm                                                    | 149 kB     00:00&lt;br /&gt;(10/17): net-snmp-utils-5.3.2.2-7.el5_4.2.x86_64.rpm                                                  | 187 kB     00:00&lt;br /&gt;(11/17): libsepol-devel-1.15.2-2.el5.x86_64.rpm                                                       | 192 kB     00:00&lt;br /&gt;(12/17): nss-devel-3.12.6-1.el5.centos.x86_64.rpm                                                     | 233 kB     00:00&lt;br /&gt;(13/17): sqlite-devel-3.3.6-5.x86_64.rpm                                                              | 257 kB     00:00&lt;br /&gt;(14/17): net-snmp-libs-5.3.2.2-7.el5_4.2.i386.rpm                                                     | 1.3 MB     00:00&lt;br /&gt;(15/17): rpm-devel-4.4.2.3-18.el5.x86_64.rpm                                                          | 1.3 MB     00:00&lt;br /&gt;(16/17): net-snmp-devel-5.3.2.2-7.el5_4.2.i386.rpm                                                    | 1.9 MB     00:00&lt;br /&gt;(17/17): net-snmp-devel-5.3.2.2-7.el5_4.2.x86_64.rpm                                                  | 2.0 MB     00:00&lt;br /&gt;-----------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;Total                                                                                         10 MB/s | 8.0 MB     00:00&lt;br /&gt;Running rpm_check_debug&lt;br /&gt;Running Transaction Test&lt;br /&gt;Finished Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;  Installing     : beecrypt                                                                                             1/17&lt;br /&gt;  Installing     : net-snmp-libs                                                                                        2/17&lt;br /&gt;  Installing     : beecrypt-devel                                                                                       3/17&lt;br /&gt;  Installing     : lm_sensors-devel                                                                                     4/17&lt;br /&gt;  Installing     : sqlite-devel                                                                                         5/17&lt;br /&gt;  Installing     : libsepol-devel                                                                                       6/17&lt;br /&gt;  Installing     : libselinux-devel                                                                                     7/17&lt;br /&gt;  Installing     : nspr-devel                                                                                           8/17&lt;br /&gt;  Installing     : net-snmp-utils                                                                                       9/17&lt;br /&gt;  Installing     : nss-devel                                                                                           10/17&lt;br /&gt;  Installing     : elfutils-libelf-devel                                                                               11/17&lt;br /&gt;  Installing     : rpm-devel                                                                                           12/17&lt;br /&gt;  Installing     : elfutils-devel                                                                                      13/17&lt;br /&gt;  Installing     : elfutils-libelf-devel-static                                                                        14/17&lt;br /&gt;  Installing     : net-snmp-devel                                                                                      15/17&lt;br /&gt;  Installing     : net-snmp-devel                                                                                      16/17&lt;br /&gt;  Installing     : elfutils-devel-static                                                                               17/17&lt;br /&gt;&lt;br /&gt;Installed:&lt;br /&gt;  net-snmp-devel.i386 1:5.3.2.2-7.el5_4.2                       net-snmp-devel.x86_64 1:5.3.2.2-7.el5_4.2&lt;br /&gt;  net-snmp-utils.x86_64 1:5.3.2.2-7.el5_4.2&lt;br /&gt;&lt;br /&gt;Dependency Installed:&lt;br /&gt;  beecrypt.x86_64 0:4.1.2-10.1.1                            beecrypt-devel.x86_64 0:4.1.2-10.1.1&lt;br /&gt;  elfutils-devel.x86_64 0:0.137-3.el5                       elfutils-devel-static.x86_64 0:0.137-3.el5&lt;br /&gt;  elfutils-libelf-devel.x86_64 0:0.137-3.el5                elfutils-libelf-devel-static.x86_64 0:0.137-3.el5&lt;br /&gt;  libselinux-devel.x86_64 0:1.33.4-5.5.el5                  libsepol-devel.x86_64 0:1.15.2-2.el5&lt;br /&gt;  lm_sensors-devel.x86_64 0:2.10.7-4.el5                    net-snmp-libs.i386 1:5.3.2.2-7.el5_4.2&lt;br /&gt;  nspr-devel.x86_64 0:4.8.4-1.el5_4                         nss-devel.x86_64 0:3.12.6-1.el5.centos&lt;br /&gt;  rpm-devel.x86_64 0:4.4.2.3-18.el5                         sqlite-devel.x86_64 0:3.3.6-5&lt;br /&gt;&lt;br /&gt;Complete! &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 16:&lt;br /&gt;&lt;br /&gt;So once the web interface installed the thing we are presented the login page into with default admin/admin username/password .Now I have change that password to like below: &lt;br /&gt;&lt;br /&gt;username : admin&lt;br /&gt;&lt;br /&gt;password : admin&lt;br /&gt;&lt;br /&gt;Step 17:&lt;br /&gt;&lt;br /&gt;Adding amazoncacti user to apache group:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ sudo /usr/sbin/usermod -G apache -a amazoncacti&lt;br /&gt;[bhaskar@Amazon-instances ~]$ id amazoncacti&lt;br /&gt;uid=503(amazoncacti) gid=503(cacti) groups=48(apache),503(cacti) &lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 18:&lt;br /&gt;&lt;br /&gt;Installing new crontab for user amazoncacti for run the poller.php&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[root@Amazon-instances html]# sudo su - amazoncacti&lt;br /&gt;[amazoncacti@Amazon-instances ~]$ crontab -e&lt;br /&gt;no crontab for amazoncacti - using an empty one&lt;br /&gt;crontab: installing new crontab &lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 19:&lt;br /&gt;&lt;br /&gt;Checking snmp work on localhost&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances log]$ sudo snmpwalk -v 1 localhost -c public&lt;br /&gt;SNMPv2-MIB::sysDescr.0 = STRING: Linux Amazon-instances 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:34:28 EST 2008 x86_64&lt;br /&gt;SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10&lt;br /&gt;DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (142712) 0:23:47.12&lt;br /&gt;SNMPv2-MIB::sysContact.0 = STRING: Root &lt;root@localhost&gt;&lt;br /&gt;SNMPv2-MIB::sysName.0 = STRING: Amazon-instances&lt;br /&gt;SNMPv2-MIB::sysLocation.0 = STRING: AmazonCloud&lt;br /&gt;SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00&lt;br /&gt;SNMPv2-MIB::sysORID.1 = OID: SNMPv2-MIB::snmpMIB&lt;br /&gt;SNMPv2-MIB::sysORID.2 = OID: TCP-MIB::tcpMIB&lt;br /&gt;SNMPv2-MIB::sysORID.3 = OID: IP-MIB::ip&lt;br /&gt;SNMPv2-MIB::sysORID.4 = OID: UDP-MIB::udpMIB&lt;br /&gt;SNMPv2-MIB::sysORID.5 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup&lt;br /&gt;SNMPv2-MIB::sysORID.6 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance&lt;br /&gt;SNMPv2-MIB::sysORID.7 = OID: SNMP-MPD-MIB::snmpMPDCompliance&lt;br /&gt;SNMPv2-MIB::sysORID.8 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance&lt;br /&gt;SNMPv2-MIB::sysORDescr.1 = STRING: The MIB module for SNMPv2 entities&lt;br /&gt;SNMPv2-MIB::sysORDescr.2 = STRING: The MIB module for managing TCP implementations&lt;br /&gt;SNMPv2-MIB::sysORDescr.3 = STRING: The MIB module for managing IP and ICMP implementations&lt;br /&gt;SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for managing UDP implementations&lt;br /&gt;SNMPv2-MIB::sysORDescr.5 = STRING: View-based Access Control Model for SNMP.&lt;br /&gt;SNMPv2-MIB::sysORDescr.6 = STRING: The SNMP Management Architecture MIB.&lt;br /&gt;SNMPv2-MIB::sysORDescr.7 = STRING: The MIB for Message Processing and Dispatching.&lt;br /&gt;SNMPv2-MIB::sysORDescr.8 = STRING: The management information definitions for the SNMP User-based Security Model.&lt;br /&gt;SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00&lt;br /&gt;SNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00&lt;br /&gt;SNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00&lt;br /&gt;SNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00&lt;br /&gt;SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00&lt;br /&gt;SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00&lt;br /&gt;SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00&lt;br /&gt;SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00&lt;br /&gt;HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (30377320) 3 days, 12:22:53.20&lt;br /&gt;End of MIB&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 20.&lt;br /&gt;&lt;br /&gt;Newly created snmpd.conf&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances log]$ sudo cp -v /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.05022011&lt;br /&gt;`/etc/snmp/snmpd.conf' -&gt; `/etc/snmp/snmpd.conf.05022011'&lt;br /&gt;[bhaskar@Amazon-instances log]$ sudo mv -v snmpd.conf /etc/snmp/&lt;br /&gt;`snmpd.conf' -&gt; `/etc/snmp/snmpd.conf'&lt;/b&gt; &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 21:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;plugin installation&lt;/b&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ wget -c http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz&lt;br /&gt;-2011-05-04 02:52:11-  http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz&lt;br /&gt;Resolving mirror.cactiusers.org... 209.189.228.150&lt;br /&gt;Connecting to mirror.cactiusers.org|209.189.228.150|:80... connected.&lt;br /&gt;HTTP request sent, awaiting response... 200 OK&lt;br /&gt;Length: 207069 (202K) [application/x-gzip]&lt;br /&gt;Saving to: `cacti-plugin-0.8.7g-PA-v2.8.tar.gz'&lt;br /&gt;&lt;br /&gt;100%[===================================================================================&gt;] 207,069      583K/s   in 0.3s&lt;br /&gt;&lt;br /&gt;2011-05-04 02:52:12 (583 KB/s) - `cacti-plugin-0.8.7g-PA-v2.8.tar.gz' saved [207069/207069]&lt;/b&gt; &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 22:&lt;br /&gt;&lt;br /&gt;Untar it:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ tar -xvzf cacti-plugin-0.8.7g-PA-v2.8.tar.gz&lt;/b&gt;&lt;br /&gt;cacti-plugin-arch/&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/poller.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/host.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/utilities.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/lib/&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/lib/poller.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/lib/functions.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/lib/html.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/lib/auth.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/lib/api_device.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/lib/rrd.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/lib/plugins.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/lib/variables.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/lib/html_form.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/graphs_new.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/graph.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/auth_changepassword.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/user_admin.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/plugins/&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/plugins/index.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/images/&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/images/install_icon_disabled.png&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/images/disable_icon.png&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/images/install_icon.png&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/images/view_none.gif&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/images/uninstall_icon.gif&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/images/enable_icon_disabled.png&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/images/enable_icon.png&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/graphs.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/include/&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/include/global.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/include/global_form.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/include/top_header.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/include/top_graph_header.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/include/global_settings.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/include/auth.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/include/bottom_footer.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/include/config.php.dist&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/include/plugins.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/include/global_constants.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/include/global_arrays.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/graph_image.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/plugins.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/data_sources.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/index.php&lt;br /&gt;cacti-plugin-arch/files-0.8.7g/auth_login.php&lt;br /&gt;cacti-plugin-arch/pa.sql&lt;br /&gt;cacti-plugin-arch/README&lt;br /&gt;cacti-plugin-arch/LICENSE&lt;br /&gt;cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 23:&lt;br /&gt;&lt;br /&gt;Took back up before applying the patch for plug in architechture&lt;br /&gt;&lt;code&gt;&lt;br /&gt; &lt;b&gt;sudo cp -Rpv /var/www/html/cacti/ /var/www/html/cacti.orig&lt;/b&gt; &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 24:&lt;br /&gt;&lt;br /&gt;Copying file from PIA to actual cacti installation dir&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ cd cacti-plugin-arch/&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances cacti-plugin-arch]$ ls&lt;br /&gt;cacti-plugin-0.8.7g-PA-v2.8.diff  files-0.8.7g  LICENSE  pa.sql  README&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances cacti-plugin-arch]$ cd files-0.8.7g/&lt;br /&gt;&lt;br /&gt;[bhaskar@Amazon-instances files-0.8.7g]$ ls&lt;br /&gt;auth_changepassword.php  graph_image.php  graphs.php  include    plugins      user_admin.php&lt;br /&gt;auth_login.php           graph.php        host.php    index.php  plugins.php  utilities.php&lt;br /&gt;data_sources.php         graphs_new.php   images      lib        poller.php&lt;br /&gt;[bhaskar@Amazon-instances files-0.8.7g]$&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances files-0.8.7g]$ sudo cp -Rv * /var/www/html/cacti/&lt;/b&gt;&lt;br /&gt;`auth_changepassword.php' -&gt; `/var/www/html/cacti/auth_changepassword.php'&lt;br /&gt;`auth_login.php' -&gt; `/var/www/html/cacti/auth_login.php'&lt;br /&gt;`data_sources.php' -&gt; `/var/www/html/cacti/data_sources.php'&lt;br /&gt;`graph_image.php' -&gt; `/var/www/html/cacti/graph_image.php'&lt;br /&gt;`graph.php' -&gt; `/var/www/html/cacti/graph.php'&lt;br /&gt;`graphs_new.php' -&gt; `/var/www/html/cacti/graphs_new.php'&lt;br /&gt;`graphs.php' -&gt; `/var/www/html/cacti/graphs.php'&lt;br /&gt;`host.php' -&gt; `/var/www/html/cacti/host.php'&lt;br /&gt;`images/install_icon_disabled.png' -&gt; `/var/www/html/cacti/images/install_icon_disabled.png'&lt;br /&gt;`images/enable_icon.png' -&gt; `/var/www/html/cacti/images/enable_icon.png'&lt;br /&gt;`images/enable_icon_disabled.png' -&gt; `/var/www/html/cacti/images/enable_icon_disabled.png'&lt;br /&gt;`images/view_none.gif' -&gt; `/var/www/html/cacti/images/view_none.gif'&lt;br /&gt;`images/install_icon.png' -&gt; `/var/www/html/cacti/images/install_icon.png'&lt;br /&gt;`images/disable_icon.png' -&gt; `/var/www/html/cacti/images/disable_icon.png'&lt;br /&gt;`images/uninstall_icon.gif' -&gt; `/var/www/html/cacti/images/uninstall_icon.gif'&lt;br /&gt;`include/plugins.php' -&gt; `/var/www/html/cacti/include/plugins.php'&lt;br /&gt;`include/global_form.php' -&gt; `/var/www/html/cacti/include/global_form.php'&lt;br /&gt;`include/top_graph_header.php' -&gt; `/var/www/html/cacti/include/top_graph_header.php'&lt;br /&gt;`include/global_arrays.php' -&gt; `/var/www/html/cacti/include/global_arrays.php'&lt;br /&gt;`include/config.php.dist' -&gt; `/var/www/html/cacti/include/config.php.dist'&lt;br /&gt;`include/top_header.php' -&gt; `/var/www/html/cacti/include/top_header.php'&lt;br /&gt;`include/global.php' -&gt; `/var/www/html/cacti/include/global.php'&lt;br /&gt;`include/global_constants.php' -&gt; `/var/www/html/cacti/include/global_constants.php'&lt;br /&gt;`include/auth.php' -&gt; `/var/www/html/cacti/include/auth.php'&lt;br /&gt;`include/global_settings.php' -&gt; `/var/www/html/cacti/include/global_settings.php'&lt;br /&gt;`include/bottom_footer.php' -&gt; `/var/www/html/cacti/include/bottom_footer.php'&lt;br /&gt;`index.php' -&gt; `/var/www/html/cacti/index.php'&lt;br /&gt;`lib/plugins.php' -&gt; `/var/www/html/cacti/lib/plugins.php'&lt;br /&gt;`lib/rrd.php' -&gt; `/var/www/html/cacti/lib/rrd.php'&lt;br /&gt;`lib/variables.php' -&gt; `/var/www/html/cacti/lib/variables.php'&lt;br /&gt;`lib/api_device.php' -&gt; `/var/www/html/cacti/lib/api_device.php'&lt;br /&gt;`lib/poller.php' -&gt; `/var/www/html/cacti/lib/poller.php'&lt;br /&gt;`lib/html.php' -&gt; `/var/www/html/cacti/lib/html.php'&lt;br /&gt;`lib/functions.php' -&gt; `/var/www/html/cacti/lib/functions.php'&lt;br /&gt;`lib/auth.php' -&gt; `/var/www/html/cacti/lib/auth.php'&lt;br /&gt;`lib/html_form.php' -&gt; `/var/www/html/cacti/lib/html_form.php'&lt;br /&gt;`plugins' -&gt; `/var/www/html/cacti/plugins'&lt;br /&gt;`plugins/index.php' -&gt; `/var/www/html/cacti/plugins/index.php'&lt;br /&gt;`plugins.php' -&gt; `/var/www/html/cacti/plugins.php'&lt;br /&gt;`poller.php' -&gt; `/var/www/html/cacti/poller.php'&lt;br /&gt;`user_admin.php' -&gt; `/var/www/html/cacti/user_admin.php'&lt;br /&gt;`utilities.php' -&gt; `/var/www/html/cacti/utilities.php' &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;step 25:&lt;br /&gt;&lt;br /&gt;9. permission need to be chaged&lt;br /&gt;&lt;code&gt;&lt;br /&gt;[bhaskar@Amazon-instances cacti]$ ls -al&lt;br /&gt;total 1100&lt;br /&gt;drwxr-xr-x 13 amazoncacti cacti   4096 May  4 03:00 .&lt;br /&gt;drwxr-xr-x  4 root      root    4096 May  4 02:56 ..&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   6199 Jul  9  2010 about.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   5187 May  4 03:00 auth_changepassword.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  13396 May  4 03:00 auth_login.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti 176144 Jul  9  2010 cacti.sql&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  21643 Jul  9  2010 cdef.php&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 Jul  9  2010 cli&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  19760 Jul  9  2010 cmd.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   6974 Jul  9  2010 color.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  25025 Jul  9  2010 data_input.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  35455 Jul  9  2010 data_queries.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  58617 May  4 03:00 data_sources.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  32871 Jul  9  2010 data_templates.php&lt;br /&gt;drwxr-xr-x  5 amazoncacti cacti   4096 Jul  9  2010 docs&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   6107 Jul  9  2010 gprint_presets.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   3492 May  4 03:00 graph_image.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  12667 May  4 03:00 graph.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   7805 Jul  9  2010 graph_settings.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  17409 Jul  9  2010 graphs_items.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  39908 May  4 03:00 graphs_new.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  60077 May  4 03:00 graphs.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  10006 Jul  9  2010 graph_templates_inputs.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  18526 Jul  9  2010 graph_templates_items.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  26606 Jul  9  2010 graph_templates.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  38470 Jul  9  2010 graph_view.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   5840 Jul  9  2010 graph_xport.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  58003 May  4 03:00 host.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  20016 Jul  9  2010 host_templates.php&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 May  4 03:00 images&lt;br /&gt;drwxr-xr-x  4 amazoncacti cacti   4096 May  4 03:00 include&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   2313 May  4 03:00 index.php&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 Jul  9  2010 install&lt;br /&gt;drwxr-xr-x  3 amazoncacti cacti   4096 May  4 03:00 lib&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  15141 Dec 30  2009 LICENSE&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 May  2 02:53 log&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   2641 Jul  9  2010 logout.php&lt;br /&gt;drwxr-xr-x  2 amazoncacti      cacti    4096 May  4 03:00 plugins&lt;br /&gt;-rw-r-r-  1 amazoncacti      cacti   25848 May  4 03:00 plugins.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   4304 Jul  9  2010 poller_commands.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   2243 Jul  9  2010 poller_export.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  17909 May  4 03:00 poller.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti     48 Dec 30  2009 README&lt;br /&gt;drwxr-xr-x  5 amazoncacti cacti   4096 Dec 30  2009 resource&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 May  3 11:45 rra&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   7233 Jul  9  2010 rra.php&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 May  3 11:11 scripts&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   8270 Jul  9  2010 script_server.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti    353 Dec 30  2009 script_server.pl&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   4995 Jul  9  2010 settings.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   6086 Jul  9  2010 templates_export.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   6526 Jul  9  2010 templates_import.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  19435 Jul  9  2010 tree.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  44603 May  4 03:00 user_admin.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  64999 May  4 03:00 utilities.php&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Now should file below command:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances cacti]$ sudo chown -R amazoncacti:cacti *&lt;/b&gt;&lt;br /&gt;[bhaskar@Amazon-instances cacti]$ ls -al&lt;br /&gt;total 1100&lt;br /&gt;drwxr-xr-x 13 amazoncacti cacti   4096 May  4 03:00 .&lt;br /&gt;drwxr-xr-x  4 root      root    4096 May  4 02:56 ..&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   6199 Jul  9  2010 about.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   5187 May  4 03:00 auth_changepassword.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  13396 May  4 03:00 auth_login.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti 176144 Jul  9  2010 cacti.sql&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  21643 Jul  9  2010 cdef.php&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 Jul  9  2010 cli&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  19760 Jul  9  2010 cmd.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   6974 Jul  9  2010 color.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  25025 Jul  9  2010 data_input.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  35455 Jul  9  2010 data_queries.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  58617 May  4 03:00 data_sources.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  32871 Jul  9  2010 data_templates.php&lt;br /&gt;drwxr-xr-x  5 amazoncacti cacti   4096 Jul  9  2010 docs&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   6107 Jul  9  2010 gprint_presets.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   3492 May  4 03:00 graph_image.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  12667 May  4 03:00 graph.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   7805 Jul  9  2010 graph_settings.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  17409 Jul  9  2010 graphs_items.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  39908 May  4 03:00 graphs_new.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  60077 May  4 03:00 graphs.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  10006 Jul  9  2010 graph_templates_inputs.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  18526 Jul  9  2010 graph_templates_items.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  26606 Jul  9  2010 graph_templates.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  38470 Jul  9  2010 graph_view.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   5840 Jul  9  2010 graph_xport.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  58003 May  4 03:00 host.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  20016 Jul  9  2010 host_templates.php&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 May  4 03:00 images&lt;br /&gt;drwxr-xr-x  4 amazoncacti cacti   4096 May  4 03:00 include&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   2313 May  4 03:00 index.php&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 Jul  9  2010 install&lt;br /&gt;drwxr-xr-x  3 amazoncacti cacti   4096 May  4 03:00 lib&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  15141 Dec 30  2009 LICENSE&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 May  2 02:53 log&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   2641 Jul  9  2010 logout.php&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 May  4 03:00 plugins&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  25848 May  4 03:00 plugins.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   4304 Jul  9  2010 poller_commands.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   2243 Jul  9  2010 poller_export.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  17909 May  4 03:00 poller.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti     48 Dec 30  2009 README&lt;br /&gt;drwxr-xr-x  5 amazoncacti cacti   4096 Dec 30  2009 resource&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 May  3 11:45 rra&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   7233 Jul  9  2010 rra.php&lt;br /&gt;drwxr-xr-x  2 amazoncacti cacti   4096 May  3 11:11 scripts&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   8270 Jul  9  2010 script_server.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti    353 Dec 30  2009 script_server.pl&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   4995 Jul  9  2010 settings.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   6086 Jul  9  2010 templates_export.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti   6526 Jul  9  2010 templates_import.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  19435 Jul  9  2010 tree.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  44603 May  4 03:00 user_admin.php&lt;br /&gt;-rw-r-r-  1 amazoncacti cacti  64999 May  4 03:00 utilities.php &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 26:&lt;br /&gt;&lt;br /&gt;patching the cacti installation dir for PIA&lt;br /&gt;&lt;br /&gt;Upon dry run we get this:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;[&lt;b&gt;bhaskar@Amazon-instances cacti]$ sudo patch -p1 -N --dry-run &lt; /home/bhaskar/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff&lt;/b&gt;&lt;br /&gt;patching file auth_changepassword.php&lt;br /&gt;patching file auth_login.php&lt;br /&gt;Hunk #3 FAILED at 279.&lt;br /&gt;1 out of 4 hunks FAILED -- saving rejects to file auth_login.php.rej&lt;br /&gt;patching file data_sources.php&lt;br /&gt;patching file graph_image.php&lt;br /&gt;patching file graph.php&lt;br /&gt;patching file graphs_new.php&lt;br /&gt;patching file graphs.php&lt;br /&gt;patching file host.php&lt;br /&gt;patching file images/disable_icon.png&lt;br /&gt;patching file images/enable_icon_disabled.png&lt;br /&gt;patching file images/enable_icon.png&lt;br /&gt;patching file images/install_icon_disabled.png&lt;br /&gt;patching file images/install_icon.png&lt;br /&gt;patching file images/uninstall_icon.gif&lt;br /&gt;patching file images/view_none.gif&lt;br /&gt;patching file include/auth.php&lt;br /&gt;patching file include/bottom_footer.php&lt;br /&gt;patching file include/config.php&lt;br /&gt;Hunk #1 succeeded at 30 with fuzz 1.&lt;br /&gt;patching file include/global_arrays.php&lt;br /&gt;patching file include/global_constants.php&lt;br /&gt;patching file include/global_form.php&lt;br /&gt;patching file include/global.php&lt;br /&gt;patching file include/global_settings.php&lt;br /&gt;patching file include/plugins.php&lt;br /&gt;patching file include/top_graph_header.php&lt;br /&gt;patching file include/top_header.php&lt;br /&gt;Hunk #1 FAILED at 22.&lt;br /&gt;1 out of 4 hunks FAILED -- saving rejects to file include/top_header.php.rej&lt;br /&gt;patching file index.php&lt;br /&gt;patching file lib/api_device.php&lt;br /&gt;patching file lib/auth.php&lt;br /&gt;patching file lib/functions.php&lt;br /&gt;patching file lib/html_form.php&lt;br /&gt;patching file lib/html.php&lt;br /&gt;patching file lib/plugins.php&lt;br /&gt;patching file lib/poller.php&lt;br /&gt;patching file lib/rrd.php&lt;br /&gt;patching file lib/variables.php&lt;br /&gt;patching file plugins/index.php&lt;br /&gt;patching file plugins.php&lt;br /&gt;patching file poller.php&lt;br /&gt;patching file user_admin.php&lt;br /&gt;patching file utilities.php &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 26:&lt;br /&gt;&lt;br /&gt;problem.....we need to get those two file from old location if we go ahed and do the patching&lt;br /&gt;&lt;br /&gt;let's go:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances cacti.orig]$ sudo cp -pv  include/top_header.php  /var/www/html/cacti/include/&lt;br /&gt;`include/top_header.php' -&gt; `/var/www/html/cacti/include/top_header.php'&lt;br /&gt;&lt;br /&gt;[bhaskar@Amazon-instances cacti.orig]$ sudo cp -pv auth_login.php /var/www/html/cacti/&lt;br /&gt;`auth_login.php' -&gt; `/var/www/html/cacti/auth_login.php'&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;So failed patched files are copied back to modified dir. &lt;br /&gt;&lt;br /&gt;Step 27:&lt;br /&gt;&lt;br /&gt;Applying patched for PIA in the database&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances cacti-plugin-arch]$ sudo mysql -u amazoncacti -p&lt;br /&gt;Enter password:&lt;br /&gt;Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;Your MySQL connection id is 1156&lt;br /&gt;Server version: 5.0.77 Source distribution&lt;br /&gt;&lt;br /&gt;Type 'help;' or '\h' for help. Type '\c' to clear the buffer.&lt;br /&gt;&lt;br /&gt;mysql&gt; show databases;&lt;br /&gt;+--------------------+&lt;br /&gt;| Database           |&lt;br /&gt;+--------------------+&lt;br /&gt;| information_schema |&lt;br /&gt;| cacti              |&lt;br /&gt;| test               |&lt;br /&gt;+--------------------+&lt;br /&gt;3 rows in set (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&gt; use cacti;&lt;br /&gt;Reading table information for completion of table and column names&lt;br /&gt;You can turn off this feature to get a quicker startup with -A&lt;br /&gt;&lt;br /&gt;Database changed&lt;br /&gt;mysql&gt; source pa.sql&lt;br /&gt;Query OK, 0 rows affected, 1 warning (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 0 rows affected, 1 warning (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 0 rows affected, 1 warning (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 0 rows affected, 1 warning (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&gt; &lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 28:&lt;br /&gt;&lt;br /&gt;Downloading plug ins&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ wget -c  http://cactiusers.org/downloads/discovery.gzip&lt;br /&gt;-2011-05-04 04:58:19-  http://cactiusers.org/downloads/discovery.gzip&lt;br /&gt;Resolving cactiusers.org... 209.189.228.151&lt;br /&gt;Connecting to cactiusers.org|209.189.228.151|:80... connected.&lt;br /&gt;HTTP request sent, awaiting response... 302 Found&lt;br /&gt;Location: http://mirror.cactiusers.org/downloads/plugins/discovery-0.8.5.tar.gz [following]&lt;br /&gt;-2011-05-04 04:58:21-  http://mirror.cactiusers.org/downloads/plugins/discovery-0.8.5.tar.gz&lt;br /&gt;Resolving mirror.cactiusers.org... 209.189.228.150&lt;br /&gt;Connecting to mirror.cactiusers.org|209.189.228.150|:80... connected.&lt;br /&gt;HTTP request sent, awaiting response... 200 OK&lt;br /&gt;Length: 30377 (30K) [application/x-gzip]&lt;br /&gt;Saving to: `discovery-0.8.5.tar.gz'&lt;br /&gt;&lt;br /&gt;100%[===================================================================================&gt;] 30,377      --.-K/s   in 0.1s&lt;br /&gt;&lt;br /&gt;2011-05-04 04:58:21 (219 KB/s) - `discovery-0.8.5.tar.gz' saved [30377/30377] &lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 29:&lt;br /&gt;&lt;br /&gt;Unzip it&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ tar -xvzf discovery-0.8.5.tar.gz&lt;/b&gt;&lt;br /&gt;discovery/README&lt;br /&gt;discovery/index.php&lt;br /&gt;discovery/discover.sql&lt;br /&gt;discovery/setup.php&lt;br /&gt;discovery/discover_template.php&lt;br /&gt;discovery/findhosts.php&lt;br /&gt;discovery/discover.php&lt;br /&gt;discovery/images/index.php&lt;br /&gt;discovery/images/tab_discover.gif&lt;br /&gt;discovery/config.php&lt;br /&gt;discovery/LICENSE &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 30:&lt;br /&gt;&lt;br /&gt;move the plug in dir to cacti's plugin dir&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;[bhaskar@Amazon-instances ~]$ sudo mv -v discovery /var/www/html/cacti/plugins/&lt;br /&gt;`discovery' -&gt; `/var/www/html/cacti/plugins/discovery'&lt;/b&gt; &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Step 31: &lt;br /&gt;&lt;br /&gt;Activate the plug in:&lt;br /&gt;&lt;br /&gt;put a line like this in /var/www/html/cacti/include/config.php&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;$plugins[] = 'discovery';&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;### For every extra downloaded plug in we need to put up a line like this.&lt;br /&gt;&lt;br /&gt;Now time for some graph..disk usage:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-9NhBY8stsQg/TcjbS6P1UcI/AAAAAAAAAFk/Xr2LhZysXaA/s1600/Screenshot-Graphs%2B-%253E%2BTree%2BMode%2B-%2BGoogle%2BChrome.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="194" width="320" src="http://3.bp.blogspot.com/-9NhBY8stsQg/TcjbS6P1UcI/AAAAAAAAAFk/Xr2LhZysXaA/s320/Screenshot-Graphs%2B-%253E%2BTree%2BMode%2B-%2BGoogle%2BChrome.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Here is another one memory usage:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-RA-6nOYX1TM/TcjbhSmWwMI/AAAAAAAAAFs/VRPNCHxRQNQ/s1600/Screenshot-Graphs%2B-%253E%2BTree%2BMode%2B-%2BGoogle%2BChrome-2.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="194" width="320" src="http://2.bp.blogspot.com/-RA-6nOYX1TM/TcjbhSmWwMI/AAAAAAAAAFs/VRPNCHxRQNQ/s320/Screenshot-Graphs%2B-%253E%2BTree%2BMode%2B-%2BGoogle%2BChrome-2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here one for the cpu usage;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-vcgQygKmBVI/TcjbxqVN26I/AAAAAAAAAF0/8Rb-Q6ICjuc/s1600/Screenshot-Graphs%2B-%253E%2BTree%2BMode%2B-%2BGoogle%2BChrome-3.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="194" width="320" src="http://2.bp.blogspot.com/-vcgQygKmBVI/TcjbxqVN26I/AAAAAAAAAF0/8Rb-Q6ICjuc/s320/Screenshot-Graphs%2B-%253E%2BTree%2BMode%2B-%2BGoogle%2BChrome-3.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here something for eth0 and processes;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-mxEu8Ss08Ic/TcjcAvKHhMI/AAAAAAAAAF8/J1Th_Za6ooI/s1600/Screenshot-Graphs%2B-%253E%2BTree%2BMode%2B-%2BGoogle%2BChrome-4.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="194" width="320" src="http://4.bp.blogspot.com/-mxEu8Ss08Ic/TcjcAvKHhMI/AAAAAAAAAF8/J1Th_Za6ooI/s320/Screenshot-Graphs%2B-%253E%2BTree%2BMode%2B-%2BGoogle%2BChrome-4.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope this will help. Cacti is certainly not the easiest graphing solutions..but very cool to have one.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-1928867414250922175?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/1928867414250922175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/05/cacti-implementation-on-centos-ami.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/1928867414250922175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/1928867414250922175'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/05/cacti-implementation-on-centos-ami.html' title='Cacti implementation on CentOS AMI'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-9NhBY8stsQg/TcjbS6P1UcI/AAAAAAAAAFk/Xr2LhZysXaA/s72-c/Screenshot-Graphs%2B-%253E%2BTree%2BMode%2B-%2BGoogle%2BChrome.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-3771117780750883562</id><published>2011-04-19T16:11:00.000+05:30</published><updated>2011-04-19T16:11:59.647+05:30</updated><title type='text'>Drush: A command line Drupal site manipulator</title><content type='html'>In this article I will touch a software called &lt;a href="http://groups.drupal.org/drush/commands"&gt;Drush&lt;/a&gt;, which essentially do the things like gems do for Ruby or easy_install does for python.&lt;br /&gt;&lt;br /&gt;I have installed drupal and using this command line utility I will show you how you can get things going on drupal without going into the web interface.&lt;br /&gt;&lt;br /&gt;So here we go:&lt;br /&gt;&lt;br /&gt;I am assuming drush has been installed in the GNU/Linux box by you people already;if not get it installed.Say I need to know the status of php conf file and drush version ;here is how you can get it:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_15:34:32_Tue Apr 19:~&amp;gt; sudo /usr/bin/drush status&lt;br /&gt;[sudo] password for bhaskar: &lt;br /&gt;PHP configuration     :  /etc/php5/cli/php.ini &lt;br /&gt;Drush version         :  3.3   &lt;/b&gt;     &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now if you want know the backend database information,then do&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_15:45:12_Tue Apr 19:/var/www/drupal&amp;gt; sudo /usr/bin/drush sql-conf&lt;br /&gt;Array&lt;br /&gt;(&lt;br /&gt;[driver] =&amp;gt; mysql&lt;br /&gt;[username] =&amp;gt; drupal&lt;br /&gt;[port] =&amp;gt; &lt;br /&gt;[host] =&amp;gt; localhost&lt;br /&gt;[database] =&amp;gt; drupaldb&lt;br /&gt;)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Right..cool ,now say you are curious to know modules comes with drupal about their status:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_15:45:14_Tue Apr 19:/var/www/drupal&amp;gt; sudo /usr/bin/drush sm&lt;br /&gt;Package          Name                                       Type    Status         Version &lt;br /&gt;CCK              Content (content)                          Module  Enabled        6.x-2.9 &lt;br /&gt;CCK              Content Copy (content_copy)                Module  Enabled        6.x-2.9 &lt;br /&gt;CCK              Content Permissions (content_permissions)  Module  Enabled        6.x-2.9 &lt;br /&gt;CCK              Fieldgroup (fieldgroup)                    Module  Enabled        6.x-2.9 &lt;br /&gt;CCK              Node Reference (nodereference)             Module  Enabled        6.x-2.9 &lt;br /&gt;CCK              Number (number)                            Module  Enabled        6.x-2.9 &lt;br /&gt;CCK              Option Widgets (optionwidgets)             Module  Enabled        6.x-2.9 &lt;br /&gt;CCK              Text (text)                                Module  Enabled        6.x-2.9 &lt;br /&gt;CCK              User Reference (userreference)             Module  Enabled        6.x-2.9 &lt;br /&gt;Core - optional  Aggregator (aggregator)                    Module  Enabled        6.20    &lt;br /&gt;Core - optional  Blog (blog)                                Module  Enabled        6.20    &lt;br /&gt;Core - optional  Blog API (blogapi)                         Module  Enabled        6.20    &lt;br /&gt;Core - optional  Book (book)                                Module  Not installed  6.20    &lt;br /&gt;Core - optional  Color (color)                              Module  Enabled        6.20    &lt;br /&gt;Core - optional  Comment (comment)                          Module  Enabled        6.20    &lt;br /&gt;Core - optional  Contact (contact)                          Module  Enabled        6.20    &lt;br /&gt;Core - optional  Content translation (translation)          Module  Not installed  6.20    &lt;br /&gt;Core - optional  Database logging (dblog)                   Module  Enabled        6.20    &lt;br /&gt;Core - optional  Forum (forum)                              Module  Enabled        6.20    &lt;br /&gt;Core - optional  Help (help)                                Module  Enabled        6.20    &lt;br /&gt;Core - optional  Locale (locale)                            Module  Not installed  6.20    &lt;br /&gt;Core - optional  Menu (menu)                                Module  Enabled        6.20    &lt;br /&gt;Core - optional  OpenID (openid)                            Module  Enabled        6.20    &lt;br /&gt;Core - optional  Path (path)                                Module  Enabled        6.20    &lt;br /&gt;Core - optional  PHP filter (php)                           Module  Enabled        6.20    &lt;br /&gt;Core - optional  Ping (ping)                                Module  Enabled        6.20    &lt;br /&gt;Core - optional  Poll (poll)                                Module  Enabled        6.20    &lt;br /&gt;Core - optional  Profile (profile)                          Module  Enabled        6.20    &lt;br /&gt;Core - optional  Search (search)                            Module  Enabled        6.20    &lt;br /&gt;Core - optional  Statistics (statistics)                    Module  Enabled        6.20    &lt;br /&gt;Core - optional  Syslog (syslog)                            Module  Enabled        6.20    &lt;br /&gt;Core - optional  Taxonomy (taxonomy)                        Module  Enabled        6.20    &lt;br /&gt;Core - optional  Throttle (throttle)                        Module  Enabled        6.20    &lt;br /&gt;Core - optional  Tracker (tracker)                          Module  Enabled        6.20    &lt;br /&gt;Core - optional  Trigger (trigger)                          Module  Enabled        6.20    &lt;br /&gt;Core - optional  Update status (update)                     Module  Enabled        6.20    &lt;br /&gt;Core - optional  Upload (upload)                            Module  Enabled        6.20    &lt;br /&gt;Core - required  Block (block)                              Module  Enabled        6.20    &lt;br /&gt;Core - required  Filter (filter)                            Module  Enabled        6.20    &lt;br /&gt;Core - required  Node (node)                                Module  Enabled        6.20    &lt;br /&gt;Core - required  System (system)                            Module  Enabled        6.20    &lt;br /&gt;Core - required  User (user)                                Module  Enabled        6.20    &lt;br /&gt;Other            Bluemarine (bluemarine)                    Theme   Disabled       6.20    &lt;br /&gt;Other            Chameleon (chameleon)                      Theme   Disabled       6.20    &lt;br /&gt;Other            Garland (garland)                          Theme   Enabled        6.20    &lt;br /&gt;Other            Marvin (marvin)                            Theme   Disabled       6.20    &lt;br /&gt;Other            Minnelli (minnelli)                        Theme   Disabled       6.20    &lt;br /&gt;Other            Pushbutton (pushbutton)                    Theme   Disabled       6.20&lt;/b&gt;    &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Let's say you want to install some module right? Go ahead and install it like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_15:48:23_Tue Apr 19:/var/www/drupal&amp;gt; sudo /usr/bin/drush dl diff&lt;br /&gt;Project diff (6.x-2.1) downloaded to /var/www/drupal/sites/all/modules/diff.                                                                                             [success]&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Here I have installed a module called "Diff",which basically do adds a tab for sufficiently permissioned users. The tab shows all revisions like standard Drupal but it also allows pretty viewing of all added/changed/deleted words between revisions.&lt;br /&gt;&lt;br /&gt;But installing module will not sufficient, we need to activate or enable them, so you need to do like below:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_15:51:41_Tue Apr 19:/var/www/drupal&amp;gt; sudo /usr/bin/drush en diff&lt;br /&gt;The following projects will be enabled: diff&lt;br /&gt;Do you really want to continue? (y/n): y&lt;br /&gt;diff was enabled successfully.                                                                                                                                           [ok]&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Cool...isn't it!!! Now we are going to refresh the database from command line like below;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_15:55:03_Tue Apr 19:/var/www/drupal&amp;gt; sudo /usr/bin/drush rf&lt;br /&gt;Refreshing update status information ...&lt;br /&gt;Done.&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Last but not the least to run a cron related to drupal like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_15:58:01_Tue Apr 19:/var/www/drupal&amp;gt; sudo /usr/bin/drush cron&lt;br /&gt;Cron run successfully.                                                                                                                                                   [success]&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-3771117780750883562?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/3771117780750883562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/04/drush-command-line-drupal-site.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/3771117780750883562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/3771117780750883562'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/04/drush-command-line-drupal-site.html' title='Drush: A command line Drupal site manipulator'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-3984312359543335898</id><published>2011-03-10T19:41:00.001+05:30</published><updated>2011-03-10T19:52:54.530+05:30</updated><title type='text'>Nagios saga</title><content type='html'>In this post I will tell how I was frustrated by the fact of my own ignorance.I was configuaring nagios host for service check and stumbled with an error spitting out the message like below: &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt; Name or service not known HTTP CRITICAL&lt;br /&gt; - Unable to open TCP socket &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;  I have had looked into nagios FAQ and google all over the place,but to my surprise I haven't had found any solution to this problem and of course the cause of it.Really surprised!!!  Now as the great man said once "Given enough eyeball software bug can be detected", it was none other ,but Eric.S. Raymods. Anyway I was taking it easily by knowing that I was doing it correct,Yes I was regarding that configuration. But may be little bit ignorance with conf syntax.Because When I tried to look for a string in specific site I forgot to enquote it ....oooops what a shame.  Any how once I checked the command line version of that perticular check and it shows the correct result.  Now the command line from nagios one of conf file called command.cfg, which hold a line for checking like below:  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Correct&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt; check_http -H yourwebsite -p portnumber -u the uri  -s "the string" -t time&lt;br /&gt;&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Wrong&lt;/b&gt;: &lt;br /&gt;&lt;br /&gt;instead I was doing like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;check_http -H yourwebsite -p portnumber -u the uri  -s the string -t time &lt;br /&gt;&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;If it is a single word , then you can use that word without quote;but having space in between it will not work and throw the above error. It was a basic mistake,a string should always be quoted if that string consists with words separetad  by space.&lt;br /&gt;&lt;br /&gt;Hope this will help. &lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-3984312359543335898?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/3984312359543335898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/03/nagios-saga.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/3984312359543335898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/3984312359543335898'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/03/nagios-saga.html' title='Nagios saga'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-1841325682207403152</id><published>2011-03-08T14:09:00.001+05:30</published><updated>2011-03-08T15:01:14.092+05:30</updated><title type='text'>How to install python related stuff through setuptools of python</title><content type='html'>In this article I will guide you through a step which might benefit you to get a better grasp of python related stuff.As I was discovering a specific piece of software and come across few thing related to python(recollecting my old day association with ZOPE).So,basically this is called "easy_install", which will help you to install python files and packages to your system.&lt;br /&gt;&lt;br /&gt;I am running Debian Sqeeze and not have that specific tool installed on it by default.So I went ahead and installed it first like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_13:30:23_Tue Mar 08:~&amp;gt;&lt;b&gt; sudo apt-get install python-setuptools&lt;/b&gt;&lt;br /&gt;Reading package lists... Done&lt;br /&gt;Building dependency tree&lt;br /&gt;Reading state information... Done&lt;br /&gt;The following packages were automatically installed and are no longer required:&lt;br /&gt;&amp;nbsp; libgnomecupsui1.0-1c2a xfonts-scalable xfonts-75dpi libdmx1 xfonts-100dpi libgnomecups1.0-1&lt;br /&gt;Use 'apt-get autoremove' to remove them.&lt;br /&gt;The following NEW packages will be installed:&lt;br /&gt;&amp;nbsp;&lt;b&gt; python-setuptools&lt;/b&gt;&lt;br /&gt;0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.&lt;br /&gt;Need to get 221 kB of archives.&lt;br /&gt;After this operation, 1,057 kB of additional disk space will be used.&lt;br /&gt;Get:1 http://ftp.us.debian.org/debian/ squeeze/main python-setuptools all 0.6.14-4 [221 kB]&lt;br /&gt;Fetched 221 kB in 4s (51.7 kB/s)&lt;br /&gt;Selecting previously deselected package python-setuptools.&lt;br /&gt;(Reading database ... 165516 files and directories currently installed.)&lt;br /&gt;Unpacking python-setuptools (from .../python-setuptools_0.6.14-4_all.deb) ...&lt;br /&gt;Setting up python-setuptools (0.6.14-4) ...&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;So the package name is&lt;b&gt; python-setuptools &lt;/b&gt;, once is installed it will install the "&lt;b&gt;easy_install&lt;/b&gt;" thing in your system.Now I have some file to be inflated in my system which has&lt;b&gt; .egg&lt;/b&gt; extension and which can read and understand by python installer.For that I have followed the below steps:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_13:30:51_Tue Mar 08:~&gt; &lt;b&gt;sudo /usr/bin/easy_install cssutils-0.9.7-py2.4.egg&lt;br /&gt;install_dir /usr/local/lib/python2.6/dist-packages/&lt;br /&gt;Processing cssutils-0.9.7-py2.4.egg&lt;br /&gt;creating /usr/local/lib/python2.6/dist-packages/cssutils-0.9.7-py2.4.egg&lt;br /&gt;Extracting cssutils-0.9.7-py2.4.egg to /usr/local/lib/python2.6/dist-packages&lt;br /&gt;Adding cssutils 0.9.7 to easy-install.pth file&lt;br /&gt;Installing csscombine script to /usr/local/bin&lt;br /&gt;Installing cssparse script to /usr/local/bin&lt;br /&gt;Installing csscapture script to /usr/local/bin&lt;br /&gt;&lt;br /&gt;Installed /usr/local/lib/python2.6/dist-packages/cssutils-0.9.7-py2.4.egg&lt;br /&gt;Processing dependencies for cssutils==0.9.7&lt;br /&gt;Searching for cssutils==0.9.7&lt;br /&gt;Reading http://pypi.python.org/simple/cssutils/&lt;br /&gt;Reading http://cthedot.de/cssutils/&lt;br /&gt;Reading http://code.google.com/p/cssutils/downloads/list&lt;br /&gt;Best match: cssutils 0.9.7&lt;br /&gt;Downloading http://pypi.python.org/packages/2.6/c/cssutils/cssutils-0.9.7-py2.6.egg#md5=6fc9ef19579645a97d3f7c028f35d54c&lt;br /&gt;Processing cssutils-0.9.7-py2.6.egg&lt;br /&gt;creating /usr/local/lib/python2.6/dist-packages/cssutils-0.9.7-py2.6.egg&lt;br /&gt;Extracting cssutils-0.9.7-py2.6.egg to /usr/local/lib/python2.6/dist-packages&lt;br /&gt;Removing cssutils 0.9.7 from easy-install.pth file&lt;br /&gt;Adding cssutils 0.9.7 to easy-install.pth file&lt;br /&gt;Installing csscombine script to /usr/local/bin&lt;br /&gt;Installing cssparse script to /usr/local/bin&lt;br /&gt;Installing csscapture script to /usr/local/bin&lt;br /&gt;&lt;br /&gt;Installed /usr/local/lib/python2.6/dist-packages/cssutils-0.9.7-py2.6.egg&lt;br /&gt;Finished processing dependencies for cssutils==0.9.7&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Installing pyinotify&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;This is a module which helps to track file related activity on GNU/Linux system with the help of filesystems &lt;b&gt;inotify&lt;/b&gt; modules.Here is how you can installed it:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_14:52:08_Tue Mar 08:~/Downloads/wimleers-fileconveyor-207361c/code&gt; sudo easy_install pyinotify&lt;br /&gt;install_dir /usr/local/lib/python2.6/dist-packages/&lt;br /&gt;Searching for pyinotify&lt;br /&gt;Reading http://pypi.python.org/simple/pyinotify/&lt;br /&gt;Reading http://github.com/seb-m/pyinotify&lt;br /&gt;Best match: pyinotify 0.9.1&lt;br /&gt;Downloading http://pypi.python.org/packages/source/p/pyinotify/pyinotify-0.9.1.tar.gz#md5=c22b12c31aeb19c387b2f1885b9b04b5&lt;br /&gt;Processing pyinotify-0.9.1.tar.gz&lt;br /&gt;Running pyinotify-0.9.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-H4WKcs/pyinotify-0.9.1/egg-dist-tmp-CK1S6N&lt;br /&gt;WARNING: '' not a valid package name; please use only.-separated package names in setup.py&lt;br /&gt;zip_safe flag not set; analyzing archive contents...&lt;br /&gt;Adding pyinotify 0.9.1 to easy-install.pth file&lt;br /&gt;&lt;br /&gt;Installed /usr/local/lib/python2.6/dist-packages/pyinotify-0.9.1-py2.6.egg&lt;br /&gt;Processing dependencies for pyinotify&lt;br /&gt;Finished processing dependencies for pyinotify&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So you can see in the above output that how easy_install works.Like the way gem work for ruby.&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-1841325682207403152?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/1841325682207403152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/03/how-to-install-python-related-stuff.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/1841325682207403152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/1841325682207403152'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/03/how-to-install-python-related-stuff.html' title='How to install python related stuff through setuptools of python'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-4941564207252090116</id><published>2011-03-05T12:48:00.002+05:30</published><updated>2011-03-05T19:18:39.963+05:30</updated><title type='text'>Manage httpd/apache server through puppet</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In this article I will show you that you can manage box running apache/httpd server through a configuration management software called &lt;a href="http://www.puppetlabs.com/" linkindex="19"&gt;puppet&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Being in the corporate network infrastructure will gobbles up hell lot of your invaluable time doing same thing over and over again if you are not exposed to the correct tools and obviously to correct technology.So finding the right tool and get accustomed with it is a very much required.&lt;br /&gt;&lt;br /&gt;So I am going to give a brief snapshot of how a configuration system like puppet come to your rescue. It's a swiss army knife for any sensible person involve in infrastructure.Yes, those of you doing it for over the years might be get accustomed with cfengine(a beast,indeed!!),chef et al.&lt;br /&gt;&lt;br /&gt;Without much ado..here we go:&lt;br /&gt;&lt;br /&gt;I have installed puppet in my system....&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_10:48:20_Sat Mar 05:~&amp;gt; sudo genlop -t puppet                                                                                                               &lt;br /&gt;Password:                                                                                                                                                                         &lt;br /&gt;* &lt;b&gt;app-admin/puppet                                                                                                                                                               &lt;br /&gt;&lt;br /&gt;Wed Apr  7 07:32:45 2010 &amp;gt;&amp;gt;&amp;gt; app-admin/puppet-0.25.4-r1                                                                                                                      &lt;br /&gt;merge time: 23 seconds.                                                                                                                                                    &lt;br /&gt;&lt;br /&gt;Tue Aug  3 08:03:31 2010 &amp;gt;&amp;gt;&amp;gt; app-admin/puppet-0.25.5                                                                                                                         &lt;br /&gt;merge time: 29 seconds.                               &lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now the next step is to configure a service which should be maintained by puppet. I have chose to take of apache/httpd configuration file. So first thing ,we need to go to the puppet installed base dir,means where puppet put configuration  and manifest files.If the manifest directory is missing then please create it.Mine look like this :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_10:48:30_Sat Mar 05:~&amp;gt; ls -al /etc/puppet                                                                                                                  &lt;br /&gt;total 24                                                                                                                                                                          &lt;br /&gt;drwxr-xr-x  3 root root 4096 Mar  5 10:09 .                                                                                                                                       &lt;br /&gt;drwxr-xr-x 95 root root 4096 Mar  5 09:40 ..                                                                                                                                      &lt;br /&gt;-rw-r--r--  1 root root 2346 Aug  3  2010 auth.conf                                                                                                                               &lt;br /&gt;-rw-r--r--  1 root root  378 Aug  3  2010 fileserver.conf                                                                                                                         &lt;br /&gt;drwxr-xr-x  3 root root 4096 Mar  5 10:10 manifests                                                                                                                               &lt;br /&gt;-rw-r--r--  1 root root 1080 Feb 19 15:11 puppet.conf&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This is almost default to the puppet configuration structure.Now inside that manifest folder I have created a dir called service,which hold my service I want to check with puppet.Here is view of it:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_10:59:28_Sat Mar 05:/etc/puppet/manifests/services&amp;gt; ll                                                                                                     &lt;br /&gt;total 4                                                                                                                                                                           &lt;br /&gt;-rw-r--r-- 1 root root 496 Apr  7  2010 apache.pp  &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;As you can see I have created a file called apache.pp, now let me show you what it look like inside:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;1 class apache {&lt;br /&gt;2     package {&lt;br /&gt;3             apache:&lt;br /&gt;4                 ensure =&amp;gt; installed&lt;br /&gt;5             }&lt;br /&gt;6 &lt;br /&gt;7     file {&lt;br /&gt;8         "httpd.conf":&lt;br /&gt;9           mode =&amp;gt; 644,&lt;br /&gt;10           owner =&amp;gt; root,&lt;br /&gt;11           group =&amp;gt; root,&lt;br /&gt;12           path =&amp;gt; "/etc/apache2/httpd.conf",&lt;br /&gt;13           source =&amp;gt; "puppet://bhaskar-laptop.localdomain/files/httpd.conf",&lt;br /&gt;14        }&lt;br /&gt;15 &lt;br /&gt;16     service {&lt;br /&gt;17            apache2:&lt;br /&gt;18               ensure =&amp;gt; true,&lt;br /&gt;19               enable =&amp;gt; true,&lt;br /&gt;20               subscribe =&amp;gt; [ File["httpd.conf"], Package [apache] ],&lt;br /&gt;21             }&lt;br /&gt;22     }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Pretty ordinary stuff, right!! indeed because puppet authors made it easy for us ordinary mortals.But having said that a small amount of OOP(object oriented programming) not harmful at all,rather help you to understand the structure more elaborately.&lt;br /&gt;&lt;br /&gt;Isn't that file content self explanatory,if not..like me to understand others code...bit by bit for you ;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Line 1 to 5&lt;/b&gt;: What essentially a class ,which hold a tag related to service,then it has variable called "ensure" which will check that the package or service installed in the system.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Line 7 to 14&lt;/b&gt; : It has file section ,in which I am checking the main apache configuration file,with the permission and ownership of it.We need to mention the path where the file actually located in the system.&lt;br /&gt;&lt;br /&gt;Line number 13 is tricky to many like me: it essentially the place from where puppet client server the files,for that we need to specify that path into a file just above level directory called &lt;b&gt;fileserver.conf&lt;/b&gt;.And we need to copy that file that place from that original file location.Here is the visual representation of what I said above:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_11:13:07_Sat Mar 05:/var/lib/puppet/files&amp;gt; &lt;b&gt;sudo cp -v /etc/apache2/httpd.conf /var/lib/puppet/files/ &lt;/b&gt;   &lt;br /&gt;`/etc/apache2/httpd.conf' -&amp;gt; `/var/lib/puppet/files/httpd.conf'  &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And the file holding the path is look like this and reside here /etc/puppet/fileserver.conf&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;1 # This file consists of arbitrarily named sections/modules&lt;br /&gt;2 # defining where files are served from and to whom&lt;br /&gt;3 &lt;br /&gt;4 # Define a section 'files'&lt;br /&gt;5 # Adapt the allow/deny settings to your needs. Order&lt;br /&gt;6 # for allow/deny does not matter, allow always takes precedence&lt;br /&gt;7 # over deny&lt;br /&gt;8 [files]&lt;br /&gt;9   &lt;b&gt;path /var/lib/puppet/files&lt;/b&gt;&lt;br /&gt;10 #  allow *.example.com&lt;br /&gt;11 #  deny *.evil.example.com&lt;br /&gt;12 #  allow 192.168.0.0/24&lt;br /&gt;13   &lt;b&gt;allow bhaskar-laptop&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;I hope I made it clear to you folks!  Now the last part of the file:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Line number 16 to 20:&lt;/b&gt; it is a service section we are trying to monitor and manage.it said that the service should be enable and it make sure of it. And it subscribed to the package it holds and the main file related to it.&lt;br /&gt;&lt;br /&gt;Now if you change the file permission of the apache main configuration file or changes to that file ..next time the puppetd client run it will restore back the previous conf..so bring back the sanity to the system.&lt;br /&gt;&lt;br /&gt;Here is an example:&lt;br /&gt;I am going to change the permission of the httpd.conf which has presently has this perm:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_11:34:25_Sat Mar 05:~&amp;gt; ls -al /etc/apache2/httpd.conf &lt;br /&gt;&lt;b&gt;-rw-r--r-- 1 root root 6516 Jul 22  2010 /etc/apache2/httpd.conf&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now change to some thing like below:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_11:36:42_Sat Mar 05:~&amp;gt; &lt;b&gt;sudo chmod 640 /etc/apache2/httpd.conf&lt;/b&gt; &lt;br /&gt;bhaskar@bhaskar-laptop_11:37:31_Sat Mar 05:~&amp;gt; ls -al /etc/apache2/httpd.conf &lt;br /&gt;&lt;b&gt;-rw-r----- 1 root root 6516 Jul 22  2010 /etc/apache2/httpd.conf&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now two option we have: either we wait until the next time the puppet client run and bring back the sanity or do that immediately,which is why like this;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_12:38:39_Sat Mar 05:~&amp;gt; sudo /usr/sbin/puppetd --server bhaskar-laptop --test&lt;br /&gt;info: Caching catalog for bhaskar-laptop                                                                                                                                          &lt;br /&gt;info: Applying configuration version '1299308926'                                                                                                                                 &lt;br /&gt;&lt;b&gt;notice: //File[httpd.conf]/mode: mode changed '640' to '644'      &lt;/b&gt;                                                                                                                &lt;br /&gt;notice: Finished catalog run in 0.35 seconds                                                                                                                                      &lt;br /&gt;&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;So it bring back to it sanity,here is the evidence,compare with earlier listing with same file:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_12:38:47_Sat Mar 05:~&amp;gt; ls -al /etc/apache2/httpd.conf                                                                                                      &lt;br /&gt;&lt;b&gt;-rw-r--r-- 1 root root 6516 Jul 22  2010 /etc/apache2/httpd.conf&lt;/b&gt; &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ok, I have touched tip of an iceburg..it can be tweaked and configured leap and bounds and possibilities are aplenty.&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-4941564207252090116?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/4941564207252090116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/03/manage-httpdapache-server-through.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/4941564207252090116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/4941564207252090116'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/03/manage-httpdapache-server-through.html' title='Manage httpd/apache server through puppet'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-8825825666520598338</id><published>2011-01-25T15:22:00.001+05:30</published><updated>2011-01-25T15:26:05.671+05:30</updated><title type='text'>How to fix security loophole in Gentoo</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;Security is an ongoing matter for all the open system. So it's upto the guy who in charge of it and some company forces it too.In this article I will show you how you can fix the security hole in Gentoo.&lt;br /&gt;&lt;br /&gt;Say you come to know that an security vulnarability has found on some particular and that software were loaded in your box.Here is how you can fix those:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_15:03:56_Tue Jan 25:~&amp;gt; &lt;b&gt;sudo glsa-check -f all&lt;br /&gt;fixing 200812-12&lt;br /&gt;fixing 200802-11&lt;br /&gt;fixing 200705-23&lt;br /&gt;fixing 200406-17&lt;br /&gt;fixing 200804-13&lt;br /&gt;fixing 200409-20&lt;br /&gt;fixing 200708-01&lt;br /&gt;fixing 200801-18&lt;br /&gt;fixing 201001-04&lt;br /&gt;fixing 201011-01&lt;br /&gt;fixing 200909-11&lt;br /&gt;fixing 200509-13&lt;br /&gt;fixing 200612-16&lt;br /&gt;fixing 200606-25&lt;br /&gt;fixing 200405-22&lt;br /&gt;fixing 200711-17&lt;br /&gt;fixing 200510-19&lt;br /&gt;fixing 201006-20&lt;br /&gt;fixing 200602-08&lt;br /&gt;fixing 200310-03&lt;br /&gt;fixing 200506-16&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;....output is omitted for the sake of brevity, Yes,you spotted it right,&lt;b&gt;glsa-check&lt;/b&gt; is an utility in Gentoo system to check security.Once it finished running then just run this command with different arguments; like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_15:05:34_Tue Jan 25:~&amp;gt; &lt;b&gt;sudo glsa-check -l affected&lt;br /&gt;[A] means this GLSA was already applied,&lt;br /&gt;[U] means the system is not affected and&lt;br /&gt;[N] indicates that the system might be affected.&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now let me tell you that those alphabet in the left side within square bracket come with different colors. The A will be on normal white,the U will be green and the N in red.Important part to check how many N you have .&lt;br /&gt;&lt;br /&gt;So,one tiny utility can do wonder,indeed.You can put it into the cron to run it periodically.&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-8825825666520598338?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/8825825666520598338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/01/how-to-fix-security-loophole-in-gentoo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/8825825666520598338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/8825825666520598338'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/01/how-to-fix-security-loophole-in-gentoo.html' title='How to fix security loophole in Gentoo'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-7375482660253796822</id><published>2011-01-13T09:04:00.000+05:30</published><updated>2011-01-13T09:04:26.467+05:30</updated><title type='text'>MySQL : A little security tip</title><content type='html'>In this article I am going to show you a little trick about MySQL ,which might help you to prevent some attack on production database server.Every MySQL server has a root user attached to it and for intruders it's very easy to guess that and launch attack on it.&lt;br /&gt;&lt;br /&gt;Here is how you can change the root user name for that MySQL server :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_08:55:51_Thu Jan 13:~&gt; sudo mysql -u root -p  &lt;/b&gt;                                                                                                             &lt;br /&gt;Enter password:                                                                                                                                                                   &lt;br /&gt;Welcome to the MySQL monitor.  Commands end with ; or \g.                                                                                                                         &lt;br /&gt;Your MySQL connection id is 26                                                                                                                                                    &lt;br /&gt;Server version: 5.1.51-log Gentoo Linux mysql-5.1.51                                                                                                                              &lt;br /&gt;                                                                                                                                                                                  &lt;br /&gt;Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.                                                                                                      &lt;br /&gt;This software comes with ABSOLUTELY NO WARRANTY. This is free software,                                                                                                           &lt;br /&gt;and you are welcome to modify and redistribute it under the GPL v2 license                                                                                                        &lt;br /&gt;                                                                                                                                                                                  &lt;br /&gt;Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.                                                                                                    &lt;br /&gt;                                                                                                                                                                                  &lt;br /&gt;mysql&gt;use mysql;                                                                                                                                                                 &lt;br /&gt;mysql&gt; update user set password=PASSWORD("NEWPASSWORD") where                                                                                                                     &lt;br /&gt;User='&lt;userid&gt;';                                                                                                                                                                  &lt;br /&gt;mysql&gt; flush privileges;                                                                                                                                                          &lt;br /&gt;mysql&gt; quit                                 &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;That's all!!&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-7375482660253796822?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/7375482660253796822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2011/01/mysql-little-security-tip.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/7375482660253796822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/7375482660253796822'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2011/01/mysql-little-security-tip.html' title='MySQL : A little security tip'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-3078070801431682418</id><published>2010-12-15T10:41:00.001+05:30</published><updated>2010-12-15T18:55:51.515+05:30</updated><title type='text'>Fetch mail from Gmail through Mutt</title><content type='html'>&lt;a href="http://www.mutt.org/" linkindex="20"&gt;&lt;b&gt;Mutt&lt;/b&gt;&lt;/a&gt;&amp;nbsp; is a wonderful mail client ,which is commandline based. I have been using it for quite some time now.In this article I will show you how you can get mail from your gmail account.&lt;br /&gt;&lt;br /&gt;If you don't have it then please get it from the specific OS repository or the link provided at the begining of this article.&lt;br /&gt;&lt;br /&gt;I am sitting on Gentoo and I got it like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_09:46:16_Wed Dec 15:~&amp;gt; sudo emerge -av mutt                                                                                                                &lt;br /&gt;Password:                                                                                                                                                                         &lt;br /&gt;&lt;br /&gt;These are the packages that would be merged, in order:                                                                                                                            &lt;br /&gt;&lt;br /&gt;Calculating dependencies... done!                                                                                                                                                 &lt;br /&gt;[ebuild   R   ] mail-client/mutt-1.5.20-r18  USE="berkdb crypt gdbm nls ssl -debug -doc* -gnutls* -gpg* -idn -imap* -mbox* -nntp -pop* -qdbm -sasl* -sidebar -smime* -smtp* -tokyocabinet" 0 kB                                                                                                                                                                     &lt;br /&gt;&lt;br /&gt;Total: 1 package (1 reinstall), Size of downloads: 0 kB                                                                                                                           &lt;br /&gt;&lt;br /&gt;Would you like to merge these packages? [Yes/No]                           &lt;/b&gt;                                                                                                       &lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So I already have it in my system so there is no point getting it again.Let me check out when I got this;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_09:49:46_Wed Dec 15:~&amp;gt; sudo genlop -t mutt                                                                                                                 &lt;br /&gt;* mail-client/mutt                                                                                                                                                               &lt;br /&gt;&lt;br /&gt;Wed Nov 24 11:16:02 2010 &amp;gt;&amp;gt;&amp;gt; mail-client/mutt-1.5.20-r18                                                                                                                     &lt;br /&gt;merge time: 10 minutes and 53 seconds.&lt;/b&gt; &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Anyway ,it deflates configuration files in /etc/mutt like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_09:51:46_Wed Dec 15:/etc/mutt&amp;gt; ls&lt;br /&gt;Muttrc  Muttrc.dist  mime.types  mime.types.dist&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;       &lt;br /&gt;&lt;br /&gt;Now What I do;read few article on the internet about gmail integration with mutt(which I will provide the link in the resource section at the bottom of this post).Now I have copied the Muttrc file to my home dir and make adjustment to that file.&lt;br /&gt;&lt;br /&gt;My personal .Muttrc look like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;1 # Some minimal Mutt settings, Gentoo-style.  Since mutt was installed&lt;br /&gt;2 # with USE=mbox, this file doesn't have any changes from the default&lt;br /&gt;3 # mutt settings, making it very minimal indeed...&lt;br /&gt;4 #&lt;br /&gt;5 # Please don't add settings to this file to change other user&lt;br /&gt;6 # preferences (such as colors), since those can be hard for a user to&lt;br /&gt;7 # undo if their preference doesn't match yours!  For example, it is&lt;br /&gt;8 # *impossible* currently in mutt to remove color settings from objects&lt;br /&gt;9 # other than the index.&lt;br /&gt;10 #&lt;br /&gt;11 &lt;br /&gt;12  set imap_user="unixbhaskar@gmail.com"&lt;br /&gt;13  set imap_pass=""&lt;br /&gt;14  set pager_context=1&lt;br /&gt;15  set pager_index_lines=6                 #show a mini-index in pager&lt;br /&gt;16  set menu_scroll&lt;br /&gt;17  set pgp_verify_sig=no                   #dont show pgp in pager&lt;br /&gt;18  set status_on_top                       #put status line at top&lt;br /&gt;19  set sort=threads                        #sort by message threads in index&lt;br /&gt;20 #&lt;br /&gt;21  set status_format=" %r %b %f %n      Del %d      Msgs %m %l %&amp;gt; (%P)"&lt;br /&gt;22  set pager_format="%-10.10i %[!%a %b %d %R]"&lt;br /&gt;23  set date_format="!%H:%M %a %d %b     "&lt;br /&gt;24  set index_format="%4C %Z %[%b%d] %-15.15F %s"&lt;br /&gt;25  set folder_format="%2C %t %8s %d %N %f"&lt;br /&gt;26 #&lt;br /&gt;27 # #set sendmail="/usr/bin/nbsmtp -d isp.net -h smtp.isp.net -f yourname@isp.net"&lt;br /&gt;28 #&lt;br /&gt;29  set from="unixbhaskar@gmail.com"         #set to your from address&lt;br /&gt;30  set realname="Bhaskar Chowdhury"&lt;br /&gt;31 #&lt;br /&gt;32 # set record="$home/sent"        #sent mail is saved here&lt;br /&gt;33  set delete=yes                          #delete without prompting&lt;br /&gt;34  set include=yes                         #quote msg in reply&lt;br /&gt;35  set fast_reply=yes                      #no prompting on reply&lt;br /&gt;36  set beep=no                             #no noise&lt;br /&gt;37  set markers=no                          #no + on wrapped lines&lt;br /&gt;38  set confirmappend=no                    #no prompt for save to =keep&lt;br /&gt;39  set to_chars=" +TCF"                    #no L for mail_list&lt;br /&gt;40 #&lt;br /&gt;41  set folder = "imaps://imap.gmail.com:993"&lt;br /&gt;42  set spoolfile = "+INBOX"&lt;br /&gt;43  set postponed ="+[Gmail]/Drafts"&lt;br /&gt;44 &lt;br /&gt;45  set header_cache =~/.mutt/cache/headers&lt;br /&gt;46  set message_cachedir =~/.mutt/cache/bodies&lt;br /&gt;47  #mailboxes =inbox&lt;br /&gt;48 # mailboxes =gentoo-dev&lt;br /&gt;49 # mailboxes =gentoo-announce&lt;br /&gt;50 # mailboxes =gentoo&lt;br /&gt;51 # mailboxes =freshmeat&lt;br /&gt;52 # mailboxes =duplicates&lt;br /&gt;53 # mailboxes =default&lt;br /&gt;54 # mailboxes =friends&lt;br /&gt;55 # mailboxes =junk&lt;br /&gt;56 # mailboxes =spam&lt;br /&gt;57 # mailboxes =keep&lt;br /&gt;58 #&lt;br /&gt;59 set smtp_url = "smtp://unixbhaskar@smtp.gmail.com:587/"&lt;br /&gt;60 set smtp_pass = ""&lt;br /&gt;61 save-hook .* =keep                      #default mbox to (s)ave mail is =keep&lt;br /&gt;62 # subscribe gentoo-user gentoo-dev        #subscribed to these lists&lt;br /&gt;63 #&lt;br /&gt;64 # bind pager h display-toggle-weed        #toggle headers with h key&lt;br /&gt;65 #&lt;br /&gt;66 # # simulate the old url menu&lt;br /&gt;67  macro index \cb |urlview\n 'call urlview to extract URLs out of a message'&lt;br /&gt;68  macro pager \cb |urlview\n 'call urlview to extract URLs out of a message'&lt;br /&gt;69 #&lt;br /&gt;70 # #run fetchmail by hitting key of G&lt;br /&gt;71  macro index G "!fetchmail -a -m 'procmail -d %T'\r"&lt;br /&gt;72  macro pager G "!fetchmail -a -m 'procmail -d %T'\r"&lt;br /&gt;73 #&lt;br /&gt;74 # #use to edit .muttrc and then source it...no restart necessary&lt;br /&gt;75 # macro generic ,sm ":source $HOME/.muttrc\r"&lt;br /&gt;76 # macro generic \cj "!rxvt -bg wheat -e joe $HOME/.muttrc\r"&lt;br /&gt;77 #&lt;br /&gt;78 # # default list of header fields to weed out when displaying mail&lt;br /&gt;79 # #ignore them all and then unignore what you want to see&lt;br /&gt;80 # ignore *&lt;br /&gt;81  unignore  Date To From: Subject X-Mailer Organization User-Agent&lt;br /&gt;82  hdr_order Date From To Subject X-Mailer User-Agent Organization&lt;br /&gt;83 #&lt;br /&gt;84 # ##your Mutt has to have some colors&lt;br /&gt;85 # ##these are for four levels of quoted text&lt;br /&gt;86 # ##they override the system settings in /etc/mutt/Muttrc&lt;br /&gt;87 #&lt;br /&gt;88 # #color quoted green  default&lt;br /&gt;89  color quoted1 magenta blue&lt;br /&gt;90 # #color quoted2 yellow default&lt;br /&gt;91 # #color quoted3 red default&lt;br /&gt;92 # #color signature cyan cyan&lt;br /&gt;93 #&lt;br /&gt;94 #&lt;br /&gt;95 # #this color setup is copied from /etc/mutt/Muttrc.color&lt;br /&gt;96 # #comment it out if you want the default colors in /etc/mutt/Muttrc&lt;br /&gt;97 # # Je vois la vie en rose :-)&lt;br /&gt;98  color   hdrdefault      brightcyan      blue&lt;br /&gt;99  color   header          brightwhite     blue "^from:"&lt;br /&gt;100  color   header          brightwhite     blue   "^subject:"&lt;br /&gt;101 #&lt;br /&gt;102  color   quoted          brightgreen     blue&lt;br /&gt;103  color   signature       brightwhite     blue&lt;br /&gt;104 #&lt;br /&gt;105  color   indicator       blue            green&lt;br /&gt;106 #&lt;br /&gt;107  color   error           red             black&lt;br /&gt;108  mono    error           bold&lt;br /&gt;109  color   status          black cyan&lt;br /&gt;110  mono    status          bold&lt;br /&gt;111  color   tree            yellow          blue&lt;br /&gt;112 #&lt;br /&gt;113  color   tilde           brightmagenta   blue&lt;br /&gt;114  color   body            brightwhite     blue    "[-a-z_0-9.]+@[-a-z_0-9.]+"&lt;br /&gt;115   mono    body            bold                    "[-a-z_0-9.]+@[-a-z_0-9.]+"&lt;br /&gt;116  color   body            brightyellow    black   "^Good signature"&lt;br /&gt;117  mono    body            bold                    "^Good signature"&lt;br /&gt;118  color   body            brightwhite     red     "^Bad signature from.*"&lt;br /&gt;119  mono    body            bold                    "^Bad signature from.*"&lt;br /&gt;120  color   normal          white           blue&lt;br /&gt;121  color   message         green           black&lt;br /&gt;122  color   attachment      brightgreen     blue&lt;br /&gt;123 #&lt;br /&gt;124 # # End of file...but it can go on and on and on....:)&lt;br /&gt;125 #&lt;br /&gt;&lt;br /&gt;&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;So the next job is to invoke mutt from the commandline like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mutt&lt;br /&gt;&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;and here is the outcome of that..it's connecting to gmail..&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_HIOtZgK0jTU/TQhFQNP2ZHI/AAAAAAAAADo/GYxbfkBhsL8/s1600/mutt1.png" imageanchor="1" linkindex="21" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_HIOtZgK0jTU/TQhFQNP2ZHI/AAAAAAAAADo/GYxbfkBhsL8/s320/mutt1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Now look at the bottom of the picture it fetching the header of those messages(it doesn't download the whole message).Only when you select the message for viewing then only mutt download the whole message.Once it get the headers it shows off the inbox like below:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_HIOtZgK0jTU/TQjAuRoVszI/AAAAAAAAADs/gsKsrovmhoA/s1600/Screenshot-bhaskar%2540%253A%257E.png" imageanchor="1" linkindex="22" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://1.bp.blogspot.com/_HIOtZgK0jTU/TQjAuRoVszI/AAAAAAAAADs/gsKsrovmhoA/s320/Screenshot-bhaskar%2540%253A%257E.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Once the the headers are fetched it display the mail boxes you have with Gmail.Then you need to choose the proper box to show off those mails reside in it.Now select the any inbox and press enter then:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_HIOtZgK0jTU/TQjBWojUDPI/AAAAAAAAADw/tjZNaIvbVwI/s1600/Screenshot2-bhaskar%2540%253A%257E-1.png" imageanchor="1" linkindex="23" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://4.bp.blogspot.com/_HIOtZgK0jTU/TQjBWojUDPI/AAAAAAAAADw/tjZNaIvbVwI/s320/Screenshot2-bhaskar%2540%253A%257E-1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Anyway you can also integrate GnuPG with it for encryption and signing. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Resources:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1) http://www.andrews-corner.org/mutt.html&lt;br /&gt;&lt;br /&gt;2) http://wiki.mutt.org/index.cgi?MuttGuide&lt;br /&gt;&lt;br /&gt;3) http://crunchbanglinux.org/wiki/howto/howto_setup_mutt_with_gmail_imap&lt;br /&gt;&lt;br /&gt;4) http://www.faqs.org/docs/Linux-HOWTO/Mutt-GnuPG-PGP-HOWTO.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-3078070801431682418?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/3078070801431682418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/12/fetch-mail-from-gmail-through-mutt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/3078070801431682418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/3078070801431682418'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/12/fetch-mail-from-gmail-through-mutt.html' title='Fetch mail from Gmail through Mutt'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_HIOtZgK0jTU/TQhFQNP2ZHI/AAAAAAAAADo/GYxbfkBhsL8/s72-c/mutt1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-6578754145725373021</id><published>2010-11-19T07:18:00.002+05:30</published><updated>2010-11-20T18:38:45.189+05:30</updated><title type='text'>NetSurf - A graphical-browser for emergency browsing</title><content type='html'>In this post I will investigate a commandline graphical browser(run without X) which I was unaware of till two days back.I am pretty much well versed with &lt;b&gt;&lt;a href="http://lynx.browser.org/" linkindex="23"&gt;lynx&lt;/a&gt;&lt;/b&gt; and &lt;b&gt;&lt;a href="http://elinks.cz/" linkindex="24"&gt;elinks.&lt;/a&gt;&lt;/b&gt; . The new found(mentioned the source in the resource section at the bottom of the post) one called &lt;b&gt;&lt;a href="http://www.netsurf-browser.org/" linkindex="25"&gt;netsurf&lt;/a&gt;&lt;/b&gt; .I have tried to install it from the source available on Fedora 12 ,but failed to do so due to lack of patience.&lt;br /&gt;&lt;br /&gt;Now I am sitting on Debian Lenny as it in the repository so it;s really make easy to install and use it.So I get it like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_06:00:11_Fri Nov 19:~&amp;gt; sudo aptitude install netsurf&lt;/b&gt;&lt;br /&gt;Reading package lists... Done&lt;br /&gt;Building dependency tree&lt;br /&gt;Reading state information... Done&lt;br /&gt;Reading extended state information&lt;br /&gt;Initializing package states... Done&lt;br /&gt;Reading task descriptions... Done&lt;br /&gt;The following NEW packages will be installed:&lt;br /&gt;&lt;b&gt;netsurf&lt;/b&gt;&lt;br /&gt;0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.&lt;br /&gt;Need to get 411kB of archives. After unpacking 1217kB will be used.&lt;br /&gt;Writing extended state information... Done&lt;br /&gt;Get:1 http://http.us.debian.org stable/main netsurf 1.2-1 [411kB]&lt;br /&gt;Fetched 411kB in 1min52s (3641B/s)&lt;br /&gt;Selecting previously deselected package netsurf.&lt;br /&gt;(Reading database ... 112830 files and directories currently installed.)&lt;br /&gt;Unpacking netsurf (from .../netsurf_1.2-1_i386.deb) ...&lt;br /&gt;Processing triggers for menu ...&lt;br /&gt;Processing triggers for man-db ...&lt;br /&gt;&lt;b&gt;Setting up netsurf (1.2-1&lt;/b&gt;) ...&lt;br /&gt;Processing triggers for menu ...&lt;br /&gt;Reading package lists... Done&lt;br /&gt;Building dependency tree&lt;br /&gt;Reading state information... Done&lt;br /&gt;Reading extended state information&lt;br /&gt;Initializing package states... Done&lt;br /&gt;Writing extended state information... Done&lt;br /&gt;Reading task descriptions... Done&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Once it is installed it just a cakewalk.I invoked it like below:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_06:07:41_Fri Nov 19:~&amp;gt; /usr/bin/netsurf http://linux-nfs.org&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;(netsurf:5351): libglade-WARNING **: could not find signal handler 'on_menupopup_navigate_activate'.&lt;br /&gt;&lt;br /&gt;(netsurf:5351): Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem&lt;br /&gt;&lt;br /&gt;(netsurf:5351): Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem&lt;br /&gt;&lt;br /&gt;(netsurf:5351): Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem&lt;br /&gt;&lt;br /&gt;(netsurf:5351): Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem&lt;br /&gt;&lt;br /&gt;(netsurf:5351): Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem&lt;br /&gt;&lt;br /&gt;(netsurf:5351): Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem&lt;br /&gt;&lt;br /&gt;(netsurf:5351): Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem&lt;br /&gt;&lt;br /&gt;(netsurf:5351): Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem&lt;br /&gt;&lt;br /&gt;(netsurf:5351): Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem&lt;br /&gt;&lt;br /&gt;(netsurf:5351): Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now the gtk-thing pop up like below;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_HIOtZgK0jTU/TOXVpwmz_DI/AAAAAAAAADk/n9o8HpQRgz0/s1600/Screenshot-NFS+client+patches+for+Linux+-+NetSurf.png" imageanchor="1" linkindex="26" style="margin-left: 1em; margin-right: 1em;"&gt;&amp;nbsp;&lt;img border="0" height="192" src="http://2.bp.blogspot.com/_HIOtZgK0jTU/TOXVpwmz_DI/AAAAAAAAADk/n9o8HpQRgz0/s320/Screenshot-NFS+client+patches+for+Linux+-+NetSurf.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Now few noticeable thing about it that it &lt;b&gt;doesn't support tab feature&lt;/b&gt;.And lot of normal plug-in might be missing.But in case of headless server it will be as useful as other cli-browser.Second it heavily depend on GTK, so you have to have it installed in the system to get it work.&lt;br /&gt;&lt;br /&gt;Plus you need to check out the dependency when building from source from their web site to get it straight.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Resources:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1) http://soosck.wordpress.com/2010/11/16/netsurf-graphical-web-browser-command-line-css/&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-6578754145725373021?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/6578754145725373021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/11/netsurf-cli-browser-for-emergency.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/6578754145725373021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/6578754145725373021'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/11/netsurf-cli-browser-for-emergency.html' title='NetSurf - A graphical-browser for emergency browsing'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_HIOtZgK0jTU/TOXVpwmz_DI/AAAAAAAAADk/n9o8HpQRgz0/s72-c/Screenshot-NFS+client+patches+for+Linux+-+NetSurf.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-6100799537645822769</id><published>2010-11-17T08:23:00.003+05:30</published><updated>2010-11-17T08:52:46.380+05:30</updated><title type='text'>The mystery behind LUN(Logical Unit Number)</title><content type='html'>After being amazed and bewildered for sometime and listening to people talking so geeky about it ;I decided to unearth few intricacies about it.As we all know few parts of the world where people making simple thing complicated to others which benifit few blunt headed idiots to get cheap credit and save thier arse.&lt;br /&gt;&lt;br /&gt;Oh! by the way forgot to mention that(those of you ignore the title)this is all about telling some intricacies about &lt;b&gt;LUN(Logical Unit Number)&lt;/b&gt; .So without much ado lets dive into it.&lt;br /&gt;&lt;br /&gt;Let me give you a clear cut definition I have come across so far is this &lt;b&gt;"A LUN is a Logical Unit Number. It can be used to refer to an entire physical disk, or a subset of a larger physical disk or disk volume. The physical disk or disk volume could be an entire single disk drive, a partition (subset) of a single disk drive, or disk volume from a RAID controller comprising multiple disk drives aggregated together for larger capacity and redundancy. LUNs represent a logical abstraction or, if you prefer, virtualization layer between the physical disk device/volume and the applications."&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;So how can you detect the LUN?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;So there are two common ways to detect it,one is through /proc filesystes check and second is create a initrd image with it so time of os boot it can be detected.&lt;br /&gt;&lt;br /&gt;Take the first case by scanning the /proc filesystem check; we need to the following to get a sense of it or aware of it:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_06:55:52_Wed Nov 17:~&gt; sudo cat /proc/scsi/scsi &lt;/b&gt;&lt;br /&gt;Password: &lt;br /&gt;Attached devices:&lt;br /&gt;Host: scsi0 Channel: 00 Id: 00 Lun: 00&lt;br /&gt;Vendor: ATA      Model: ST9160821AS      Rev: 3.BH&lt;br /&gt;Type:   Direct-Access                    ANSI  SCSI revision: 05&lt;br /&gt;Host: scsi3 Channel: 00 Id: 00 Lun: 00&lt;br /&gt;Vendor: Optiarc  Model: DVD RW AD-7560A  Rev: DH10&lt;br /&gt;Type:   CD-ROM                           ANSI  SCSI revision: 05&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;As you can see it from the out of that scan of /proc filesystem.Now the next one getting the LUN thing detected when the os boots.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Detect LUNs automatically at system boot&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The second method of configuring LUNs for a Linux system with only LUN 0 configured involves setting the parameter for the SCSI mid-layer driver that controls how many LUNs are scanned during a SCSI bus scan. The following procedure works for both 2.4 and 2.6 kernels, but it assumes the SCSI mid-layer driver is compiled as a scsi_mod module that is loaded automatically at system boot time. For Linux 2.4 kernels, to set the maximum number of disk devices under Linux to properly detect all volumes, you need to set the max_scsi_luns option for the SCSI mid-layer driver. For example, if max_scsi_luns is set to 1 this limits SCSI bus scans to only LUN 0. This value should be set to the respective maximum number of disks the kernel can support, for example, 128 or 256. In Linux 2.6 kernels, the same procedure applies, except that the parameter has been renamed from max_scsi_luns to max_luns.&lt;br /&gt;&lt;br /&gt;1. Edit the /etc/modules.conf file.&lt;br /&gt;2. Add the following line:&lt;br /&gt;* options scsi_mod max_scsi_luns=&lt;n&gt; (where &lt;n&gt; is the total number of luns to probe.&lt;br /&gt;3. Save the file.&lt;br /&gt;4. Run the mkinitrd command to rebuild the ram-disk associated with the current kernel. You can use the following figures examples of what mkinitrd command to run for your operating system. &lt;kernel&gt; refers to the ‘uname –r’ output which displays the currently running kernel level, for example:. 2.4.21-292-smp.&lt;br /&gt;For SUSE distributions, use the following command:&lt;br /&gt;&lt;br /&gt;cd /boot&lt;br /&gt;mkinitrd –k vmlinuz-&lt;kernel&gt; -i initrd-&lt;kernel&gt;&lt;br /&gt;&lt;br /&gt;For Red Hat distributions, use the following command:&lt;br /&gt;&lt;br /&gt;cd /boot&lt;br /&gt;mkinitrd –v initrd-&lt;kernel&gt;.img &lt;kernel&gt;&lt;br /&gt;&lt;br /&gt;5. Reboot the host.&lt;br /&gt;6. Verify that the boot files are correctly configured for the newly created initrd image in the /boot/grub/menu.lst file.&lt;br /&gt;&lt;br /&gt;The basics behind it somewhat is this LUNs are created as a basic part of the storage provisioning process using software tools that typically accompany the particular storage platform. However, there is not a 1-to-1 ratio between drives and LUNs. Many LUNs can easily be carved out of a single disk drive.&lt;br /&gt;&lt;br /&gt;For example, a 500 GB drive can be partitioned into one 200 GB LUN and one 300 GB LUN, which would appear as two unique drives to the host server. Conversely, storage administrators can employ Logical Volume Manager software to combine multiple LUNs into a larger volume. Veritas Volume Manager from Symantec Corp. is one example of this software. In actual practice, disks are first gathered into a RAID group for larger capacity and redundancy (e.g., RAID-50), and then LUNs are carved from that RAID group.&lt;br /&gt;&lt;br /&gt;LUNs are often referred to as logical "volumes," reflecting the traditional use of drive volume letters, such as volume C: or volume F: on your computer. But some experts warn against mixing the two terms, noting that the term "volume" is often used to denote the large volume created when multiple LUNs are combined with volume manager software. In this context, a volume may involve numerous LUNs and can confuse storage allocation. &lt;br /&gt;&lt;br /&gt;Once created, LUNs can also be shared between multiple servers. For example, a LUN might be shared between an active and standby server. If the active server fails, the standby server can immediately take over. However, it can be catastrophic for multiple servers to access the same LUN simultaneously without a means of coordinating changed blocks to ensure data integrity. Cooordinating data changes requires clustering software, such as a clustered volume manager, a clustered file system, a clustered application or a network file system using NFS or CIFS.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;LUN scaling and performance&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;LUNs are based on disks, so LUN performance and reliability will vary for the same reasons. For example, a LUN carved from a Fibre Channel 15K rpm disk will perform far better than a LUN of the same size taken from a 7,200 rpm SATA disk. This is also true of LUNs based on RAID arrays where the mirroring of a RAID-0 group may offer significantly different performance than the parity protection of a RAID-5 or RAID-6/dual parity (DP) group. Proper RAID group configuration will have a profound impact on LUN performance.&lt;br /&gt;&lt;br /&gt;An organization may utilize hundreds or even thousands of LUNs, so the choice of storage resources has vast implications for a storage administrator. Not only is it necessary to supply an application with adequate capacity (in gigabytes), but the LUN must also be drawn from disk storage with suitable characteristics.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;LUN management tools&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Since an enterprise array may host more than 10,000 LUNs, software tools are vital for efficient LUN creation, manipulation and reporting. Such management tools are readily available; almost every storage vendor provides some type of management software to accompany products ranging from direct-attached storage (DAS) devices to enterprise arrays.&lt;br /&gt;&lt;br /&gt;Administrators typically opt for vendor-specific or heterogeneous tools. A data center with one storage array or a single-vendor shop would do well with the indigenous LUN management tool that accompanied their storage system. Multivendor shops should at least consider heterogeneous tools that allow LUN management across all of the storage platforms. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A LUN management tool should also support the entire storage provisioning process. Features should include mapping to specific array ports and masking specific host bus adapters (HBA), along with comprehensive reporting. The LUN management tool should also be able to reclaim storage that is no longer needed. Although a few LUN management products support autonomous provisioning, some administrators have reservations about such automation. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;SAN zoning and masking&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;LUNs are the basic vehicle for delivering storage, but provisioning SAN storage isn't just a matter of creating LUNs or volumes; the SAN fabric itself must be configured so that disks and their LUNs are matched to the appropriate servers. Proper configuration helps to manage storage traffic and maintain SAN security by preventing any server from accessing any LUN.&lt;br /&gt;&lt;br /&gt;Zoning makes it possible for devices in a Fibre Channel network to see each other. By limiting the visibility of end devices, servers (hosts) can only see and access storage devices that are placed into the same zone. In more practical terms, zoning allows certain servers to see one or more ports on a disk array. Bandwidth, and thus minimum service levels, can be reserved by dedicating certain ports to a zone or isolate incompatible ports from one another.&lt;br /&gt;&lt;br /&gt;Zoning is an important element of SAN security and high-availability SAN design. Zoning can typically be broken down into hard and soft zoning. With hard zoning, each device is assigned to a zone, and that assignment can never change. In soft zoning, the device assignments can be changed by the network administrator.&lt;br /&gt;&lt;br /&gt;LUN masking adds granularity to this concept. Just because you zone a server and disk together doesn't mean that the server should be able to see all of the LUNs on that disk. Once the SAN is zoned, LUNs are masked so that each host server can only see specific LUNs.&lt;br /&gt;&lt;br /&gt;Suppose that a disk has two LUNs: LUN_A and LUN_B. If we zoned two servers to that disk, both servers would see both LUNs. However, we can use LUN masking to allow one server to see only LUN_A and mask the other server to see only LUN_B. Port-based LUN masking is granular to the storage array port, so any disks on a given port will be accessible to any servers on that port. Server-based LUN masking is a bit more granular; a server will see only the LUNs assigned to it, regardless of the other disks or servers connected.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Adding/Removing a Logical Unit Through rescan-scsi-bus.sh&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The &lt;b&gt;sg3_utils&lt;/b&gt; package provides the rescan-scsi-bus.sh script, which can automatically update the logical unit configuration of the host as needed (after a device has been added to the system). The rescan-scsi-bus.sh script can also perform an issue_lip on supported devices. For more information about how to use this script, refer to rescan-scsi-bus.sh --help.&lt;br /&gt;To install the sg3_utils package, run &lt;b&gt;yum install sg3_utils&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Known Issues With rescan-scsi-bus.sh&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;When using the rescan-scsi-bus.sh script, take note of the following known issues:&lt;br /&gt;&lt;br /&gt;In order for rescan-scsi-bus.sh to work properly, LUN0 must be the first mapped logical unit. The rescan-scsi-bus.sh can only detect the first mapped logical unit if it is LUN0. The rescan-scsi-bus.sh will not be able to scan any other logical unit unless it detects the first mapped logical unit even if you use the --nooptscan option.&lt;br /&gt;&lt;br /&gt;A race condition requires that rescan-scsi-bus.sh be run twice if logical units are mapped for the first time. During the first scan, rescan-scsi-bus.sh only adds LUN0; all other logical units are added in the second scan.&lt;br /&gt;&lt;br /&gt;A bug in the rescan-scsi-bus.sh script incorrectly executes the functionality for recognizing a change in logical unit size when the --remove option is used.&lt;br /&gt;&lt;br /&gt;The rescan-scsi-bus.sh script does not recognize ISCSI logical unit removals. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Resources:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1) http://publib.boulder.ibm.com/infocenter/dsichelp/ds6000ic/index.jsp?topic=%2Fcom.ibm.storage.smric.help.doc%2Ff2c_linuxlunconfig_2hsaga.html&lt;br /&gt;&lt;br /&gt;2) http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/html/Online_Storage_Reconfiguration_Guide/rescan-scsi-bus.html&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-6100799537645822769?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/6100799537645822769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/11/mystery-behind-lunlogical-unit-number.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/6100799537645822769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/6100799537645822769'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/11/mystery-behind-lunlogical-unit-number.html' title='The mystery behind LUN(Logical Unit Number)'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-4695735508473214357</id><published>2010-11-05T19:56:00.002+05:30</published><updated>2010-11-09T11:47:20.559+05:30</updated><title type='text'>Let's deal with oddity : Remove filename with special char in them</title><content type='html'>Let's face it,everyone face some oddity sooner then later to deal with open system.I have had come across quite a lot over the decade and am going to share few in this article.&lt;br /&gt;&lt;br /&gt;Sometime people forget the basic thing and make things complicated. Like when they create a simple file they put arcane character in the name and it will create havoc in later stage.For example if someone create a file with "--" or "#" or some other character in the filename.Say one has a filename like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_18:35:12_Fri Nov 05:~&gt; touch -- -hey&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now you cannot list it like below:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_18:38:52_Fri Nov 05:~&gt; ls -l -hey&lt;/b&gt;&lt;br /&gt;ls: invalid option -- 'e'&lt;br /&gt;Try `ls --help' for more information.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Or&lt;br /&gt;&lt;br /&gt;delete it like below;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_18:39:00_Fri Nov 05:~&gt; rm -f -hey&lt;/b&gt;&lt;br /&gt;rm: invalid option -- 'h'&lt;br /&gt;Try `rm ./-hey' to remove the file `-hey'.&lt;br /&gt;Try `rm --help' for more information.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now this is hindering you to get rid of it or even worse to take backup from the system if that file included in the backup list.So how to get rid of it ..as we all know that file store all the information in &lt;b&gt;inode&lt;/b&gt;..so get it..&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_18:42:19_Fri Nov 05:~&gt; ls -i | grep hey&lt;br /&gt;655109 -hey&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now you can get rid of that file by inode like below:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;b&gt;bhaskar@bhaskar-laptop_18:50:14_Fri Nov 05:~&gt; find . -inum 655109 -exec rm -i {} \;&lt;br /&gt;rm: remove regular empty file `./-hey'? Y&lt;/b&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Hope this will help .&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-4695735508473214357?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/4695735508473214357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/11/lets-deal-with-oddity-remove-files-with.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/4695735508473214357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/4695735508473214357'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/11/lets-deal-with-oddity-remove-files-with.html' title='Let&apos;s deal with oddity : Remove filename with special char in them'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-5820737842420073072</id><published>2010-10-31T06:22:00.003+05:30</published><updated>2010-11-12T05:13:08.876+05:30</updated><title type='text'>Rsync : A handy tool to sync with</title><content type='html'>In this article I am going to show you some implication of &lt;a href="http://rsync.samba.org/"&gt;rsync &lt;/a&gt;tool.It is a tool often used by the web masters and system administrator to sync with various number of host across the network.Now what is the utility of having rsync under your armory? The advantage is quite useful.Here are few:&lt;br /&gt;&lt;br /&gt;** It can sync filesystem across the network&lt;br /&gt;&lt;br /&gt;** It can only sync the updated version the filesystem then the whole tree.&lt;br /&gt;&lt;br /&gt;** It is very useful to copy the entire web site ported to new host or hosts.&lt;br /&gt;&lt;br /&gt;** Rsync can do a various job related to backup procedure.&lt;br /&gt;&lt;br /&gt;support for copying links, devices, owners, groups, and permissions&lt;br /&gt;&lt;br /&gt;**      exclude and exclude-from options similar to GNU tar&lt;br /&gt;&lt;br /&gt;**     a CVS exclude mode for ignoring the same files that CVS would ignore&lt;br /&gt;&lt;br /&gt;**     can use any transparent remote shell, including ssh or rsh&lt;br /&gt;&lt;br /&gt;**     does not require super-user privileges&lt;br /&gt;&lt;br /&gt;**     pipelining of file transfers to minimize latency costs&lt;br /&gt;&lt;br /&gt;**      support for anonymous or authenticated rsync daemons (ideal for mirroring)&lt;br /&gt;&lt;br /&gt;Above stated advantages are name a few.Kindly look into the manual page of it.So,now I have four different partition and and I want to sync a particualr dir with all partiotn with a specific application running on all the OSes.&lt;br /&gt;&lt;br /&gt;The idea is to get it sync; because I want the information to be indentical across all the partitions(same can be applied to different hosts too over the network!!).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;How does it work?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You must set up one machine or another of a pair to be an "rsync server" by running rsync in a daemon mode ("rsync --daemon" at the commandline) and setting up a short, easy configuration file (/etc/rsyncd.conf). Below I'll detail a sample configuration file. The options are readily understood, few in number -- yet quite powerful.&lt;br /&gt;&lt;br /&gt;Any number of machines with rsync installed may then synchronize to and/or from the machine running the rsync daemon. You can use this to make backups, mirror filesystems, distribute files or any number of similar operations. Through the use of the "rsync algorithm" which transfers only the diffs between files (similar to a patch file) and then compressing them -- you are left with a very efficient system.&lt;br /&gt;&lt;br /&gt;For those of you new to secure shell ("ssh" for short), you should be using it! There's a very useful and quite thourough Getting Started with SSH document available. You may also want to visit the Secure Shell Web Site. Or, just hit the Master FTP Site in Finland and snag it for yourself. It provides a secure, encrypted "pipe" for your network traffic. You should be using it instead of telnet, rsh or rlogin and use the replacement "scp" command instead of "rcp." &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Setting up a Server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You must set up a configuration file on the machine meant to be a server and run the rsync binary in daemon mode. Even your rsync client machines can run rsync in daemon mode for two-way transfers. You can do this automatically for each connection via the inet daemon or at the commandline in standalone mode to leave it running in the background for often repeated rsyncs. .Plus there is a CGI script that folks fire off frequently during the day for immediate updating of content. This is a lot of rsync calls! If you start off the rsync daemon through your inet daemon, then you incur much more overhead with each rsync call. You basically restart the rsync daemon for every connection your server machine gets! It's the same reasoning as starting Apache in standalone mode rather than through the inet daemon. It's quicker and more efficient to start rsync in standalone mode if you anticipate a lot of rsync traffic. Otherwise, for the occasional transfer follow the procedure to fire off rsync via the inet daemon. This way the rsync daemon, as small as it is, doesn't sit in memory if you only use it once a day or whatever. Your call.&lt;br /&gt;&lt;br /&gt;Below is a sample rsync configuration file. It is placed in your /etc directory as &lt;span style="font-weight:bold;"&gt;rsyncd.conf&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;motd file = /etc/rsyncd.motd&lt;br /&gt;log file = /var/log/rsyncd.log&lt;br /&gt;pid file = /var/run/rsyncd.pid&lt;br /&gt;lock file = /var/run/rsync.lock&lt;br /&gt;&lt;br /&gt;[simple_path_name]&lt;br /&gt;path = /rsync_files_here&lt;br /&gt;comment = My Very Own Rsync Server&lt;br /&gt;uid = nobody&lt;br /&gt;gid = nobody&lt;br /&gt;read only = no&lt;br /&gt;list = yes&lt;br /&gt;auth users = username&lt;br /&gt;secrets file = /etc/rsyncd.scrt&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Various options that you would modify right from the start are the areas in italics in the sample above. I'll start at the top, line by line, and go through what you should pay attention to. What the sample above does is setup a single "path" for rsync transfers to that machine.&lt;br /&gt;&lt;br /&gt;Starting at the top are four lines specifying files and their paths for rsync running in daemon mode. The first is a "message of the day" (motd) file like you would use for an FTP server. This file's contents get displayed when clients connect to this machine. Use it as a welcome, warning or simply identification. The next line specifies a log file to send diagnostic and norml run-time messages to. The PID file contains the "process ID" (PID) number of the running rsync daemon. A lock file is used to ensure that things run smoothly. These options are global to the rsync daemon.&lt;br /&gt;&lt;br /&gt;The next block of lines is specific to a "path" that rsync uses. The options contained therein have effect only within the block (they're local, not global options). Start with the "path" name. It's somewhat confusing that rsync uses the term "path" -- as it's not necessarily a full pathname. It serves as an "rsync area nickname" of sorts. It's a short, easy to remember (and type!) name that you assign to a try filesystem path with all the options you specify. Here are the things you need to set up first and foremost:&lt;br /&gt;&lt;br /&gt;* path - this is the actual filesystem path to where the files are rsync'ed from and/or to.&lt;br /&gt;&lt;br /&gt;* comment - a short, descriptive explanation of what and where the path points to for listings.&lt;br /&gt;&lt;br /&gt;* auth users - you really should put this in to restrict access to only a pre-defined user that you specify in the following secrets file - does not have to be a valid system user.&lt;br /&gt;&lt;br /&gt;* secrets file - the file containing plaintext key/value pairs of usernames and passwords. &lt;br /&gt;&lt;br /&gt;One thing you should seriously consider is the "hosts allow" and "hosts deny" options for your path. Enter the IPs or hostnames that you wish to specifically allow or deny! If you don't do this, or at least use the "auth users" option, then basically that area of your filesystem is wide open to the world by anyone using rsync! Something I seriously think you should avoid...&lt;br /&gt;&lt;br /&gt;Check the rsyncd.conf man page with "man rsyncd.conf" and read it very carefully where security options are concerned. You don't want just anyone to come in and rsync up an empty directory with the "--delete" option, now do you?&lt;br /&gt;&lt;br /&gt;The other options are all explained in the man page for rsyncd.conf. Basically, the above options specify that the files are chmod'ed to uid/gid, the filesystem path is read/write and that the rsync path shows up in rsync listings. The rsync secrets file I keep in /etc/ along with the configuration and motd files, and I prefix them with "rsyncd." to keep them together. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For that reason I have mounted a partition which holds the updated version of the file and sync with others from that partition.&lt;br /&gt;&lt;br /&gt;Say my Gentoo partition is updated and I want to update Arch,Fedora and Debian with that...so I have mouted all of them in different designated dir under the / .&lt;br /&gt;&lt;br /&gt;Here is how I can sync that perticular file :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_06:55:11_Sun Oct 31:/srv/http/dokuwiki&gt; sudo /usr/bin/rsync -avrP data/ /Fedora/var/www/html/dokuwiki/&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;I will update the output of it once it finished.With rsync the trailing slash (/) has a big role to play.It signifies that you want to copy all the contents of that dir instead of the dir.Without the trailing slash rsync will copy the entire directory.Now some explanation about the flags I have passed with the rsync. Here is the meaning of those;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;a&lt;/span&gt; ------&gt; It says that in the format of archive&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;v&lt;/span&gt; -------&gt; verbose mode&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;r&lt;/span&gt; --------&gt; recursive mode&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;P&lt;/span&gt; ---------&gt; progress mode&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;It has many other useful options with deal with.Kindly look into the man pages for more details.But when you sync over the network you must use it over the ssh so the tunnel get secured during transfer.It has "&lt;span style="font-weight:bold;"&gt;-e&lt;/span&gt;" option which will allow you to pass an ssh option with it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Resources:&lt;/b&gt;&lt;br /&gt;1) http://troy.jdmz.net/rsync/index.html&lt;br /&gt;&lt;br /&gt;2) http://www.netbits.us/docs/stunnel_rsync.html&lt;br /&gt;&lt;br /&gt;3) http://www.linux-mag.com/id/7888/1/&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-5820737842420073072?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/5820737842420073072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/10/rsync-handy-tool-to-sync-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/5820737842420073072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/5820737842420073072'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/10/rsync-handy-tool-to-sync-with.html' title='Rsync : A handy tool to sync with'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-2932198031731620626</id><published>2010-10-14T16:48:00.008+05:30</published><updated>2010-10-14T23:19:04.499+05:30</updated><title type='text'>DokuWiki : An opensource wiki to maintain information</title><content type='html'>In this article I will show you how you can install and use &lt;a href="http://www.dokuwiki.org/dokuwiki"&gt;dokuwiki&lt;/a&gt; to keep your information in formatted manner.The biggest thing attract me that it uses flat file or plain text file to store information then backend database.So if you want to distribute the that file across different partition to get the same doc.Whereas in the corporate there should be separate dokuwiki server to maintain all the information.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Get the software:&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;bhaskar@bhaskar-laptop_16:24:53_Thu Oct 14:~/Documents&gt; sudo yum install dokuwiki&lt;/span&gt;&lt;br /&gt;[sudo] password for bhaskar:&lt;br /&gt;Loaded plugins: presto, refresh-packagekit&lt;br /&gt;google-chrome                                                                                                                         |  951 B     00:00&lt;br /&gt;google-chrome/primary                                                                                                                 | 3.1 kB     00:00&lt;br /&gt;google-chrome                                                                                                                                            5/5&lt;br /&gt;openvz-kernel-rhel5                                                                                                                   |  951 B     00:00&lt;br /&gt;openvz-utils                                                                                                                          |  951 B     00:00&lt;br /&gt;rpmfusion-free-updates                                                                                                                | 2.8 kB     00:00&lt;br /&gt;updates/metalink                                                                                                                      | 3.3 kB     00:00&lt;br /&gt;updates                                                                                                                               | 4.7 kB     00:01&lt;br /&gt;updates/primary_db                                                                                                                    | 5.0 MB     05:42&lt;br /&gt;updates-source/metalink                                                                                                               | 3.3 kB     00:00&lt;br /&gt;updates-source                                                                                                                        | 3.3 kB     00:00&lt;br /&gt;Setting up Install Process&lt;br /&gt;Package dokuwiki-0-0.4.20091225.c.fc12.noarch already installed and latest version&lt;br /&gt;Nothing to do&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So it says I already have it and yes I had it long time back.Lets check out:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;bhaskar@bhaskar-laptop_17:07:28_Thu Oct 14:~/Documents&gt; sudo rpm -qi dokuwiki&lt;/span&gt;&lt;br /&gt;[sudo] password for bhaskar:&lt;br /&gt;Name        : dokuwiki                     Relocations: (not relocatable)&lt;br /&gt;Version     : 0                                 Vendor: Fedora Project&lt;br /&gt;Release     : 0.4.20091225.c.fc12           Build Date: Tue 19 Jan 2010 04:23:45 PM IST&lt;br /&gt;Install Date: Thu 23 Sep 2010 03:51:04 PM IST      Build Host: x86-04.phx2.fedoraproject.org&lt;br /&gt;Group       : Applications/Internet         Source RPM: dokuwiki-0-0.4.20091225.c.fc12.src.rpm&lt;br /&gt;Size        : 6977076                          License: GPLv2&lt;br /&gt;Signature   : RSA/8, Tue 19 Jan 2010 04:53:04 PM IST, Key ID 9d1cc34857bbccba&lt;br /&gt;Packager    : Fedora Project&lt;br /&gt;URL         : http://www.dokuwiki.org/dokuwiki&lt;br /&gt;Summary     : Standards compliant simple to use wiki&lt;br /&gt;Description :&lt;br /&gt;DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating&lt;br /&gt;documentation of any kind. It has a simple but powerful syntax which makes sure&lt;br /&gt;the datafiles remain readable outside the Wiki and eases the creation of&lt;br /&gt;structured texts.&lt;br /&gt;&lt;br /&gt;All data is stored in plain text files no database is required.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Lets find out the file that installed by this software:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;/etc/dokuwiki&lt;br /&gt;/etc/dokuwiki/acl.auth.php&lt;br /&gt;/etc/dokuwiki/acronyms.conf&lt;br /&gt;/etc/dokuwiki/dokuwiki.php&lt;br /&gt;/etc/dokuwiki/entities.conf&lt;br /&gt;/etc/dokuwiki/interwiki.conf&lt;br /&gt;/etc/dokuwiki/license.php&lt;br /&gt;/etc/dokuwiki/local.php&lt;br /&gt;/etc/dokuwiki/mediameta.php&lt;br /&gt;/etc/dokuwiki/mime.conf&lt;br /&gt;/etc/dokuwiki/msg&lt;br /&gt;/etc/dokuwiki/scheme.conf&lt;br /&gt;/etc/dokuwiki/smileys.conf&lt;br /&gt;/etc/dokuwiki/users.auth.php&lt;br /&gt;/etc/dokuwiki/wordblock.conf&lt;br /&gt;/etc/dokuwiki/words.aspell&lt;br /&gt;/etc/httpd/conf.d/dokuwiki.conf&lt;br /&gt;/usr/share/doc/dokuwiki-0&lt;br /&gt;/usr/share/doc/dokuwiki-0/COPYING&lt;br /&gt;/usr/share/doc/dokuwiki-0/README&lt;br /&gt;/usr/share/doc/dokuwiki-0/VERSION&lt;br /&gt;/usr/share/doc/dokuwiki-0/mysql.conf.php.example&lt;br /&gt;/usr/share/dokuwiki&lt;br /&gt;/usr/share/dokuwiki/bin/dwpage.php&lt;br /&gt;/usr/share/dokuwiki/bin/indexer.php&lt;br /&gt;/usr/share/dokuwiki/bin/wantedpages.php&lt;br /&gt;/usr/share/dokuwiki/conf&lt;br /&gt;/usr/share/dokuwiki/doku.php&lt;br /&gt;/usr/share/dokuwiki/feed.php&lt;br /&gt;/usr/share/dokuwiki/inc&lt;br /&gt;/usr/share/dokuwiki/inc/DifferenceEngine.php&lt;br /&gt;/usr/share/dokuwiki/inc/FeedParser.php&lt;br /&gt;/usr/share/dokuwiki/inc/HTTPClient.php&lt;br /&gt;/usr/share/dokuwiki/inc/IXR_Library.php&lt;br /&gt;/usr/share/dokuwiki/inc/JSON.php&lt;br /&gt;/usr/share/dokuwiki/inc/JpegMeta.php&lt;br /&gt;/usr/share/dokuwiki/inc/SimplePie.php&lt;br /&gt;/usr/share/dokuwiki/inc/TarLib.class.php&lt;br /&gt;/usr/share/dokuwiki/inc/ZipLib.class.php&lt;br /&gt;/usr/share/dokuwiki/inc/actions.php&lt;br /&gt;/usr/share/dokuwiki/inc/adLDAP.php&lt;br /&gt;/usr/share/dokuwiki/inc/auth&lt;br /&gt;/usr/share/dokuwiki/inc/auth.php&lt;br /&gt;/usr/share/dokuwiki/inc/auth/ad.class.php&lt;br /&gt;/usr/share/dokuwiki/inc/auth/basic.class.php&lt;br /&gt;/usr/share/dokuwiki/inc/auth/ldap.class.php&lt;br /&gt;/usr/share/dokuwiki/inc/auth/mysql.class.php&lt;br /&gt;/usr/share/dokuwiki/inc/auth/pgsql.class.php&lt;br /&gt;/usr/share/dokuwiki/inc/auth/plain.class.php&lt;br /&gt;/usr/share/dokuwiki/inc/blowfish.php&lt;br /&gt;/usr/share/dokuwiki/inc/cache.php&lt;br /&gt;/usr/share/dokuwiki/inc/changelog.php&lt;br /&gt;/usr/share/dokuwiki/inc/cliopts.php&lt;br /&gt;/usr/share/dokuwiki/inc/common.php&lt;br /&gt;/usr/share/dokuwiki/inc/confutils.php&lt;br /&gt;/usr/share/dokuwiki/inc/events.php&lt;br /&gt;/usr/share/dokuwiki/inc/feedcreator.class.php&lt;br /&gt;/usr/share/dokuwiki/inc/form.php&lt;br /&gt;/usr/share/dokuwiki/inc/fulltext.php&lt;br /&gt;/usr/share/dokuwiki/inc/html.php&lt;br /&gt;/usr/share/dokuwiki/inc/httputils.php&lt;br /&gt;/usr/share/dokuwiki/inc/indexer.php&lt;br /&gt;/usr/share/dokuwiki/inc/infoutils.php&lt;br /&gt;/usr/share/dokuwiki/inc/init.php&lt;br /&gt;/usr/share/dokuwiki/inc/io.php&lt;br /&gt;/usr/share/dokuwiki/inc/lang&lt;br /&gt;/usr/share/dokuwiki/inc/lang/af&lt;br /&gt;/usr/share/dokuwiki/inc/lang/af/lang.php&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/admin.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/backlinks.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/conflict.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/denied.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/diff.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/draft.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/edit.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/editrev.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/index.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/lang.php&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/locked.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/login.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/mailtext.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/newpage.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/norev.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/password.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/preview.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/pwconfirm.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/read.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/recent.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/register.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/resendpwd.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/revisions.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/searchpage.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/showrev.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/stopwords.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/subscribermail.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/ar/updateprofile.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/admin.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/adminplugins.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/backlinks.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/conflict.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/denied.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/diff.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/draft.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/edit.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/editrev.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/index.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/install.html&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/lang.php&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/locked.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/login.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/mailtext.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/newpage.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/norev.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/password.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/preview.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/pwconfirm.txt&lt;br /&gt;/usr/share/dokuwiki/inc/lang/bg/read.txt&lt;br /&gt;&lt;br /&gt;.......output snipped for clarity&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Hell lot of files get installed by the software.Next move on to installation of this software.We must have the top tree in the web space scope to get access through the browser.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;bhaskar@bhaskar-laptop_17:20:58_Thu Oct 14:~/Documents&gt; ls -al /var/www/html/dokuwiki/&lt;/span&gt;&lt;br /&gt;total 44&lt;br /&gt;drwxr-xr-x. 6 root root  4096 2010-09-23 18:08 .&lt;br /&gt;drwxr-xr-x. 5 root root  4096 2010-09-24 18:15 ..&lt;br /&gt;drwxr-xr-x. 2 root root  4096 2010-09-23 15:50 bin&lt;br /&gt;drwxr-xr-x. 2 root root  4096 2010-09-23 18:10 conf&lt;br /&gt;-rw-r--r--. 1 root root  2258 2010-09-23 16:01 doku.php&lt;br /&gt;-rw-r--r--. 1 root root 11725 2010-01-17 16:05 feed.php&lt;br /&gt;drwxr-xr-x. 5 root root  4096 2010-09-23 15:50 inc&lt;br /&gt;-rw-r--r--. 1 root root   185 2010-09-23 16:09 index.php&lt;br /&gt;drwxr-xr-x. 9 root root  4096 2010-09-23 15:51 lib&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now next job is go to the browser and invoke&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;http://localhost/dokuwiki/install.php&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now a bit of file permission issue which might raised in the time or after the installation.Here is some point stright out of the dokuwiki site:&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Permissions for a file are dependent  of the file's owner and group and the user who tries to access the file&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; There are permissions for read,  write and execute&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Each UNIX process runs with the  permissions of an &lt;acronym title="Operating System"&gt;OS&lt;/acronym&gt; user  and his groups&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; The web server is a UNIX process&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;acronym title="Hypertext  Preprocessor"&gt;PHP&lt;/acronym&gt; usually runs as part of the web server&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; DokuWiki will run with the  permissions of the &lt;acronym title="Hypertext Preprocessor"&gt;PHP&lt;/acronym&gt;  processor&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; DokuWiki needs read, write and  execute permissions for directories it needs to create files in&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; DokuWiki needs read and write  permissions for files it needs to write to&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; DokuWiki needs read only permissions  for files and directories it doesn't need to write to&lt;/div&gt; &lt;/li&gt;&lt;/ul&gt;For more details on the permission setting see &lt;a href="http://www.dokuwiki.org/install:permissions"&gt;here&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;Now once you are up and running with proper setting of php(yes,dokuwiki depend on php and should integrated with a web server.In out case we use Apache)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But until you configure your web server properly you won't be able to get the proper thing about this software. So let me share the Apache config related to this software:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;1 # dokuwiki&lt;br /&gt; 2 # Standards compliant simple to use wiki&lt;br /&gt; 3 # 0&lt;br /&gt; 4 #&lt;br /&gt; 5 Alias /dokuwiki /var/www/html/dokuwiki&lt;br /&gt; 6 &lt;directory var="" www="" html="" dokuwiki=""&gt;&lt;br /&gt; 7         Options +FollowSymLinks&lt;br /&gt; 8         Order Allow,Deny&lt;br /&gt; 9         Allow from 127.0.0.1 ::1&lt;br /&gt;10 &lt;/directory&gt;&lt;br /&gt;11 &lt;directory var="" www="" html="" dokuwiki="" inc=""&gt;&lt;br /&gt;12         Order Deny,Allow&lt;br /&gt;13         Deny from all&lt;br /&gt;14 &lt;/directory&gt;&lt;br /&gt;15 &lt;directory var="" www="" html="" dokuwiki="" inc="" lang=""&gt;&lt;br /&gt;16         Order Deny,Allow&lt;br /&gt;17         Deny from all&lt;br /&gt;18 &lt;/directory&gt;&lt;br /&gt;19 &lt;directory var="" www="" html="" dokuwiki="" lib="" _fla=""&gt;&lt;br /&gt;20         ## no access to the fla directory&lt;br /&gt;21         Order allow,deny&lt;br /&gt;22         Deny from all&lt;br /&gt;23 &lt;/directory&gt;&lt;br /&gt;24 &lt;directory etc="" dokuwiki=""&gt;&lt;br /&gt;25         Order Deny,Allow&lt;br /&gt;26         Deny from all&lt;br /&gt;27 &lt;/directory&gt;&lt;br /&gt;~                                   &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So name it as dokuwiki.conf and put it in the /etc/apache| httpd/conf.d/&lt;br /&gt;&lt;br /&gt;Restart the Apache to and go to the browser to get the start page by visiting the url mentioned above.&lt;br /&gt;&lt;br /&gt;The dokuwiki file structure under the /etc looks like below:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;bhaskar@bhaskar-laptop_17:37:34_Thu Oct 14:/etc/dokuwiki&gt; ls&lt;/span&gt;&lt;br /&gt;acl.auth.php   dokuwiki.php   interwiki.conf  local.php      mime.conf  scheme.conf   users.auth.php  words.aspell&lt;br /&gt;acronyms.conf  entities.conf  license.php     mediameta.php  msg        smileys.conf  wordblock.conf&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Here it looks like on my system as I have created many pages with documentation,&lt;br /&gt;&lt;br /&gt;Dokuwiki :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_HIOtZgK0jTU/TLb0WDLzF_I/AAAAAAAAADU/NoeluEqDl-Q/s1600/Screenshot-start+%5BDokuWiki%5D+-+Swiftfox.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 194px;" src="http://4.bp.blogspot.com/_HIOtZgK0jTU/TLb0WDLzF_I/AAAAAAAAADU/NoeluEqDl-Q/s320/Screenshot-start+%5BDokuWiki%5D+-+Swiftfox.png" alt="" id="BLOGGER_PHOTO_ID_5527874252292954098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now it is blessed with ACL(Access Control List),so you can tighten the grip on web space file permission.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_17:37:34_Thu Oct 14:/etc/dokuwiki&gt; sudo getfacl /var/www/html/dokuwiki/&lt;/span&gt;&lt;br /&gt;[sudo] password for bhaskar: &lt;br /&gt;getfacl: Removing leading '/' from absolute path names&lt;br /&gt;# file: var/www/html/dokuwiki/&lt;br /&gt;# owner: root&lt;br /&gt;# group: root&lt;br /&gt;user::rwx&lt;br /&gt;group::r-x&lt;br /&gt;other::r-x&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now the files might have different permission for your case. &lt;br /&gt;&lt;br /&gt;To create a page you have click on the &lt;span style="font-weight:bold;"&gt;start &lt;/span&gt; hyperlink and it will provide you an empty page. On that page you have to click on the &lt;span style="font-weight:bold;"&gt;"create page"&lt;/span&gt; button to start working on it.&lt;br /&gt;&lt;br /&gt;Dokuwiki has it's own syntax to work with and is very easy to implement.Kindly glean over it's syntax page for details.&lt;br /&gt;&lt;br /&gt;Hope this will give you a fair idea how it works.If possible I might update this page later time with more details.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-2932198031731620626?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/2932198031731620626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/10/dokuwiki-opensource-wiki-to-maintain.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/2932198031731620626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/2932198031731620626'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/10/dokuwiki-opensource-wiki-to-maintain.html' title='DokuWiki : An opensource wiki to maintain information'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_HIOtZgK0jTU/TLb0WDLzF_I/AAAAAAAAADU/NoeluEqDl-Q/s72-c/Screenshot-start+%5BDokuWiki%5D+-+Swiftfox.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-9010150061393509677</id><published>2010-10-06T08:07:00.007+05:30</published><updated>2010-10-06T22:32:32.773+05:30</updated><title type='text'>Open Source Software Licenses</title><content type='html'>In this article we are going to talk about the open system/open source software licenses.As most of you are aware(if not please read and understand)how those licenses intend to do then apply them as you like.So lets meet those licenses that made an impact on open source development.Being an GNU/Linux consultant my one of the prime job to explain the licensing issue to my clients so they can understand what they adopt into their infrastructure.And as my second role as an GNU/Linux administrator I am very curious about the licensing factor to implements something into the production base.So what I will suggest please give yourself sometime and go through the below mentioned licenses to accustomed yourself better for deployment.&lt;br /&gt;&lt;br /&gt;Before we start one must know that Linux kernel is abide with &lt;a href="http://www.gnu.org/licenses/gpl-2.0.html"&gt;GPL v.2&lt;/a&gt; ,means all the codes are released under this license.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Free Document License:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;GNU Free Documentation License&lt;br /&gt;Version 1.2, November 2002&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.&lt;br /&gt;51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA&lt;br /&gt;Everyone is permitted to copy and distribute verbatim copies&lt;br /&gt;of this license document, but changing it is not allowed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;0. PREAMBLE&lt;br /&gt;&lt;br /&gt;The purpose of this License is to make a manual, textbook, or other&lt;br /&gt;functional and useful document "free" in the sense of freedom: to&lt;br /&gt;assure everyone the effective freedom to copy and redistribute it,&lt;br /&gt;with or without modifying it, either commercially or noncommercially.&lt;br /&gt;Secondarily, this License preserves for the author and publisher a way&lt;br /&gt;to get credit for their work, while not being considered responsible&lt;br /&gt;for modifications made by others.&lt;br /&gt;&lt;br /&gt;This License is a kind of "copyleft", which means that derivative&lt;br /&gt;works of the document must themselves be free in the same sense. It&lt;br /&gt;complements the GNU General Public License, which is a copyleft&lt;br /&gt;license designed for free software.&lt;br /&gt;&lt;br /&gt;We have designed this License in order to use it for manuals for free&lt;br /&gt;software, because free software needs free documentation: a free&lt;br /&gt;program should come with manuals providing the same freedoms that the&lt;br /&gt;software does. But this License is not limited to software manuals;&lt;br /&gt;it can be used for any textual work, regardless of subject matter or&lt;br /&gt;whether it is published as a printed book. We recommend this License&lt;br /&gt;principally for works whose purpose is instruction or reference.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. APPLICABILITY AND DEFINITIONS&lt;br /&gt;&lt;br /&gt;This License applies to any manual or other work, in any medium, that&lt;br /&gt;contains a notice placed by the copyright holder saying it can be&lt;br /&gt;distributed under the terms of this License. Such a notice grants a&lt;br /&gt;world-wide, royalty-free license, unlimited in duration, to use that&lt;br /&gt;work under the conditions stated herein. The "Document", below,&lt;br /&gt;refers to any such manual or work. Any member of the public is a&lt;br /&gt;licensee, and is addressed as "you". You accept the license if you&lt;br /&gt;copy, modify or distribute the work in a way requiring permission&lt;br /&gt;under copyright law.&lt;br /&gt;&lt;br /&gt;A "Modified Version" of the Document means any work containing the&lt;br /&gt;Document or a portion of it, either copied verbatim, or with&lt;br /&gt;modifications and/or translated into another language.&lt;br /&gt;&lt;br /&gt;A "Secondary Section" is a named appendix or a front-matter section of&lt;br /&gt;the Document that deals exclusively with the relationship of the&lt;br /&gt;publishers or authors of the Document to the Document's overall subject&lt;br /&gt;(or to related matters) and contains nothing that could fall directly&lt;br /&gt;within that overall subject. (Thus, if the Document is in part a&lt;br /&gt;textbook of mathematics, a Secondary Section may not explain any&lt;br /&gt;mathematics.) The relationship could be a matter of historical&lt;br /&gt;connection with the subject or with related matters, or of legal,&lt;br /&gt;commercial, philosophical, ethical or political position regarding&lt;br /&gt;them.&lt;br /&gt;&lt;br /&gt;The "Invariant Sections" are certain Secondary Sections whose titles&lt;br /&gt;are designated, as being those of Invariant Sections, in the notice&lt;br /&gt;that says that the Document is released under this License. If a&lt;br /&gt;section does not fit the above definition of Secondary then it is not&lt;br /&gt;allowed to be designated as Invariant. The Document may contain zero&lt;br /&gt;Invariant Sections. If the Document does not identify any Invariant&lt;br /&gt;Sections then there are none.&lt;br /&gt;&lt;br /&gt;The "Cover Texts" are certain short passages of text that are listed,&lt;br /&gt;as Front-Cover Texts or Back-Cover Texts, in the notice that says that&lt;br /&gt;the Document is released under this License. A Front-Cover Text may&lt;br /&gt;be at most 5 words, and a Back-Cover Text may be at most 25 words.&lt;br /&gt;&lt;br /&gt;A "Transparent" copy of the Document means a machine-readable copy,&lt;br /&gt;represented in a format whose specification is available to the&lt;br /&gt;general public, that is suitable for revising the document&lt;br /&gt;straightforwardly with generic text editors or (for images composed of&lt;br /&gt;pixels) generic paint programs or (for drawings) some widely available&lt;br /&gt;drawing editor, and that is suitable for input to text formatters or&lt;br /&gt;for automatic translation to a variety of formats suitable for input&lt;br /&gt;to text formatters. A copy made in an otherwise Transparent file&lt;br /&gt;format whose markup, or absence of markup, has been arranged to thwart&lt;br /&gt;or discourage subsequent modification by readers is not Transparent.&lt;br /&gt;An image format is not Transparent if used for any substantial amount&lt;br /&gt;of text. A copy that is not "Transparent" is called "Opaque".&lt;br /&gt;&lt;br /&gt;Examples of suitable formats for Transparent copies include plain&lt;br /&gt;ASCII without markup, Texinfo input format, LaTeX input format, SGML&lt;br /&gt;or XML using a publicly available DTD, and standard-conforming simple&lt;br /&gt;HTML, PostScript or PDF designed for human modification. Examples of&lt;br /&gt;transparent image formats include PNG, XCF and JPG. Opaque formats&lt;br /&gt;include proprietary formats that can be read and edited only by&lt;br /&gt;proprietary word processors, SGML or XML for which the DTD and/or&lt;br /&gt;processing tools are not generally available, and the&lt;br /&gt;machine-generated HTML, PostScript or PDF produced by some word&lt;br /&gt;processors for output purposes only.&lt;br /&gt;&lt;br /&gt;The "Title Page" means, for a printed book, the title page itself,&lt;br /&gt;plus such following pages as are needed to hold, legibly, the material&lt;br /&gt;this License requires to appear in the title page. For works in&lt;br /&gt;formats which do not have any title page as such, "Title Page" means&lt;br /&gt;the text near the most prominent appearance of the work's title,&lt;br /&gt;preceding the beginning of the body of the text.&lt;br /&gt;&lt;br /&gt;A section "Entitled XYZ" means a named subunit of the Document whose&lt;br /&gt;title either is precisely XYZ or contains XYZ in parentheses following&lt;br /&gt;text that translates XYZ in another language. (Here XYZ stands for a&lt;br /&gt;specific section name mentioned below, such as "Acknowledgements",&lt;br /&gt;"Dedications", "Endorsements", or "History".) To "Preserve the Title"&lt;br /&gt;of such a section when you modify the Document means that it remains a&lt;br /&gt;section "Entitled XYZ" according to this definition.&lt;br /&gt;&lt;br /&gt;The Document may include Warranty Disclaimers next to the notice which&lt;br /&gt;states that this License applies to the Document. These Warranty&lt;br /&gt;Disclaimers are considered to be included by reference in this&lt;br /&gt;License, but only as regards disclaiming warranties: any other&lt;br /&gt;implication that these Warranty Disclaimers may have is void and has&lt;br /&gt;no effect on the meaning of this License.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. VERBATIM COPYING&lt;br /&gt;&lt;br /&gt;You may copy and distribute the Document in any medium, either&lt;br /&gt;commercially or noncommercially, provided that this License, the&lt;br /&gt;copyright notices, and the license notice saying this License applies&lt;br /&gt;to the Document are reproduced in all copies, and that you add no other&lt;br /&gt;conditions whatsoever to those of this License. You may not use&lt;br /&gt;technical measures to obstruct or control the reading or further&lt;br /&gt;copying of the copies you make or distribute. However, you may accept&lt;br /&gt;compensation in exchange for copies. If you distribute a large enough&lt;br /&gt;number of copies you must also follow the conditions in section 3.&lt;br /&gt;&lt;br /&gt;You may also lend copies, under the same conditions stated above, and&lt;br /&gt;you may publicly display copies.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. COPYING IN QUANTITY&lt;br /&gt;&lt;br /&gt;If you publish printed copies (or copies in media that commonly have&lt;br /&gt;printed covers) of the Document, numbering more than 100, and the&lt;br /&gt;Document's license notice requires Cover Texts, you must enclose the&lt;br /&gt;copies in covers that carry, clearly and legibly, all these Cover&lt;br /&gt;Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on&lt;br /&gt;the back cover. Both covers must also clearly and legibly identify&lt;br /&gt;you as the publisher of these copies. The front cover must present&lt;br /&gt;the full title with all words of the title equally prominent and&lt;br /&gt;visible. You may add other material on the covers in addition.&lt;br /&gt;Copying with changes limited to the covers, as long as they preserve&lt;br /&gt;the title of the Document and satisfy these conditions, can be treated&lt;br /&gt;as verbatim copying in other respects.&lt;br /&gt;&lt;br /&gt;If the required texts for either cover are too voluminous to fit&lt;br /&gt;legibly, you should put the first ones listed (as many as fit&lt;br /&gt;reasonably) on the actual cover, and continue the rest onto adjacent&lt;br /&gt;pages.&lt;br /&gt;&lt;br /&gt;If you publish or distribute Opaque copies of the Document numbering&lt;br /&gt;more than 100, you must either include a machine-readable Transparent&lt;br /&gt;copy along with each Opaque copy, or state in or with each Opaque copy&lt;br /&gt;a computer-network location from which the general network-using&lt;br /&gt;public has access to download using public-standard network protocols&lt;br /&gt;a complete Transparent copy of the Document, free of added material.&lt;br /&gt;If you use the latter option, you must take reasonably prudent steps,&lt;br /&gt;when you begin distribution of Opaque copies in quantity, to ensure&lt;br /&gt;that this Transparent copy will remain thus accessible at the stated&lt;br /&gt;location until at least one year after the last time you distribute an&lt;br /&gt;Opaque copy (directly or through your agents or retailers) of that&lt;br /&gt;edition to the public.&lt;br /&gt;&lt;br /&gt;It is requested, but not required, that you contact the authors of the&lt;br /&gt;Document well before redistributing any large number of copies, to give&lt;br /&gt;them a chance to provide you with an updated version of the Document.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. MODIFICATIONS&lt;br /&gt;&lt;br /&gt;You may copy and distribute a Modified Version of the Document under&lt;br /&gt;the conditions of sections 2 and 3 above, provided that you release&lt;br /&gt;the Modified Version under precisely this License, with the Modified&lt;br /&gt;Version filling the role of the Document, thus licensing distribution&lt;br /&gt;and modification of the Modified Version to whoever possesses a copy&lt;br /&gt;of it. In addition, you must do these things in the Modified Version:&lt;br /&gt;&lt;br /&gt;A. Use in the Title Page (and on the covers, if any) a title distinct&lt;br /&gt;from that of the Document, and from those of previous versions&lt;br /&gt;(which should, if there were any, be listed in the History section&lt;br /&gt;of the Document). You may use the same title as a previous version&lt;br /&gt;if the original publisher of that version gives permission.&lt;br /&gt;B. List on the Title Page, as authors, one or more persons or entities&lt;br /&gt;responsible for authorship of the modifications in the Modified&lt;br /&gt;Version, together with at least five of the principal authors of the&lt;br /&gt;Document (all of its principal authors, if it has fewer than five),&lt;br /&gt;unless they release you from this requirement.&lt;br /&gt;C. State on the Title page the name of the publisher of the&lt;br /&gt;Modified Version, as the publisher.&lt;br /&gt;D. Preserve all the copyright notices of the Document.&lt;br /&gt;E. Add an appropriate copyright notice for your modifications&lt;br /&gt;adjacent to the other copyright notices.&lt;br /&gt;F. Include, immediately after the copyright notices, a license notice&lt;br /&gt;giving the public permission to use the Modified Version under the&lt;br /&gt;terms of this License, in the form shown in the Addendum below.&lt;br /&gt;G. Preserve in that license notice the full lists of Invariant Sections&lt;br /&gt;and required Cover Texts given in the Document's license notice.&lt;br /&gt;H. Include an unaltered copy of this License.&lt;br /&gt;I. Preserve the section Entitled "History", Preserve its Title, and add&lt;br /&gt;to it an item stating at least the title, year, new authors, and&lt;br /&gt;publisher of the Modified Version as given on the Title Page. If&lt;br /&gt;there is no section Entitled "History" in the Document, create one&lt;br /&gt;stating the title, year, authors, and publisher of the Document as&lt;br /&gt;given on its Title Page, then add an item describing the Modified&lt;br /&gt;Version as stated in the previous sentence.&lt;br /&gt;J. Preserve the network location, if any, given in the Document for&lt;br /&gt;public access to a Transparent copy of the Document, and likewise&lt;br /&gt;the network locations given in the Document for previous versions&lt;br /&gt;it was based on. These may be placed in the "History" section.&lt;br /&gt;You may omit a network location for a work that was published at&lt;br /&gt;least four years before the Document itself, or if the original&lt;br /&gt;publisher of the version it refers to gives permission.&lt;br /&gt;K. For any section Entitled "Acknowledgements" or "Dedications",&lt;br /&gt;Preserve the Title of the section, and preserve in the section all&lt;br /&gt;the substance and tone of each of the contributor acknowledgements&lt;br /&gt;and/or dedications given therein.&lt;br /&gt;L. Preserve all the Invariant Sections of the Document,&lt;br /&gt;unaltered in their text and in their titles. Section numbers&lt;br /&gt;or the equivalent are not considered part of the section titles.&lt;br /&gt;M. Delete any section Entitled "Endorsements". Such a section&lt;br /&gt;may not be included in the Modified Version.&lt;br /&gt;N. Do not retitle any existing section to be Entitled "Endorsements"&lt;br /&gt;or to conflict in title with any Invariant Section.&lt;br /&gt;O. Preserve any Warranty Disclaimers.&lt;br /&gt;&lt;br /&gt;If the Modified Version includes new front-matter sections or&lt;br /&gt;appendices that qualify as Secondary Sections and contain no material&lt;br /&gt;copied from the Document, you may at your option designate some or all&lt;br /&gt;of these sections as invariant. To do this, add their titles to the&lt;br /&gt;list of Invariant Sections in the Modified Version's license notice.&lt;br /&gt;These titles must be distinct from any other section titles.&lt;br /&gt;&lt;br /&gt;You may add a section Entitled "Endorsements", provided it contains&lt;br /&gt;nothing but endorsements of your Modified Version by various&lt;br /&gt;parties--for example, statements of peer review or that the text has&lt;br /&gt;been approved by an organization as the authoritative definition of a&lt;br /&gt;standard.&lt;br /&gt;&lt;br /&gt;You may add a passage of up to five words as a Front-Cover Text, and a&lt;br /&gt;passage of up to 25 words as a Back-Cover Text, to the end of the list&lt;br /&gt;of Cover Texts in the Modified Version. Only one passage of&lt;br /&gt;Front-Cover Text and one of Back-Cover Text may be added by (or&lt;br /&gt;through arrangements made by) any one entity. If the Document already&lt;br /&gt;includes a cover text for the same cover, previously added by you or&lt;br /&gt;by arrangement made by the same entity you are acting on behalf of,&lt;br /&gt;you may not add another; but you may replace the old one, on explicit&lt;br /&gt;permission from the previous publisher that added the old one.&lt;br /&gt;&lt;br /&gt;The author(s) and publisher(s) of the Document do not by this License&lt;br /&gt;give permission to use their names for publicity for or to assert or&lt;br /&gt;imply endorsement of any Modified Version.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. COMBINING DOCUMENTS&lt;br /&gt;&lt;br /&gt;You may combine the Document with other documents released under this&lt;br /&gt;License, under the terms defined in section 4 above for modified&lt;br /&gt;versions, provided that you include in the combination all of the&lt;br /&gt;Invariant Sections of all of the original documents, unmodified, and&lt;br /&gt;list them all as Invariant Sections of your combined work in its&lt;br /&gt;license notice, and that you preserve all their Warranty Disclaimers.&lt;br /&gt;&lt;br /&gt;The combined work need only contain one copy of this License, and&lt;br /&gt;multiple identical Invariant Sections may be replaced with a single&lt;br /&gt;copy. If there are multiple Invariant Sections with the same name but&lt;br /&gt;different contents, make the title of each such section unique by&lt;br /&gt;adding at the end of it, in parentheses, the name of the original&lt;br /&gt;author or publisher of that section if known, or else a unique number.&lt;br /&gt;Make the same adjustment to the section titles in the list of&lt;br /&gt;Invariant Sections in the license notice of the combined work.&lt;br /&gt;&lt;br /&gt;In the combination, you must combine any sections Entitled "History"&lt;br /&gt;in the various original documents, forming one section Entitled&lt;br /&gt;"History"; likewise combine any sections Entitled "Acknowledgements",&lt;br /&gt;and any sections Entitled "Dedications". You must delete all sections&lt;br /&gt;Entitled "Endorsements".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6. COLLECTIONS OF DOCUMENTS&lt;br /&gt;&lt;br /&gt;You may make a collection consisting of the Document and other documents&lt;br /&gt;released under this License, and replace the individual copies of this&lt;br /&gt;License in the various documents with a single copy that is included in&lt;br /&gt;the collection, provided that you follow the rules of this License for&lt;br /&gt;verbatim copying of each of the documents in all other respects.&lt;br /&gt;&lt;br /&gt;You may extract a single document from such a collection, and distribute&lt;br /&gt;it individually under this License, provided you insert a copy of this&lt;br /&gt;License into the extracted document, and follow this License in all&lt;br /&gt;other respects regarding verbatim copying of that document.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7. AGGREGATION WITH INDEPENDENT WORKS&lt;br /&gt;&lt;br /&gt;A compilation of the Document or its derivatives with other separate&lt;br /&gt;and independent documents or works, in or on a volume of a storage or&lt;br /&gt;distribution medium, is called an "aggregate" if the copyright&lt;br /&gt;resulting from the compilation is not used to limit the legal rights&lt;br /&gt;of the compilation's users beyond what the individual works permit.&lt;br /&gt;When the Document is included in an aggregate, this License does not&lt;br /&gt;apply to the other works in the aggregate which are not themselves&lt;br /&gt;derivative works of the Document.&lt;br /&gt;&lt;br /&gt;If the Cover Text requirement of section 3 is applicable to these&lt;br /&gt;copies of the Document, then if the Document is less than one half of&lt;br /&gt;the entire aggregate, the Document's Cover Texts may be placed on&lt;br /&gt;covers that bracket the Document within the aggregate, or the&lt;br /&gt;electronic equivalent of covers if the Document is in electronic form.&lt;br /&gt;Otherwise they must appear on printed covers that bracket the whole&lt;br /&gt;aggregate.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;8. TRANSLATION&lt;br /&gt;&lt;br /&gt;Translation is considered a kind of modification, so you may&lt;br /&gt;distribute translations of the Document under the terms of section 4.&lt;br /&gt;Replacing Invariant Sections with translations requires special&lt;br /&gt;permission from their copyright holders, but you may include&lt;br /&gt;translations of some or all Invariant Sections in addition to the&lt;br /&gt;original versions of these Invariant Sections. You may include a&lt;br /&gt;translation of this License, and all the license notices in the&lt;br /&gt;Document, and any Warranty Disclaimers, provided that you also include&lt;br /&gt;the original English version of this License and the original versions&lt;br /&gt;of those notices and disclaimers. In case of a disagreement between&lt;br /&gt;the translation and the original version of this License or a notice&lt;br /&gt;or disclaimer, the original version will prevail.&lt;br /&gt;&lt;br /&gt;If a section in the Document is Entitled "Acknowledgements",&lt;br /&gt;"Dedications", or "History", the requirement (section 4) to Preserve&lt;br /&gt;its Title (section 1) will typically require changing the actual&lt;br /&gt;title.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;9. TERMINATION&lt;br /&gt;&lt;br /&gt;You may not copy, modify, sublicense, or distribute the Document except&lt;br /&gt;as expressly provided for under this License. Any other attempt to&lt;br /&gt;copy, modify, sublicense or distribute the Document is void, and will&lt;br /&gt;automatically terminate your rights under this License. However,&lt;br /&gt;parties who have received copies, or rights, from you under this&lt;br /&gt;License will not have their licenses terminated so long as such&lt;br /&gt;parties remain in full compliance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;10. FUTURE REVISIONS OF THIS LICENSE&lt;br /&gt;&lt;br /&gt;The Free Software Foundation may publish new, revised versions&lt;br /&gt;of the GNU Free Documentation License from time to time. Such new&lt;br /&gt;versions will be similar in spirit to the present version, but may&lt;br /&gt;differ in detail to address new problems or concerns. See&lt;br /&gt;http://www.gnu.org/copyleft/.&lt;br /&gt;&lt;br /&gt;Each version of the License is given a distinguishing version number.&lt;br /&gt;If the Document specifies that a particular numbered version of this&lt;br /&gt;License "or any later version" applies to it, you have the option of&lt;br /&gt;following the terms and conditions either of that specified version or&lt;br /&gt;of any later version that has been published (not as a draft) by the&lt;br /&gt;Free Software Foundation. If the Document does not specify a version&lt;br /&gt;number of this License, you may choose any version ever published (not&lt;br /&gt;as a draft) by the Free Software Foundation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ADDENDUM: How to use this License for your documents&lt;br /&gt;&lt;br /&gt;To use this License in a document you have written, include a copy of&lt;br /&gt;the License in the document and put the following copyright and&lt;br /&gt;license notices just after the title page:&lt;br /&gt;&lt;br /&gt;Copyright (c) YEAR YOUR NAME.&lt;br /&gt;Permission is granted to copy, distribute and/or modify this document&lt;br /&gt;under the terms of the GNU Free Documentation License, Version 1.2&lt;br /&gt;or any later version published by the Free Software Foundation;&lt;br /&gt;with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.&lt;br /&gt;A copy of the license is included in the section entitled "GNU&lt;br /&gt;Free Documentation License".&lt;br /&gt;&lt;br /&gt;If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,&lt;br /&gt;replace the "with...Texts." line with this:&lt;br /&gt;&lt;br /&gt;with the Invariant Sections being LIST THEIR TITLES, with the&lt;br /&gt;Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.&lt;br /&gt;&lt;br /&gt;If you have Invariant Sections without Cover Texts, or some other&lt;br /&gt;combination of the three, merge those two alternatives to suit the&lt;br /&gt;situation.&lt;br /&gt;&lt;br /&gt;If your document contains nontrivial examples of program code, we&lt;br /&gt;recommend releasing these examples in parallel under your choice of&lt;br /&gt;free software license, such as the GNU General Public License,to permit their use in free software.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;GPL a.k.a General Public License:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;GNU GENERAL PUBLIC LICENSE&lt;br /&gt;Version 3, 29 June 2007&lt;br /&gt;&lt;br /&gt;Copyright (C) 2007 Free Software Foundation, Inc. «http://fsf.org/»&lt;br /&gt;Everyone is permitted to copy and distribute verbatim copies&lt;br /&gt;of this license document, but changing it is not allowed.&lt;br /&gt;&lt;br /&gt;Preamble&lt;br /&gt;&lt;br /&gt;The GNU General Public License is a free, copyleft license for&lt;br /&gt;software and other kinds of works.&lt;br /&gt;&lt;br /&gt;The licenses for most software and other practical works are designed&lt;br /&gt;to take away your freedom to share and change the works. By contrast,&lt;br /&gt;the GNU General Public License is intended to guarantee your freedom to&lt;br /&gt;share and change all versions of a program--to make sure it remains free&lt;br /&gt;software for all its users. We, the Free Software Foundation, use the&lt;br /&gt;GNU General Public License for most of our software; it applies also to&lt;br /&gt;any other work released this way by its authors. You can apply it to&lt;br /&gt;your programs, too.&lt;br /&gt;&lt;br /&gt;When we speak of free software, we are referring to freedom, not&lt;br /&gt;price. Our General Public Licenses are designed to make sure that you&lt;br /&gt;have the freedom to distribute copies of free software (and charge for&lt;br /&gt;them if you wish), that you receive source code or can get it if you&lt;br /&gt;want it, that you can change the software or use pieces of it in new&lt;br /&gt;free programs, and that you know you can do these things.&lt;br /&gt;&lt;br /&gt;To protect your rights, we need to prevent others from denying you&lt;br /&gt;these rights or asking you to surrender the rights. Therefore, you have&lt;br /&gt;certain responsibilities if you distribute copies of the software, or if&lt;br /&gt;you modify it: responsibilities to respect the freedom of others.&lt;br /&gt;&lt;br /&gt;For example, if you distribute copies of such a program, whether&lt;br /&gt;gratis or for a fee, you must pass on to the recipients the same&lt;br /&gt;freedoms that you received. You must make sure that they, too, receive&lt;br /&gt;or can get the source code. And you must show them these terms so they&lt;br /&gt;know their rights.&lt;br /&gt;&lt;br /&gt;Developers that use the GNU GPL protect your rights with two steps:&lt;br /&gt;(1) assert copyright on the software, and (2) offer you this License&lt;br /&gt;giving you legal permission to copy, distribute and/or modify it.&lt;br /&gt;&lt;br /&gt;For the developers' and authors' protection, the GPL clearly explains&lt;br /&gt;that there is no warranty for this free software. For both users' and&lt;br /&gt;authors' sake, the GPL requires that modified versions be marked as&lt;br /&gt;changed, so that their problems will not be attributed erroneously to&lt;br /&gt;authors of previous versions.&lt;br /&gt;&lt;br /&gt;Some devices are designed to deny users access to install or run&lt;br /&gt;modified versions of the software inside them, although the manufacturer&lt;br /&gt;can do so. This is fundamentally incompatible with the aim of&lt;br /&gt;protecting users' freedom to change the software. The systematic&lt;br /&gt;pattern of such abuse occurs in the area of products for individuals to&lt;br /&gt;use, which is precisely where it is most unacceptable. Therefore, we&lt;br /&gt;have designed this version of the GPL to prohibit the practice for those&lt;br /&gt;products. If such problems arise substantially in other domains, we&lt;br /&gt;stand ready to extend this provision to those domains in future versions&lt;br /&gt;of the GPL, as needed to protect the freedom of users.&lt;br /&gt;&lt;br /&gt;Finally, every program is threatened constantly by software patents.&lt;br /&gt;States should not allow patents to restrict development and use of&lt;br /&gt;software on general-purpose computers, but in those that do, we wish to&lt;br /&gt;avoid the special danger that patents applied to a free program could&lt;br /&gt;make it effectively proprietary. To prevent this, the GPL assures that&lt;br /&gt;patents cannot be used to render the program non-free.&lt;br /&gt;&lt;br /&gt;The precise terms and conditions for copying, distribution and&lt;br /&gt;modification follow.&lt;br /&gt;&lt;br /&gt;TERMS AND CONDITIONS&lt;br /&gt;&lt;br /&gt;0. Definitions.&lt;br /&gt;&lt;br /&gt;"This License" refers to version 3 of the GNU General Public License.&lt;br /&gt;&lt;br /&gt;"Copyright" also means copyright-like laws that apply to other kinds of&lt;br /&gt;works, such as semiconductor masks.&lt;br /&gt;&lt;br /&gt;"The Program" refers to any copyrightable work licensed under this&lt;br /&gt;License. Each licensee is addressed as "you". "Licensees" and&lt;br /&gt;"recipients" may be individuals or organizations.&lt;br /&gt;&lt;br /&gt;To "modify" a work means to copy from or adapt all or part of the work&lt;br /&gt;in a fashion requiring copyright permission, other than the making of an&lt;br /&gt;exact copy. The resulting work is called a "modified version" of the&lt;br /&gt;earlier work or a work "based on" the earlier work.&lt;br /&gt;&lt;br /&gt;A "covered work" means either the unmodified Program or a work based&lt;br /&gt;on the Program.&lt;br /&gt;&lt;br /&gt;To "propagate" a work means to do anything with it that, without&lt;br /&gt;permission, would make you directly or secondarily liable for&lt;br /&gt;infringement under applicable copyright law, except executing it on a&lt;br /&gt;computer or modifying a private copy. Propagation includes copying,&lt;br /&gt;distribution (with or without modification), making available to the&lt;br /&gt;public, and in some countries other activities as well.&lt;br /&gt;&lt;br /&gt;To "convey" a work means any kind of propagation that enables other&lt;br /&gt;parties to make or receive copies. Mere interaction with a user through&lt;br /&gt;a computer network, with no transfer of a copy, is not conveying.&lt;br /&gt;&lt;br /&gt;An interactive user interface displays "Appropriate Legal Notices"&lt;br /&gt;to the extent that it includes a convenient and prominently visible&lt;br /&gt;feature that (1) displays an appropriate copyright notice, and (2)&lt;br /&gt;tells the user that there is no warranty for the work (except to the&lt;br /&gt;extent that warranties are provided), that licensees may convey the&lt;br /&gt;work under this License, and how to view a copy of this License. If&lt;br /&gt;the interface presents a list of user commands or options, such as a&lt;br /&gt;menu, a prominent item in the list meets this criterion.&lt;br /&gt;&lt;br /&gt;1. Source Code.&lt;br /&gt;&lt;br /&gt;The "source code" for a work means the preferred form of the work&lt;br /&gt;for making modifications to it. "Object code" means any non-source&lt;br /&gt;form of a work.&lt;br /&gt;&lt;br /&gt;A "Standard Interface" means an interface that either is an official&lt;br /&gt;standard defined by a recognized standards body, or, in the case of&lt;br /&gt;interfaces specified for a particular programming language, one that&lt;br /&gt;is widely used among developers working in that language.&lt;br /&gt;&lt;br /&gt;The "System Libraries" of an executable work include anything, other&lt;br /&gt;than the work as a whole, that (a) is included in the normal form of&lt;br /&gt;packaging a Major Component, but which is not part of that Major&lt;br /&gt;Component, and (b) serves only to enable use of the work with that&lt;br /&gt;Major Component, or to implement a Standard Interface for which an&lt;br /&gt;implementation is available to the public in source code form. A&lt;br /&gt;"Major Component", in this context, means a major essential component&lt;br /&gt;(kernel, window system, and so on) of the specific operating system&lt;br /&gt;(if any) on which the executable work runs, or a compiler used to&lt;br /&gt;produce the work, or an object code interpreter used to run it.&lt;br /&gt;&lt;br /&gt;The "Corresponding Source" for a work in object code form means all&lt;br /&gt;the source code needed to generate, install, and (for an executable&lt;br /&gt;work) run the object code and to modify the work, including scripts to&lt;br /&gt;control those activities. However, it does not include the work's&lt;br /&gt;System Libraries, or general-purpose tools or generally available free&lt;br /&gt;programs which are used unmodified in performing those activities but&lt;br /&gt;which are not part of the work. For example, Corresponding Source&lt;br /&gt;includes interface definition files associated with source files for&lt;br /&gt;the work, and the source code for shared libraries and dynamically&lt;br /&gt;linked subprograms that the work is specifically designed to require,&lt;br /&gt;such as by intimate data communication or control flow between those&lt;br /&gt;subprograms and other parts of the work.&lt;br /&gt;&lt;br /&gt;The Corresponding Source need not include anything that users&lt;br /&gt;can regenerate automatically from other parts of the Corresponding&lt;br /&gt;Source.&lt;br /&gt;&lt;br /&gt;The Corresponding Source for a work in source code form is that&lt;br /&gt;same work.&lt;br /&gt;&lt;br /&gt;2. Basic Permissions.&lt;br /&gt;&lt;br /&gt;All rights granted under this License are granted for the term of&lt;br /&gt;copyright on the Program, and are irrevocable provided the stated&lt;br /&gt;conditions are met. This License explicitly affirms your unlimited&lt;br /&gt;permission to run the unmodified Program. The output from running a&lt;br /&gt;covered work is covered by this License only if the output, given its&lt;br /&gt;content, constitutes a covered work. This License acknowledges your&lt;br /&gt;rights of fair use or other equivalent, as provided by copyright law.&lt;br /&gt;&lt;br /&gt;You may make, run and propagate covered works that you do not&lt;br /&gt;convey, without conditions so long as your license otherwise remains&lt;br /&gt;in force. You may convey covered works to others for the sole purpose&lt;br /&gt;of having them make modifications exclusively for you, or provide you&lt;br /&gt;with facilities for running those works, provided that you comply with&lt;br /&gt;the terms of this License in conveying all material for which you do&lt;br /&gt;not control copyright. Those thus making or running the covered works&lt;br /&gt;for you must do so exclusively on your behalf, under your direction&lt;br /&gt;and control, on terms that prohibit them from making any copies of&lt;br /&gt;your copyrighted material outside their relationship with you.&lt;br /&gt;&lt;br /&gt;Conveying under any other circumstances is permitted solely under&lt;br /&gt;the conditions stated below. Sublicensing is not allowed; section 10&lt;br /&gt;makes it unnecessary.&lt;br /&gt;&lt;br /&gt;3. Protecting Users' Legal Rights From Anti-Circumvention Law.&lt;br /&gt;&lt;br /&gt;No covered work shall be deemed part of an effective technological&lt;br /&gt;measure under any applicable law fulfilling obligations under article&lt;br /&gt;11 of the WIPO copyright treaty adopted on 20 December 1996, or&lt;br /&gt;similar laws prohibiting or restricting circumvention of such&lt;br /&gt;measures.&lt;br /&gt;&lt;br /&gt;When you convey a covered work, you waive any legal power to forbid&lt;br /&gt;circumvention of technological measures to the extent such circumvention&lt;br /&gt;is effected by exercising rights under this License with respect to&lt;br /&gt;the covered work, and you disclaim any intention to limit operation or&lt;br /&gt;modification of the work as a means of enforcing, against the work's&lt;br /&gt;users, your or third parties' legal rights to forbid circumvention of&lt;br /&gt;technological measures.&lt;br /&gt;&lt;br /&gt;4. Conveying Verbatim Copies.&lt;br /&gt;&lt;br /&gt;You may convey verbatim copies of the Program's source code as you&lt;br /&gt;receive it, in any medium, provided that you conspicuously and&lt;br /&gt;appropriately publish on each copy an appropriate copyright notice;&lt;br /&gt;keep intact all notices stating that this License and any&lt;br /&gt;non-permissive terms added in accord with section 7 apply to the code;&lt;br /&gt;keep intact all notices of the absence of any warranty; and give all&lt;br /&gt;recipients a copy of this License along with the Program.&lt;br /&gt;&lt;br /&gt;You may charge any price or no price for each copy that you convey,&lt;br /&gt;and you may offer support or warranty protection for a fee.&lt;br /&gt;&lt;br /&gt;5. Conveying Modified Source Versions.&lt;br /&gt;&lt;br /&gt;You may convey a work based on the Program, or the modifications to&lt;br /&gt;produce it from the Program, in the form of source code under the&lt;br /&gt;terms of section 4, provided that you also meet all of these conditions:&lt;br /&gt;&lt;br /&gt;a) The work must carry prominent notices stating that you modified&lt;br /&gt;it, and giving a relevant date.&lt;br /&gt;&lt;br /&gt;b) The work must carry prominent notices stating that it is&lt;br /&gt;released under this License and any conditions added under section&lt;br /&gt;7. This requirement modifies the requirement in section 4 to&lt;br /&gt;"keep intact all notices".&lt;br /&gt;&lt;br /&gt;c) You must license the entire work, as a whole, under this&lt;br /&gt;License to anyone who comes into possession of a copy. This&lt;br /&gt;License will therefore apply, along with any applicable section 7&lt;br /&gt;additional terms, to the whole of the work, and all its parts,&lt;br /&gt;regardless of how they are packaged. This License gives no&lt;br /&gt;permission to license the work in any other way, but it does not&lt;br /&gt;invalidate such permission if you have separately received it.&lt;br /&gt;&lt;br /&gt;d) If the work has interactive user interfaces, each must display&lt;br /&gt;Appropriate Legal Notices; however, if the Program has interactive&lt;br /&gt;interfaces that do not display Appropriate Legal Notices, your&lt;br /&gt;work need not make them do so.&lt;br /&gt;&lt;br /&gt;A compilation of a covered work with other separate and independent&lt;br /&gt;works, which are not by their nature extensions of the covered work,&lt;br /&gt;and which are not combined with it such as to form a larger program,&lt;br /&gt;in or on a volume of a storage or distribution medium, is called an&lt;br /&gt;"aggregate" if the compilation and its resulting copyright are not&lt;br /&gt;used to limit the access or legal rights of the compilation's users&lt;br /&gt;beyond what the individual works permit. Inclusion of a covered work&lt;br /&gt;in an aggregate does not cause this License to apply to the other&lt;br /&gt;parts of the aggregate.&lt;br /&gt;&lt;br /&gt;6. Conveying Non-Source Forms.&lt;br /&gt;&lt;br /&gt;You may convey a covered work in object code form under the terms&lt;br /&gt;of sections 4 and 5, provided that you also convey the&lt;br /&gt;machine-readable Corresponding Source under the terms of this License,&lt;br /&gt;in one of these ways:&lt;br /&gt;&lt;br /&gt;a) Convey the object code in, or embodied in, a physical product&lt;br /&gt;(including a physical distribution medium), accompanied by the&lt;br /&gt;Corresponding Source fixed on a durable physical medium&lt;br /&gt;customarily used for software interchange.&lt;br /&gt;&lt;br /&gt;b) Convey the object code in, or embodied in, a physical product&lt;br /&gt;(including a physical distribution medium), accompanied by a&lt;br /&gt;written offer, valid for at least three years and valid for as&lt;br /&gt;long as you offer spare parts or customer support for that product&lt;br /&gt;model, to give anyone who possesses the object code either (1) a&lt;br /&gt;copy of the Corresponding Source for all the software in the&lt;br /&gt;product that is covered by this License, on a durable physical&lt;br /&gt;medium customarily used for software interchange, for a price no&lt;br /&gt;more than your reasonable cost of physically performing this&lt;br /&gt;conveying of source, or (2) access to copy the&lt;br /&gt;Corresponding Source from a network server at no charge.&lt;br /&gt;&lt;br /&gt;c) Convey individual copies of the object code with a copy of the&lt;br /&gt;written offer to provide the Corresponding Source. This&lt;br /&gt;alternative is allowed only occasionally and noncommercially, and&lt;br /&gt;only if you received the object code with such an offer, in accord&lt;br /&gt;with subsection 6b.&lt;br /&gt;&lt;br /&gt;d) Convey the object code by offering access from a designated&lt;br /&gt;place (gratis or for a charge), and offer equivalent access to the&lt;br /&gt;Corresponding Source in the same way through the same place at no&lt;br /&gt;further charge. You need not require recipients to copy the&lt;br /&gt;Corresponding Source along with the object code. If the place to&lt;br /&gt;copy the object code is a network server, the Corresponding Source&lt;br /&gt;may be on a different server (operated by you or a third party)&lt;br /&gt;that supports equivalent copying facilities, provided you maintain&lt;br /&gt;clear directions next to the object code saying where to find the&lt;br /&gt;Corresponding Source. Regardless of what server hosts the&lt;br /&gt;Corresponding Source, you remain obligated to ensure that it is&lt;br /&gt;available for as long as needed to satisfy these requirements.&lt;br /&gt;&lt;br /&gt;e) Convey the object code using peer-to-peer transmission, provided&lt;br /&gt;you inform other peers where the object code and Corresponding&lt;br /&gt;Source of the work are being offered to the general public at no&lt;br /&gt;charge under subsection 6d.&lt;br /&gt;&lt;br /&gt;A separable portion of the object code, whose source code is excluded&lt;br /&gt;from the Corresponding Source as a System Library, need not be&lt;br /&gt;included in conveying the object code work.&lt;br /&gt;&lt;br /&gt;A "User Product" is either (1) a "consumer product", which means any&lt;br /&gt;tangible personal property which is normally used for personal, family,&lt;br /&gt;or household purposes, or (2) anything designed or sold for incorporation&lt;br /&gt;into a dwelling. In determining whether a product is a consumer product,&lt;br /&gt;doubtful cases shall be resolved in favor of coverage. For a particular&lt;br /&gt;product received by a particular user, "normally used" refers to a&lt;br /&gt;typical or common use of that class of product, regardless of the status&lt;br /&gt;of the particular user or of the way in which the particular user&lt;br /&gt;actually uses, or expects or is expected to use, the product. A product&lt;br /&gt;is a consumer product regardless of whether the product has substantial&lt;br /&gt;commercial, industrial or non-consumer uses, unless such uses represent&lt;br /&gt;the only significant mode of use of the product.&lt;br /&gt;&lt;br /&gt;"Installation Information" for a User Product means any methods,&lt;br /&gt;procedures, authorization keys, or other information required to install&lt;br /&gt;and execute modified versions of a covered work in that User Product from&lt;br /&gt;a modified version of its Corresponding Source. The information must&lt;br /&gt;suffice to ensure that the continued functioning of the modified object&lt;br /&gt;code is in no case prevented or interfered with solely because&lt;br /&gt;modification has been made.&lt;br /&gt;&lt;br /&gt;If you convey an object code work under this section in, or with, or&lt;br /&gt;specifically for use in, a User Product, and the conveying occurs as&lt;br /&gt;part of a transaction in which the right of possession and use of the&lt;br /&gt;User Product is transferred to the recipient in perpetuity or for a&lt;br /&gt;fixed term (regardless of how the transaction is characterized), the&lt;br /&gt;Corresponding Source conveyed under this section must be accompanied&lt;br /&gt;by the Installation Information. But this requirement does not apply&lt;br /&gt;if neither you nor any third party retains the ability to install&lt;br /&gt;modified object code on the User Product (for example, the work has&lt;br /&gt;been installed in ROM).&lt;br /&gt;&lt;br /&gt;The requirement to provide Installation Information does not include a&lt;br /&gt;requirement to continue to provide support service, warranty, or updates&lt;br /&gt;for a work that has been modified or installed by the recipient, or for&lt;br /&gt;the User Product in which it has been modified or installed. Access to a&lt;br /&gt;network may be denied when the modification itself materially and&lt;br /&gt;adversely affects the operation of the network or violates the rules and&lt;br /&gt;protocols for communication across the network.&lt;br /&gt;&lt;br /&gt;Corresponding Source conveyed, and Installation Information provided,&lt;br /&gt;in accord with this section must be in a format that is publicly&lt;br /&gt;documented (and with an implementation available to the public in&lt;br /&gt;source code form), and must require no special password or key for&lt;br /&gt;unpacking, reading or copying.&lt;br /&gt;&lt;br /&gt;7. Additional Terms.&lt;br /&gt;&lt;br /&gt;"Additional permissions" are terms that supplement the terms of this&lt;br /&gt;License by making exceptions from one or more of its conditions.&lt;br /&gt;Additional permissions that are applicable to the entire Program shall&lt;br /&gt;be treated as though they were included in this License, to the extent&lt;br /&gt;that they are valid under applicable law. If additional permissions&lt;br /&gt;apply only to part of the Program, that part may be used separately&lt;br /&gt;under those permissions, but the entire Program remains governed by&lt;br /&gt;this License without regard to the additional permissions.&lt;br /&gt;&lt;br /&gt;When you convey a copy of a covered work, you may at your option&lt;br /&gt;remove any additional permissions from that copy, or from any part of&lt;br /&gt;it. (Additional permissions may be written to require their own&lt;br /&gt;removal in certain cases when you modify the work.) You may place&lt;br /&gt;additional permissions on material, added by you to a covered work,&lt;br /&gt;for which you have or can give appropriate copyright permission.&lt;br /&gt;&lt;br /&gt;Notwithstanding any other provision of this License, for material you&lt;br /&gt;add to a covered work, you may (if authorized by the copyright holders of&lt;br /&gt;that material) supplement the terms of this License with terms:&lt;br /&gt;&lt;br /&gt;a) Disclaiming warranty or limiting liability differently from the&lt;br /&gt;terms of sections 15 and 16 of this License; or&lt;br /&gt;&lt;br /&gt;b) Requiring preservation of specified reasonable legal notices or&lt;br /&gt;author attributions in that material or in the Appropriate Legal&lt;br /&gt;Notices displayed by works containing it; or&lt;br /&gt;&lt;br /&gt;c) Prohibiting misrepresentation of the origin of that material, or&lt;br /&gt;requiring that modified versions of such material be marked in&lt;br /&gt;reasonable ways as different from the original version; or&lt;br /&gt;&lt;br /&gt;d) Limiting the use for publicity purposes of names of licensors or&lt;br /&gt;authors of the material; or&lt;br /&gt;&lt;br /&gt;e) Declining to grant rights under trademark law for use of some&lt;br /&gt;trade names, trademarks, or service marks; or&lt;br /&gt;&lt;br /&gt;f) Requiring indemnification of licensors and authors of that&lt;br /&gt;material by anyone who conveys the material (or modified versions of&lt;br /&gt;it) with contractual assumptions of liability to the recipient, for&lt;br /&gt;any liability that these contractual assumptions directly impose on&lt;br /&gt;those licensors and authors.&lt;br /&gt;&lt;br /&gt;All other non-permissive additional terms are considered "further&lt;br /&gt;restrictions" within the meaning of section 10. If the Program as you&lt;br /&gt;received it, or any part of it, contains a notice stating that it is&lt;br /&gt;governed by this License along with a term that is a further&lt;br /&gt;restriction, you may remove that term. If a license document contains&lt;br /&gt;a further restriction but permits relicensing or conveying under this&lt;br /&gt;License, you may add to a covered work material governed by the terms&lt;br /&gt;of that license document, provided that the further restriction does&lt;br /&gt;not survive such relicensing or conveying.&lt;br /&gt;&lt;br /&gt;If you add terms to a covered work in accord with this section, you&lt;br /&gt;must place, in the relevant source files, a statement of the&lt;br /&gt;additional terms that apply to those files, or a notice indicating&lt;br /&gt;where to find the applicable terms.&lt;br /&gt;&lt;br /&gt;Additional terms, permissive or non-permissive, may be stated in the&lt;br /&gt;form of a separately written license, or stated as exceptions;&lt;br /&gt;the above requirements apply either way.&lt;br /&gt;&lt;br /&gt;8. Termination.&lt;br /&gt;&lt;br /&gt;You may not propagate or modify a covered work except as expressly&lt;br /&gt;provided under this License. Any attempt otherwise to propagate or&lt;br /&gt;modify it is void, and will automatically terminate your rights under&lt;br /&gt;this License (including any patent licenses granted under the third&lt;br /&gt;paragraph of section 11).&lt;br /&gt;&lt;br /&gt;However, if you cease all violation of this License, then your&lt;br /&gt;license from a particular copyright holder is reinstated (a)&lt;br /&gt;provisionally, unless and until the copyright holder explicitly and&lt;br /&gt;finally terminates your license, and (b) permanently, if the copyright&lt;br /&gt;holder fails to notify you of the violation by some reasonable means&lt;br /&gt;prior to 60 days after the cessation.&lt;br /&gt;&lt;br /&gt;Moreover, your license from a particular copyright holder is&lt;br /&gt;reinstated permanently if the copyright holder notifies you of the&lt;br /&gt;violation by some reasonable means, this is the first time you have&lt;br /&gt;received notice of violation of this License (for any work) from that&lt;br /&gt;copyright holder, and you cure the violation prior to 30 days after&lt;br /&gt;your receipt of the notice.&lt;br /&gt;&lt;br /&gt;Termination of your rights under this section does not terminate the&lt;br /&gt;licenses of parties who have received copies or rights from you under&lt;br /&gt;this License. If your rights have been terminated and not permanently&lt;br /&gt;reinstated, you do not qualify to receive new licenses for the same&lt;br /&gt;material under section 10.&lt;br /&gt;&lt;br /&gt;9. Acceptance Not Required for Having Copies.&lt;br /&gt;&lt;br /&gt;You are not required to accept this License in order to receive or&lt;br /&gt;run a copy of the Program. Ancillary propagation of a covered work&lt;br /&gt;occurring solely as a consequence of using peer-to-peer transmission&lt;br /&gt;to receive a copy likewise does not require acceptance. However,&lt;br /&gt;nothing other than this License grants you permission to propagate or&lt;br /&gt;modify any covered work. These actions infringe copyright if you do&lt;br /&gt;not accept this License. Therefore, by modifying or propagating a&lt;br /&gt;covered work, you indicate your acceptance of this License to do so.&lt;br /&gt;&lt;br /&gt;10. Automatic Licensing of Downstream Recipients.&lt;br /&gt;&lt;br /&gt;Each time you convey a covered work, the recipient automatically&lt;br /&gt;receives a license from the original licensors, to run, modify and&lt;br /&gt;propagate that work, subject to this License. You are not responsible&lt;br /&gt;for enforcing compliance by third parties with this License.&lt;br /&gt;&lt;br /&gt;An "entity transaction" is a transaction transferring control of an&lt;br /&gt;organization, or substantially all assets of one, or subdividing an&lt;br /&gt;organization, or merging organizations. If propagation of a covered&lt;br /&gt;work results from an entity transaction, each party to that&lt;br /&gt;transaction who receives a copy of the work also receives whatever&lt;br /&gt;licenses to the work the party's predecessor in interest had or could&lt;br /&gt;give under the previous paragraph, plus a right to possession of the&lt;br /&gt;Corresponding Source of the work from the predecessor in interest, if&lt;br /&gt;the predecessor has it or can get it with reasonable efforts.&lt;br /&gt;&lt;br /&gt;You may not impose any further restrictions on the exercise of the&lt;br /&gt;rights granted or affirmed under this License. For example, you may&lt;br /&gt;not impose a license fee, royalty, or other charge for exercise of&lt;br /&gt;rights granted under this License, and you may not initiate litigation&lt;br /&gt;(including a cross-claim or counterclaim in a lawsuit) alleging that&lt;br /&gt;any patent claim is infringed by making, using, selling, offering for&lt;br /&gt;sale, or importing the Program or any portion of it.&lt;br /&gt;&lt;br /&gt;11. Patents.&lt;br /&gt;&lt;br /&gt;A "contributor" is a copyright holder who authorizes use under this&lt;br /&gt;License of the Program or a work on which the Program is based. The&lt;br /&gt;work thus licensed is called the contributor's "contributor version".&lt;br /&gt;&lt;br /&gt;A contributor's "essential patent claims" are all patent claims&lt;br /&gt;owned or controlled by the contributor, whether already acquired or&lt;br /&gt;hereafter acquired, that would be infringed by some manner, permitted&lt;br /&gt;by this License, of making, using, or selling its contributor version,&lt;br /&gt;but do not include claims that would be infringed only as a&lt;br /&gt;consequence of further modification of the contributor version. For&lt;br /&gt;purposes of this definition, "control" includes the right to grant&lt;br /&gt;patent sublicenses in a manner consistent with the requirements of&lt;br /&gt;this License.&lt;br /&gt;&lt;br /&gt;Each contributor grants you a non-exclusive, worldwide, royalty-free&lt;br /&gt;patent license under the contributor's essential patent claims, to&lt;br /&gt;make, use, sell, offer for sale, import and otherwise run, modify and&lt;br /&gt;propagate the contents of its contributor version.&lt;br /&gt;&lt;br /&gt;In the following three paragraphs, a "patent license" is any express&lt;br /&gt;agreement or commitment, however denominated, not to enforce a patent&lt;br /&gt;(such as an express permission to practice a patent or covenant not to&lt;br /&gt;sue for patent infringement). To "grant" such a patent license to a&lt;br /&gt;party means to make such an agreement or commitment not to enforce a&lt;br /&gt;patent against the party.&lt;br /&gt;&lt;br /&gt;If you convey a covered work, knowingly relying on a patent license,&lt;br /&gt;and the Corresponding Source of the work is not available for anyone&lt;br /&gt;to copy, free of charge and under the terms of this License, through a&lt;br /&gt;publicly available network server or other readily accessible means,&lt;br /&gt;then you must either (1) cause the Corresponding Source to be so&lt;br /&gt;available, or (2) arrange to deprive yourself of the benefit of the&lt;br /&gt;patent license for this particular work, or (3) arrange, in a manner&lt;br /&gt;consistent with the requirements of this License, to extend the patent&lt;br /&gt;license to downstream recipients. "Knowingly relying" means you have&lt;br /&gt;actual knowledge that, but for the patent license, your conveying the&lt;br /&gt;covered work in a country, or your recipient's use of the covered work&lt;br /&gt;in a country, would infringe one or more identifiable patents in that&lt;br /&gt;country that you have reason to believe are valid.&lt;br /&gt;&lt;br /&gt;If, pursuant to or in connection with a single transaction or&lt;br /&gt;arrangement, you convey, or propagate by procuring conveyance of, a&lt;br /&gt;covered work, and grant a patent license to some of the parties&lt;br /&gt;receiving the covered work authorizing them to use, propagate, modify&lt;br /&gt;or convey a specific copy of the covered work, then the patent license&lt;br /&gt;you grant is automatically extended to all recipients of the covered&lt;br /&gt;work and works based on it.&lt;br /&gt;&lt;br /&gt;A patent license is "discriminatory" if it does not include within&lt;br /&gt;the scope of its coverage, prohibits the exercise of, or is&lt;br /&gt;conditioned on the non-exercise of one or more of the rights that are&lt;br /&gt;specifically granted under this License. You may not convey a covered&lt;br /&gt;work if you are a party to an arrangement with a third party that is&lt;br /&gt;in the business of distributing software, under which you make payment&lt;br /&gt;to the third party based on the extent of your activity of conveying&lt;br /&gt;the work, and under which the third party grants, to any of the&lt;br /&gt;parties who would receive the covered work from you, a discriminatory&lt;br /&gt;patent license (a) in connection with copies of the covered work&lt;br /&gt;conveyed by you (or copies made from those copies), or (b) primarily&lt;br /&gt;for and in connection with specific products or compilations that&lt;br /&gt;contain the covered work, unless you entered into that arrangement,&lt;br /&gt;or that patent license was granted, prior to 28 March 2007.&lt;br /&gt;&lt;br /&gt;Nothing in this License shall be construed as excluding or limiting&lt;br /&gt;any implied license or other defenses to infringement that may&lt;br /&gt;otherwise be available to you under applicable patent law.&lt;br /&gt;&lt;br /&gt;12. No Surrender of Others' Freedom.&lt;br /&gt;&lt;br /&gt;If conditions are imposed on you (whether by court order, agreement or&lt;br /&gt;otherwise) that contradict the conditions of this License, they do not&lt;br /&gt;excuse you from the conditions of this License. If you cannot convey a&lt;br /&gt;covered work so as to satisfy simultaneously your obligations under this&lt;br /&gt;License and any other pertinent obligations, then as a consequence you may&lt;br /&gt;not convey it at all. For example, if you agree to terms that obligate you&lt;br /&gt;to collect a royalty for further conveying from those to whom you convey&lt;br /&gt;the Program, the only way you could satisfy both those terms and this&lt;br /&gt;License would be to refrain entirely from conveying the Program.&lt;br /&gt;&lt;br /&gt;13. Use with the GNU Affero General Public License.&lt;br /&gt;&lt;br /&gt;Notwithstanding any other provision of this License, you have&lt;br /&gt;permission to link or combine any covered work with a work licensed&lt;br /&gt;under version 3 of the GNU Affero General Public License into a single&lt;br /&gt;combined work, and to convey the resulting work. The terms of this&lt;br /&gt;License will continue to apply to the part which is the covered work,&lt;br /&gt;but the special requirements of the GNU Affero General Public License,&lt;br /&gt;section 13, concerning interaction through a network will apply to the&lt;br /&gt;combination as such.&lt;br /&gt;&lt;br /&gt;14. Revised Versions of this License.&lt;br /&gt;&lt;br /&gt;The Free Software Foundation may publish revised and/or new versions of&lt;br /&gt;the GNU General Public License from time to time. Such new versions will&lt;br /&gt;be similar in spirit to the present version, but may differ in detail to&lt;br /&gt;address new problems or concerns.&lt;br /&gt;&lt;br /&gt;Each version is given a distinguishing version number. If the&lt;br /&gt;Program specifies that a certain numbered version of the GNU General&lt;br /&gt;Public License "or any later version" applies to it, you have the&lt;br /&gt;option of following the terms and conditions either of that numbered&lt;br /&gt;version or of any later version published by the Free Software&lt;br /&gt;Foundation. If the Program does not specify a version number of the&lt;br /&gt;GNU General Public License, you may choose any version ever published&lt;br /&gt;by the Free Software Foundation.&lt;br /&gt;&lt;br /&gt;If the Program specifies that a proxy can decide which future&lt;br /&gt;versions of the GNU General Public License can be used, that proxy's&lt;br /&gt;public statement of acceptance of a version permanently authorizes you&lt;br /&gt;to choose that version for the Program.&lt;br /&gt;&lt;br /&gt;Later license versions may give you additional or different&lt;br /&gt;permissions. However, no additional obligations are imposed on any&lt;br /&gt;author or copyright holder as a result of your choosing to follow a&lt;br /&gt;later version.&lt;br /&gt;&lt;br /&gt;15. Disclaimer of Warranty.&lt;br /&gt;&lt;br /&gt;THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY&lt;br /&gt;APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT&lt;br /&gt;HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY&lt;br /&gt;OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,&lt;br /&gt;THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR&lt;br /&gt;PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM&lt;br /&gt;IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF&lt;br /&gt;ALL NECESSARY SERVICING, REPAIR OR CORRECTION.&lt;br /&gt;&lt;br /&gt;16. Limitation of Liability.&lt;br /&gt;&lt;br /&gt;IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING&lt;br /&gt;WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS&lt;br /&gt;THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY&lt;br /&gt;GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE&lt;br /&gt;USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF&lt;br /&gt;DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD&lt;br /&gt;PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),&lt;br /&gt;EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF&lt;br /&gt;SUCH DAMAGES.&lt;br /&gt;&lt;br /&gt;17. Interpretation of Sections 15 and 16.&lt;br /&gt;&lt;br /&gt;If the disclaimer of warranty and limitation of liability provided&lt;br /&gt;above cannot be given local legal effect according to their terms,&lt;br /&gt;reviewing courts shall apply local law that most closely approximates&lt;br /&gt;an absolute waiver of all civil liability in connection with the&lt;br /&gt;Program, unless a warranty or assumption of liability accompanies a&lt;br /&gt;copy of the Program in return for a fee.&lt;br /&gt;&lt;br /&gt;END OF TERMS AND CONDITIONS&lt;br /&gt;&lt;br /&gt;How to Apply These Terms to Your New Programs&lt;br /&gt;&lt;br /&gt;If you develop a new program, and you want it to be of the greatest&lt;br /&gt;possible use to the public, the best way to achieve this is to make it&lt;br /&gt;free software which everyone can redistribute and change under these terms.&lt;br /&gt;&lt;br /&gt;To do so, attach the following notices to the program. It is safest&lt;br /&gt;to attach them to the start of each source file to most effectively&lt;br /&gt;state the exclusion of warranty; and each file should have at least&lt;br /&gt;the "copyright" line and a pointer to where the full notice is found.&lt;br /&gt;&lt;br /&gt;«one line to give the program's name and a brief idea of what it does.»&lt;br /&gt;Copyright (C) «year» «name of author»&lt;br /&gt;&lt;br /&gt;This program is free software: you can redistribute it and/or modify&lt;br /&gt;it under the terms of the GNU General Public License as published by&lt;br /&gt;the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;(at your option) any later version.&lt;br /&gt;&lt;br /&gt;This program is distributed in the hope that it will be useful,&lt;br /&gt;but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;br /&gt;GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;You should have received a copy of the GNU General Public License&lt;br /&gt;along with this program. If not, see «http://www.gnu.org/licenses/».&lt;br /&gt;&lt;br /&gt;Also add information on how to contact you by electronic and paper mail.&lt;br /&gt;&lt;br /&gt;If the program does terminal interaction, make it output a short&lt;br /&gt;notice like this when it starts in an interactive mode:&lt;br /&gt;&lt;br /&gt;«program» Copyright (C) «year» «name of author»&lt;br /&gt;This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.&lt;br /&gt;This is free software, and you are welcome to redistribute it&lt;br /&gt;under certain conditions; type `show c' for details.&lt;br /&gt;&lt;br /&gt;The hypothetical commands `show w' and `show c' should show the appropriate&lt;br /&gt;parts of the General Public License. Of course, your program's commands&lt;br /&gt;might be different; for a GUI interface, you would use an "about box".&lt;br /&gt;&lt;br /&gt;You should also get your employer (if you work as a programmer) or school,&lt;br /&gt;if any, to sign a "copyright disclaimer" for the program, if necessary.&lt;br /&gt;For more information on this, and how to apply and follow the GNU GPL, see&lt;br /&gt;«http://www.gnu.org/licenses/».&lt;br /&gt;&lt;br /&gt;The GNU General Public License does not permit incorporating your program&lt;br /&gt;into proprietary programs. If your program is a subroutine library, you&lt;br /&gt;may consider it more useful to permit linking proprietary applications with&lt;br /&gt;the library. If this is what you want to do, use the GNU Lesser General&lt;br /&gt;Public License instead of this License. But first, please read&lt;br /&gt;«http://www.gnu.org/philosophy/why-not-lgpl.html»&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;LPGL a.k.a Lesser General Public License:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;GNU LESSER GENERAL PUBLIC LICENSE&lt;br /&gt;Version 3, 29 June 2007&lt;br /&gt;&lt;br /&gt;Copyright (C) 2007 Free Software Foundation, Inc. «http://fsf.org/»&lt;br /&gt;Everyone is permitted to copy and distribute verbatim copies&lt;br /&gt;of this license document, but changing it is not allowed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This version of the GNU Lesser General Public License incorporates&lt;br /&gt;the terms and conditions of version 3 of the GNU General Public&lt;br /&gt;License, supplemented by the additional permissions listed below.&lt;br /&gt;&lt;br /&gt;0. Additional Definitions.&lt;br /&gt;&lt;br /&gt;As used herein, "this License" refers to version 3 of the GNU Lesser&lt;br /&gt;General Public License, and the "GNU GPL" refers to version 3 of the GNU&lt;br /&gt;General Public License.&lt;br /&gt;&lt;br /&gt;"The Library" refers to a covered work governed by this License,&lt;br /&gt;other than an Application or a Combined Work as defined below.&lt;br /&gt;&lt;br /&gt;An "Application" is any work that makes use of an interface provided&lt;br /&gt;by the Library, but which is not otherwise based on the Library.&lt;br /&gt;Defining a subclass of a class defined by the Library is deemed a mode&lt;br /&gt;of using an interface provided by the Library.&lt;br /&gt;&lt;br /&gt;A "Combined Work" is a work produced by combining or linking an&lt;br /&gt;Application with the Library. The particular version of the Library&lt;br /&gt;with which the Combined Work was made is also called the "Linked&lt;br /&gt;Version".&lt;br /&gt;&lt;br /&gt;The "Minimal Corresponding Source" for a Combined Work means the&lt;br /&gt;Corresponding Source for the Combined Work, excluding any source code&lt;br /&gt;for portions of the Combined Work that, considered in isolation, are&lt;br /&gt;based on the Application, and not on the Linked Version.&lt;br /&gt;&lt;br /&gt;The "Corresponding Application Code" for a Combined Work means the&lt;br /&gt;object code and/or source code for the Application, including any data&lt;br /&gt;and utility programs needed for reproducing the Combined Work from the&lt;br /&gt;Application, but excluding the System Libraries of the Combined Work.&lt;br /&gt;&lt;br /&gt;1. Exception to Section 3 of the GNU GPL.&lt;br /&gt;&lt;br /&gt;You may convey a covered work under sections 3 and 4 of this License&lt;br /&gt;without being bound by section 3 of the GNU GPL.&lt;br /&gt;&lt;br /&gt;2. Conveying Modified Versions.&lt;br /&gt;&lt;br /&gt;If you modify a copy of the Library, and, in your modifications, a&lt;br /&gt;facility refers to a function or data to be supplied by an Application&lt;br /&gt;that uses the facility (other than as an argument passed when the&lt;br /&gt;facility is invoked), then you may convey a copy of the modified&lt;br /&gt;version:&lt;br /&gt;&lt;br /&gt;a) under this License, provided that you make a good faith effort to&lt;br /&gt;ensure that, in the event an Application does not supply the&lt;br /&gt;function or data, the facility still operates, and performs&lt;br /&gt;whatever part of its purpose remains meaningful, or&lt;br /&gt;&lt;br /&gt;b) under the GNU GPL, with none of the additional permissions of&lt;br /&gt;this License applicable to that copy.&lt;br /&gt;&lt;br /&gt;3. Object Code Incorporating Material from Library Header Files.&lt;br /&gt;&lt;br /&gt;The object code form of an Application may incorporate material from&lt;br /&gt;a header file that is part of the Library. You may convey such object&lt;br /&gt;code under terms of your choice, provided that, if the incorporated&lt;br /&gt;material is not limited to numerical parameters, data structure&lt;br /&gt;layouts and accessors, or small macros, inline functions and templates&lt;br /&gt;(ten or fewer lines in length), you do both of the following:&lt;br /&gt;&lt;br /&gt;a) Give prominent notice with each copy of the object code that the&lt;br /&gt;Library is used in it and that the Library and its use are&lt;br /&gt;covered by this License.&lt;br /&gt;&lt;br /&gt;b) Accompany the object code with a copy of the GNU GPL and this license&lt;br /&gt;document.&lt;br /&gt;&lt;br /&gt;4. Combined Works.&lt;br /&gt;&lt;br /&gt;You may convey a Combined Work under terms of your choice that,&lt;br /&gt;taken together, effectively do not restrict modification of the&lt;br /&gt;portions of the Library contained in the Combined Work and reverse&lt;br /&gt;engineering for debugging such modifications, if you also do each of&lt;br /&gt;the following:&lt;br /&gt;&lt;br /&gt;a) Give prominent notice with each copy of the Combined Work that&lt;br /&gt;the Library is used in it and that the Library and its use are&lt;br /&gt;covered by this License.&lt;br /&gt;&lt;br /&gt;b) Accompany the Combined Work with a copy of the GNU GPL and this license&lt;br /&gt;document.&lt;br /&gt;&lt;br /&gt;c) For a Combined Work that displays copyright notices during&lt;br /&gt;execution, include the copyright notice for the Library among&lt;br /&gt;these notices, as well as a reference directing the user to the&lt;br /&gt;copies of the GNU GPL and this license document.&lt;br /&gt;&lt;br /&gt;d) Do one of the following:&lt;br /&gt;&lt;br /&gt;0) Convey the Minimal Corresponding Source under the terms of this&lt;br /&gt;License, and the Corresponding Application Code in a form&lt;br /&gt;suitable for, and under terms that permit, the user to&lt;br /&gt;recombine or relink the Application with a modified version of&lt;br /&gt;the Linked Version to produce a modified Combined Work, in the&lt;br /&gt;manner specified by section 6 of the GNU GPL for conveying&lt;br /&gt;Corresponding Source.&lt;br /&gt;&lt;br /&gt;1) Use a suitable shared library mechanism for linking with the&lt;br /&gt;Library. A suitable mechanism is one that (a) uses at run time&lt;br /&gt;a copy of the Library already present on the user's computer&lt;br /&gt;system, and (b) will operate properly with a modified version&lt;br /&gt;of the Library that is interface-compatible with the Linked&lt;br /&gt;Version.&lt;br /&gt;&lt;br /&gt;e) Provide Installation Information, but only if you would otherwise&lt;br /&gt;be required to provide such information under section 6 of the&lt;br /&gt;GNU GPL, and only to the extent that such information is&lt;br /&gt;necessary to install and execute a modified version of the&lt;br /&gt;Combined Work produced by recombining or relinking the&lt;br /&gt;Application with a modified version of the Linked Version. (If&lt;br /&gt;you use option 4d0, the Installation Information must accompany&lt;br /&gt;the Minimal Corresponding Source and Corresponding Application&lt;br /&gt;Code. If you use option 4d1, you must provide the Installation&lt;br /&gt;Information in the manner specified by section 6 of the GNU GPL&lt;br /&gt;for conveying Corresponding Source.)&lt;br /&gt;&lt;br /&gt;5. Combined Libraries.&lt;br /&gt;&lt;br /&gt;You may place library facilities that are a work based on the&lt;br /&gt;Library side by side in a single library together with other library&lt;br /&gt;facilities that are not Applications and are not covered by this&lt;br /&gt;License, and convey such a combined library under terms of your&lt;br /&gt;choice, if you do both of the following:&lt;br /&gt;&lt;br /&gt;a) Accompany the combined library with a copy of the same work based&lt;br /&gt;on the Library, uncombined with any other library facilities,&lt;br /&gt;conveyed under the terms of this License.&lt;br /&gt;&lt;br /&gt;b) Give prominent notice with the combined library that part of it&lt;br /&gt;is a work based on the Library, and explaining where to find the&lt;br /&gt;accompanying uncombined form of the same work.&lt;br /&gt;&lt;br /&gt;6. Revised Versions of the GNU Lesser General Public License.&lt;br /&gt;&lt;br /&gt;The Free Software Foundation may publish revised and/or new versions&lt;br /&gt;of the GNU Lesser General Public License from time to time. Such new&lt;br /&gt;versions will be similar in spirit to the present version, but may&lt;br /&gt;differ in detail to address new problems or concerns.&lt;br /&gt;&lt;br /&gt;Each version is given a distinguishing version number. If the&lt;br /&gt;Library as you received it specifies that a certain numbered version&lt;br /&gt;of the GNU Lesser General Public License "or any later version"&lt;br /&gt;applies to it, you have the option of following the terms and&lt;br /&gt;conditions either of that published version or of any later version&lt;br /&gt;published by the Free Software Foundation. If the Library as you&lt;br /&gt;received it does not specify a version number of the GNU Lesser&lt;br /&gt;General Public License, you may choose any version of the GNU Lesser&lt;br /&gt;General Public License ever published by the Free Software Foundation.&lt;br /&gt;&lt;br /&gt;If the Library as you received it specifies that a proxy can decide&lt;br /&gt;whether future versions of the GNU Lesser General Public License shall&lt;br /&gt;apply, that proxy's public statement of acceptance of any version is&lt;br /&gt;permanent authorization for you to choose that version for the&lt;br /&gt;Library.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Apache License:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;br /&gt;Apache License, Version 2.0&lt;br /&gt;&lt;br /&gt;Apache License&lt;br /&gt;Version 2.0, January 2004&lt;br /&gt;http://www.apache.org/licenses/&lt;br /&gt;&lt;br /&gt;TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION&lt;br /&gt;&lt;br /&gt;1. Definitions.&lt;br /&gt;&lt;br /&gt;"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.&lt;br /&gt;&lt;br /&gt;"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.&lt;br /&gt;&lt;br /&gt;"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.&lt;br /&gt;&lt;br /&gt;"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.&lt;br /&gt;&lt;br /&gt;"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.&lt;br /&gt;&lt;br /&gt;"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.&lt;br /&gt;&lt;br /&gt;"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).&lt;br /&gt;&lt;br /&gt;"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.&lt;br /&gt;&lt;br /&gt;"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."&lt;br /&gt;&lt;br /&gt;"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.&lt;br /&gt;&lt;br /&gt;2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.&lt;br /&gt;&lt;br /&gt;3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.&lt;br /&gt;&lt;br /&gt;4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:&lt;br /&gt;&lt;br /&gt;   1. You must give any other recipients of the Work or Derivative Works a copy of this License; and&lt;br /&gt;&lt;br /&gt;   2. You must cause any modified files to carry prominent notices stating that You changed the files; and&lt;br /&gt;&lt;br /&gt;   3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and&lt;br /&gt;&lt;br /&gt;   4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.&lt;br /&gt;&lt;br /&gt;You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.&lt;br /&gt;&lt;br /&gt;5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.&lt;br /&gt;&lt;br /&gt;6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.&lt;br /&gt;&lt;br /&gt;7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.&lt;br /&gt;&lt;br /&gt;8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.&lt;br /&gt;&lt;br /&gt;9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.&lt;br /&gt;&lt;br /&gt;END OF TERMS AND CONDITIONS&lt;br /&gt;APPENDIX: How to apply the Apache License to your work&lt;br /&gt;&lt;br /&gt;To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.&lt;br /&gt;Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Creative Commons License:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The below section is excerpted from &lt;a href="http://blog.adityapatawari.com/2009_06_01_archive.html"&gt;Aditya's Blog&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Creative Commons provide an out of the box license which is not only flexible but also easy to use and much more easier than create. Yes, you can create a CC license, specially customized to suit your needs like the one I have for this blog. You can create a license for your work here. CC license is not generally used for software licensing. It is more suited for literature or  documentation work. In this license type you can choose the condition you want to set for your work. These conditions are :-&lt;br /&gt;&lt;br /&gt;   1. Attribution : You let others to copy and use your work only if they give you the credit the way you want.&lt;br /&gt;   2. Share Alike : You can allow other users to share your work but keeping the same or similsr license like the original one.&lt;br /&gt;   3. Noncommercial : You can permit others to use your work for Noncommercial/Commercial purposes&lt;br /&gt;   4. No Derivative Works : You give others permission to copy and distribute your work. But only Verbatim copies not any sort of derived work.&lt;br /&gt;&lt;br /&gt;Just glean over this url &lt;a href="http://creativecommons.org/choose/"&gt;CC-url&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Moreover if you really want know more about it then please visit &lt;a href="http://www.gnu.org/licenses/licenses.html"&gt;GNU website&lt;/a&gt; for the infomation regarding license.&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-9010150061393509677?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/9010150061393509677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/10/open-source-software-licenses.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/9010150061393509677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/9010150061393509677'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/10/open-source-software-licenses.html' title='Open Source Software Licenses'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-7679329389085607395</id><published>2010-10-02T19:34:00.006+05:30</published><updated>2010-10-02T20:50:16.691+05:30</updated><title type='text'>Apache : Get internal information about it</title><content type='html'>First of all it is almost a default web server glue with open system( read GNU/Linux).And we are so very accustomed with that that we never look around.But having said that one should if time and situation require.Couple of alternatives might be &lt;span style="font-weight:bold;"&gt;nginx&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;lighthttpd&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;But in this article I will focus only &lt;a href="http://apache.org"&gt;Apache&lt;/a&gt; internal information one can get..so here we go:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Get the module information:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We usually add so many module in the web server(Apache) along with the default module come along with that.Here we will look in how to get the module built with it.How do you do that? Like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_19:37:24_Sat Oct 02:/etc/httpd/conf&gt; sudo /usr/sbin/httpd -M&lt;br /&gt;&lt;br /&gt;Password: &lt;br /&gt;Loaded Modules:&lt;br /&gt; core_module (static)&lt;br /&gt; mpm_prefork_module (static)&lt;br /&gt; http_module (static)&lt;br /&gt; so_module (static)&lt;br /&gt; php5_module (shared)&lt;br /&gt; authn_file_module (shared)&lt;br /&gt; authn_dbm_module (shared)&lt;br /&gt; authn_anon_module (shared)&lt;br /&gt; authn_dbd_module (shared)&lt;br /&gt; authn_default_module (shared)&lt;br /&gt; authz_host_module (shared)&lt;br /&gt; authz_groupfile_module (shared)&lt;br /&gt; authz_user_module (shared)&lt;br /&gt; authz_dbm_module (shared)&lt;br /&gt; authz_owner_module (shared)&lt;br /&gt; authnz_ldap_module (shared)&lt;br /&gt; authz_default_module (shared)&lt;br /&gt; auth_basic_module (shared)&lt;br /&gt; auth_digest_module (shared)&lt;br /&gt; file_cache_module (shared)&lt;br /&gt; cache_module (shared)&lt;br /&gt; disk_cache_module (shared)&lt;br /&gt; mem_cache_module (shared)&lt;br /&gt; dbd_module (shared)&lt;br /&gt; dumpio_module (shared)&lt;br /&gt; ext_filter_module (shared)&lt;br /&gt; include_module (shared)&lt;br /&gt; filter_module (shared)&lt;br /&gt; substitute_module (shared)&lt;br /&gt; deflate_module (shared)&lt;br /&gt; ldap_module (shared)&lt;br /&gt; log_config_module (shared)&lt;br /&gt; log_forensic_module (shared)&lt;br /&gt; logio_module (shared)&lt;br /&gt; env_module (shared)&lt;br /&gt; mime_magic_module (shared)&lt;br /&gt; cern_meta_module (shared)&lt;br /&gt; expires_module (shared)&lt;br /&gt; headers_module (shared)&lt;br /&gt; ident_module (shared)&lt;br /&gt; usertrack_module (shared)&lt;br /&gt; unique_id_module (shared)&lt;br /&gt; setenvif_module (shared)&lt;br /&gt; version_module (shared)&lt;br /&gt; proxy_module (shared)&lt;br /&gt; proxy_connect_module (shared)&lt;br /&gt; proxy_ftp_module (shared)&lt;br /&gt; proxy_http_module (shared)&lt;br /&gt; proxy_scgi_module (shared)&lt;br /&gt; proxy_ajp_module (shared)&lt;br /&gt; proxy_balancer_module (shared)&lt;br /&gt; ssl_module (shared)&lt;br /&gt; mime_module (shared)&lt;br /&gt; dav_module (shared)&lt;br /&gt; status_module (shared)&lt;br /&gt; autoindex_module (shared)&lt;br /&gt; asis_module (shared)&lt;br /&gt; info_module (shared)&lt;br /&gt; suexec_module (shared)&lt;br /&gt; cgi_module (shared)&lt;br /&gt; cgid_module (shared)&lt;br /&gt; dav_fs_module (shared)&lt;br /&gt; vhost_alias_module (shared)&lt;br /&gt; negotiation_module (shared)&lt;br /&gt; dir_module (shared)&lt;br /&gt; imagemap_module (shared)&lt;br /&gt; actions_module (shared)&lt;br /&gt; speling_module (shared)&lt;br /&gt; userdir_module (shared)&lt;br /&gt; alias_module (shared)&lt;br /&gt; rewrite_module (shared)&lt;br /&gt;Syntax OK&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So here we pass the "&lt;span style="font-weight:bold;"&gt;M&lt;/span&gt;" flag with httpd binary.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Syntanx check of config file:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next how to find the systax of the configuration file of Apache is alright,here is what you have to do:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_19:38:30_Sat Oct 02:/etc/httpd/conf&gt; sudo /usr/sbin/httpd -t&lt;br /&gt;Syntax OK&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Check in the compiled module:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is the steps to find it:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_19:42:59_Sat Oct 02:/etc/httpd/conf&gt; sudo /usr/sbin/httpd -l&lt;br /&gt;Compiled in modules:&lt;br /&gt;  core.c&lt;br /&gt;  prefork.c&lt;br /&gt;  http_core.c&lt;br /&gt;  mod_so.c&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Check how the Apache server compiled:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If we want to know the Apache server built initially,then we migth do the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_19:43:30_Sat Oct 02:/etc/httpd/conf&gt; sudo /usr/sbin/httpd -V&lt;br /&gt;Server version: Apache/2.2.16 (Unix)&lt;br /&gt;Server built:   Aug 17 2010 12:52:36&lt;br /&gt;Server's Module Magic Number: 20051115:24&lt;br /&gt;Server loaded:  APR 1.4.2, APR-Util 1.3.9&lt;br /&gt;Compiled using: APR 1.4.2, APR-Util 1.3.9&lt;br /&gt;Architecture:   32-bit&lt;br /&gt;Server MPM:     Prefork&lt;br /&gt;  threaded:     no&lt;br /&gt;    forked:     yes (variable process count)&lt;br /&gt;Server compiled with....&lt;br /&gt; -D APACHE_MPM_DIR="server/mpm/prefork"&lt;br /&gt; -D APR_HAS_SENDFILE&lt;br /&gt; -D APR_HAS_MMAP&lt;br /&gt; -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)&lt;br /&gt; -D APR_USE_SYSVSEM_SERIALIZE&lt;br /&gt; -D APR_USE_PTHREAD_SERIALIZE&lt;br /&gt; -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT&lt;br /&gt; -D APR_HAS_OTHER_CHILD&lt;br /&gt; -D AP_HAVE_RELIABLE_PIPED_LOGS&lt;br /&gt; -D DYNAMIC_MODULE_LIMIT=128&lt;br /&gt; -D HTTPD_ROOT="/etc/httpd"&lt;br /&gt; -D SUEXEC_BIN="/usr/sbin/suexec"&lt;br /&gt; -D DEFAULT_PIDLOG="/var/run/httpd/httpd.pid"&lt;br /&gt; -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"&lt;br /&gt; -D DEFAULT_LOCKFILE="/var/run/httpd/accept.lock"&lt;br /&gt; -D DEFAULT_ERRORLOG="logs/error_log"&lt;br /&gt; -D AP_TYPES_CONFIG_FILE="conf/mime.types"&lt;br /&gt; -D SERVER_CONFIG_FILE="conf/httpd.conf"&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;How to check VirtualHost config check:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If we have so many virtualhost built inside into Apache then we must check the configuration(one of the source of not starting the server properly)beforehand.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_19:48:11_Sat Oct 02:/etc/httpd/conf&gt; sudo /usr/sbin/httpd -S&lt;br /&gt;VirtualHost configuration:&lt;br /&gt;Syntax OK&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;What are the configuration directives available to the server?&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let's find out what are the directives we can manipulate for this web server...to unveiled it do the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_19:48:54_Sat Oct 02:/etc/httpd/conf&gt; sudo /usr/sbin/httpd -L&lt;br /&gt;&lt;Directory (core.c)&lt;br /&gt;        Container for directives affecting resources located in the specified directories&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;&lt;Location (core.c)&lt;br /&gt;        Container for directives affecting resources accessed through the specified URL paths&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;&lt;VirtualHost (core.c)&lt;br /&gt;        Container to map directives to a particular virtual host, takes one or more host addresses&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;&lt;Files (core.c)&lt;br /&gt;        Container for directives affecting files matching specified patterns&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride isn't None&lt;br /&gt;&lt;Limit (core.c)&lt;br /&gt;        Container for authentication directives when accessed using specified HTTP methods&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride isn't None&lt;br /&gt;&lt;LimitExcept (core.c)&lt;br /&gt;        Container for authentication directives to be applied when any HTTP method other than those specified is used to access the resource&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride isn't None&lt;br /&gt;&lt;IfModule (core.c)&lt;br /&gt;        Container for directives based on existance of specified modules&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride isn't None&lt;br /&gt;&lt;IfDefine (core.c)&lt;br /&gt;        Container for directives based on existance of command line defines&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride isn't None&lt;br /&gt;&lt;DirectoryMatch (core.c)&lt;br /&gt;        Container for directives affecting resources located in the specified directories&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;&lt;LocationMatch (core.c)&lt;br /&gt;        Container for directives affecting resources accessed through the specified URL paths&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;&lt;FilesMatch (core.c)&lt;br /&gt;        Container for directives affecting files matching specified patterns&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride isn't None&lt;br /&gt;AuthType (core.c)&lt;br /&gt;        An HTTP authorization type (e.g., "Basic")&lt;br /&gt;        Allowed in *.conf only inside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt; and in .htaccess&lt;br /&gt;        when AllowOverride includes AuthConfig&lt;br /&gt;AuthName (core.c)&lt;br /&gt;        The authentication realm (e.g. "Members Only")&lt;br /&gt;        Allowed in *.conf only inside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt; and in .htaccess&lt;br /&gt;        when AllowOverride includes AuthConfig&lt;br /&gt;Require (core.c)&lt;br /&gt;        Selects which authenticated users or groups may access a protected space&lt;br /&gt;        Allowed in *.conf only inside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt; and in .htaccess&lt;br /&gt;        when AllowOverride includes AuthConfig&lt;br /&gt;Satisfy (core.c)&lt;br /&gt;        access policy if both allow and require used ('all' or 'any')&lt;br /&gt;        Allowed in *.conf only inside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt; and in .htaccess&lt;br /&gt;        when AllowOverride includes AuthConfig&lt;br /&gt;AddDefaultCharset (core.c)&lt;br /&gt;        The name of the default charset to add to any Content-Type without one or 'Off' to disable&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes FileInfo&lt;br /&gt;AcceptPathInfo (core.c)&lt;br /&gt;        Set to on or off for PATH_INFO to be accepted by handlers, or default for the per-handler preference&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes FileInfo&lt;br /&gt;AccessFileName (core.c)&lt;br /&gt;        Name(s) of per-directory config files (default: .htaccess)&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;DocumentRoot (core.c)&lt;br /&gt;        Root directory of the document tree&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ErrorDocument (core.c)&lt;br /&gt;        Change responses for HTTP errors&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes FileInfo&lt;br /&gt;AllowOverride (core.c)&lt;br /&gt;        Controls what groups of directives can be configured by per-directory config files&lt;br /&gt;        Allowed in *.conf only inside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;Options (core.c)&lt;br /&gt;        Set a number of attributes for a given directory&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes Options&lt;br /&gt;DefaultType (core.c)&lt;br /&gt;        the default MIME type for untypable files&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes FileInfo&lt;br /&gt;FileETag (core.c)&lt;br /&gt;        Specify components used to construct a file's ETag&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes FileInfo&lt;br /&gt;EnableMMAP (core.c)&lt;br /&gt;        Controls whether memory-mapping may be used to read files&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes FileInfo&lt;br /&gt;EnableSendfile (core.c)&lt;br /&gt;        Controls whether sendfile may be used to transmit files&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes FileInfo&lt;br /&gt;Protocol (core.c)&lt;br /&gt;        Set the Protocol for httpd to use.&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;AcceptFilter (core.c)&lt;br /&gt;        Set the Accept Filter to use for a protocol&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;Port (core.c)&lt;br /&gt;        Port was replaced with Listen in Apache 2.0&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;HostnameLookups (core.c)&lt;br /&gt;        "on" to enable, "off" to disable reverse DNS lookups, or "double" to enable double-reverse DNS lookups&lt;br /&gt;        Allowed in *.conf anywhere&lt;br /&gt;ServerAdmin (core.c)&lt;br /&gt;        The email address of the server administrator&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ServerName (core.c)&lt;br /&gt;        The hostname and port of the server&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ServerSignature (core.c)&lt;br /&gt;        En-/disable server signature (on|off|email)&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride isn't None&lt;br /&gt;ServerRoot (core.c)&lt;br /&gt;        Common directory of server-related files (logs, confs, etc.)&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ErrorLog (core.c)&lt;br /&gt;        The filename of the error log&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ServerAlias (core.c)&lt;br /&gt;        A name or names alternately used to access the server&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ServerPath (core.c)&lt;br /&gt;        The pathname the server can be reached at&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;Timeout (core.c)&lt;br /&gt;        Timeout duration (sec)&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ContentDigest (core.c)&lt;br /&gt;        whether or not to send a Content-MD5 header with each request&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes Options&lt;br /&gt;UseCanonicalName (core.c)&lt;br /&gt;        How to work out the ServerName : Port when constructing URLs&lt;br /&gt;        Allowed in *.conf anywhere&lt;br /&gt;UseCanonicalPhysicalPort (core.c)&lt;br /&gt;        Whether to use the physical Port when constructing URLs&lt;br /&gt;        Allowed in *.conf anywhere&lt;br /&gt;Include (core.c)&lt;br /&gt;        Name of the config file to be included&lt;br /&gt;        Allowed in *.conf anywhere&lt;br /&gt;LogLevel (core.c)&lt;br /&gt;        Level of verbosity in error logging&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;NameVirtualHost (core.c)&lt;br /&gt;        A numeric IP address:port, or the name of a host&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ServerTokens (core.c)&lt;br /&gt;        Determine tokens displayed in the Server: header - Min(imal), OS or Full&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;LimitRequestLine (core.c)&lt;br /&gt;        Limit on maximum size of an HTTP request line&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;LimitRequestFieldsize (core.c)&lt;br /&gt;        Limit on maximum size of an HTTP request header field&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;LimitRequestFields (core.c)&lt;br /&gt;        Limit (0 = unlimited) on max number of header fields in a request message&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;LimitRequestBody (core.c)&lt;br /&gt;        Limit (in bytes) on maximum size of request message body&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride isn't None&lt;br /&gt;LimitXMLRequestBody (core.c)&lt;br /&gt;        Limit (in bytes) on maximum size of an XML-based request body&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride isn't None&lt;br /&gt;RLimitCPU (core.c)&lt;br /&gt;        Soft/hard limits for max CPU usage in seconds&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride isn't None&lt;br /&gt;RLimitMEM (core.c)&lt;br /&gt;        Soft/hard limits for max memory usage per process&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride isn't None&lt;br /&gt;RLimitNPROC (core.c)&lt;br /&gt;        soft/hard limits for max number of processes per uid&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride isn't None&lt;br /&gt;LimitInternalRecursion (core.c)&lt;br /&gt;        maximum recursion depth of internal redirects and subrequests&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ForceType (core.c)&lt;br /&gt;        a mime type that overrides other configured type&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes FileInfo&lt;br /&gt;SetHandler (core.c)&lt;br /&gt;        a handler name that overrides any other configured handler&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes FileInfo&lt;br /&gt;SetOutputFilter (core.c)&lt;br /&gt;        filter (or ; delimited list of filters) to be run on the request content&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes FileInfo&lt;br /&gt;SetInputFilter (core.c)&lt;br /&gt;        filter (or ; delimited list of filters) to be run on the request body&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes FileInfo&lt;br /&gt;AddOutputFilterByType (core.c)&lt;br /&gt;        output filter name followed by one or more content-types&lt;br /&gt;        Allowed in *.conf anywhere and in .htaccess&lt;br /&gt;        when AllowOverride includes FileInfo&lt;br /&gt;AllowEncodedSlashes (core.c)&lt;br /&gt;        Allow URLs containing '/' encoded as '%2F'&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;PidFile (core.c)&lt;br /&gt;        A file for logging the server process ID&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ScoreBoardFile (core.c)&lt;br /&gt;        A file for Apache to maintain runtime process management information&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;LockFile (core.c)&lt;br /&gt;        The lockfile used when Apache needs to lock the accept() call&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;MaxRequestsPerChild (core.c)&lt;br /&gt;        Maximum number of requests a particular child serves before dying.&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;CoreDumpDirectory (core.c)&lt;br /&gt;        The location of the directory Apache changes to before dumping core&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;AcceptMutex (core.c)&lt;br /&gt;        Valid accept mutexes for this platform and MPM are: default, flock, fcntl, sysvsem, pthread.&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;MaxMemFree (core.c)&lt;br /&gt;        Maximum number of 1k blocks a particular childs allocator may hold.&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;TraceEnable (core.c)&lt;br /&gt;        'on' (default), 'off' or 'extended' to trace request body content&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;User (prefork.c)&lt;br /&gt;        Effective user id for this server&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;Group (prefork.c)&lt;br /&gt;        Effective group id for this server&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ChrootDir (prefork.c)&lt;br /&gt;        The directory to chroot(2) into&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ListenBacklog (prefork.c)&lt;br /&gt;        Maximum length of the queue of pending connections, as used by listen(2)&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;Listen (prefork.c)&lt;br /&gt;        A port number or a numeric IP address and a port number, and an optional protocol&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;SendBufferSize (prefork.c)&lt;br /&gt;        Send buffer size in bytes&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ReceiveBufferSize (prefork.c)&lt;br /&gt;        Receive buffer size in bytes&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;StartServers (prefork.c)&lt;br /&gt;        Number of child processes launched at server startup&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;MinSpareServers (prefork.c)&lt;br /&gt;        Minimum number of idle children, to handle request spikes&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;MaxSpareServers (prefork.c)&lt;br /&gt;        Maximum number of idle children&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;MaxClients (prefork.c)&lt;br /&gt;        Maximum number of children alive at the same time&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;ServerLimit (prefork.c)&lt;br /&gt;        Maximum value of MaxClients for this run of Apache&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;GracefulShutdownTimeout (prefork.c)&lt;br /&gt;        Maximum time in seconds to wait for child processes to complete transactions during shutdown&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;KeepAliveTimeout (http_core.c)&lt;br /&gt;        Keep-Alive timeout duration (sec)&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;MaxKeepAliveRequests (http_core.c)&lt;br /&gt;        Maximum number of Keep-Alive requests per connection, or 0 for infinite&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;KeepAlive (http_core.c)&lt;br /&gt;        Whether persistent connections should be On or Off&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;LoadModule (mod_so.c)&lt;br /&gt;        a module name and the name of a shared object file to load it from&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;LoadFile (mod_so.c)&lt;br /&gt;        shared object file or library to load into the server at runtime&lt;br /&gt;        Allowed in *.conf only outside &lt;Directory&gt;, &lt;Files&gt; or &lt;Location&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now get few information from your browser,most probably you are running headless server(as the norm in the production environment or data center as I have had worked for)YMMV..here is the screenshot of it how it look like with "&lt;span style="font-weight:bold;"&gt;lynx&lt;/span&gt;" commandline browser:&lt;br /&gt;&lt;br /&gt;Apache Server Status&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_HIOtZgK0jTU/TKdDXHOQZEI/AAAAAAAAADE/scHDcVx01hY/s1600/Screenshot-bhaskar%40:~.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://2.bp.blogspot.com/_HIOtZgK0jTU/TKdDXHOQZEI/AAAAAAAAADE/scHDcVx01hY/s320/Screenshot-bhaskar%40:~.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5523457532348097602" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Apache Server Info&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_HIOtZgK0jTU/TKdEZ9idpmI/AAAAAAAAADM/14lrXN-Rh30/s1600/Screenshot-bhaskar%40:~.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://2.bp.blogspot.com/_HIOtZgK0jTU/TKdEZ9idpmI/AAAAAAAAADM/14lrXN-Rh30/s320/Screenshot-bhaskar%40:~.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5523458680799733346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Specifically the info thing shows lot of internals.I have snipped the picture for only one window,it might consist of serveral window full of information.&lt;br /&gt;&lt;br /&gt;Now for those two information one has to have two module must loaded into the Apache server,otherwise it won't be accissible like I showed.So the evidence of those two modules are below:&lt;br /&gt;&lt;br /&gt;mod_status:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_20:11:24_Sat Oct 02:/etc/httpd/conf&gt; sudo grep "mod_status" /etc/httpd/conf/httpd.conf&lt;br /&gt;LoadModule status_module modules/mod_status.so&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And&lt;br /&gt;&lt;br /&gt;mod_info:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_20:11:40_Sat Oct 02:/etc/httpd/conf&gt; sudo grep "mod_info" /etc/httpd/conf/httpd.conf&lt;br /&gt;LoadModule info_module modules/mod_info.so&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Plus one has to have an entry in main apache main configuration file for those two module to show up on the browser like below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;Location /server-status&gt;&lt;br /&gt;   SetHandler server-status&lt;br /&gt;    Order deny,allow&lt;br /&gt;    Deny from all&lt;br /&gt;    Allow from 127.0.0.1&lt;br /&gt;&lt;/Location&gt;&lt;br /&gt;&lt;Location /server-info&gt;&lt;br /&gt;   SetHandler server-info&lt;br /&gt;   Order deny,allow&lt;br /&gt;   Deny from all&lt;br /&gt;   Allow from 127.0.0.1 &lt;br /&gt;&lt;/Location&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One can put the server ip or name of the host where the apache server running with Allow from directive.&lt;br /&gt;&lt;br /&gt;Last but not the least for heaven's sake please look into apache log file if you find any inconsistencies.Generally those are located in /var/log directory as apache/apache2/httpd/httpd2,because different distro maintain different name for that dir.Now basically it consists of few files like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;access.log,error.log&lt;/span&gt;...... and name signifies it.Looking for the logs if something goes wrong considered to be a good starting point and practice.&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&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/3465511817000766788-7679329389085607395?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/7679329389085607395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/10/apache-get-internal-information-about.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/7679329389085607395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/7679329389085607395'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/10/apache-get-internal-information-about.html' title='Apache : Get internal information about it'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_HIOtZgK0jTU/TKdDXHOQZEI/AAAAAAAAADE/scHDcVx01hY/s72-c/Screenshot-bhaskar%40:~.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-4300047192189030116</id><published>2010-09-18T08:34:00.007+05:30</published><updated>2010-09-19T19:17:09.697+05:30</updated><title type='text'>SASL : IMAP authentication system</title><content type='html'>In this article I am going to take you through cyrus-sasl to built with postfix mail server.So fasten your seat belt for the ride.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;SASL&lt;/span&gt; stand for &lt;span style="font-weight:bold;"&gt;Simple Authentication Security Layer&lt;/span&gt; and I will integrate it with an IMAP server built with postfix.SASL is defined in RFC-2222.SASL is a means for authenticating yourself to the server without providing your password in the clear. This can also be used to provide extended capabilities based on your authorization. In plainer words, a SASL mechanism can provide authentication only, or it can also provide integrity checking, and possibly encryption as well. &lt;br /&gt;&lt;br /&gt;I do not issue any guarantee that this will work for you.&lt;br /&gt;&lt;br /&gt;First and foremost thing to get the cyrus-sasl source from &lt;a href="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail"&gt;here&lt;/a&gt; or go to the &lt;a href="http://asg.web.cmu.edu/cyrus/imapd"&gt;website&lt;/a&gt; dedicated to it.&lt;br /&gt;&lt;br /&gt;Ok, I am building it on Gentoo,so I will furnish the steps required to get it work on it.But the prime focus would be to show you how it work.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_08:22:37_Sat Sep 18:~&gt; sudo emerge -av cyrus-sasl                                                                                                          &lt;br /&gt;Password:                                                                                                                                                                         &lt;br /&gt;                                                                                                                                                                                  &lt;br /&gt;These are the packages that would be merged, in order:                                                                                                                            &lt;br /&gt;                                                                                                                                                                                  &lt;br /&gt;Calculating dependencies... done!                                                                                                                                                 &lt;br /&gt;[ebuild   R   ] dev-libs/cyrus-sasl-2.1.23-r1  USE="berkdb crypt gdbm ldap pam ssl -authdaemond -java -kerberos -mysql -ntlm_unsupported_patch -postgres -sample -sqlite -srp -urandom" 0 kB                                                                                                                                                                        &lt;br /&gt;                                                                                                                                                                                  &lt;br /&gt;Total: 1 package (1 reinstall), Size of downloads: 0 kB                                                                                                                           &lt;br /&gt;                                                                                                                                                                                  &lt;br /&gt;Would you like to merge these packages? [Yes/No]        &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I choose N or no here because I have it already in the system.But when did I have it into the system? lets find out:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_08:47:55_Sat Sep 18:~&gt; sudo genlop -t cyrus-sasl                                                                                                           &lt;br /&gt; * dev-libs/cyrus-sasl                                                                                                                                                            &lt;br /&gt;                                                                                                                                                                                  &lt;br /&gt;     Fri Nov 13 18:08:00 2009 &gt;&gt;&gt; dev-libs/cyrus-sasl-2.1.23-r1                                                                                                                   &lt;br /&gt;       merge time: 2 minutes and 5 seconds.                               &lt;/span&gt;                                                                                                        &lt;br /&gt;&lt;br /&gt;Right! now move on. We need to add an user to operate to manage that software.So here we go:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_08:49:18_Sat Sep 18:~&gt; sudo useradd -g mail cyrus                                                   &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now you see the user like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_08:49:18_Sat Sep 18:~&gt; id cyrus                                                                                                                            &lt;br /&gt;uid=110(cyrus) gid=12(mail) groups=12(mail) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next we change the password of it ,the user cyrus created  in the previous steps, like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_09:02:10_Sat Sep 18:/home/bhaskar # passwd cyrus                                                                                                              &lt;br /&gt;Password:                                                                                                                                                                         &lt;br /&gt;Retype new password:                                                                                                                                                              &lt;br /&gt;passwd: password updated successfully &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cool! You can go ahead and test the user before you start to implement other thing with it.So now little bit of placeholders need to created for it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Creating the necessary directories&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This list of instructions will set up all the directories necessary for imap.&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-weight:bold;"&gt;1. mkdir /var/adm&lt;br /&gt;   &lt;br /&gt;   2. touch /var/adm/imapd.log /var/adm/auth.log&lt;br /&gt;&lt;br /&gt;   3. mkdir /var/imap /var/spool/imap /var/imap/srvtab&lt;br /&gt;&lt;br /&gt;   4. chown cyrus /var/imap /var/spool/imap /var/imap/srvtab&lt;br /&gt;&lt;br /&gt;   5. chgrp mail /var/imap /var/spool/imap /var/imap/srvtab&lt;br /&gt;&lt;br /&gt;   6. chmod 750 /var/imap /var/spool/imap /var/imap/srvtab&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;Pretty easily understandable those commands ,if not please cut and paste it your system to see the effect of it.&lt;br /&gt;&lt;br /&gt;Now lets working as user cyrus created earlier..so the chances will be less to intermingle with other thing:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_09:12:35_Sat Sep 18:/home/bhaskar # su cyrus&lt;br /&gt;&lt;br /&gt;cyrus@bhaskar-laptop_09:12:39_Sat Sep 18:/home/bhaskar&gt; &lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we are going to put some entry into the syslog config file so the logger will take action on it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_09:18:02_Sat Sep 18:/etc/syslog-ng&gt; sudo vim syslog-ng.conf &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and we put into it below lines:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;local6.debug    /var/adm/imapd.log&lt;br /&gt;auth.debug      /var/adm/auth.log&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ok,one more thing to do before I jump into the cyrus thing. We need to edit the file called &lt;span style="font-weight:bold;"&gt;/etc/imapd.conf&lt;/span&gt;,because we are integrating with an imap server.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_09:22:38_Sat Sep 18:~&gt; sudo vim /etc/imapd.conf&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;Once you are inside the file please add those below line and save the file:&lt;br /&gt;&lt;br /&gt; &lt;span style="font-weight:bold;"&gt;     configdirectory:        /var/imap&lt;br /&gt; 6 partition-default:      /var/spool/imap&lt;br /&gt; 7 sievedir:               /var/imap/sieve&lt;br /&gt; 8 &lt;br /&gt; 9 tls_ca_path:            /etc/ssl/certs&lt;br /&gt;10 tls_cert_file:          /etc/ssl/cyrus/server.crt&lt;br /&gt;11 tls_key_file:           /etc/ssl/cyrus/server.key&lt;br /&gt;12 &lt;br /&gt;13 # Don't use an everyday user as admin.&lt;br /&gt;14 admins:                 cyrus&lt;br /&gt;15 &lt;br /&gt;16 hashimapspool:          yes&lt;br /&gt;17 allowanonymouslogin:    no&lt;br /&gt;18 allowplaintext:         no&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So these are entry I have put in.As I have ssl cert too!.I have use the sasldb to check my password and the entry look in the file is :&lt;br /&gt;&lt;br /&gt;# Use saslauthd if you want to use pam for imap.&lt;br /&gt;27 # But be warned: login with DIGEST-MD5 or CRAM-MD5 &lt;br /&gt;28 # is not possible using pam.&lt;br /&gt;29 &lt;span style="font-weight:bold;"&gt;sasl_pwcheck_method:    saslauthd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we need to check the &lt;span style="font-weight:bold;"&gt;services&lt;/span&gt; file which reside in /etc directory to hold the information about the system services.We need to look into that file for some specific lines mentioned below:&lt;br /&gt;&lt;br /&gt;pop3    110/tcp&lt;br /&gt;        imap    143/tcp&lt;br /&gt;        imsp    406/tcp&lt;br /&gt;        kpop    1109/tcp&lt;br /&gt;        sieve   2000/tcp&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;POP3:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_09:36:28_Sat Sep 18:/var/spool # grep pop3 /etc/services&lt;br /&gt;pop3            110/tcp         pop-3           # Post Office Protocol - Version 3                                                                                                &lt;br /&gt;pop3            110/udp         pop-3                                                                                                                                             &lt;br /&gt;pop3s           995/tcp                         # pop3 protocol over TLS/SSL                                                                                                      &lt;br /&gt;pop3s           995/udp         &lt;/span&gt;      &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;IMAP:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_09:37:15_Sat Sep 18:/var/spool # grep imap /etc/services&lt;br /&gt;imap            143/tcp         imap2           # Internet Message Access Protocol&lt;br /&gt;imap            143/udp         imap2&lt;br /&gt;imap3           220/tcp                         # Interactive Mail Access&lt;br /&gt;imap3           220/udp&lt;br /&gt;imaps           993/tcp                         # imap4 protocol over TLS/SSL&lt;br /&gt;imaps           993/udp&lt;br /&gt;                              &lt;/span&gt;          &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;IMSP:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_09:37:22_Sat Sep 18:/var/spool # grep imsp /etc/services&lt;br /&gt;imsp            406/tcp                         # Interactive Mail Support Protocol&lt;br /&gt;imsp            406/udp&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;KPOP;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_09:38:29_Sat Sep 18:/var/spool # grep kpop /etc/services&lt;br /&gt;kpop            1109/tcp                        # Pop with Kerberos&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;SIEVE:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_09:39:09_Sat Sep 18:/var/spool # grep sieve /etc/services&lt;br /&gt;cisco-sccp      2000/tcp        sieve           # Cisco SCCP&lt;br /&gt;cisco-sccp      2000/udp        sieve&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So things are in place.Cool! looks good indeed.Now we need to modify the superserver file called inetd or in modern system called xinetd.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="font-weight:bold;"&gt;imap    stream  tcp     nowait  cyrus   /usr/cyrus/bin/imapd    imapd&lt;br /&gt;        pop3    stream  tcp     nowait  cyrus   /usr/cyrus/bin/pop3d    pop3d&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As I said before that we are going to be integrated with postifx,so need to check out this thing in /etc/postfix/master.cf for the user cyrus :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_09:58:51_Sat Sep 18:/etc # grep cyrus /etc/postfix/master.cf &lt;br /&gt;cyrus unix  -       n       n       -       -       pipe&lt;br /&gt;#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}&lt;br /&gt;# Also specify in main.cf: cyrus_destination_recipient_limit=1&lt;br /&gt;#cyrus     unix  -       n       n       -       -       pipe&lt;br /&gt;#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So in my system it in place but if you don't have this thing set please do that.&lt;br /&gt;&lt;br /&gt;Now we need to add the cyrus administrator for the monitoring and administrative works.Here is the steps:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_10:12:00_Sat Sep 18:/etc # /usr/sbin/saslpasswd2 cyrus&lt;br /&gt;Password: &lt;br /&gt;Again (for verification): &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now it's time for the testing the server with authentication...so here we go:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;cyrus@bhaskar-laptop_10:46:00_Sat Sep 18:/root&gt; cyradm --auth login localhost&lt;br /&gt;verify error:num=18:self signed certificate&lt;br /&gt;IMAP Password:                                                                                                                                                                    &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;bhaskar-laptop.localdomain&gt; ?&lt;br /&gt;authenticate, login, auth         authenticate to server&lt;br /&gt;chdir, cd                         change current directory&lt;br /&gt;createmailbox, create, cm         create mailbox&lt;br /&gt;deleteaclmailbox, deleteacl, dam  remove ACLs from mailbox&lt;br /&gt;deletemailbox, delete, dm         delete mailbox&lt;br /&gt;disconnect, disc                  disconnect from current server&lt;br /&gt;exit, quit                        exit cyradm&lt;br /&gt;help, ?                           show commands&lt;br /&gt;info                              display mailbox/server metadata&lt;br /&gt;listacl, lam, listaclmailbox      list ACLs on mailbox&lt;br /&gt;listmailbox, lm                   list mailboxes&lt;br /&gt;listquota, lq                     list quotas on specified root&lt;br /&gt;listquotaroot, lqr, lqm           show quota roots and quotas for mailbox&lt;br /&gt;mboxcfg, mboxconfig               configure mailbox&lt;br /&gt;reconstruct                       reconstruct mailbox (if supported)&lt;br /&gt;renamemailbox, rename, renm       rename (and optionally relocate) mailbox&lt;br /&gt;server, servername, connect       show current server or connect to server&lt;br /&gt;setaclmailbox, sam, setacl        set ACLs on mailbox&lt;br /&gt;setinfo                           set server metadata&lt;br /&gt;setquota, sq                      set quota on mailbox or resource&lt;br /&gt;subscribe, sub                    subscribe to a mailbox&lt;br /&gt;unsubscribe, unsub                unsubscribe from a mailbox&lt;br /&gt;version, ver                      display version info of current server&lt;br /&gt;xfermailbox, xfer                 transfer (relocate) a mailbox to a different server&lt;br /&gt;                                                                                                                                                                                 &lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Creating mailbox for the specified user&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar-laptop.localdomain&gt; cm user.bhaskar                                                                                                                                       &lt;br /&gt;                                                                                                                                                                                  bhaskar-laptop.localdomain&gt; lm                                                                                                                                                    &lt;br /&gt;user.bhaskar (\HasNoChildren)        &lt;/span&gt;                                                                                                                                             &lt;br /&gt;Here "lm" stands for list mailbox, which is available by the help command shown above.                                &lt;br /&gt;&lt;br /&gt;Now you can do so many thing with the mail server namely create a user,set quota for their mails box to name a few.Please look at the command enlisted above to utilise it.&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-4300047192189030116?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/4300047192189030116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/09/sasl-imap-authentication-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/4300047192189030116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/4300047192189030116'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/09/sasl-imap-authentication-system.html' title='SASL : IMAP authentication system'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-339629463761495790</id><published>2010-09-13T13:16:00.006+05:30</published><updated>2010-09-18T18:15:36.867+05:30</updated><title type='text'>LDAP: The tool to manage enterprise infrastructure</title><content type='html'>I am provoked or compelled or whatever you say to write this article about this topic and the article that spurs the interest is &lt;a href="http://www.linux.com/archive/articles/113563"&gt;here&lt;/a&gt; and many more on the internet by some brilliant guys and that's reminds me of dealing with LDAP with one of my job assignment.Without doubt I must say it is a complex topic to deal with( at least my bend of mind says so.. YMMV).But having said that it is an absolute must for any administrator handling large network infrastructure in the corporation should be very well aware of this protocol as well the usability of it.&lt;br /&gt;&lt;br /&gt;I do not issue any guarantee that this will work for you.&lt;br /&gt;&lt;br /&gt;I am assuming that readers are aware of this protocol, if not then please look in &lt;a href="http://openldap.org/"&gt;OpenLDAP Website&lt;/a&gt; to get an idea of it.OpenLDAP is an open source suite of software that includes the LDAP server daemon (&lt;span style="font-weight:bold;"&gt;slapd&lt;/span&gt;), a replication daemon (&lt;span style="font-weight:bold;"&gt;slurpd&lt;/span&gt;) and a small collection of command line client tools, like &lt;span style="font-weight:bold;"&gt;ldapsearch&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;ldapadd&lt;/span&gt;, among others. In this article, we'll set up and populate a small but functional LDAP server using the slapd daemon, and start to make use of it with a Linux client. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Definition and Components&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;LDAP stands for &lt;span style="font-weight:bold;"&gt;Lightweight Directory Access Protocol&lt;/span&gt;, which is to say that, by definition, LDAP is a protocol, and nothing else. However, the protocol exists to perform operations on data, and is really pretty useless without it. This brings up the components that make up an LDAP deployment: client software used to send LDAP requests, the server daemon that handles incoming LDAP requests, and the back-end data store. I will refer to the last two collectively as a "directory service."&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Back-end Data Storage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Of these components, the back-end data storage mechanism is the least relevant to you unless you're administering a production LDAP deployment. Developers writing code that accesses an LDAP server and end users who access a directory service via some client utility should be happy to let the protocol do the job of getting data to them without knowing anything about the back end. Adding, removing, updating, deleting, and fetching data from a directory service occurs through the LDAP protocol.&lt;br /&gt;&lt;br /&gt;Now there are few variant of the LDAP thing like :&lt;br /&gt;&lt;br /&gt;a)OpenLDAP&lt;br /&gt;&lt;br /&gt;b) FDS(Fedora Directory Server)&lt;br /&gt;&lt;br /&gt;c) Novell's eDirectory&lt;br /&gt;&lt;br /&gt;d)Sun Java System Directory or formarly iPlanet&lt;br /&gt;&lt;br /&gt;So we will sticks with OpenLDAP in this article to investigate with.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;What Is LDAP Used For?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An LDAP directory service stores information for use by systems as well as end users (and their various applications). Probably the most common use of LDAP is for replacing either flat-file authentication (think /etc/passwd) or legacy networked authentication (think NIS). The benefit of any networked authentication mechanism over a flat file system is clearly that it lifts the burden of having to keep files on all of your systems in sync. The benefit of LDAP over, say, NIS is (among other things) a finer-grained control over the data and how it is accessed (and by whom). You can also make encrypted connections to LDAP servers using TLS or SSL, and you never have to muck with flat file "maps" or complicated Makefiles to change the data.&lt;br /&gt;&lt;br /&gt;Because LDAP is a &lt;span style="font-weight:bold;"&gt;transaction-based system&lt;/span&gt;, operations that complete successfully are immediately "live." Modern Unix-based systems (including Linux, BSD, and OS X) can rely on LDAP to get just about any information they could store in flat files or NIS, including hosts, automounter configuration, users, groups, and more. Add to that the ability to have Samba, Apache, PAM, tcpwrappers, Sendmail, and other applications talk to LDAP for authentication, aliases, and other tidbits of useful information, and you have the beginnings of a very well-integrated, easily maintained, authoritative data source for your entire infrastructure.&lt;br /&gt;&lt;br /&gt;LDAP is also popular for use as a "white pages" directory for a department or corporation. For example, most email applications, from Mutt and Pine to Outlook, Evolution, and KMail all know how to talk to an LDAP server. This makes it very easy to, for example, tell KMail to autocomplete addresses as you type using an LDAP directory as its addressbook source instead of (or in addition to) local files.To add to the list Thunderbird too will support that protocol.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;A Closer Look at LDAP Data&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's extremely important when learning about LDAP and how it deals with data to separate the structure (or topology) of the data from the definitions of the objects themselves.&lt;br /&gt;&lt;br /&gt;Simply, the structure of LDAP data is a hierarchical collection of objects. Objects can represent anything from people to printers and take their places within the hierarchy using whatever logic you like.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Objects?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Yes, objects. Each object has a list of attributes associated with it that describe that particular object. When you add or delete an object, make a request for an object, or change the value of an object's attribute, you do so solely using the LDAP protocol. In short, LDAP exists to manipulate or fetch data about objects.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Hierarchical?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The layout of the data in an LDAP directory is the &lt;span style="font-weight:bold;"&gt;Directory Information Tree (DIT)&lt;/span&gt;. You can customize it to the needs of your organization, but it's still a hierarchical tree structure. This tree is not dissimilar to a typical filesystem; there's a "top" or "root" directory, under which are high-level objects (directories in a filesystem). Those help you to categorize the lower level objects that you're really interested in (in a filesystem, these are the files themselves).&lt;br /&gt;&lt;br /&gt;Suppose you want to store information about people using a hierarchical collection of objects. Viewing things as a filesystem, you could create a /People directory, and under that, create a file--/People/whatEverYouWant. That file contains attribute name and value pairs to describe "steve." One attribute might be "firstname," with a value of "Dan." Save the file, and create a new one for each person. Eventually, you have a filesystem that looks something like:&lt;br /&gt;&lt;br /&gt;/people&lt;br /&gt;  Steve&lt;br /&gt;  Dan&lt;br /&gt;  Bhaskar&lt;br /&gt;&lt;br /&gt;We might create it like department wise like this:&lt;br /&gt;&lt;br /&gt;/people&lt;br /&gt;  /Engineering&lt;br /&gt;   Bhaskar&lt;br /&gt;   Dan&lt;br /&gt;   Jones&lt;br /&gt;  /Finance&lt;br /&gt;   Marry&lt;br /&gt;   Garth&lt;br /&gt;&lt;br /&gt;LDAP data are represented in the LDIF(LDAP Data Interchange Format).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;What Are Objectclasses?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Objectclasses are prototypes for entries that will actually exist in your directory server. The objectclass definition (which uses ASN.1 syntax) specifies which attributes may or must be used by LDAP entries declared as instances of a particular objectclass.&lt;br /&gt;&lt;br /&gt;Get it? Let me explain it backward, in the way that most people get into LDAP: you want to store information about people. The most common attributes associated with people are:&lt;br /&gt;&lt;br /&gt;    * First name&lt;br /&gt;    * Last name&lt;br /&gt;    * Email address&lt;br /&gt;    * Phone numbers&lt;br /&gt;    * Room numbers&lt;br /&gt;&lt;br /&gt;These attributes are great for setting up an office whitepages server that users can refer to for information about people in their office. The key now is finding out which objectclass definitions either require or allow for the use of these attributes. When I started with LDAP, I researched this by perusing the actual schema files that come with most (if not all) directory servers. These files are human-readable. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Object Class Definitions&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here's the definition of the inetOrgPerson objectclass, which is a good place to start:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;objectclass     ( 2.16.840.1.113730.3.2.2&lt;br /&gt;    NAME 'inetOrgPerson'&lt;br /&gt;    DESC 'RFC2798: Internet Organizational Person'&lt;br /&gt;    SUP organizationalPerson&lt;br /&gt;    STRUCTURAL&lt;br /&gt;    MAY (&lt;br /&gt;                audio $ businessCategory $ carLicense $ departmentNumber $&lt;br /&gt;                displayName $ employeeNumber $ employeeType $ givenName $&lt;br /&gt;                homePhone $ homePostalAddress $ initials $ jpegPhoto $&lt;br /&gt;                labeledURI $ mail $ manager $ mobile $ o $ pager $&lt;br /&gt;                photo $ roomNumber $ secretary $ uid $ userCertificate $&lt;br /&gt;                x500uniqueIdentifier $ preferredLanguage $&lt;br /&gt;                userSMIMECertificate $ userPKCS12 )&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The first line states that what follows is an objectclass definition, as opposed to an attributetype definition. The long number is the ASN.1 number assigned to the objectclass. If you create your own objectclasses, this number is significant; it's where you use your organization's IANA Enterprise Number to identify any objectclasses that you create.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;NAME&lt;/span&gt; line should be self explanatory. It is the name that will appear in your users' entries to state that the user is of type inetOrgPerson. This line gives you license to use any of the attributes in the objectclass definition to describe the user.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;DESC&lt;/span&gt; line is usually a useful description that can help you use this object in a way appropriate to the intent of the definer. You don't want to use objectclasses in a completely unorthodox way, because when you reach out to others for help, they'll find themselves asking you more questions than you ask them, which is often a sign that you've gone off in the wrong direction.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;SUP&lt;span style="font-weight:bold;"&gt;&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; line is critical, and the theory is tough to describe without getting pretty verbose. SUP is short for SUPERIOR, and it names another objectclass from which this objectclass inherits. In this case, the superior or parent objectclass is organizationalPerson. The organizationalPerson class inherits from the person objectclass, which inherits from an objectclass called top. If an objectclass has no other superiors, it is always a child of the top objectclass.&lt;br /&gt;&lt;br /&gt;It's an inheritance chain. You need to understand it, because some LDAP servers strictly enforce it, and if you violate it in the creation of your entries, the directory server will unceremoniously spit them back at you.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;MAY &lt;/span&gt;line is actually a block. That block (between parentheses) contains a list, delimited with the $ symbol, of all of the attributes that MAY be used to describe an object declared of the type inetOrgPerson.&lt;br /&gt;&lt;br /&gt;OK enough internals..lets go ahead and install and deploy the thing.For more curious reader I will provide you the link from where this article is influenced in resource section in the end.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Installing OpenLDAP:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can download OpenLDAP from the OpenLDAP website. While it is certainly possible to obtain precompiled binary distributions of OpenLDAP in RPM, deb, and other package formats, these tend to be somewhat older releases. There are many useful customizations you can make during an OpenLDAP compile, and I've never had much trouble compiling OpenLDAP from source, so this is the method I'm advocating.&lt;br /&gt;&lt;br /&gt;This is not to say that there are absolutely no dependencies to satisfy. There are two major dependencies, both of which are very easy to handle:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Berkeley DB&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The OpenLDAP team strongly recommends using &lt;a href="http://www.oracle.com/us/products/database/berkeley-db/index.html"&gt;Sleepycat Software's Berkeley DB&lt;/a&gt; as the data storage mechanism for an OpenLDAP deployment. As we mentioned in Part One of the series, LDAP is not a database, but a protocol for accessing and managing data. But the data has to live somewhere, and Berkeley DB is easy to deal with, even for newbie admins. If you're among those who have nightmares about databases, take heart in knowing that OpenLDAP does a superb job at hiding the fact that you're even dealing with one. Download the Berkeley DB source from the user-friendly Sleepycat download page. For my test build, I used Berkeley DB 4.1.25 without strong encryption support.&lt;br /&gt;&lt;br /&gt;Building Berkeley DB couldn't be easier. Unpack the tarball, cd to the build_unix directory, and type ../dist/configure, followed by make and make install (the last as root). This will create a directory called /usr/local/BerkeleyDB.4.1, which contains all of the pertinent parts we need for our OpenLDAP installation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;OpenSSL for LDAPS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you're using Redhat, Fedora,Gentoo,Arch,Debian or any number of other recent distributions, OpenSSL is probably already installed. If it isn't, and you wish to enable secure connections to your LDAP server, you need to install it. Luckily, this is a breeze. Grab a source tarball from the OpenSSL Download Page. Untar it, cd to the resulting directory, and run the standard configure and make commands. I also recommend that you run make test, and then (as root, of course) make install. This puts everything you need in the /usr/local/ssl directory by default.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anyway I have created a user and group which will be able to operate the ldap thing going.Here is that:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_14:51:17_Mon Sep 13:~&gt; id ldap                                                                                                                             &lt;br /&gt;uid=439(ldap) gid=439(ldap) groups=439(ldap)  &lt;/span&gt; &lt;br /&gt;&lt;br /&gt;Now we need to investigate the slapd.conf file,this is the  file which drive ldap.So here we go:&lt;br /&gt;&lt;br /&gt;Here's a quick and dirty slapd.conf that gets the daemon up and running and allows an administrative user to manipulate data:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;include /etc/openldap/schema/core.schema&lt;br /&gt;include /etc/openldap/schema/cosine.schema&lt;br /&gt;include /etc/openldap/schema/inetorgperson.schema&lt;br /&gt;include /etc/openldap/schema/nis.schema &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Schema files define objects and attributes. When the slapd daemon starts, it includes whichever schema files we tell it to here, and that determines the types of objects and attributes supported by that slapd daemon. So, for example, if we did not include the nis.schema file, we would not be able to add typical Unix accounts using only the other schema files we've included. Schema files are human-readable, and you could even create your own schema files if you needed some wacky object-types that aren't already defined.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;allow bind_v2&lt;br /&gt;pidfile /var/run/slapd.pid&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In newer versions of OpenLDAP, only LDAPv3 binds are allowed by default, which has caused many a mailing list crisis, since there are applications that don't support making a version 3 bind to a directory server. In the event we come across any in our travels, we've allowed LDAPv2 binds for our proof-of-concept, as you can see here:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;database bdb&lt;br /&gt;suffix "dc=bhaskar-laptop,dc=localdomain"&lt;br /&gt;rootdn "cn=Manager,dc=bhaskar-laptop,dc=localdomain"&lt;br /&gt;rootpw  secret ------------&gt; which is generated by slappasswd previously,just cut and paste&lt;br /&gt;directory /var/lib/ldap&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Our database backend is the Berkeley database, which OpenLDAP knows as "bdb." The slapd.conf man page can tell you other possible values for the database directive. Our suffix uses what's known as the "domain component" model. This model just takes the parts of a domain and references each part of the domain name as a separate domain component (dc). We'll talk more about this in a future article.&lt;br /&gt;&lt;br /&gt;The rootdn and rootpw values define the administrative username and password for performing on the directory or its data operations that require administrative priveleges. The username is defined using a common name (cn), and the object entry for that user is stored directly under our top-level entry -- hence the trailing domain components. The password is generated using the slappasswd command, which simply prompts you for a password and generates output which can be cut and pasted into the slapd.conf file, as I've done here.&lt;br /&gt;&lt;br /&gt;directory tells the slapd daemon where to store the data files for this particular database definition. There can be several database sections in a slapd.conf file. Here, we're telling slapd to use its home directory as its data storage directory, which is why the ldap user must be able to write there.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;index objectClass eq,pres&lt;br /&gt;index ou,cn,mail,surname,givenname eq,pres,sub&lt;br /&gt;index uidNumber,gidNumber,loginShell eq,pres&lt;br /&gt;index uid,memberUid eq,pres,sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Defining indexes at this early stage won't make a great amount of difference. However, as the directory grows and more demands are placed upon it, indexes can mean the difference between users who don't notice that things that used to be handle by, say, NIS are now handled by something else, and a completely unusable directory server.&lt;br /&gt;&lt;br /&gt; Now all boil down to starting the ldap daemon that slapd like below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;/etc/init.d/slapd start------------------&gt; Every others else&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;/etc/rc.d/slapd start ------------&gt; Gentoo ,Arch and variant&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;service slapd start ------------&gt; Fedora and Redhat variant&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Still it depend on the OS you sit on..but the intention would be same..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Resources:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;a)&lt;a href="http://www.linuxlaboratory.org/articles/demystifying-ldap/"&gt;LDAP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;b)&lt;a href="http://www.linuxlaboratory.org/articles/demystifying-ldap-data/"&gt;LDAP-data&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;c)&lt;a href="http://www.linuxlaboratory.org/articles/installing-openldap-server-part-i/"&gt;OpenLDAP Install&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;d)&lt;a href="http://www.linuxlaboratory.org/articles/installing-openldap-server-part-ii/"&gt;OpenLDAP Install -II&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;e)&lt;a href="http://www.openldap.org/doc/admin22/index.html"&gt;OpenLdap Administration&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-339629463761495790?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/339629463761495790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/09/ldap-tool-to-manage-enterprise.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/339629463761495790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/339629463761495790'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/09/ldap-tool-to-manage-enterprise.html' title='LDAP: The tool to manage enterprise infrastructure'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-8012736859498928124</id><published>2010-09-02T05:13:00.005+05:30</published><updated>2010-09-18T18:16:12.365+05:30</updated><title type='text'>Important system tools- part-II</title><content type='html'>This is a second article related to this(system tools) information .You can find the first part &lt;a href="http://unixbhaskar.wordpress.com/2010/08/22/important-system-tools/"&gt;here&lt;/a&gt; . Ok GNU/Linux come with so many wonderful tools that one entire book will not suffice to write about it.As it visible everywhere. &lt;br /&gt;&lt;br /&gt;I do not issue any guarantee that this will work for you.&lt;br /&gt;&lt;br /&gt;I am going to take you through some tricky tools GNU/Linux provide to deal with oddity or complexity.Important to understand administrators love these kind tools under thier armory to shoot out problem as precisely as possible ,so they can concentrate on other equally important matters at hand.Time management is one of the key to become a efficent administrator at production environment.&lt;br /&gt;&lt;br /&gt;So here we go. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Dmidecode&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;A bit of explanation about it first. This tool will reveal the BIOS information of the system .So it's a handy way to know about it without rebooting the system.Most of the distros these days have it in thier respective repositories.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_05:29:31_Thu Sep 02:~&gt; sudo /usr/sbin/dmidecode&lt;br /&gt;# dmidecode 2.10&lt;br /&gt;SMBIOS 2.4 present.&lt;br /&gt;25 structures occupying 1236 bytes.&lt;br /&gt;Table at 0x000F25D2.&lt;br /&gt;&lt;br /&gt;Handle 0x0000, DMI type 0, 24 bytes&lt;br /&gt;BIOS Information&lt;br /&gt;        Vendor: Hewlett-Packard&lt;br /&gt;        Version: 68MSU Ver. F.03&lt;br /&gt;        Release Date: 08/15/2007&lt;br /&gt;        Address: 0xE0000&lt;br /&gt;        Runtime Size: 128 kB&lt;br /&gt;        ROM Size: 1024 kB&lt;br /&gt;        Characteristics:&lt;br /&gt;                PCI is supported&lt;br /&gt;                PC Card (PCMCIA) is supported&lt;br /&gt;                PNP is supported&lt;br /&gt;                BIOS is upgradeable&lt;br /&gt;                BIOS shadowing is allowed&lt;br /&gt;                Boot from CD is supported&lt;br /&gt;                Selectable boot is supported&lt;br /&gt;                EDD is supported&lt;br /&gt;                3.5"/720 kB floppy services are supported (int 13h)&lt;br /&gt;                Print screen service is supported (int 5h)&lt;br /&gt;                8042 keyboard services are supported (int 9h)&lt;br /&gt;                Serial services are supported (int 14h)&lt;br /&gt;                Printer services are supported (int 17h)&lt;br /&gt;                ACPI is supported&lt;br /&gt;                USB legacy is supported&lt;br /&gt;                LS-120 boot is supported&lt;br /&gt;                Smart battery is supported&lt;br /&gt;                BIOS boot specification is supported&lt;br /&gt;                Function key-initiated network boot is supported&lt;br /&gt;                Targeted content distribution is supported&lt;br /&gt;        BIOS Revision: 15.3&lt;br /&gt;        Firmware Revision: 132.14&lt;br /&gt;&lt;br /&gt;Handle 0x0001, DMI type 1, 27 bytes&lt;br /&gt;System Information&lt;br /&gt;        Manufacturer: Hewlett-Packard&lt;br /&gt;        Product Name: Compaq Presario B1200&lt;br /&gt;        Version: F.03&lt;br /&gt;        Serial Number: CNU8011ZJZ&lt;br /&gt;        UUID: 24FEFA40-3A15-E011-3F84-6D9910097D29&lt;br /&gt;        Wake-up Type: Power Switch&lt;br /&gt;        SKU Number: GP279PA#ACJ&lt;br /&gt;        Family: 103C_5335KV&lt;br /&gt;&lt;br /&gt;Handle 0x0040, DMI type 126, 42 bytes&lt;br /&gt;Inactive&lt;br /&gt;&lt;br /&gt;Handle 0x0002, DMI type 2, 8 bytes&lt;br /&gt;Base Board Information&lt;br /&gt;        Manufacturer: Hewlett-Packard&lt;br /&gt;        Product Name: 0AC0&lt;br /&gt;        Version: KBC Version 84.0E&lt;br /&gt;        Serial Number: Not Specified&lt;br /&gt;&lt;br /&gt;Handle 0x0003, DMI type 3, 13 bytes&lt;br /&gt;Chassis Information&lt;br /&gt;        Manufacturer: Hewlett-Packard&lt;br /&gt;        Type: Notebook&lt;br /&gt;        Lock: Not Present&lt;br /&gt;        Version: Not Specified&lt;br /&gt;        Serial Number: CNU8011ZJZ&lt;br /&gt;        Asset Tag: CNU8011ZJZ&lt;br /&gt;        Boot-up State: Safe&lt;br /&gt;        Power Supply State: Safe&lt;br /&gt;        Thermal State: Safe&lt;br /&gt;        Security Status: External Interface Enabled&lt;br /&gt;&lt;br /&gt;Handle 0x0041, DMI type 126, 32 bytes&lt;br /&gt;Inactive&lt;br /&gt;&lt;br /&gt;Handle 0x0004, DMI type 4, 35 bytes&lt;br /&gt;Processor Information&lt;br /&gt;        Socket Designation: U10&lt;br /&gt;        Type: Central Processor&lt;br /&gt;        Family: Pentium M&lt;br /&gt;        Manufacturer: Intel(R)&lt;br /&gt;        ID: FD 06 00 00 FF FB EB BF&lt;br /&gt;        Signature: Type 0, Family 6, Model 15, Stepping 13&lt;br /&gt;        Flags:&lt;br /&gt;                FPU (Floating-point unit on-chip)&lt;br /&gt;                VME (Virtual mode extension)&lt;br /&gt;                DE (Debugging extension)&lt;br /&gt;                PSE (Page size extension)&lt;br /&gt;                TSC (Time stamp counter)&lt;br /&gt;                MSR (Model specific registers)&lt;br /&gt;                PAE (Physical address extension)&lt;br /&gt;                MCE (Machine check exception)&lt;br /&gt;                CX8 (CMPXCHG8 instruction supported)&lt;br /&gt;                APIC (On-chip APIC hardware supported)&lt;br /&gt;                SEP (Fast system call)&lt;br /&gt;                MTRR (Memory type range registers)&lt;br /&gt;                PGE (Page global enable)&lt;br /&gt;                MCA (Machine check architecture)&lt;br /&gt;                CMOV (Conditional move instruction supported)&lt;br /&gt;                PAT (Page attribute table)&lt;br /&gt;                PSE-36 (36-bit page size extension)&lt;br /&gt;                CLFSH (CLFLUSH instruction supported)&lt;br /&gt;                DS (Debug store)&lt;br /&gt;                ACPI (ACPI supported)&lt;br /&gt;                MMX (MMX technology supported)&lt;br /&gt;                FXSR (Fast floating-point save and restore)&lt;br /&gt;                SSE (Streaming SIMD extensions)&lt;br /&gt;                SSE2 (Streaming SIMD extensions 2)&lt;br /&gt;                SS (Self-snoop)&lt;br /&gt;                HTT (Hyper-threading technology)&lt;br /&gt;                TM (Thermal monitor supported)&lt;br /&gt;                PBE (Pending break enabled)&lt;br /&gt;        Version: Intel(R) Core(TM)2 Duo CPU     T5450  @ 1.66GHz&lt;br /&gt;        Voltage: 1.1 V&lt;br /&gt;        External Clock: 166 MHz&lt;br /&gt;        Max Speed: 1667 MHz&lt;br /&gt;        Current Speed: 1667 MHz&lt;br /&gt;        Status: Populated, Enabled&lt;br /&gt;        Upgrade: None&lt;br /&gt;        L1 Cache Handle: 0x0005&lt;br /&gt;        L2 Cache Handle: 0x0006&lt;br /&gt;        L3 Cache Handle: Not Provided&lt;br /&gt;        Serial Number: Not Specified&lt;br /&gt;        Asset Tag: Not Specified&lt;br /&gt;        Part Number: Not Specified&lt;br /&gt;&lt;br /&gt;Handle 0x0005, DMI type 7, 19 bytes&lt;br /&gt;Cache Information&lt;br /&gt;        Socket Designation: Internal L1 Cache&lt;br /&gt;        Configuration: Enabled, Not Socketed, Level 1&lt;br /&gt;        Operational Mode: Write Back&lt;br /&gt;        Location: Internal&lt;br /&gt;        Installed Size: 64 kB&lt;br /&gt;        Maximum Size: 64 kB&lt;br /&gt;        Supported SRAM Types:&lt;br /&gt;                Burst&lt;br /&gt;        Installed SRAM Type: Burst&lt;br /&gt;        Speed: Unknown&lt;br /&gt;        Error Correction Type: Unknown&lt;br /&gt;        System Type: Unified&lt;br /&gt;        Associativity: 4-way Set-associative&lt;br /&gt;&lt;br /&gt;Handle 0x0006, DMI type 7, 19 bytes&lt;br /&gt;Cache Information&lt;br /&gt;        Socket Designation: Internal L2 Cache&lt;br /&gt;        Configuration: Enabled, Not Socketed, Level 2&lt;br /&gt;        Operational Mode: Write Back&lt;br /&gt;        Location: External&lt;br /&gt;        Installed Size: 2048 kB&lt;br /&gt;        Maximum Size: 2048 kB&lt;br /&gt;        Supported SRAM Types:&lt;br /&gt;                Burst&lt;br /&gt;        Installed SRAM Type: Burst&lt;br /&gt;        Speed: Unknown&lt;br /&gt;        Error Correction Type: None&lt;br /&gt;        System Type: Unified&lt;br /&gt;        Associativity: 4-way Set-associative&lt;br /&gt;&lt;br /&gt;Handle 0x0007, DMI type 9, 13 bytes&lt;br /&gt;System Slot Information&lt;br /&gt;        Designation: PC CARD-Slot 0&lt;br /&gt;        Type: 32-bit PC Card (PCMCIA)&lt;br /&gt;        Current Usage: Available&lt;br /&gt;        Length: Short&lt;br /&gt;        ID: Adapter 0, Socket 0&lt;br /&gt;        Characteristics:&lt;br /&gt;                5.0 V is provided&lt;br /&gt;                3.3 V is provided&lt;br /&gt;                PC Card-16 is supported&lt;br /&gt;                Cardbus is supported&lt;br /&gt;                PME signal is supported&lt;br /&gt;&lt;br /&gt;Handle 0x0008, DMI type 10, 6 bytes&lt;br /&gt;On Board Device Information&lt;br /&gt;        Type: Video&lt;br /&gt;        Status: Enabled&lt;br /&gt;        Description: 8&lt;br /&gt;&lt;br /&gt;Handle 0x0009, DMI type 11, 5 bytes&lt;br /&gt;OEM Strings&lt;br /&gt;        String 1: www.hp.com&lt;br /&gt;        String 2: ABS 70/71 79 7A 7B 7C&lt;br /&gt;&lt;br /&gt;Handle 0x000A, DMI type 16, 15 bytes&lt;br /&gt;Physical Memory Array&lt;br /&gt;        Location: System Board Or Motherboard&lt;br /&gt;        Use: System Memory&lt;br /&gt;        Error Correction Type: None&lt;br /&gt;        Maximum Capacity: 4 GB&lt;br /&gt;        Error Information Handle: No Error&lt;br /&gt;        Number Of Devices: 2&lt;br /&gt;&lt;br /&gt;Handle 0x000B, DMI type 17, 27 bytes&lt;br /&gt;Memory Device&lt;br /&gt;        Array Handle: 0x000A&lt;br /&gt;        Error Information Handle: No Error&lt;br /&gt;        Total Width: 64 bits&lt;br /&gt;        Data Width: 64 bits&lt;br /&gt;        Size: 512 MB&lt;br /&gt;        Form Factor: SODIMM&lt;br /&gt;        Set: None&lt;br /&gt;        Locator: DIMM #1&lt;br /&gt;        Bank Locator: Not Specified&lt;br /&gt;        Type: DDR2&lt;br /&gt;        Type Detail: Synchronous&lt;br /&gt;        Speed: 667 MHz&lt;br /&gt;        Manufacturer: Hyundai Electronics      &lt;br /&gt;        Serial Number: 0000403D&lt;br /&gt;        Asset Tag: Not Specified&lt;br /&gt;        Part Number: HYMP564S64CP6-Y5  &lt;br /&gt;&lt;br /&gt;Handle 0x000C, DMI type 17, 27 bytes&lt;br /&gt;Memory Device&lt;br /&gt;        Array Handle: 0x000A&lt;br /&gt;        Error Information Handle: No Error&lt;br /&gt;        Total Width: 64 bits&lt;br /&gt;        Data Width: 64 bits&lt;br /&gt;        Size: 512 MB&lt;br /&gt;        Form Factor: SODIMM&lt;br /&gt;        Set: None&lt;br /&gt;        Locator: DIMM #2&lt;br /&gt;        Bank Locator: Not Specified&lt;br /&gt;        Type: DDR2&lt;br /&gt;        Type Detail: Synchronous&lt;br /&gt;        Speed: 667 MHz&lt;br /&gt;        Manufacturer: Hyundai Electronics      &lt;br /&gt;        Serial Number: 0000403A&lt;br /&gt;        Asset Tag: Not Specified&lt;br /&gt;        Part Number: HYMP564S64CP6-Y5  &lt;br /&gt;&lt;br /&gt;Handle 0x000D, DMI type 19, 15 bytes&lt;br /&gt;Memory Array Mapped Address&lt;br /&gt;        Starting Address: 0x00000000000&lt;br /&gt;        Ending Address: 0x0003FFFFFFF&lt;br /&gt;        Range Size: 1 GB&lt;br /&gt;        Physical Array Handle: 0x000A&lt;br /&gt;        Partition Width: 0&lt;br /&gt;&lt;br /&gt;Handle 0x000E, DMI type 20, 19 bytes&lt;br /&gt;Memory Device Mapped Address&lt;br /&gt;        Starting Address: 0x00000000000&lt;br /&gt;        Ending Address: 0x0001FFFFFFF&lt;br /&gt;        Range Size: 512 MB&lt;br /&gt;        Physical Device Handle: 0x000B&lt;br /&gt;        Memory Array Mapped Address Handle: 0x000D&lt;br /&gt;        Partition Row Position: 1&lt;br /&gt;&lt;br /&gt;Handle 0x000F, DMI type 20, 19 bytes&lt;br /&gt;Memory Device Mapped Address&lt;br /&gt;        Starting Address: 0x00020000000&lt;br /&gt;        Ending Address: 0x0003FFFFFFF&lt;br /&gt;        Range Size: 512 MB&lt;br /&gt;        Physical Device Handle: 0x000C&lt;br /&gt;        Memory Array Mapped Address Handle: 0x000D&lt;br /&gt;        Partition Row Position: 2&lt;br /&gt;&lt;br /&gt;Handle 0x0010, DMI type 22, 26 bytes&lt;br /&gt;Portable Battery&lt;br /&gt;        Location: Primary&lt;br /&gt;        Manufacturer: Hewlett-Packard&lt;br /&gt;        Manufacture Date: 11/13/2007&lt;br /&gt;        Serial Number: 27074       &lt;br /&gt;        Name: HP                &lt;br /&gt;        Chemistry: Lithium Ion&lt;br /&gt;        Design Capacity: 25500 mWh&lt;br /&gt;        Design Voltage: 14400 mV&lt;br /&gt;        SBDS Version: Not Specified&lt;br /&gt;        Maximum Error: Unknown&lt;br /&gt;        OEM-specific Information: 0x00000000&lt;br /&gt;&lt;br /&gt;Handle 0x0011, DMI type 126, 26 bytes&lt;br /&gt;Inactive&lt;br /&gt;&lt;br /&gt;Handle 0x0012, DMI type 32, 11 bytes&lt;br /&gt;System Boot Information&lt;br /&gt;        Status: No errors detected&lt;br /&gt;&lt;br /&gt;Handle 0x0085, DMI type 133, 34 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;        Header and Data:&lt;br /&gt;                85 22 85 00 01 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;                00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00&lt;br /&gt;                00 00&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="font-weight:bold;"&gt;Strings:&lt;br /&gt;                                &lt;br /&gt;                No battery        &lt;br /&gt;&lt;br /&gt;Handle 0x0086, DMI type 134, 34 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;        Header and Data:&lt;br /&gt;                86 22 86 00 01 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;                00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00&lt;br /&gt;                00 00&lt;br /&gt;        Strings:&lt;br /&gt;                                &lt;br /&gt;                                  &lt;br /&gt;&lt;br /&gt;Handle 0x0013, DMI type 144, 26 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;        Header and Data:&lt;br /&gt;                90 1A 13 00 FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;                FF FF FF FF FF FF FF FF 00 00&lt;br /&gt;&lt;br /&gt;Handle 0x0014, DMI type 127, 4 bytes&lt;br /&gt;End Of Table&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you can see it will prodeuce hell lot of information.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ethtool&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;This tools to masure and know information about the attached ethernet card.Like the previous one this tool is also available with most of distributions repository.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_05:37:54_Thu Sep 02:~&gt; sudo /usr/sbin/ethtool -i eth0&lt;br /&gt;driver: tg3&lt;br /&gt;version: 3.108&lt;br /&gt;firmware-version: sb v2.09&lt;br /&gt;bus-info: 0000:18:00.0&lt;br /&gt;&lt;br /&gt;bhaskar@bhaskar-laptop_05:38:06_Thu Sep 02:~&gt; sudo /usr/sbin/ethtool eth0&lt;br /&gt;Settings for eth0:&lt;br /&gt;        Supported ports: [ TP ]&lt;br /&gt;        Supported link modes:   10baseT/Half 10baseT/Full &lt;br /&gt;                                100baseT/Half 100baseT/Full &lt;br /&gt;                                1000baseT/Half 1000baseT/Full &lt;br /&gt;        Supports auto-negotiation: Yes&lt;br /&gt;        Advertised link modes:  10baseT/Half 10baseT/Full &lt;br /&gt;                                100baseT/Half 100baseT/Full &lt;br /&gt;                                1000baseT/Half 1000baseT/Full &lt;br /&gt;        Advertised auto-negotiation: Yes&lt;br /&gt;        Speed: Unknown! (65535)&lt;br /&gt;        Duplex: Unknown! (255)&lt;br /&gt;        Port: Twisted Pair&lt;br /&gt;        PHYAD: 1&lt;br /&gt;        Transceiver: internal&lt;br /&gt;        Auto-negotiation: on&lt;br /&gt;        Supports Wake-on: g&lt;br /&gt;        Wake-on: g&lt;br /&gt;        Current message level: 0x000000ff (255)&lt;br /&gt;        Link detected: no&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Blkid&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;This tool is for getting the device id ,which is very unique to help the bootloader think properly.In other word not messed up with bootloader if you put this indentification number of disk instead of directly mention them like this /dev/sdX.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_05:48:57_Thu Sep 02:~&gt; sudo /sbin/blkid&lt;br /&gt;Password: &lt;br /&gt;/dev/sda1: UUID="f6f903f1-03cd-4387-933c-8c928514c958" TYPE="ext3" SEC_TYPE="ext2" &lt;br /&gt;/dev/sda2: UUID="a9380f41-173f-41be-8e20-b14fb78eaf9a" TYPE="swap" &lt;br /&gt;/dev/sda3: UUID="3cccbf0e-0354-43b4-b89a-ceee1fcadb31" TYPE="ext3" SEC_TYPE="ext2" &lt;br /&gt;/dev/sda5: LABEL="/" UUID="a217eb70-52b1-4e20-8841-7cb366a54c40" TYPE="ext3" &lt;br /&gt;/dev/sda6: UUID="73917641-fbaf-4910-bf2a-5d86d93fb1ca" SEC_TYPE="ext2" TYPE="ext3" &lt;br /&gt;/dev/sda7: LABEL="Fedora-12-i686-L" UUID="0ba812ef-d38e-4fb6-9a2d-79fcb13768aa" TYPE="ext4" &lt;br /&gt;/dev/sda8: UUID="VwXE29-5Um4-zG0d-PCXe-Anz6-k876-CT3v0G" TYPE="LVM2_member" &lt;br /&gt;/dev/mapper/bhaskarlaptop-data: UUID="09ac6747-95b8-4b62-ac0e-5b80adcd13fe" TYPE="ext3" &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It has got so many useful flags through which you can get lot out of it. Please see the manpage reagrding this tool and every tool.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;UUID&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;As you can understand this is an abbreviation and the full form is "&lt;span style="font-weight:bold;"&gt;Universally Unique Identifier&lt;/span&gt;", which if you can see the previous command on this page; that is apprent from the command output of "blkid" right?&lt;br /&gt;&lt;br /&gt;Now if you want to generate a new one means new "&lt;span style="font-weight:bold;"&gt;Universally Unique Identifier&lt;/span&gt;", then you have follow this way,basically it can done by two means one by is generated &lt;span style="font-weight:bold;"&gt;randomly&lt;/span&gt; or through "&lt;span style="font-weight:bold;"&gt;r&lt;/span&gt;" flag of uuidgen binary ot by &lt;span style="font-weight:bold;"&gt;time base&lt;/span&gt; with the help of "&lt;span style="font-weight:bold;"&gt;-t&lt;/span&gt;" flag.Ok I will show you both below:&lt;br /&gt;&lt;br /&gt;Time Based:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_06:05:51_Thu Sep 02:~&gt; sudo /usr/bin/uuidgen -t&lt;br /&gt;Password:&lt;br /&gt;0fb2cfd4-b62a-11df-b336-001a4b90dadc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Randomized:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_06:06:43_Thu Sep 02:~&gt; sudo /usr/bin/uuidgen -r&lt;br /&gt;Password: &lt;br /&gt;c31645c4-7d72-493b-a85c-adadd61a0e49&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cool!! right. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Socklist&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;As you can guess from the name that this command will going to enlist the socket running on the system for that it turn to /proc file system.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_06:30:19_Thu Sep 02:~&gt; sudo /usr/bin/socklist&lt;br /&gt;type  port      inode     uid    pid   fd  name&lt;br /&gt;tcp    111       7001       0   3010    8  rpcbind&lt;br /&gt;tcp     80       6061       0   4077    3  httpd&lt;br /&gt;tcp     53       5985       0   2792   21  named&lt;br /&gt;tcp     53       5983       0   2792   20  named&lt;br /&gt;tcp     25       6329       0   2904   12  master&lt;br /&gt;tcp    953       5993       0   2792   22  named&lt;br /&gt;tcp  17500      14128    1000   3047   18  dropbox&lt;br /&gt;tcp    646       7030       0   3014    3  famd&lt;br /&gt;tcp     80          0       0      0    0  &lt;br /&gt;udp     53       5984       0   2792  513  named&lt;br /&gt;udp     53       5982       0   2792  512  named&lt;br /&gt;udp  17500      14124    1000   3047   15  dropbox&lt;br /&gt;udp    111       6995       0   3010    6  rpcbind&lt;br /&gt;udp    123       5934       0   2791    5  ntpd&lt;br /&gt;udp    641       7000       0   3010    7  rpcbind&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Udisks&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;This tool will show the system bus service with attached devices.It will spit out quite a verbose information.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_06:37:01_Thu Sep 02:~&gt; sudo /usr/bin/udisks --dump&lt;br /&gt;========================================================================&lt;br /&gt;Showing information for /org/freedesktop/UDisks/devices/dm_2d0&lt;br /&gt;  native-path:                 /sys/devices/virtual/block/dm-0&lt;br /&gt;  device:                      254:0&lt;br /&gt;  device-file:                 /dev/dm-0&lt;br /&gt;    presentation:              /dev/dm-0&lt;br /&gt;    by-id:                     /dev/disk/by-id/dm-name-bhaskarlaptop-data&lt;br /&gt;    by-id:                     /dev/disk/by-id/dm-uuid-LVM-gQo1BYHBfV6WxRuYfF3PO3YRgD1QSX7HyRhtgrM7prRmAE41YvqJsbtBRAA9wvdt&lt;br /&gt;    by-id:                     /dev/disk/by-uuid/09ac6747-95b8-4b62-ac0e-5b80adcd13fe&lt;br /&gt;  detected at:                 Wed 01 Sep 2010 10:34:56 PM IST&lt;br /&gt;  system internal:             1&lt;br /&gt;  removable:                   0&lt;br /&gt;  has media:                   1 (detected at Wed 01 Sep 2010 10:34:56 PM IST)&lt;br /&gt;    detects change:            0&lt;br /&gt;    detection by polling:      0&lt;br /&gt;    detection inhibitable:     0&lt;br /&gt;    detection inhibited:       0&lt;br /&gt;  is read only:                0&lt;br /&gt;  is mounted:                  1&lt;br /&gt;  mount paths:             /lvm&lt;br /&gt;  mounted by uid:              0&lt;br /&gt;  presentation hide:           0&lt;br /&gt;  presentation nopolicy:       1&lt;br /&gt;  presentation name:           &lt;br /&gt;  presentation icon:           &lt;br /&gt;  size:                        26843545600&lt;br /&gt;  block size:                  512&lt;br /&gt;  job underway:                no&lt;br /&gt;  usage:                       filesystem&lt;br /&gt;  type:                        ext3&lt;br /&gt;  version:                     1.0&lt;br /&gt;  uuid:                        09ac6747-95b8-4b62-ac0e-5b80adcd13fe&lt;br /&gt;  label:                       &lt;br /&gt;  LVM2 Logical Volume:&lt;br /&gt;    LV name:                   data&lt;br /&gt;    LV uuid:                   yRhtgr-M7pr-RmAE-41Yv-qJsb-tBRA-A9wvdt&lt;br /&gt;    VG name:                   bhaskarlaptop&lt;br /&gt;    VG uuid:                   gQo1BY-HBfV-6WxR-uYfF-3PO3-YRgD-1QSX7H&lt;br /&gt;&lt;br /&gt;========================================================================&lt;br /&gt;Showing information for /org/freedesktop/UDisks/devices/sda&lt;br /&gt;  native-path:                 /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda&lt;br /&gt;  device:                      8:0&lt;br /&gt;  device-file:                 /dev/sda&lt;br /&gt;    presentation:              /dev/sda&lt;br /&gt;    by-id:                     /dev/disk/by-id/ata-ST9160821AS_5MA8QHLW&lt;br /&gt;    by-id:                     /dev/disk/by-id/scsi-SATA_ST9160821AS_5MA8QHLW&lt;br /&gt;    by-path:                   /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0&lt;br /&gt;  detected at:                 Wed 01 Sep 2010 10:34:55 PM IST&lt;br /&gt;  system internal:             1&lt;br /&gt;  removable:                   0&lt;br /&gt;  has media:                   1 (detected at Wed 01 Sep 2010 10:34:55 PM IST)&lt;br /&gt;    detects change:            0&lt;br /&gt;    detection by polling:      0&lt;br /&gt;    detection inhibitable:     0&lt;br /&gt;    detection inhibited:       0&lt;br /&gt;  is read only:                0&lt;br /&gt;  is mounted:                  0&lt;br /&gt;  mount paths:             &lt;br /&gt;  mounted by uid:              0&lt;br /&gt;  presentation hide:           0&lt;br /&gt;  presentation nopolicy:       0&lt;br /&gt;  presentation name:           &lt;br /&gt;  presentation icon:           &lt;br /&gt;  size:                        160041885696&lt;br /&gt;  block size:                  512&lt;br /&gt;  job underway:                no&lt;br /&gt;  usage:                       &lt;br /&gt;  type:                        &lt;br /&gt;  version:                     &lt;br /&gt;  uuid:                        &lt;br /&gt;  label:                       &lt;br /&gt;  partition table:&lt;br /&gt;    scheme:                    mbr&lt;br /&gt;    count:                     8&lt;br /&gt;  drive:&lt;br /&gt;    vendor:                    ATA&lt;br /&gt;    model:                     ST9160821AS&lt;br /&gt;    revision:                  3.BHE&lt;br /&gt;    serial:                    5MA8QHLW&lt;br /&gt;    WWN:                       &lt;br /&gt;    detachable:                0&lt;br /&gt;    can spindown:              1&lt;br /&gt;    rotational media:          Yes, unknown rate&lt;br /&gt;    write-cache:               enabled&lt;br /&gt;    ejectable:                 0&lt;br /&gt;    adapter:                   /org/freedesktop/UDisks/adapters/0000_3a00_3a1f_2e2&lt;br /&gt;    ports:&lt;br /&gt;      /org/freedesktop/UDisks/adapters/0000_3a00_3a1f_2e2/host0&lt;br /&gt;    similar devices:&lt;br /&gt;    media:                     &lt;br /&gt;      compat:                 &lt;br /&gt;    interface:                 ata&lt;br /&gt;    if speed:                  (unknown)&lt;br /&gt;    ATA SMART:                 Updated at Thu 02 Sep 2010 06:10:21 AM IST&lt;br /&gt;      overall assessment:      UNKNOWN&lt;br /&gt;===============================================================================&lt;br /&gt; Attribute       Current|Worst|Threshold  Status   Value       Type     Updates&lt;br /&gt;===============================================================================&lt;br /&gt; raw-read-error-rate         113|100|  6   good    52163879    Pre-fail Online &lt;br /&gt; spin-up-time                 99| 99|  0    n/a    0           Old-age  Online &lt;br /&gt; start-stop-count             97| 97| 20   good    3771        Pre-fail Online &lt;br /&gt; reallocated-sector-count    100|100| 36   good    0 sectors   Pre-fail Online &lt;br /&gt; seek-error-rate              68| 60| 30   good    133359356520 Pre-fail Online &lt;br /&gt; power-on-hours               94| 94|  0    n/a    225.4 days  Old-age  Online &lt;br /&gt; spin-retry-count            100|100| 34   good    0           Pre-fail Online &lt;br /&gt; power-cycle-count            98| 98| 20   good    2062        Pre-fail Online &lt;br /&gt; attribute-184               100|253|  0    n/a    0           Old-age  Online &lt;br /&gt; reported-uncorrect          100|100|  0    n/a    0 sectors   Old-age  Online &lt;br /&gt; attribute-188               100|100| 45   good    0           Old-age  Online &lt;br /&gt; high-fly-writes              90| 90|  0    n/a    10          Old-age  Online &lt;br /&gt; airflow-temperature-celsius  52| 36|  0    n/a    48C / 118F  Old-age  Online &lt;br /&gt; power-off-retract-count     100|100|  0    n/a    213         Old-age  Online &lt;br /&gt; load-cycle-count              1|  1|  0    n/a    207899      Old-age  Online &lt;br /&gt; temperature-celsius-2        48| 64|  0    n/a    48C / 118F  Old-age  Online &lt;br /&gt; hardware-ecc-recovered       82| 61|  0    n/a    225063895   Old-age  Offline&lt;br /&gt; current-pending-sector      100|100|  0    n/a    0 sectors   Old-age  Online &lt;br /&gt; offline-uncorrectable       100|100|  0    n/a    0 sectors   Old-age  Offline&lt;br /&gt; udma-crc-error-count        200|200|  0    n/a    0           Old-age  Online &lt;br /&gt; multi-zone-error-rate       100|253|  0    n/a    0           Old-age  Offline&lt;br /&gt; ta-increase-count           100|253|  0    n/a    0           Old-age  Offline&lt;br /&gt;&lt;br /&gt;========================================================================&lt;br /&gt;Showing information for /org/freedesktop/UDisks/devices/sda1&lt;br /&gt;  native-path:                 /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1&lt;br /&gt;  device:                      8:1&lt;br /&gt;  device-file:                 /dev/sda1&lt;br /&gt;    presentation:              /dev/sda1&lt;br /&gt;    by-id:                     /dev/disk/by-id/ata-ST9160821AS_5MA8QHLW-part1&lt;br /&gt;    by-id:                     /dev/disk/by-id/scsi-SATA_ST9160821AS_5MA8QHLW-part1&lt;br /&gt;    by-id:                     /dev/disk/by-uuid/f6f903f1-03cd-4387-933c-8c928514c958&lt;br /&gt;    by-path:                   /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part1&lt;br /&gt;  detected at:                 Wed 01 Sep 2010 10:34:56 PM IST&lt;br /&gt;  system internal:             1&lt;br /&gt;  removable:                   0&lt;br /&gt;  has media:                   1 (detected at Wed 01 Sep 2010 10:34:56 PM IST)&lt;br /&gt;    detects change:            0&lt;br /&gt;    detection by polling:      0&lt;br /&gt;    detection inhibitable:     0&lt;br /&gt;    detection inhibited:       0&lt;br /&gt;  is read only:                0&lt;br /&gt;  is mounted:                  0&lt;br /&gt;  mount paths:             &lt;br /&gt;  mounted by uid:              0&lt;br /&gt;  presentation hide:           0&lt;br /&gt;  presentation nopolicy:       0&lt;br /&gt;  presentation name:           &lt;br /&gt;  presentation icon:           &lt;br /&gt;  size:                        50001444864&lt;br /&gt;  block size:                  512&lt;br /&gt;  job underway:                no&lt;br /&gt;  usage:                       filesystem&lt;br /&gt;  type:                        ext3&lt;br /&gt;  version:                     1.0&lt;br /&gt;  uuid:                        f6f903f1-03cd-4387-933c-8c928514c958&lt;br /&gt;  label:                       &lt;br /&gt;  partition:&lt;br /&gt;    part of:                   /org/freedesktop/UDisks/devices/sda&lt;br /&gt;    scheme:                    mbr&lt;br /&gt;    number:                    1&lt;br /&gt;    type:                      0x83&lt;br /&gt;    flags:                    &lt;br /&gt;    offset:                    32256&lt;br /&gt;    alignment offset:          0&lt;br /&gt;    size:                      50001444864&lt;br /&gt;    label:                     &lt;br /&gt;    uuid:                      &lt;br /&gt;&lt;br /&gt;========================================================================&lt;br /&gt;Showing information for /org/freedesktop/UDisks/devices/sda2&lt;br /&gt;  native-path:                 /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda2&lt;br /&gt;  device:                      8:2&lt;br /&gt;  device-file:                 /dev/sda2&lt;br /&gt;    presentation:              /dev/sda2&lt;br /&gt;    by-id:                     /dev/disk/by-id/ata-ST9160821AS_5MA8QHLW-part2&lt;br /&gt;    by-id:                     /dev/disk/by-id/scsi-SATA_ST9160821AS_5MA8QHLW-part2&lt;br /&gt;    by-id:                     /dev/disk/by-uuid/a9380f41-173f-41be-8e20-b14fb78eaf9a&lt;br /&gt;    by-path:                   /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part2&lt;br /&gt;  detected at:                 Wed 01 Sep 2010 10:34:56 PM IST&lt;br /&gt;  system internal:             1&lt;br /&gt;  removable:                   0&lt;br /&gt;  has media:                   1 (detected at Wed 01 Sep 2010 10:34:56 PM IST)&lt;br /&gt;    detects change:            0&lt;br /&gt;    detection by polling:      0&lt;br /&gt;    detection inhibitable:     0&lt;br /&gt;    detection inhibited:       0&lt;br /&gt;  is read only:                0&lt;br /&gt;  is mounted:                  0&lt;br /&gt;  mount paths:             &lt;br /&gt;  mounted by uid:              0&lt;br /&gt;  presentation hide:           0&lt;br /&gt;  presentation nopolicy:       0&lt;br /&gt;  presentation name:           &lt;br /&gt;  presentation icon:           &lt;br /&gt;  size:                        2303078400&lt;br /&gt;  block size:                  512&lt;br /&gt;  job underway:                no&lt;br /&gt;  usage:                       other&lt;br /&gt;  type:                        swap&lt;br /&gt;  version:                     2&lt;br /&gt;  uuid:                        a9380f41-173f-41be-8e20-b14fb78eaf9a&lt;br /&gt;  label:                       &lt;br /&gt;  partition:&lt;br /&gt;    part of:                   /org/freedesktop/UDisks/devices/sda&lt;br /&gt;    scheme:                    mbr&lt;br /&gt;    number:                    2&lt;br /&gt;    type:                      0x82&lt;br /&gt;    flags:                    &lt;br /&gt;    offset:                    50001477120&lt;br /&gt;    alignment offset:          0&lt;br /&gt;    size:                      2303078400&lt;br /&gt;    label:                     &lt;br /&gt;    uuid:                      &lt;br /&gt;&lt;br /&gt;========================================================================&lt;br /&gt;Showing information for /org/freedesktop/UDisks/devices/sda3&lt;br /&gt;  native-path:                 /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda3&lt;br /&gt;  device:                      8:3&lt;br /&gt;  device-file:                 /dev/sda3&lt;br /&gt;    presentation:              /dev/sda3&lt;br /&gt;    by-id:                     /dev/disk/by-id/ata-ST9160821AS_5MA8QHLW-part3&lt;br /&gt;    by-id:                     /dev/disk/by-id/scsi-SATA_ST9160821AS_5MA8QHLW-part3&lt;br /&gt;    by-id:                     /dev/disk/by-uuid/3cccbf0e-0354-43b4-b89a-ceee1fcadb31&lt;br /&gt;    by-path:                   /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part3&lt;br /&gt;  detected at:                 Wed 01 Sep 2010 10:34:56 PM IST&lt;br /&gt;  system internal:             1&lt;br /&gt;  removable:                   0&lt;br /&gt;  has media:                   1 (detected at Wed 01 Sep 2010 10:34:56 PM IST)&lt;br /&gt;    detects change:            0&lt;br /&gt;    detection by polling:      0&lt;br /&gt;    detection inhibitable:     0&lt;br /&gt;    detection inhibited:       0&lt;br /&gt;  is read only:                0&lt;br /&gt;  is mounted:                  0&lt;br /&gt;  mount paths:             &lt;br /&gt;  mounted by uid:              0&lt;br /&gt;  presentation hide:           0&lt;br /&gt;  presentation nopolicy:       0&lt;br /&gt;  presentation name:           &lt;br /&gt;  presentation icon:           &lt;br /&gt;  size:                        13999426560&lt;br /&gt;  block size:                  512&lt;br /&gt;  job underway:                no&lt;br /&gt;  usage:                       filesystem&lt;br /&gt;  type:                        ext3&lt;br /&gt;  version:                     1.0&lt;br /&gt;  uuid:                        3cccbf0e-0354-43b4-b89a-ceee1fcadb31&lt;br /&gt;  label:                       &lt;br /&gt;  partition:&lt;br /&gt;    part of:                   /org/freedesktop/UDisks/devices/sda&lt;br /&gt;    scheme:                    mbr&lt;br /&gt;    number:                    3&lt;br /&gt;    type:                      0x83&lt;br /&gt;    flags:                    &lt;br /&gt;    offset:                    52304555520&lt;br /&gt;    alignment offset:          0&lt;br /&gt;    size:                      13999426560&lt;br /&gt;    label:                     &lt;br /&gt;    uuid:                      &lt;br /&gt;&lt;br /&gt;========================================================================&lt;br /&gt;Showing information for /org/freedesktop/UDisks/devices/sda4&lt;br /&gt;  native-path:                 /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda4&lt;br /&gt;  device:                      8:4&lt;br /&gt;  device-file:                 /dev/sda4&lt;br /&gt;    presentation:              /dev/sda4&lt;br /&gt;    by-id:                     /dev/disk/by-id/ata-ST9160821AS_5MA8QHLW-part4&lt;br /&gt;    by-id:                     /dev/disk/by-id/scsi-SATA_ST9160821AS_5MA8QHLW-part4&lt;br /&gt;    by-path:                   /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part4&lt;br /&gt;  detected at:                 Wed 01 Sep 2010 10:34:56 PM IST&lt;br /&gt;  system internal:             1&lt;br /&gt;  removable:                   0&lt;br /&gt;  has media:                   1 (detected at Wed 01 Sep 2010 10:34:56 PM IST)&lt;br /&gt;    detects change:            0&lt;br /&gt;    detection by polling:      0&lt;br /&gt;    detection inhibitable:     0&lt;br /&gt;    detection inhibited:       0&lt;br /&gt;  is read only:                0&lt;br /&gt;  is mounted:                  0&lt;br /&gt;  mount paths:             &lt;br /&gt;  mounted by uid:              0&lt;br /&gt;  presentation hide:           0&lt;br /&gt;  presentation nopolicy:       0&lt;br /&gt;  presentation name:           &lt;br /&gt;  presentation icon:           &lt;br /&gt;  size:                        1024&lt;br /&gt;  block size:                  512&lt;br /&gt;  job underway:                no&lt;br /&gt;  usage:                       &lt;br /&gt;  type:                        &lt;br /&gt;  version:                     &lt;br /&gt;  uuid:                        &lt;br /&gt;  label:                       &lt;br /&gt;  partition:&lt;br /&gt;    part of:                   /org/freedesktop/UDisks/devices/sda&lt;br /&gt;    scheme:                    mbr&lt;br /&gt;    number:                    4&lt;br /&gt;    type:                      0x05&lt;br /&gt;    flags:                    &lt;br /&gt;    offset:                    66303982080&lt;br /&gt;    alignment offset:          0&lt;br /&gt;    size:                      93735290880&lt;br /&gt;    label:                     &lt;br /&gt;    uuid:                      &lt;br /&gt;&lt;br /&gt;========================================================================&lt;br /&gt;Showing information for /org/freedesktop/UDisks/devices/sda5&lt;br /&gt;  native-path:                 /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5&lt;br /&gt;  device:                      8:5&lt;br /&gt;  device-file:                 /dev/sda5&lt;br /&gt;    presentation:              /dev/sda5&lt;br /&gt;    by-id:                     /dev/disk/by-id/ata-ST9160821AS_5MA8QHLW-part5&lt;br /&gt;    by-id:                     /dev/disk/by-id/scsi-SATA_ST9160821AS_5MA8QHLW-part5&lt;br /&gt;    by-id:                     /dev/disk/by-uuid/a217eb70-52b1-4e20-8841-7cb366a54c40&lt;br /&gt;    by-path:                   /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part5&lt;br /&gt;  detected at:                 Wed 01 Sep 2010 10:34:56 PM IST&lt;br /&gt;  system internal:             1&lt;br /&gt;  removable:                   0&lt;br /&gt;  has media:                   1 (detected at Wed 01 Sep 2010 10:34:56 PM IST)&lt;br /&gt;    detects change:            0&lt;br /&gt;    detection by polling:      0&lt;br /&gt;    detection inhibitable:     0&lt;br /&gt;    detection inhibited:       0&lt;br /&gt;  is read only:                0&lt;br /&gt;  is mounted:                  1&lt;br /&gt;  mount paths:             /&lt;br /&gt;  mounted by uid:              0&lt;br /&gt;  presentation hide:           0&lt;br /&gt;  presentation nopolicy:       0&lt;br /&gt;  presentation name:           &lt;br /&gt;  presentation icon:           &lt;br /&gt;  size:                        32901087744&lt;br /&gt;  block size:                  512&lt;br /&gt;  job underway:                no&lt;br /&gt;  usage:                       filesystem&lt;br /&gt;  type:                        ext3&lt;br /&gt;  version:                     1.0&lt;br /&gt;  uuid:                        a217eb70-52b1-4e20-8841-7cb366a54c40&lt;br /&gt;  label:                       &lt;br /&gt;  partition:&lt;br /&gt;    part of:                   /org/freedesktop/UDisks/devices/sda&lt;br /&gt;    scheme:                    mbr&lt;br /&gt;    number:                    5&lt;br /&gt;    type:                      0x83&lt;br /&gt;    flags:                    &lt;br /&gt;    offset:                    127138185216&lt;br /&gt;    alignment offset:          0&lt;br /&gt;    size:                      32901087744&lt;br /&gt;    label:                     &lt;br /&gt;    uuid:                      &lt;br /&gt;&lt;br /&gt;========================================================================&lt;br /&gt;Showing information for /org/freedesktop/UDisks/devices/sda6&lt;br /&gt;  native-path:                 /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6&lt;br /&gt;  device:                      8:6&lt;br /&gt;  device-file:                 /dev/sda6&lt;br /&gt;    presentation:              /dev/sda6&lt;br /&gt;    by-id:                     /dev/disk/by-id/ata-ST9160821AS_5MA8QHLW-part6&lt;br /&gt;    by-id:                     /dev/disk/by-id/scsi-SATA_ST9160821AS_5MA8QHLW-part6&lt;br /&gt;    by-id:                     /dev/disk/by-uuid/73917641-fbaf-4910-bf2a-5d86d93fb1ca&lt;br /&gt;    by-path:                   /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part6&lt;br /&gt;  detected at:                 Wed 01 Sep 2010 10:34:56 PM IST&lt;br /&gt;  system internal:             1&lt;br /&gt;  removable:                   0&lt;br /&gt;  has media:                   1 (detected at Wed 01 Sep 2010 10:34:56 PM IST)&lt;br /&gt;    detects change:            0&lt;br /&gt;    detection by polling:      0&lt;br /&gt;    detection inhibitable:     0&lt;br /&gt;    detection inhibited:       0&lt;br /&gt;  is read only:                0&lt;br /&gt;  is mounted:                  0&lt;br /&gt;  mount paths:             &lt;br /&gt;  mounted by uid:              0&lt;br /&gt;  presentation hide:           0&lt;br /&gt;  presentation nopolicy:       0&lt;br /&gt;  presentation name:           &lt;br /&gt;  presentation icon:           &lt;br /&gt;  size:                        534610944&lt;br /&gt;  block size:                  512&lt;br /&gt;  job underway:                no&lt;br /&gt;  usage:                       filesystem&lt;br /&gt;  type:                        ext3&lt;br /&gt;  version:                     1.0&lt;br /&gt;  uuid:                        73917641-fbaf-4910-bf2a-5d86d93fb1ca&lt;br /&gt;  label:                       &lt;br /&gt;  partition:&lt;br /&gt;    part of:                   /org/freedesktop/UDisks/devices/sda&lt;br /&gt;    scheme:                    mbr&lt;br /&gt;    number:                    6&lt;br /&gt;    type:                      0x83&lt;br /&gt;    flags:                     boot&lt;br /&gt;    offset:                    66304014336&lt;br /&gt;    alignment offset:          0&lt;br /&gt;    size:                      534610944&lt;br /&gt;    label:                     &lt;br /&gt;    uuid:                      &lt;br /&gt;&lt;br /&gt;========================================================================&lt;br /&gt;Showing information for /org/freedesktop/UDisks/devices/sda7&lt;br /&gt;  native-path:                 /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7&lt;br /&gt;  device:                      8:7&lt;br /&gt;  device-file:                 /dev/sda7&lt;br /&gt;    presentation:              /dev/sda7&lt;br /&gt;    by-id:                     /dev/disk/by-id/ata-ST9160821AS_5MA8QHLW-part7&lt;br /&gt;    by-id:                     /dev/disk/by-id/scsi-SATA_ST9160821AS_5MA8QHLW-part7&lt;br /&gt;    by-id:                     /dev/disk/by-uuid/0ba812ef-d38e-4fb6-9a2d-79fcb13768aa&lt;br /&gt;    by-path:                   /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part7&lt;br /&gt;  detected at:                 Wed 01 Sep 2010 10:34:56 PM IST&lt;br /&gt;  system internal:             1&lt;br /&gt;  removable:                   0&lt;br /&gt;  has media:                   1 (detected at Wed 01 Sep 2010 10:34:56 PM IST)&lt;br /&gt;    detects change:            0&lt;br /&gt;    detection by polling:      0&lt;br /&gt;    detection inhibitable:     0&lt;br /&gt;    detection inhibited:       0&lt;br /&gt;  is read only:                0&lt;br /&gt;  is mounted:                  0&lt;br /&gt;  mount paths:             &lt;br /&gt;  mounted by uid:              0&lt;br /&gt;  presentation hide:           0&lt;br /&gt;  presentation nopolicy:       0&lt;br /&gt;  presentation name:           &lt;br /&gt;  presentation icon:           &lt;br /&gt;  size:                        10742183424&lt;br /&gt;  block size:                  512&lt;br /&gt;  job underway:                no&lt;br /&gt;  usage:                       filesystem&lt;br /&gt;  type:                        ext4&lt;br /&gt;  version:                     1.0&lt;br /&gt;  uuid:                        0ba812ef-d38e-4fb6-9a2d-79fcb13768aa&lt;br /&gt;  label:                       Fedora-12-i686-L&lt;br /&gt;  partition:&lt;br /&gt;    part of:                   /org/freedesktop/UDisks/devices/sda&lt;br /&gt;    scheme:                    mbr&lt;br /&gt;    number:                    7&lt;br /&gt;    type:                      0x83&lt;br /&gt;    flags:                    &lt;br /&gt;    offset:                    66838657536&lt;br /&gt;    alignment offset:          0&lt;br /&gt;    size:                      10742183424&lt;br /&gt;    label:                     &lt;br /&gt;    uuid:                      &lt;br /&gt;&lt;br /&gt;========================================================================&lt;br /&gt;Showing information for /org/freedesktop/UDisks/devices/sda8&lt;br /&gt;  native-path:                 /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8&lt;br /&gt;  device:                      8:8&lt;br /&gt;  device-file:                 /dev/sda8&lt;br /&gt;    presentation:              /dev/sda8&lt;br /&gt;    by-id:                     /dev/disk/by-id/ata-ST9160821AS_5MA8QHLW-part8&lt;br /&gt;    by-id:                     /dev/disk/by-id/scsi-SATA_ST9160821AS_5MA8QHLW-part8&lt;br /&gt;    by-path:                   /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part8&lt;br /&gt;  detected at:                 Wed 01 Sep 2010 10:34:56 PM IST&lt;br /&gt;  system internal:             1&lt;br /&gt;  removable:                   0&lt;br /&gt;  has media:                   1 (detected at Wed 01 Sep 2010 10:34:56 PM IST)&lt;br /&gt;    detects change:            0&lt;br /&gt;    detection by polling:      0&lt;br /&gt;    detection inhibitable:     0&lt;br /&gt;    detection inhibited:       0&lt;br /&gt;  is read only:                0&lt;br /&gt;  is mounted:                  0&lt;br /&gt;  mount paths:             &lt;br /&gt;  mounted by uid:              0&lt;br /&gt;  presentation hide:           0&lt;br /&gt;  presentation nopolicy:       0&lt;br /&gt;  presentation name:           &lt;br /&gt;  presentation icon:           &lt;br /&gt;  size:                        49557279744&lt;br /&gt;  block size:                  512&lt;br /&gt;  job underway:                no&lt;br /&gt;  usage:                       raid&lt;br /&gt;  type:                        LVM2_member&lt;br /&gt;  version:                     LVM2\x20001&lt;br /&gt;  uuid:                        VwXE29-5Um4-zG0d-PCXe-Anz6-k876-CT3v0G&lt;br /&gt;  label:                       &lt;br /&gt;  partition:&lt;br /&gt;    part of:                   /org/freedesktop/UDisks/devices/sda&lt;br /&gt;    scheme:                    mbr&lt;br /&gt;    number:                    8&lt;br /&gt;    type:                      0x8e&lt;br /&gt;    flags:                    &lt;br /&gt;    offset:                    77580873216&lt;br /&gt;    alignment offset:          0&lt;br /&gt;    size:                      49557279744&lt;br /&gt;    label:                     &lt;br /&gt;    uuid:                      &lt;br /&gt;&lt;br /&gt;========================================================================&lt;br /&gt;Showing information for /org/freedesktop/UDisks/devices/sr0&lt;br /&gt;  native-path:                 /sys/devices/pci0000:00/0000:00:1f.1/host3/target3:0:0/3:0:0:0/block/sr0&lt;br /&gt;  device:                      11:0&lt;br /&gt;  device-file:                 /dev/sr0&lt;br /&gt;    presentation:              /dev/sr0&lt;br /&gt;    by-path:                   /dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:0:0&lt;br /&gt;  detected at:                 Wed 01 Sep 2010 10:34:55 PM IST&lt;br /&gt;  system internal:             0&lt;br /&gt;  removable:                   1&lt;br /&gt;  has media:                   0&lt;br /&gt;    detects change:            1&lt;br /&gt;    detection by polling:      1&lt;br /&gt;    detection inhibitable:     1&lt;br /&gt;    detection inhibited:       0&lt;br /&gt;  is read only:                0&lt;br /&gt;  is mounted:                  0&lt;br /&gt;  mount paths:             &lt;br /&gt;  mounted by uid:              0&lt;br /&gt;  presentation hide:           0&lt;br /&gt;  presentation nopolicy:       0&lt;br /&gt;  presentation name:           &lt;br /&gt;  presentation icon:           &lt;br /&gt;  size:                        0&lt;br /&gt;  block size:                  0&lt;br /&gt;  job underway:                no&lt;br /&gt;  usage:                       &lt;br /&gt;  type:                        &lt;br /&gt;  version:                     &lt;br /&gt;  uuid:                        &lt;br /&gt;  label:                       &lt;br /&gt;  drive:&lt;br /&gt;    vendor:                    Optiarc&lt;br /&gt;    model:                     DVD RW AD-7560A&lt;br /&gt;    revision:                  DH10&lt;br /&gt;    serial:                    &lt;br /&gt;    WWN:                       &lt;br /&gt;    detachable:                0&lt;br /&gt;    can spindown:              0&lt;br /&gt;    rotational media:          Yes, unknown rate&lt;br /&gt;    write-cache:               unknown&lt;br /&gt;    ejectable:                 1&lt;br /&gt;    adapter:                   /org/freedesktop/UDisks/adapters/0000_3a00_3a1f_2e1&lt;br /&gt;    ports:&lt;br /&gt;      /org/freedesktop/UDisks/adapters/0000_3a00_3a1f_2e1/host3&lt;br /&gt;    similar devices:&lt;br /&gt;    media:                     &lt;br /&gt;      compat:                  optical_cd optical_cd_r optical_cd_rw optical_dvd optical_dvd_plus_r optical_dvd_plus_r_dl optical_dvd_plus_rw optical_dvd_r optical_dvd_ram optical_dvd_rw optical_mrw optical_mrw_w&lt;br /&gt;    interface:                 scsi&lt;br /&gt;    if speed:                  (unknown)&lt;br /&gt;    ATA SMART:                 not available&lt;br /&gt;&lt;br /&gt;========================================================================&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have choose to spit out evrythig with the "--dump" option. You can select lot many thing individually by going through the man page of it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;IPCALC&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;This tool will aid you to reveal the base internals of an ip address.It helps an network administrator to figure out the subnet/ip range/netmask very easily by one single command.So how it look like ? Here is the output of the command look :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_06:45:35_Thu Sep 2:/ # ipcalc 127.0.0.1&lt;br /&gt;Address:   127.0.0.1            01111111.00000000.00000000. 00000001&lt;br /&gt;Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000&lt;br /&gt;Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111&lt;br /&gt;=&gt;&lt;br /&gt;Network:   127.0.0.0/24         01111111.00000000.00000000. 00000000&lt;br /&gt;HostMin:   127.0.0.1            01111111.00000000.00000000. 00000001&lt;br /&gt;HostMax:   127.0.0.254          01111111.00000000.00000000. 11111110&lt;br /&gt;Broadcast: 127.0.0.255          01111111.00000000.00000000. 11111111&lt;br /&gt;Hosts/Net: 254                   Class A, Loopback&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can put any ip-address as an argument.&lt;br /&gt;&lt;br /&gt;Ok enough..not to bloat your mind with more information. May be some other related post of mine might reveal bunch of useful tool to navigate through the GNU/Linux system. I have ignored "&lt;span style="font-weight:bold;"&gt;lsof&lt;/span&gt;","&lt;span style="font-weight:bold;"&gt;lslk&lt;/span&gt;","&lt;span style="font-weight:bold;"&gt;fuser&lt;/span&gt;"and many more,because I found that those informations are easily available.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-8012736859498928124?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/8012736859498928124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/09/important-system-tools-part-ii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/8012736859498928124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/8012736859498928124'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/09/important-system-tools-part-ii.html' title='Important system tools- part-II'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-3364189675588804110</id><published>2010-08-31T06:57:00.003+05:30</published><updated>2010-09-18T18:17:08.532+05:30</updated><title type='text'>Measuring and monitoring system performances through sysstat</title><content type='html'>Being an administrator of a corporation to manage production box is an daunting task.One has to be very much aware what is going on into the box/servers by looking into it through some tools.One important package I am talking about is called "&lt;span style="font-weight:bold;"&gt;sysstats&lt;/span&gt;" ,which has so many important tool to disclose all the information needed by an administrator.&lt;br /&gt;&lt;br /&gt;I do not issue any guarantee that this will work for you.&lt;br /&gt;&lt;br /&gt;So this article I am using Arch Linux . As it doesn't come with base installation so I have to get it(&lt;a href="http://sebastien.godard.pagesperso-orange.frtutorial.html#section1"&gt;sysstat&lt;/a&gt;) separately.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:05:26_Tue Aug 31:~&gt; sudo pacman -S sysstat&lt;br /&gt;warning: sysstat-9.0.6.1-1 is up to date -- reinstalling&lt;br /&gt;resolving dependencies...&lt;br /&gt;looking for inter-conflicts...&lt;br /&gt;&lt;br /&gt;Targets (1): sysstat-9.0.6.1-1&lt;br /&gt;&lt;br /&gt;Total Download Size:    0.00 MB&lt;br /&gt;Total Installed Size:   1.14 MB&lt;br /&gt;&lt;br /&gt;Proceed with installation? [Y/n] &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;here I said N or no ,because I have already installed it long time back.You see that below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:08:31_Tue Aug 31:~&gt; sudo pacman -Qi sysstat&lt;br /&gt;Name           : sysstat&lt;br /&gt;Version        : 9.0.6.1-1&lt;br /&gt;URL            : http://pagesperso-orange.fr/sebastien.godard/&lt;br /&gt;Licenses       : GPL&lt;br /&gt;Groups         : None&lt;br /&gt;Provides       : None&lt;br /&gt;Depends On     : glibc&lt;br /&gt;Optional Deps  : tk: to use isag&lt;br /&gt;                 gnuplot: to use isag&lt;br /&gt;Required By    : None&lt;br /&gt;Conflicts With : None&lt;br /&gt;Replaces       : None&lt;br /&gt;Installed Size : 1168.00 K&lt;br /&gt;Packager       : Sergej Pupykin &lt;pupykin.s+arch@gmail.com&gt;&lt;br /&gt;Architecture   : i686&lt;br /&gt;Build Date     : Mon 01 Mar 2010 03:51:14 AM IST&lt;br /&gt;Install Date   : Tue 02 Mar 2010 10:10:31 PM IST&lt;br /&gt;Install Reason : Explicitly installed&lt;br /&gt;Install Script : No&lt;br /&gt;Description    : A collection of performance monitoring tools&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here are the files installed by the package in the system..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:10:35_Tue Aug 31:~&gt; sudo pacman -Ql sysstat&lt;br /&gt;sysstat /etc/&lt;br /&gt;sysstat /etc/cron.daily/&lt;br /&gt;sysstat /etc/cron.daily/sysstat&lt;br /&gt;sysstat /etc/cron.hourly/&lt;br /&gt;sysstat /etc/cron.hourly/sysstat&lt;br /&gt;sysstat /etc/rc.d/&lt;br /&gt;sysstat /etc/rc.d/sysstat&lt;br /&gt;sysstat /etc/sysconfig/&lt;br /&gt;sysstat /etc/sysconfig/sysstat&lt;br /&gt;sysstat /etc/sysconfig/sysstat.ioconf&lt;br /&gt;sysstat /etc/sysstat/&lt;br /&gt;sysstat /etc/sysstat/sysstat&lt;br /&gt;sysstat /usr/&lt;br /&gt;sysstat /usr/bin/&lt;br /&gt;sysstat /usr/bin/iostat&lt;br /&gt;sysstat /usr/bin/isag&lt;br /&gt;sysstat /usr/bin/mpstat&lt;br /&gt;sysstat /usr/bin/pidstat&lt;br /&gt;sysstat /usr/bin/sadf&lt;br /&gt;sysstat /usr/bin/sar&lt;br /&gt;sysstat /usr/lib/&lt;br /&gt;sysstat /usr/lib/sa/&lt;br /&gt;sysstat /usr/lib/sa/sa1&lt;br /&gt;sysstat /usr/lib/sa/sa2&lt;br /&gt;sysstat /usr/lib/sa/sadc&lt;br /&gt;sysstat /usr/share/&lt;br /&gt;sysstat /usr/share/doc/&lt;br /&gt;sysstat /usr/share/doc/sysstat-9.0.6.1/&lt;br /&gt;sysstat /usr/share/doc/sysstat-9.0.6.1/CHANGES&lt;br /&gt;sysstat /usr/share/doc/sysstat-9.0.6.1/COPYING&lt;br /&gt;sysstat /usr/share/doc/sysstat-9.0.6.1/CREDITS&lt;br /&gt;sysstat /usr/share/doc/sysstat-9.0.6.1/FAQ&lt;br /&gt;sysstat /usr/share/doc/sysstat-9.0.6.1/README&lt;br /&gt;sysstat /usr/share/doc/sysstat-9.0.6.1/sysstat-9.0.6.1.lsm&lt;br /&gt;sysstat /usr/share/locale/&lt;br /&gt;sysstat /usr/share/locale/af/&lt;br /&gt;sysstat /usr/share/locale/af/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/af/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/da/&lt;br /&gt;sysstat /usr/share/locale/da/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/da/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/de/&lt;br /&gt;sysstat /usr/share/locale/de/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/de/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/es/&lt;br /&gt;sysstat /usr/share/locale/es/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/es/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/fi/&lt;br /&gt;sysstat /usr/share/locale/fi/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/fi/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/fr/&lt;br /&gt;sysstat /usr/share/locale/fr/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/fr/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/id/&lt;br /&gt;sysstat /usr/share/locale/id/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/id/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/it/&lt;br /&gt;sysstat /usr/share/locale/it/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/it/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/ja/&lt;br /&gt;sysstat /usr/share/locale/ja/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/ja/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/ky/&lt;br /&gt;sysstat /usr/share/locale/ky/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/ky/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/lv/&lt;br /&gt;sysstat /usr/share/locale/lv/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/lv/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/mt/&lt;br /&gt;sysstat /usr/share/locale/mt/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/mt/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/nb/&lt;br /&gt;sysstat /usr/share/locale/nb/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/nb/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/nl/&lt;br /&gt;sysstat /usr/share/locale/nl/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/nl/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/nn/&lt;br /&gt;sysstat /usr/share/locale/nn/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/nn/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/pl/&lt;br /&gt;sysstat /usr/share/locale/pl/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/pl/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/pt/&lt;br /&gt;sysstat /usr/share/locale/pt/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/pt/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/pt_BR/&lt;br /&gt;sysstat /usr/share/locale/pt_BR/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/pt_BR/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/ro/&lt;br /&gt;sysstat /usr/share/locale/ro/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/ro/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/ru/&lt;br /&gt;sysstat /usr/share/locale/ru/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/ru/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/sk/&lt;br /&gt;sysstat /usr/share/locale/sk/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/sk/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/sv/&lt;br /&gt;sysstat /usr/share/locale/sv/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/sv/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/vi/&lt;br /&gt;sysstat /usr/share/locale/vi/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/vi/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/zh_CN/&lt;br /&gt;sysstat /usr/share/locale/zh_CN/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/zh_CN/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/locale/zh_TW/&lt;br /&gt;sysstat /usr/share/locale/zh_TW/LC_MESSAGES/&lt;br /&gt;sysstat /usr/share/locale/zh_TW/LC_MESSAGES/sysstat.mo&lt;br /&gt;sysstat /usr/share/man/&lt;br /&gt;sysstat /usr/share/man/man1/&lt;br /&gt;sysstat /usr/share/man/man1/iostat.1.gz&lt;br /&gt;sysstat /usr/share/man/man1/isag.1.gz&lt;br /&gt;sysstat /usr/share/man/man1/mpstat.1.gz&lt;br /&gt;sysstat /usr/share/man/man1/pidstat.1.gz&lt;br /&gt;sysstat /usr/share/man/man1/sadf.1.gz&lt;br /&gt;sysstat /usr/share/man/man1/sar.1.gz&lt;br /&gt;sysstat /usr/share/man/man8/&lt;br /&gt;sysstat /usr/share/man/man8/sa1.8.gz&lt;br /&gt;sysstat /usr/share/man/man8/sa2.8.gz&lt;br /&gt;sysstat /usr/share/man/man8/sadc.8.gz&lt;br /&gt;sysstat /var/&lt;br /&gt;sysstat /var/log/&lt;br /&gt;sysstat /var/log/sa/&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now it puts a crontab entry to run daily on the installed system..although you can control it according your choice..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:13:35_Tue Aug 31:/etc/cron.daily&gt; cat sysstat &lt;br /&gt;#!/bin/sh&lt;br /&gt;# Generate a daily summary of process accounting.  Since this will probably&lt;br /&gt;# get kicked off in the morning, it would probably be better to run against&lt;br /&gt;# the previous days data.&lt;br /&gt;/usr/lib/sa/sa2 -A &amp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This package come with so many binary and all of them are very useful tool. I will explain all of them one by one.First tool is callled &lt;span style="font-weight:bold;"&gt;sar&lt;/span&gt;..and it will output like this..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:15:59_Tue Aug 31:~&gt; sudo sar&lt;br /&gt;Password: &lt;br /&gt;Linux 2.6.34-ARCH (bhaskar-laptop)      08/31/2010      _i686_  (2 CPU)&lt;br /&gt;&lt;br /&gt;06:27:36 AM       LINUX RESTART&lt;br /&gt;&lt;br /&gt;06:28:02 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle&lt;br /&gt;06:38:02 AM     all      8.57      0.00      1.80      6.59      0.00     83.04&lt;br /&gt;06:48:02 AM     all     22.57      0.00      5.11      5.40      0.00     66.92&lt;br /&gt;06:58:02 AM     all     16.56      0.00      5.58      3.81      0.00     74.05&lt;br /&gt;07:08:02 AM     all      7.46      0.00      2.79      4.52      0.00     85.23&lt;br /&gt;Average:        all     13.79      0.00      3.82      5.08      0.00     77.31&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now bit of explanation is required for the fields it shows which I enumerated below:&lt;br /&gt;&lt;br /&gt;Sar is system activity reporter.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;%user&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;%nice&lt;/span&gt; refer to your software programs, such as MySQL or Apache.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;%system&lt;/span&gt; refers to the kernelâ€™s internal workings.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;%iowait&lt;/span&gt; is time spent waiting for Input/Output, such as a disk read or write. Finally, since the kernel accounts for 100% of the runnable time it can schedule, any unused time goes into &lt;span style="font-weight:bold;"&gt;%idle&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;It come along with another two binary relates sar is called &lt;span style="font-weight:bold;"&gt;sa1&lt;/span&gt; and&lt;span style="font-weight:bold;"&gt; sa2&lt;/span&gt;.What does this fellows do to sar??&lt;br /&gt;&lt;br /&gt;The sa1 script logs sar output into sysstat's binary log file format, and sa2 reports it back in human readable format.Clear!&lt;br /&gt;&lt;br /&gt;And the reports it provide kept in a dir called &lt;span style="font-weight:bold;"&gt;/var/log/sa&lt;/span&gt; and file with date attached to it...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:25:28_Tue Aug 31:/var/log/sa&gt; ls&lt;br /&gt;sa23  sa24  sa25  sa30  sa31  sar24  sar30&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;"-W"&lt;/span&gt; this flag to sar shows the swap related activity on the system&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:31:09_Tue Aug 31:~&gt; sudo sar -W&lt;br /&gt;Password: &lt;br /&gt;Linux 2.6.34-ARCH (bhaskar-laptop)      08/31/2010      _i686_  (2 CPU)&lt;br /&gt;&lt;br /&gt;06:27:36 AM       LINUX RESTART&lt;br /&gt;&lt;br /&gt;06:28:02 AM  pswpin/s pswpout/s&lt;br /&gt;06:38:02 AM      0.00      0.00&lt;br /&gt;06:48:02 AM      0.00      0.00&lt;br /&gt;06:58:02 AM      0.03      1.67&lt;br /&gt;07:08:02 AM      0.01      3.20&lt;br /&gt;07:18:02 AM      0.13      4.02&lt;br /&gt;07:28:01 AM      0.12      0.36&lt;br /&gt;Average:         0.05      1.54&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-weight:bold;"&gt;-r&lt;/span&gt;" option to sar show memory related thig from the system:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:37:50_Tue Aug 31:~&gt; sudo sar -r&lt;br /&gt;Linux 2.6.34-ARCH (bhaskar-laptop)      08/31/2010      _i686_  (2 CPU)&lt;br /&gt;&lt;br /&gt;06:27:36 AM       LINUX RESTART&lt;br /&gt;&lt;br /&gt;06:28:02 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit&lt;br /&gt;06:38:02 AM    204468    815896     79.96     31784    399596   1412880     43.21&lt;br /&gt;06:48:02 AM     62120    958244     93.91     61984    407388   1566932     47.93&lt;br /&gt;06:58:02 AM     40344    980020     96.05     93368    348428   1622948     49.64&lt;br /&gt;07:08:02 AM     27240    993124     97.33    126952    312652   1576108     48.21&lt;br /&gt;07:18:02 AM     72528    947836     92.89     96988    334604   1454800     44.50&lt;br /&gt;07:28:01 AM     58732    961632     94.24     95268    344540   1486996     45.48&lt;br /&gt;Average:        77572    942792     92.40     84391    357868   1520111     46.49&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-weight:bold;"&gt;-b&lt;/span&gt;" option shows some paging statistics :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:41:19_Tue Aug 31:~&gt; sudo sar -b&lt;br /&gt;Linux 2.6.34-ARCH (bhaskar-laptop)      08/31/2010      _i686_  (2 CPU)&lt;br /&gt;&lt;br /&gt;06:27:36 AM       LINUX RESTART&lt;br /&gt;&lt;br /&gt;06:28:02 AM       tps      rtps      wtps   bread/s   bwrtn/s&lt;br /&gt;06:38:02 AM     25.49     19.80      5.69    951.22    108.95&lt;br /&gt;06:48:02 AM     35.10     20.35     14.76    259.20    337.45&lt;br /&gt;06:58:02 AM     24.73     16.87      7.86    159.71    230.64&lt;br /&gt;07:08:02 AM     53.55     42.64     10.91    356.85    273.27&lt;br /&gt;07:18:02 AM     61.84     53.96      7.88    477.19    293.56&lt;br /&gt;07:28:01 AM      5.12      1.15      3.96     49.08     74.69&lt;br /&gt;07:38:01 AM      5.75      2.34      3.41     90.68     61.61&lt;br /&gt;Average:        30.23     22.45      7.78    334.87    197.18&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Anyway you can fuse your terminal reports into the excel sheet to manage thing as the origianl page is shown the way how to do it.Kndly visit the origianl pacakge author page to see the options.&lt;br /&gt;&lt;br /&gt;Ok now lets talk about another binary come with package called "&lt;span style="font-weight:bold;"&gt;pidstat&lt;/span&gt;" What it does?? &lt;br /&gt;&lt;br /&gt;pidstat command is used to monitor processes and threads currently being managed by the Linux kernel. It can also monitor the children of those processes and threads.&lt;br /&gt;&lt;br /&gt;on my system it shows the thing going underneath:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:41:22_Tue Aug 31:~&gt; sudo pidstat -d 2&lt;br /&gt;Password: &lt;br /&gt;Linux 2.6.34-ARCH (bhaskar-laptop)      08/31/2010      _i686_  (2 CPU)&lt;br /&gt;&lt;br /&gt;07:46:56 AM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command&lt;br /&gt;07:46:58 AM       990      0.00     11.82      0.00  kjournald&lt;br /&gt;07:46:58 AM      3948      0.00      1.97      1.97  plugin-containe&lt;br /&gt;&lt;br /&gt;07:46:58 AM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command&lt;br /&gt;&lt;br /&gt;07:47:00 AM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command&lt;br /&gt;07:47:02 AM       990      0.00      6.00      0.00  kjournald&lt;br /&gt;07:47:02 AM      3948      0.00      2.00      2.00  plugin-containe&lt;br /&gt;&lt;br /&gt;07:47:02 AM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command&lt;br /&gt;07:47:04 AM      3835      0.00      2.00      2.00  firefox&lt;br /&gt;&lt;br /&gt;07:47:04 AM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command&lt;br /&gt;&lt;br /&gt;07:47:06 AM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command&lt;br /&gt;07:47:08 AM       990      0.00      8.00      0.00  kjournald&lt;br /&gt;07:47:08 AM      3948      0.00      2.00      2.00  plugin-containe&lt;br /&gt;&lt;br /&gt;07:47:08 AM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command&lt;br /&gt;&lt;br /&gt;07:47:10 AM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command&lt;br /&gt;07:47:12 AM       990      0.00     12.00      0.00  kjournald&lt;br /&gt;07:47:12 AM      3948      0.00      2.00      2.00  plugin-containe&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-weight:bold;"&gt;-d&lt;/span&gt;" option provide I/O statistics.&lt;br /&gt;&lt;br /&gt;Now get the memory utilisation stat through "&lt;span style="font-weight:bold;"&gt;-r&lt;/span&gt;" flag of this binary.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:50:18_Tue Aug 31:~&gt; sudo pidstat -r&lt;br /&gt;Linux 2.6.34-ARCH (bhaskar-laptop)      08/31/2010      _i686_  (2 CPU)&lt;br /&gt;&lt;br /&gt;07:51:41 AM       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command&lt;br /&gt;07:51:41 AM         1      0.45      0.00    1752    620   0.06  init&lt;br /&gt;07:51:41 AM      1023      0.54      0.00    2148    948   0.09  udevd&lt;br /&gt;07:51:41 AM      2772      0.02      0.00    5080    428   0.04  syslog-ng&lt;br /&gt;07:51:41 AM      2773      0.09      0.00    5396   1620   0.16  syslog-ng&lt;br /&gt;07:51:41 AM      2804      0.03      0.00    3420    700   0.07  ntpd&lt;br /&gt;07:51:41 AM      2805      0.25      0.00    8232   3848   0.38  named&lt;br /&gt;07:51:41 AM      2824      0.04      0.00    2372    760   0.07  xinetd&lt;br /&gt;07:51:41 AM      2834      0.23      0.00   18672   8492   0.83  httpd&lt;br /&gt;07:51:41 AM      2874      0.05      0.00   18724   6760   0.66  httpd&lt;br /&gt;07:51:41 AM      2875      0.15      0.00   18688   7660   0.75  httpd&lt;br /&gt;07:51:41 AM      2876      0.15      0.00   18688   7660   0.75  httpd&lt;br /&gt;07:51:41 AM      2877      0.14      0.00   18824   7844   0.77  httpd&lt;br /&gt;07:51:41 AM      2878      0.15      0.00   18688   7660   0.75  httpd&lt;br /&gt;07:51:41 AM      2879      0.15      0.00   18688   7660   0.75  httpd&lt;br /&gt;07:51:41 AM      2917      0.13      0.00    8468   1888   0.19  master&lt;br /&gt;07:51:41 AM      2931      0.12      0.00    8540   1760   0.17  pickup&lt;br /&gt;07:51:41 AM      2932      0.12      0.00    8592   1776   0.17  qmgr&lt;br /&gt;07:51:41 AM      2936      0.04      0.00    1800    628   0.06  crond&lt;br /&gt;07:51:41 AM      2946      0.16      0.00    2788   1216   0.12  dbus-daemon&lt;br /&gt;07:51:41 AM      2954      0.60      0.00   15052   3608   0.35  hald&lt;br /&gt;07:51:41 AM      2955      0.19      0.00    3516   1172   0.11  hald-runner&lt;br /&gt;07:51:41 AM      2984      0.08      0.00    3580    992   0.10  hald-addon-inpu&lt;br /&gt;07:51:41 AM      2986      0.08      0.00    3580    988   0.10  hald-addon-rfki&lt;br /&gt;07:51:41 AM      2987      0.08      0.00    3580    984   0.10  hald-addon-leds&lt;br /&gt;07:51:41 AM      2996      0.07      0.00    3576    992   0.10  hald-addon-gene&lt;br /&gt;07:51:41 AM      2998      0.08      0.00    3580   1000   0.10  hald-addon-stor&lt;br /&gt;07:51:41 AM      3008      0.08      0.00    3244   1012   0.10  hald-addon-acpi&lt;br /&gt;07:51:41 AM      3023      0.03      0.00    6216    688   0.07  rpcbind&lt;br /&gt;07:51:41 AM      3027      0.02      0.00    3148    308   0.03  famd&lt;br /&gt;07:51:41 AM      3036      0.02      0.00    1960    356   0.03  gpm&lt;br /&gt;07:51:41 AM      3044      0.24      0.00   13912   2152   0.21  gdm-binary&lt;br /&gt;07:51:41 AM      3060      3.17      0.04  143100  19616   1.92  dropbox&lt;br /&gt;07:51:41 AM      3072      0.04      0.00    1752    536   0.05  agetty&lt;br /&gt;07:51:41 AM      3073      0.04      0.00    1752    540   0.05  agetty&lt;br /&gt;07:51:41 AM      3074      0.04      0.00    1752    540   0.05  agetty&lt;br /&gt;07:51:41 AM      3075      0.04      0.00    1752    536   0.05  agetty&lt;br /&gt;07:51:41 AM      3076      0.04      0.00    1752    532   0.05  agetty&lt;br /&gt;07:51:41 AM      3077      0.04      0.00    1752    536   0.05  agetty&lt;br /&gt;07:51:41 AM      3132      0.25      0.00   17028   2804   0.27  gdm-simple-slav&lt;br /&gt;07:51:41 AM      3155    162.21      0.01   82076  35784   3.51  Xorg&lt;br /&gt;07:51:41 AM      3194      0.28      0.00   18224   2236   0.22  console-kit-dae&lt;br /&gt;07:51:41 AM      3195      0.03      0.00    3528    644   0.06  ntpd&lt;br /&gt;07:51:41 AM      3272      0.03      0.00    3172    332   0.03  dbus-launch&lt;br /&gt;07:51:41 AM      3277      0.24      0.00    5448   2540   0.25  upowerd&lt;br /&gt;07:51:41 AM      3331      0.42      0.00   17664   5400   0.53  polkit-gnome-au&lt;br /&gt;07:51:41 AM      3335      0.25      0.00    5640   2672   0.26  polkitd&lt;br /&gt;07:51:41 AM      3336      0.16      0.00   14888   2064   0.20  gdm-session-wor&lt;br /&gt;07:51:41 AM      3349      0.11      0.00   22176   1432   0.14  gnome-keyring-d&lt;br /&gt;07:51:41 AM      3367      0.73      0.00   25064   5380   0.53  gnome-session&lt;br /&gt;07:51:41 AM      3385      0.03      0.00    3172    332   0.03  dbus-launch&lt;br /&gt;07:51:41 AM      3386      0.09      0.00    2616   1116   0.11  dbus-daemon&lt;br /&gt;07:51:41 AM      3388      0.02      0.00    3540    224   0.02  ssh-agent&lt;br /&gt;07:51:41 AM      3391      0.18      0.00    6776   2580   0.25  gconfd-2&lt;br /&gt;07:51:41 AM      3396      0.69      0.01   22052   7000   0.69  gnome-settings-&lt;br /&gt;07:51:41 AM      3401      0.13      0.00    6352   1708   0.17  gvfsd&lt;br /&gt;07:51:41 AM      3404      0.79      0.00   55332  12088   1.18  metacity&lt;br /&gt;07:51:41 AM      3405      0.90      0.01   42768  11040   1.08  gnome-panel&lt;br /&gt;07:51:41 AM      3407      0.21      0.00    7932   2764   0.27  gvfs-gdu-volume&lt;br /&gt;07:51:41 AM      3409      0.25      0.00   13512   2556   0.25  udisks-daemon&lt;br /&gt;07:51:41 AM      3410      0.03      0.00    5000    512   0.05  udisks-daemon&lt;br /&gt;07:51:41 AM      3425      0.11      0.00   38324   1492   0.15  gvfs-fuse-daemo&lt;br /&gt;07:51:41 AM      3429      1.24      0.02   53156   8800   0.86  nautilus&lt;br /&gt;07:51:41 AM      3431      0.25      0.00   41896   2352   0.23  bonobo-activati&lt;br /&gt;07:51:41 AM      3442     27.99      0.00   20928   6888   0.68  multiload-apple&lt;br /&gt;07:51:41 AM      3445      0.44      0.01   21036   7000   0.69  battstat-applet&lt;br /&gt;07:51:41 AM      3446      0.67      0.00   50716  11744   1.15  gweather-applet&lt;br /&gt;07:51:41 AM      3448      0.74      0.01   41420  11764   1.15  clock-applet&lt;br /&gt;07:51:41 AM      3450      0.70      0.00   41736  11532   1.13  wnck-applet&lt;br /&gt;07:51:41 AM      3451      0.42      0.00   20500   6644   0.65  notification-ar&lt;br /&gt;07:51:41 AM      3452      0.29      0.00   16120   4172   0.41  polkit-gnome-au&lt;br /&gt;07:51:41 AM      3454      0.35      0.00   17840   5308   0.52  gdu-notificatio&lt;br /&gt;07:51:41 AM      3480      0.08      0.00   17236   1460   0.14  gnome-screensav&lt;br /&gt;07:51:41 AM      3502      0.17      0.00    6856   2396   0.23  gvfsd-trash&lt;br /&gt;07:51:41 AM      3509      0.18      0.00    4828   1888   0.19  system-tools-ba&lt;br /&gt;07:51:41 AM      3516      0.13      0.00    6484   1740   0.17  gvfsd-burn&lt;br /&gt;07:51:41 AM      3522      0.76      0.00   12724  10152   0.99  SystemToolsBack&lt;br /&gt;07:51:41 AM      3528      0.76      0.01   47896  12500   1.23  gnome-terminal&lt;br /&gt;07:51:41 AM      3529      0.05      0.00    1796    580   0.06  gnome-pty-helpe&lt;br /&gt;07:51:41 AM      3531      0.15      0.00    4924   1884   0.18  bash&lt;br /&gt;07:51:41 AM      3538      0.07      0.00    4412    844   0.08  screen&lt;br /&gt;07:51:41 AM      3539      0.13      0.00    4676   1372   0.13  screen&lt;br /&gt;07:51:41 AM      3540      0.16      0.00    4924   1892   0.19  bash&lt;br /&gt;07:51:41 AM      3546      0.14      0.00    4000    900   0.09  su&lt;br /&gt;07:51:41 AM      3547      0.20      0.00    4900   1876   0.18  bash&lt;br /&gt;07:51:41 AM      3577      0.04      0.00    2144    844   0.08  udevd&lt;br /&gt;07:51:41 AM      3578      0.03      0.00    2144    864   0.08  udevd&lt;br /&gt;07:51:41 AM      3611      0.16      0.00    4924   1872   0.18  bash&lt;br /&gt;07:51:41 AM      3617      0.26      0.01    4884   1796   0.18  bash&lt;br /&gt;07:51:41 AM      3628      0.16      0.00    4924   1876   0.18  bash&lt;br /&gt;07:51:41 AM      3635      0.21      0.01    5136   1164   0.11  bash&lt;br /&gt;07:51:41 AM      3655      0.21      0.00    4924   1920   0.19  bash&lt;br /&gt;07:51:41 AM      3674      0.14      0.00    4000    904   0.09  su&lt;br /&gt;07:51:41 AM      3675      0.16      0.00    4900   1868   0.18  bash&lt;br /&gt;07:51:41 AM      3684      0.27      0.01    5552   2740   0.27  bash&lt;br /&gt;07:51:41 AM      3701      1.87      0.00    4924   1956   0.19  bash&lt;br /&gt;07:51:41 AM      3708      0.13      0.00    4604   1372   0.13  thunderbird&lt;br /&gt;07:51:41 AM      3721      0.10      0.00    4736   1420   0.14  run-mozilla.sh&lt;br /&gt;07:51:41 AM      3725      8.07      0.08  272920  81716   8.01  thunderbird-bin&lt;br /&gt;07:51:41 AM      3835    234.27      0.12  749812 283212  27.76  firefox&lt;br /&gt;07:51:41 AM      3848      0.01      0.00    4608    448   0.04  firefox_cpu_lim&lt;br /&gt;07:51:41 AM      3849      9.11      0.00    1916    588   0.06  cpulimit&lt;br /&gt;07:51:41 AM      3948      9.40      0.03  112288  36312   3.56  plugin-containe&lt;br /&gt;07:51:41 AM      3956      0.13      0.00   18688   7656   0.75  httpd&lt;br /&gt;07:51:41 AM      3965      0.70      0.00   41128  10936   1.07  notification-da&lt;br /&gt;07:51:41 AM      5130      0.13      0.00    1780    636   0.06  sadc&lt;br /&gt;07:51:41 AM      5859      0.19      0.00    3656    812   0.08  pidstat&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now lets talk about two very important tool which will provide different way to view things. Those are called "&lt;span style="font-weight:bold;"&gt;sadc&lt;/span&gt;" and "&lt;span style="font-weight:bold;"&gt;sadf&lt;/span&gt;".I will cover one after another below.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;SADC&lt;/span&gt;:&lt;br /&gt;It is system activity and data collector daemon.Even w can use it manually too!.Sadc command intened to run behind the sar command.Actually it will write the binary format of the statistics it collect day by day and put into a dir i.e /var/log/sadd,where dd stands for the particular day.As the man page said it can only provide local activity,means runs on the same host it installed.&lt;br /&gt;&lt;br /&gt;I am putting here few example stright out of the manual page for clear understanding.Here we go:&lt;br /&gt;&lt;br /&gt; &lt;span style="font-weight:bold;"&gt;/usr/lib/sa/sadc 1 10 /tmp/datafile&lt;br /&gt;              Write 10 records of one second intervals to the /tmp/datafile binary file.&lt;br /&gt;&lt;br /&gt;       /usr/lib/sa/sadc -C Backup_Start /tmp/datafile&lt;br /&gt;              Insert the comment Backup_Start into the file /tmp/datafile.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So move onto the next tool called sadf.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;SADF&lt;/span&gt;:&lt;br /&gt;This tool actually dispaly the collected data by sar in different format.Which is wonderful..because you can fuse your data to various places to get lot many information.It will essentially provide XML,CVS format data .&lt;br /&gt;&lt;br /&gt;once again I am putting example stright out of the manual page for easy understanding.Here we go:&lt;br /&gt;&lt;br /&gt; s&lt;span style="font-weight:bold;"&gt;adf -d /var/log/sa/sa21 -- -r -n DEV&lt;br /&gt;              Extract memory, swap space and network statistics from system activity file 'sa21', and display them in a format that can be ingested by  a&lt;br /&gt;              database.&lt;br /&gt;&lt;br /&gt;       sadf -p -P 1&lt;br /&gt;              Extract CPU statistics for processor 1 (the second processor) from current daily data file, and display them in a format that can easily be&lt;br /&gt;              handled by a pattern processing command.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-3364189675588804110?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/3364189675588804110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/08/measuring-and-monitoring-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/3364189675588804110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/3364189675588804110'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/08/measuring-and-monitoring-system.html' title='Measuring and monitoring system performances through sysstat'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-134464259181742204</id><published>2010-08-19T08:15:00.004+05:30</published><updated>2010-09-18T18:17:50.768+05:30</updated><title type='text'>Few tricks and info about sudo</title><content type='html'>Working in a &lt;span style="font-weight:bold;"&gt;multi-admin&lt;/span&gt; environment ;where more then one administrator controlling servers,as often the case with most of the big corporates.Then you need a mechanism to deal with that which not allowed each other to overlap their work and keep track who is firing what.&lt;span style="font-weight:bold;"&gt;Sudo&lt;/span&gt; is that kind tool ,which is quite indispensable in the multi-admin production environment.&lt;br /&gt;&lt;br /&gt;I do not issue any guarantee that this will work for you.&lt;br /&gt;&lt;br /&gt;Most of the GNU/Linux distribution come with sudo..if not then please download it through by it(OSes) package manager. It should be in the repository of that distribution.&lt;br /&gt;&lt;br /&gt;Once installed a configuration file related to it placed at &lt;span style="font-weight:bold;"&gt;/etc&lt;/span&gt; named &lt;span style="font-weight:bold;"&gt;sudoers&lt;/span&gt; . So you need edit it according to your requirement to get thing going with this tool.&lt;br /&gt;&lt;br /&gt;Tool for to edit that file is called "&lt;span style="font-weight:bold;"&gt;visudo&lt;/span&gt;" ..which nothing but a vi/vim editor with a lock..means when someone editing others won't allow to do anything in it.Clear?? right.&lt;br /&gt;&lt;br /&gt;You need to called it like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_08:37:05_Thu Aug 19:/home/bhaskar # visudo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and the file &lt;span style="font-weight:bold;"&gt;/etc/sudoers&lt;/span&gt; should open in it,but with a temporary location and place with a lock.&lt;br /&gt;&lt;br /&gt;Ok..now few internals entry need to visit for the sake of clarity of it's function.So here we go:&lt;br /&gt;&lt;br /&gt;Suppose we want to allow sudo with some specific host with specific users on it to allow use of sudo.Did I confuse you with the last statement??not worry ...I will explain it in details..read on:&lt;br /&gt;&lt;br /&gt;The careful reader will note that there was a bit of a change here. The line used to read jim ALL=(ALL) ALL?, but now there's only one ALL left. Reading the man page can easily leave you quite confused as to what those three ALL??s meant. ALL refers to machines- the assumption is that this is a network wide sudoers file. In the case of this machine (lnxserve) we could do this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;jim lnxserve= /bin/kill, /usr/sbin/jim/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now let me explain that a host/machine name called "lnxserve" has a user called "jim" and  heis entitled to run those two command right side of the "=" .&lt;br /&gt;&lt;br /&gt;So what was the (ALL)? for? Well, here;s a clue:&lt;br /&gt;&lt;br /&gt;jim &lt;span style="font-weight:bold;"&gt;lnxserve=(paul,linda)&lt;/span&gt; /bin/kill, /usr/sbin/jim/&lt;br /&gt;&lt;br /&gt;Yes this line bring another twist into the previous line.Here it says.. a machine called "lnxserv" with a user called "jim" who will be able to run command as paul and linda with specified command mentioned.&lt;br /&gt;&lt;br /&gt;That says that jim can (using sudo -u ) run commands as paul or linda. Yes it sometimes necessary to do it because of various reason in the production environment.I not going into that details ,because that might take another whole article to talk about.&lt;br /&gt;&lt;br /&gt;This is perfect for giving jim the power to kill paul or linda's processes without giving him anything else. There is one thing we need to add though: if we just left it like this, jim is forced to use sudo -u paul or sudo -u linda every time. We can add a default runas_default:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Defaults:jim timestamp_timeout=-1, env_delete+=BOOP, runas_default=linda&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So jim can easily run command as linda by default.I am going to put some line straight out of the man page for clarity:&lt;br /&gt;&lt;br /&gt;To &lt;span style="font-weight:bold;"&gt;get a file listing of an unreadable directory&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;        $ sudo ls /usr/local/protected&lt;br /&gt;&lt;br /&gt;       To &lt;span style="font-weight:bold;"&gt;list the home directory of user yaz on a machine where the file system holding ~yaz is not exported as root:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;        $ sudo -u yaz ls ~yaz&lt;br /&gt;&lt;br /&gt;       To &lt;span style="font-weight:bold;"&gt;edit the index.html file as user www&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;        $ sudo -u www vi ~www/htdocs/index.html&lt;br /&gt;&lt;br /&gt;       To &lt;span style="font-weight:bold;"&gt;view system logs only accessible to root and users in the adm group&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;        $ sudo -g adm view /var/log/syslog&lt;br /&gt;&lt;br /&gt;       To &lt;span style="font-weight:bold;"&gt;run an editor as jim with a different primary group&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;        $ sudo -u jim -g audio vi ~jim/sound.txt&lt;br /&gt;&lt;br /&gt;       To &lt;span style="font-weight:bold;"&gt;shutdown a machine&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;        $ sudo shutdown -r +15 "quick reboot"&lt;br /&gt;&lt;br /&gt;       To &lt;span style="font-weight:bold;"&gt;make a usage listing of the directories in the /home partition.  Note that this runs the commands in a sub-shell to make the cd and file redirection&lt;/span&gt;&lt;br /&gt;       work.&lt;br /&gt;&lt;br /&gt;        $ sudo sh -c "cd /home ; du -s * | sort -rn &gt; USAGE"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-134464259181742204?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/134464259181742204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/08/few-tricks-and-info-about-sudo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/134464259181742204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/134464259181742204'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/08/few-tricks-and-info-about-sudo.html' title='Few tricks and info about sudo'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-4481832143295397574</id><published>2010-08-16T08:08:00.006+05:30</published><updated>2010-11-10T11:26:14.672+05:30</updated><title type='text'>How to properly run fsck on (/) root or other partitions including LVM</title><content type='html'>As it is an important issue to deal with low level thing in the server archtecture. Being an GNU/Linux administrator/NOC/Ops one has to have the clear cut understanding what they are doing.Because handling the production box require lot of common sense and in depth knowlegde about the platform/OS.&lt;br /&gt;&lt;br /&gt;So without much ado lets play with it or let me show you the simple tricks.&lt;br /&gt;&lt;br /&gt;I do not issue any guarantee that this will work for you.&lt;br /&gt;&lt;br /&gt;So the first question come into the mind why the hell you need to check the filesystem?? Specially the root(/) part of it...sound pretty dull and boring...huh..please don't ignore this.You know ignorance is a sin...so do not commit it.&lt;br /&gt;&lt;br /&gt;Now filesystem can be corrupted in various ways..few common ways are :&lt;br /&gt;&lt;br /&gt;1) Not properly shutdown the server(although most of the cases journaling will do the healing)&lt;br /&gt;&lt;br /&gt;2) Sudden power cut left your system down with lot of processing going on&lt;br /&gt;&lt;br /&gt;3)Somebody has done something special(bad sense) to corrupt the data on that particular partition.&lt;br /&gt;&lt;br /&gt;It is a bad idea and not recommended to run fsck(yes,this is the inbuilt tool you need to use)the mounted partition or drive.So don't do that.&lt;br /&gt;&lt;br /&gt;Now, running fsck on other partition like /home,/var,/usr ...&lt;br /&gt;&lt;br /&gt;First and foremost thing to be done is get into a single user mode..how do you do that?&lt;br /&gt;&lt;br /&gt;ok once you type init 1 at the terminal prompt you will be taken to the singe user mode.From there simply unmount the partions as show below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_08:16:36_Mon Aug 16:/home/bhaskar # init 1&lt;/span&gt; ---&gt; this will bring to the single user mode&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_08:16:36_Mon Aug 16:/home/bhaskar # umount /dev/sda2&lt;span style="font-weight:bold;"&gt;&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; ---&gt; assuming this partion hold the /home section.&lt;br /&gt;&lt;br /&gt;Now run the fsck:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;root@bhaskar-laptop_08:18:02_Mon Aug 16:/home/bhaskar # fsck -yfv /dev/sda2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ok..let me explain the flags or switch I passed with the fsck .&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;y&lt;/span&gt;------&gt; it will try to detect and fix any filesystem related corruption without manual intervention.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;f&lt;/span&gt;-----------&gt; this will force check even the system check says it's clean.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;v&lt;/span&gt;--------&gt; It will provide you the verbose explanation what that comming going through on the terminal screen.&lt;br /&gt;&lt;br /&gt;Now a major problem in our hand. That we find out that root(/)partition of the filesystem gor corrupted due to some reasons.So we need to fix that issue to get back the system as soon as possible on the track.&lt;br /&gt;&lt;br /&gt;For this kind of problem..it significant that on a mounted system you just cannot run fsck...as I said earlier..becauase it will corrupt the data on it.So we need a installation cd/dvd for our rescue. The first cd/dvd will do the job for us or get a &lt;a href="http://www.sysresccd.org/Main_Page"&gt;systemrescuecd&lt;/a&gt; to do that.&lt;br /&gt;&lt;br /&gt;Once you boot with one of those cd/dvd and put the below text at the command prompt it presents:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#linux rescue nomount&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now once you fire that one you are on the prompt so you can begin work on that.First we need to do is fire a mknod command.Now ask me why need to do that???&lt;br /&gt;&lt;br /&gt;Because we had passed the option &lt;span style="font-weight:bold;"&gt;nomount&lt;/span&gt; in the last section so it will not parse any file system or it will not initialize any filesystem or create any device to operate on.If you try to run fsck now it will fail.&lt;br /&gt;&lt;br /&gt;So to run correctly the fsck to on a filesystem we need to create device file for that.For that we need to run mknod.But to use mknod we need to know the Major number and Minor number of the device.Lets get those number...wait before that I need to tell you few thing about what Major number and Minor number of a device and how it signifies.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;What is Major Number and Minor number??&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Traditionally, the major number identifies the driver associated with the device. For example, /dev/null and /dev/zero are both managed by driver 1, whereas virtual consoles and serial terminals are managed by driver 4; similarly, both vcs1 and vcsa1 devices are managed by driver 7. Modern Linux kernels allow multiple drivers to share major numbers, but most devices that you will see are still organized on the one-major-one-driver principle.&lt;br /&gt;&lt;br /&gt;The minor number is used by the kernel to determine exactly which device is being referred to. Depending on how your driver is written, you can either get a direct pointer to your device from the kernel, or you can use the minor number yourself as an index into a local array of devices. Either way, the kernel itself knows almost nothing about minor numbers beyond the fact that they refer to devices implemented by your driver.&lt;br /&gt;&lt;br /&gt;So it's clear?? right.lets move on we need to find out the major number and minor number of the device to run mknod:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;root@bhaskar-laptop_08:42:30_Mon Aug 16:/home/bhaskar # ls -al /dev/sda&lt;/span&gt;&lt;br /&gt;brw-rw---- 1 root disk 8, 0 Aug 16 07:15 /dev/sda&lt;br /&gt;&lt;br /&gt;See it will look like this...as 4the and 5th column holds the major number and minor number.Now create the device file:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#mknod /dev/sda b 8 0 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It will create the device file.Once it's done you are safe to run fsck on that particular partition holding your root(/) filesystem.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#fsck -yfv /dev/YourRootPartition(sda,hda,....)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now lets have some fun with LVM.&lt;br /&gt;&lt;br /&gt;We need few tools to manipulate that kind of partition which will provide the lvm package within the os or in come inbuilt with other rescue cd.&lt;br /&gt;&lt;br /&gt;We need to find out physical disk,volume group and logical partition ..where we are going to run fsck..right?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;pvscan :Physical scanning of particular disk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;root@bhaskar-laptop_08:44:06_Mon Aug 16:/home/bhaskar # pvscan&lt;br /&gt;PV /dev/sda8   VG bhaskarlaptop   lvm2 [46.15 GiB / 21.15 GiB free]&lt;br /&gt;Total: 1 [46.15 GiB] / in use: 1 [46.15 GiB] / in no VG: 0 [0   ]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;vgscan :Volume group scanning&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;root@bhaskar-laptop_08:50:24_Mon Aug 16:/home/bhaskar # vgscan&lt;br /&gt;Reading all physical volumes.  This may take a while...&lt;br /&gt;Found volume group "bhaskarlaptop" using metadata type lvm2&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;lvscan :Logical volume scanning&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;root@bhaskar-laptop_08:52:00_Mon Aug 16:/home/bhaskar # lvscan&lt;br /&gt;ACTIVE            '/dev/bhaskarlaptop/data' [25.00 GiB] inherit&lt;br /&gt;&lt;br /&gt;Now it is not activates then you need to &lt;span style="font-weight:bold;"&gt;activate&lt;/span&gt; the specific logical volume like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#lvchange -ay "yourLogicalVolume"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The final step:&lt;br /&gt;&lt;br /&gt;Run the fsck on logical volume:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#fsck -yfv /YourLogicalVolume&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;Bhaskar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3465511817000766788-4481832143295397574?l=unixbhaskar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unixbhaskar.blogspot.com/feeds/4481832143295397574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unixbhaskar.blogspot.com/2010/08/how-to-properly-run-fsck-on-root-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/4481832143295397574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3465511817000766788/posts/default/4481832143295397574'/><link rel='alternate' type='text/html' href='http://unixbhaskar.blogspot.com/2010/08/how-to-properly-run-fsck-on-root-or.html' title='How to properly run fsck on (/) root or other partitions including LVM'/><author><name>Bhaskar Chowdhury</name><uri>https://profiles.google.com/105110777920604118073</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-9aO-TxjFWEU/AAAAAAAAAAI/AAAAAAAAAEQ/SBg06UWFwyM/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3465511817000766788.post-6657357825455093740</id><published>2010-07-30T07:45:00.004+05:30</published><updated>2010-07-30T09:58:16.356+05:30</updated><title type='text'>Hands on MySQL Administration</title><content type='html'>O yeah it is an integrated part of open systems these days( read GNU/Linux system). So if somebody sit on it or asked to manage a box which runs that fellow(GNU/Linux) must have to have the ability to deal with this database.&lt;br /&gt;&lt;br /&gt;Yes it is an database glue with GNU/Linux( O yeah you can preach PostGreSQL with same breadth!!).So in this article I am gonna touch few basic thing to get your hands dirty with it.Rather get you up start with it.Surely managing production database system is specialized job and I have seen it very closely ...as I was working with few people they do all that matters with production databases. Although lot of thing I failed to discover because might be I was not great deal involved in managing databases or somebody else was doing the job for me.&lt;br /&gt;&lt;br /&gt;Ok..lets start with installation.For this example I am using Fedora version 12 as my preferred distribution.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;First thing first: Install the database server and client&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_05:25:15_Fri Jul 30:~&gt; sudo yum install mysql&lt;/span&gt;&lt;br /&gt;[sudo] password for bhaskar:&lt;br /&gt;Loaded plugins: presto, refresh-packagekit&lt;br /&gt;google-chrome                                                                                                                         |  951 B     00:00&lt;br /&gt;google-chrome/primary                                                                                                                 | 3.1 kB     00:00&lt;br /&gt;google-chrome                                                                                                                                            5/5&lt;br /&gt;openvz-kernel-rhel5                                                                                                                   |  951 B     00:00&lt;br /&gt;openvz-utils                                                                                                                          |  951 B     00:00&lt;br /&gt;openvz-utils/primary                                                                                                                  | 6.0 kB     00:00&lt;br /&gt;openvz-utils                                                                                                                                           24/24&lt;br /&gt;rpmfusion-free-updates                                                                                                                | 2.8 kB     00:00&lt;br /&gt;rpmfusion-free-updates/primary_db                                                                                                     | 541 kB     00:38&lt;br /&gt;updates/metalink                                                                                                                      | 8.9 kB     00:00&lt;br /&gt;updates                                                                                                                               | 4.5 kB     00:00&lt;br /&gt;updates/primary_db                                                                                                                    | 4.7 MB     06:00&lt;br /&gt;updates-source/metalink                                                                                                               | 7.4 kB     00:00&lt;br /&gt;updates-source                                                                                                                        | 3.3 kB     00:00&lt;br /&gt;updates-source/primary_db                                                                                                             | 1.1 MB     01:07&lt;br /&gt;Setting up Install Process&lt;br /&gt;Package mysql-5.1.47-1.fc12.i686 already installed and latest version&lt;br /&gt;Nothing to do&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_06:41:16_Fri Jul 30:~&gt; sudo yum install mysql-server&lt;/span&gt;&lt;br /&gt;[sudo] password for bhaskar:&lt;br /&gt;Loaded plugins: presto, refresh-packagekit&lt;br /&gt;Setting up Install Process&lt;br /&gt;Package mysql-server-5.1.47-1.fc12.i686 already installed and latest version&lt;br /&gt;Nothing to do&lt;br /&gt;&lt;br /&gt;So As you can see from the above output that I have already installed those software in my system.Right!!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Start the service &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:40:36_Fri Jul 30:~&gt; sudo service mysqld start&lt;/span&gt;&lt;br /&gt;Initializing MySQL database:  Installing MySQL system tables...&lt;br /&gt;OK&lt;br /&gt;Filling help tables...&lt;br /&gt;OK&lt;br /&gt;&lt;br /&gt;To start mysqld at boot time you have to copy&lt;br /&gt;support-files/mysql.server to the right place for your system&lt;br /&gt;&lt;br /&gt;PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !&lt;br /&gt;To do so, start the server, then issue the following commands:&lt;br /&gt;&lt;br /&gt;/usr/bin/mysqladmin -u root password 'new-password'&lt;br /&gt;/usr/bin/mysqladmin -u root -h bhaskar-laptop password 'new-password'&lt;br /&gt;&lt;br /&gt;Alternatively you can run:&lt;br /&gt;/usr/bin/mysql_secure_installation&lt;br /&gt;&lt;br /&gt;which will also give you the option of removing the test&lt;br /&gt;databases and anonymous user created by default.  This is&lt;br /&gt;strongly recommended for production servers.&lt;br /&gt;&lt;br /&gt;See the manual for more instructions.&lt;br /&gt;&lt;br /&gt;You can start the MySQL daemon with:&lt;br /&gt;cd /usr ; /usr/bin/mysqld_safe &amp;&lt;br /&gt;&lt;br /&gt;You can test the MySQL daemon with mysql-test-run.pl&lt;br /&gt;cd /usr/mysql-test ; perl mysql-test-run.pl&lt;br /&gt;&lt;br /&gt;Please report any problems with the /usr/bin/mysqlbug script!&lt;br /&gt;&lt;br /&gt;                                                           [  OK  ]&lt;br /&gt;Starting MySQL:                                            [  OK  ]&lt;br /&gt;&lt;br /&gt;Cool right!! so it spit out lot of messages..phew! So if go through the spit out messages that it says lot thing s to follow.&lt;br /&gt;&lt;br /&gt;So the next step is set the mysql admin user password as the previous messages said.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Set the mysql admin password &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So I fire in the terminal:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:41:26_Fri Jul 30:~&gt; sudo /usr/bin/mysqladmin -u root -h bhaskar-laptop password "anythingYouWant"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next..in the above spited message it also said to run a particular script to make the installation secure.It is wrapper script with lot of hand driven thing automated into it. So lets fire it from the terminal like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_07:42:23_Fri Jul 30:~&gt; sudo /usr/bin/mysql_secure_installation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL&lt;br /&gt;      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In order to log into MySQL to secure it, we'll need the current&lt;br /&gt;password for the root user.  If you've just installed MySQL, and&lt;br /&gt;you haven't set the root password yet, the password will be blank,&lt;br /&gt;so you should just press enter here.&lt;br /&gt;&lt;br /&gt;Enter current password for root (enter for none): &lt;br /&gt;OK, successfully used password, moving on...&lt;br /&gt;&lt;br /&gt;Setting the root password ensures that nobody can log into the MySQL&lt;br /&gt;root user without the proper authorisation.&lt;br /&gt;&lt;br /&gt;You already have a root password set, so you can safely answer 'n'.&lt;br /&gt;&lt;br /&gt;Change the root password? [Y/n] n&lt;br /&gt; ... skipping.&lt;br /&gt;&lt;br /&gt;By default, a MySQL installation has an anonymous user, allowing anyone&lt;br /&gt;to log into MySQL without having to have a user account created for&lt;br /&gt;them.  This is intended only for testing, and to make the installation&lt;br /&gt;go a bit smoother.  You should remove them before moving into a&lt;br /&gt;production environment.&lt;br /&gt;&lt;br /&gt;Remove anonymous users? [Y/n] y&lt;br /&gt; ... Success!&lt;br /&gt;&lt;br /&gt;Normally, root should only be allowed to connect from 'localhost'.  This&lt;br /&gt;ensures that someone cannot guess at the root password from the network.&lt;br /&gt;&lt;br /&gt;Disallow root login remotely? [Y/n] y&lt;br /&gt; ... Success!&lt;br /&gt;&lt;br /&gt;By default, MySQL comes with a database named 'test' that anyone can&lt;br /&gt;access.  This is also intended only for testing, and should be removed&lt;br /&gt;before moving into a production environment.&lt;br /&gt;&lt;br /&gt;Remove test database and access to it? [Y/n] y&lt;br /&gt; - Dropping test database...&lt;br /&gt; ... Success!&lt;br /&gt; - Removing privileges on test database...&lt;br /&gt; ... Success!&lt;br /&gt;&lt;br /&gt;Reloading the privilege tables will ensure that all changes made so far&lt;br /&gt;will take effect immediately.&lt;br /&gt;&lt;br /&gt;Reload privilege tables now? [Y/n] y&lt;br /&gt; ... Success!&lt;br /&gt;&lt;br /&gt;Cleaning up...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All done!  If you've completed all of the above steps, your MySQL&lt;br /&gt;installation should now be secure.&lt;br /&gt;&lt;br /&gt;Thanks for using MySQL!&lt;br /&gt;&lt;br /&gt;So please go through the question it asked and answer properly.&lt;br /&gt;&lt;br /&gt;Next thing to do is check the login credential of mysql admin user like this &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;bhaskar@bhaskar-laptop_08:27:36_Fri Jul 30:~&gt; sudo mysql -u root -p&lt;/span&gt;&lt;br /&gt;Enter password: &lt;br /&gt;Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;Your MySQL connection id is 13&lt;br /&gt;Server version: 5.1.47 Source distribution&lt;br /&gt;&lt;br /&gt;Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;This software comes with ABSOLUTELY NO WARRANTY. This is free software,&lt;br /&gt;and you are welcome to modify and redistribute it under the GPL v2 license&lt;br /&gt;&lt;br /&gt;Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;&lt;br /&gt;mysql&gt; &lt;br /&gt;&lt;br /&gt;O yeah it puts me into a mysql shell and the user is validated!!&lt;br /&gt;&lt;br /&gt;Now few administrative stuff.Here we go...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Check the processlist&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-wei
